
    .header-search-active {
        z-index: 2000;
    }

    .header-layout-inner {
        position: relative;
    }

    .header-normal-content {
        opacity: 1;
        transform: none;
        visibility: visible;
        transition:
            opacity .22s ease,
            transform .28s cubic-bezier(.22, 1, .36, 1),
            visibility 0s linear;
    }

    .header-normal-content.is-hidden {
        opacity: 0;
        transform: translateY(-6px) scale(.985);
        visibility: hidden;
        pointer-events: none;
        transition:
            opacity .16s ease,
            transform .2s ease,
            visibility 0s linear .2s;
    }

    .header-search-shell {
        position: absolute;
        inset: 0;
        z-index: 2;
        width: 100%;
        display: flex;
        align-items: center;
        gap: .75rem;
        padding: .35rem .75rem;
        background: #f8f9fa;
        border-radius: .85rem;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-8px) scaleX(.82);
        transform-origin: center;
        transition:
            opacity .18s ease,
            transform .28s cubic-bezier(.22, 1, .36, 1),
            visibility 0s linear .28s;
    }

    .header-search-shell.is-open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0) scaleX(1);
        transition:
            opacity .2s ease .06s,
            transform .34s cubic-bezier(.16, 1, .3, 1),
            visibility 0s linear;
    }

    .header-search-backdrop {
        position: fixed;
        inset: 0;
        z-index: 1;
        background: rgba(15, 23, 42, .38);
        cursor: default;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition:
            opacity .25s ease,
            visibility 0s linear .25s;
    }

    .header-search-backdrop.is-visible {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transition:
            opacity .28s ease,
            visibility 0s linear;
    }

    .header-search-input {
        border: 1px solid rgba(15, 23, 42, .12);
        background: var(--foreground,#fff);
        color: var(--body,#4e4e4e);
        box-shadow: 0 .125rem .35rem rgba(15, 23, 42, .08) !important;
        font-size: 1.05rem;
    }

    .header-search-input:focus {
        border-color: rgba(var(--bs-primary-rgb), .55);
        box-shadow: 0 0 0 .2rem rgba(var(--bs-primary-rgb), .13) !important;
    }

    .header-search-results {
        position: absolute;
        top: calc(100% + .35rem);
        left: .75rem;
        right: .75rem;
        max-height: min(70vh, 520px);
        overflow: auto;
        background: var(--foreground,#fff);
        border-radius: 1rem;
        border: 1px solid rgba(0,0,0,.08);
        z-index: 1100;
        padding: .5rem;
    }

    .header-search-group {
        padding: .65rem .75rem .35rem;
        color: var(--alternate,#7c7c7c);
        font-size: .74rem;
        font-weight: 700;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    .header-search-result {
        width: 100%;
        border: 0;
        background: transparent;
        border-radius: .8rem;
        padding: .65rem .75rem;
        display: flex;
        align-items: center;
        gap: .75rem;
        text-align: left;
    }

    .header-search-result:hover {
        background: rgba(var(--bs-primary-rgb), .07);
    }

    .header-search-result strong,
    .header-search-result small {
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .header-search-result mark {
        padding: 0 .08em;
        border-radius: .2rem;
        background: rgba(255, 193, 7, .42);
        color: inherit;
        font-weight: 700;
    }

    .header-user-menu-group {
        display: flex;
        align-items: center;
        gap: .75rem;
        padding: .75rem;
        border-radius: .75rem;
        background: rgba(var(--bs-primary-rgb), .07);
    }

    .header-user-menu-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2.25rem;
        height: 2.25rem;
        flex: 0 0 2.25rem;
        border-radius: 50%;
        color: var(--bs-primary);
        background: rgba(var(--bs-primary-rgb), .13);
    }

    .header-user-menu-group strong,
    .header-user-menu-group small {
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .header-account-type {
        display: flex;
        align-items: center;
        gap: .65rem;
        padding: .65rem .75rem;
        border-radius: .65rem;
        background: rgba(var(--bs-primary-rgb), .07);
    }

    .header-account-type-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2rem;
        height: 2rem;
        flex: 0 0 2rem;
        border-radius: 50%;
        color: var(--bs-primary);
        background: rgba(var(--bs-primary-rgb), .13);
    }

    .header-account-type small,
    .header-account-type strong {
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    @media (prefers-reduced-motion: reduce) {
        .header-normal-content,
        .header-search-shell,
        .header-search-backdrop {
            transition-duration: .01ms !important;
        }
    }


    .notification-action {
        overflow: visible;
    }

    .notification-action-alert {
        animation: notification-button-pop .9s ease both;
    }

    .notification-action-alert::after {
        content: "";
        position: absolute;
        inset: -6px;
        border-radius: 999px;
        border: 2px solid rgba(13, 110, 253, .55);
        animation: notification-ring-pulse .9s ease-out both;
        pointer-events: none;
    }

    .notification-action-alert i {
        transform-origin: 50% 0;
        animation: notification-bell-ring .9s ease both;
    }

    .notification-action-alert .notification-badge {
        animation: notification-badge-bounce .9s ease both;
    }

    .notification-badge {
        position: absolute;
        top: -4px;
        right: -5px;
        min-width: 1.15rem;
        height: 1.15rem;
        padding: 0 .25rem;
        border-radius: 999px;
        background: #dc3545;
        color: #fff;
        font-size: .68rem;
        line-height: 1.15rem;
        text-align: center;
        font-weight: 700;
    }

    .notification-overlay {
        position: fixed;
        inset: 0;
        z-index: 2100;
        background: rgba(15, 23, 42, .38);
        display: flex;
        justify-content: flex-end;
        padding: 72px 1rem 1rem;
    }

    .notification-panel {
        width: min(420px, 100%);
        max-height: calc(100vh - 88px);
        background: #fff;
        border-radius: 8px;
        box-shadow: 0 24px 60px rgba(15, 23, 42, .28);
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    .notification-panel-header {
        display: flex;
        align-items: center;
        gap: .75rem;
        padding: 1rem;
        border-bottom: 1px solid rgba(15, 23, 42, .08);
    }

    .notification-panel-title {
        font-weight: 800;
        color: #172033;
        line-height: 1.2;
    }

    .notification-panel-subtitle {
        color: #64748b;
        font-size: .78rem;
        margin-top: .1rem;
    }

    .notification-icon-btn {
        width: 36px;
        height: 36px;
        border: 0;
        border-radius: 50%;
        background: #f1f5f9;
        color: #334155;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 auto;
    }

    .notification-icon-btn:hover {
        background: #e2e8f0;
    }

    .notification-list {
        overflow: auto;
        max-height: 100%;
    }

    .notification-item {
        width: 100%;
        border: 0;
        background: transparent;
        display: grid;
        grid-template-columns: .6rem 1fr;
        gap: .65rem;
        text-align: left;
        padding: .9rem 1rem;
        border-bottom: 1px solid rgba(15, 23, 42, .08);
    }

    .notification-item:hover {
        background: rgba(15, 23, 42, .04);
    }

    .notification-dot {
        width: .5rem;
        height: .5rem;
        border-radius: 999px;
        margin-top: .42rem;
        background: transparent;
    }

    .notification-item.is-unread .notification-dot {
        background: #0d6efd;
    }

    .notification-item.is-read {
        opacity: .74;
    }

    .notification-item-top {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: .5rem;
    }

    .notification-title,
    .notification-message,
    .notification-meta {
        display: block;
    }

    .notification-title {
        font-weight: 700;
        color: #172033;
        line-height: 1.25;
    }

    .notification-message {
        color: #475569;
        font-size: .86rem;
        line-height: 1.35;
        margin-top: .2rem;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .notification-meta {
        color: #94a3b8;
        font-size: .75rem;
        margin-top: .3rem;
    }

    .notification-type {
        border-radius: 999px;
        padding: .18rem .5rem;
        font-size: .7rem;
        font-weight: 800;
        white-space: nowrap;
        background: #e2e8f0;
        color: #334155;
    }

    .notification-type.aviso {
        background: #dbeafe;
        color: #1d4ed8;
    }

    .notification-type.servicio {
        background: #fef3c7;
        color: #92400e;
    }

    .notification-type.acceso {
        background: #dcfce7;
        color: #166534;
    }

    .notification-detail {
        padding: 1rem;
        overflow: auto;
    }

    .notification-detail-message {
        color: #334155;
        white-space: pre-line;
        line-height: 1.55;
        margin: 0;
    }

    .notification-detail-chip {
        border-radius: 999px;
        padding: .22rem .55rem;
        background: #f1f5f9;
        color: #475569;
        display: inline-flex;
        align-items: center;
        gap: .3rem;
        font-size: .75rem;
        font-weight: 700;
    }

    .notification-detail-chip.unread {
        background: #fee2e2;
        color: #b91c1c;
    }

    @keyframes notification-bell-ring {
        0%, 100% {
            transform: rotate(0);
        }

        15% {
            transform: rotate(18deg);
        }

        30% {
            transform: rotate(-16deg);
        }

        45% {
            transform: rotate(12deg);
        }

        60% {
            transform: rotate(-8deg);
        }

        75% {
            transform: rotate(4deg);
        }
    }

    @keyframes notification-button-pop {
        0%, 100% {
            transform: scale(1);
        }

        35% {
            transform: scale(1.08);
        }
    }

    @keyframes notification-ring-pulse {
        0% {
            opacity: .75;
            transform: scale(.78);
        }

        100% {
            opacity: 0;
            transform: scale(1.45);
        }
    }

    @keyframes notification-badge-bounce {
        0%, 100% {
            transform: scale(1);
        }

        40% {
            transform: scale(1.18);
        }
    }

    @media (max-width: 575.98px) {
        .notification-overlay {
            padding: 56px 0 0;
            align-items: stretch;
            justify-content: stretch;
        }

        .notification-panel {
            width: 100%;
            max-height: none;
            height: calc(100vh - 56px);
            border-radius: 8px 8px 0 0;
        }
    }

.air-checkup-header{background:#f8f9fa;border-bottom:1px solid var(--separator);}
.air-checkup-header .header-layout-inner{gap:.5rem;min-width:0}
.air-checkup-header .header-normal-section{flex-shrink:0}
.air-checkup-header .header-brand-title{max-width:clamp(100px,calc(100vw - 180px),440px);min-width:0}
.air-checkup-header .header-user-toggle{border:0;background:transparent;color:inherit;padding:0;max-width:350px}
.air-checkup-header .header-user-name{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.air-checkup-header .air-account-menu{width:min(300px,calc(100vw - 32px));padding:20px 30px}
.air-checkup-header .air-account-menu a,.air-checkup-header .air-account-menu button{display:flex;align-items:center;gap:.5rem}
.air-checkup-header .header-search-results{background:var(--foreground,#fff);color:var(--body);}
.air-main{padding-top:calc(var(--header-height) + 32px)}
@media(max-width:768px){.air-checkup-header{left:0}.air-main{padding-top:calc(var(--header-height) + 24px)}.air-checkup-header .header-brand-title{font-size:1.3rem}.air-checkup-header .navbar-separator{margin:0 .4rem}.notification-overlay{padding:72px .5rem .5rem}.notification-panel{max-height:calc(100dvh - 80px)}}
@media(prefers-reduced-motion:reduce){.air-checkup-header .navbar-separator:before{animation:none}}

.air-checkup-header.navbar .header-search-shell .btn,.air-checkup-header.navbar .air-account-menu .btn{opacity:1;transform:none}
.air-checkup-header .header-search-input{min-width:0;flex:1}
