/* IAD CRM SOFT v3.10.1 — Validación visual y ayuda al usuario */
:root {
    --iad-danger: #c1121f;
    --iad-danger-soft: #fff1f2;
    --iad-danger-border: #ef4444;
    --iad-help: #0d6efd;
    --iad-help-soft: #eef5ff;
}

.iad-required-marker {
    color: var(--iad-danger);
    display: inline-block;
    font-weight: 900;
    margin-left: .2rem;
    text-decoration: none;
}

.iad-required-legend {
    align-items: center;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-left: 4px solid var(--iad-danger);
    border-radius: .55rem;
    color: #475569;
    display: flex;
    font-size: .82rem;
    gap: .45rem;
    margin: 0 0 1rem;
    padding: .65rem .8rem;
    width: 100%;
}

.iad-required-legend .iad-required-marker {
    font-size: 1.05rem;
    line-height: 1;
    margin: 0;
}

.iad-validation-summary {
    background: var(--iad-danger-soft);
    border: 1px solid #fecdd3;
    border-left: 5px solid var(--iad-danger);
    border-radius: .65rem;
    color: #7f1d1d;
    margin: 0 0 1rem;
    padding: .9rem 1rem;
    width: 100%;
}

.iad-validation-summary:focus {
    box-shadow: 0 0 0 .25rem rgba(193, 18, 31, .14);
    outline: 0;
}

.iad-validation-summary-title {
    align-items: center;
    display: flex;
    font-weight: 800;
    gap: .45rem;
    margin-bottom: .35rem;
}

.iad-validation-summary ul {
    margin: .35rem 0 0;
    padding-left: 1.2rem;
}

.iad-validation-summary button {
    background: transparent;
    border: 0;
    color: #991b1b;
    font-size: .9rem;
    padding: .12rem 0;
    text-align: left;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.iad-validation-summary button:hover,
.iad-validation-summary button:focus {
    color: #450a0a;
}

.form-control.is-invalid,
.form-select.is-invalid,
.form-check-input.is-invalid,
.iad-field-invalid {
    border-color: var(--iad-danger-border) !important;
}

.form-control.is-invalid:focus,
.form-select.is-invalid:focus,
.form-check-input.is-invalid:focus,
.iad-field-invalid:focus {
    border-color: var(--iad-danger-border) !important;
    box-shadow: 0 0 0 .25rem rgba(239, 68, 68, .17) !important;
}

.input-group:has(.is-invalid) .input-group-text,
.input-group:has(.iad-field-invalid) .input-group-text {
    border-color: var(--iad-danger-border);
}

.iad-inline-error {
    color: var(--iad-danger);
    display: block;
    font-size: .82rem;
    font-weight: 650;
    margin-top: .3rem;
}

form .errorlist {
    color: var(--iad-danger);
    font-size: .82rem;
    font-weight: 650;
    list-style: none;
    margin: .3rem 0 0;
    padding: 0;
}

.iad-invalid-section {
    animation: iad-error-pulse .75s ease-out;
}

@keyframes iad-error-pulse {
    0% { box-shadow: 0 0 0 0 rgba(239, 68, 68, .32); }
    100% { box-shadow: 0 0 0 .65rem rgba(239, 68, 68, 0); }
}

.iad-help-nav-button {
    border: 0;
    background: transparent;
}

.iad-help-panel .offcanvas-header {
    background: linear-gradient(135deg, #0d6efd, #084298);
    color: #fff;
}

.iad-help-panel .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

.iad-help-context-icon {
    align-items: center;
    background: var(--iad-help-soft);
    border-radius: 1rem;
    color: var(--iad-help);
    display: inline-flex;
    font-size: 1.4rem;
    height: 3rem;
    justify-content: center;
    width: 3rem;
}

.iad-help-tip-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.iad-help-tip-list li {
    border-bottom: 1px solid #e9ecef;
    display: flex;
    gap: .65rem;
    padding: .75rem 0;
}

.iad-help-tip-list li:last-child {
    border-bottom: 0;
}

.iad-help-tip-list i {
    color: #198754;
    flex: 0 0 auto;
    margin-top: .1rem;
}

.iad-help-shortcut {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: .65rem;
    color: #475569;
    font-size: .82rem;
    padding: .7rem .8rem;
}

.iad-help-shortcut kbd {
    background: #1f2937;
    border-radius: .3rem;
    box-shadow: none;
    padding: .12rem .38rem;
}

.help-hero {
    background: linear-gradient(135deg, #0d6efd, #0a58ca 48%, #06357a);
    border-radius: 1rem;
    color: #fff;
    overflow: hidden;
    position: relative;
}

.help-hero::after {
    background: rgba(255, 255, 255, .08);
    border-radius: 50%;
    content: "";
    height: 16rem;
    position: absolute;
    right: -5rem;
    top: -7rem;
    width: 16rem;
}

.help-search-wrap {
    max-width: 760px;
    position: relative;
    z-index: 1;
}

.help-topic-card {
    border: 0;
    box-shadow: 0 .25rem 1rem rgba(15, 23, 42, .08);
    height: 100%;
    transition: transform .18s ease, box-shadow .18s ease;
}

.help-topic-card:hover {
    box-shadow: 0 .65rem 1.5rem rgba(15, 23, 42, .12);
    transform: translateY(-2px);
}

.help-topic-icon {
    align-items: center;
    background: var(--iad-help-soft);
    border-radius: .75rem;
    color: var(--iad-help);
    display: inline-flex;
    font-size: 1.25rem;
    height: 2.7rem;
    justify-content: center;
    width: 2.7rem;
}

.help-topic-card ul {
    color: #475569;
    font-size: .92rem;
    padding-left: 1.15rem;
}

.help-topic-card li {
    margin-bottom: .4rem;
}

.iad-help-empty {
    border: 2px dashed #cbd5e1;
    border-radius: .85rem;
    color: #64748b;
    padding: 2rem;
    text-align: center;
}

@media (max-width: 575.98px) {
    .iad-required-legend,
    .iad-validation-summary {
        border-radius: .5rem;
        font-size: .8rem;
    }

    .iad-help-panel {
        width: 92vw !important;
    }
}
