/* Final authority for one consistent authenticated header at every size. */

.ak-shell-v2[data-ak-role] .header-primary {
    width: 100% !important;
    min-height: 70px !important;
    grid-template-columns: minmax(180px, auto) minmax(280px, 1fr) auto !important;
    align-items: center !important;
    gap: clamp(10px, 1.3vw, 20px) !important;
    padding: 9px clamp(14px, 2vw, 28px) !important;
    box-sizing: border-box !important;
}

.ak-shell-v2 .ak-shell-page-heading {
    display: block !important;
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.ak-shell-v2 .ak-shell-page-heading strong,
.ak-shell-v2 .ak-shell-page-heading span {
    display: block !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}

.ak-shell-v2 .ak-shell-page-heading strong {
    color: #172f35 !important;
    font-size: .98rem !important;
    font-weight: 850 !important;
    line-height: 1.15 !important;
}

.ak-shell-v2 .ak-shell-page-heading span {
    margin-top: 4px !important;
    color: #80918d !important;
    font-size: .62rem !important;
    font-weight: 650 !important;
    line-height: 1.15 !important;
}

.ak-shell-v2 .header-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 7px !important;
    min-width: 0 !important;
}

/* Keep the desktop search comfortably centred on very wide screens. */
@media (min-width: 1025px) {
    .ak-shell-v2 .ak-shell-search {
        width: 100% !important;
        max-width: 680px !important;
        justify-self: center !important;
    }
}

.ak-shell-v2 .header-actions > .ak-shell-identity {
    display: inline-flex !important;
    min-width: 0 !important;
}

.ak-shell-v2 .ak-shell-identity-copy {
    display: grid !important;
    min-width: 0 !important;
}

.ak-shell-v2 .user-name {
    display: block !important;
    max-width: 125px !important;
    overflow: hidden !important;
    color: #173139 !important;
    font-size: .75rem !important;
    font-weight: 820 !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}

.ak-shell-v2 .ak-shell-role,
.ak-shell-v2 .ak-shell-balance-line {
    display: block !important;
    margin-top: 2px !important;
    color: #0f8275 !important;
    font-size: .59rem !important;
    font-weight: 750 !important;
    line-height: 1.1 !important;
}

.ak-shell-v2 .ak-shell-menu-toggle {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    padding: 0 !important;
    color: #264a44 !important;
    box-shadow: 0 5px 14px rgba(22, 62, 56, .08) !important;
}

.ak-shell-v2 .ak-shell-menu-toggle span {
    display: block !important;
    width: 18px !important;
    height: 2px !important;
    margin: 0 !important;
    border-radius: 999px !important;
    background: currentColor !important;
}

@media (min-width: 1025px) {
    body.admin-dashboard-body.has-admin-sidebar header.site-header {
        left: var(--ak-sidebar-width, 276px) !important;
        right: 0 !important;
        width: auto !important;
    }

    body.admin-dashboard-body.has-admin-sidebar .admin-console {
        padding-left: var(--ak-sidebar-width, 276px) !important;
    }
}

@media (max-width: 1024px) {
    html body header.site-header,
    body.admin-dashboard-body.has-admin-sidebar header.site-header,
    body.admin-dashboard-body.has-admin-sidebar.is-sidebar-collapsed header.site-header {
        left: 0 !important;
        right: 0 !important;
        width: 100vw !important;
        max-width: 100vw !important;
        margin: 0 !important;
    }

    header.site-header > .site-header.ak-shell-v2 {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
    }

    body.admin-dashboard-body.has-admin-sidebar .admin-console,
    body.admin-dashboard-body.has-admin-sidebar.is-sidebar-collapsed .admin-console {
        width: 100% !important;
        padding-left: 0 !important;
    }

    .ak-shell-v2[data-ak-role] .header-primary {
        min-height: 66px !important;
        grid-template-columns: 42px minmax(130px, auto) minmax(190px, 1fr) auto !important;
        gap: 9px !important;
        padding: 8px 14px !important;
    }

    .ak-shell-v2 .ak-shell-menu-toggle {
        position: static !important;
        display: inline-flex !important;
        grid-column: 1 !important;
        width: 42px !important;
        min-width: 42px !important;
        height: 42px !important;
        margin: 0 !important;
        border: 1px solid #d5e2df !important;
        border-radius: 11px !important;
        background: #fff !important;
    }

    .ak-shell-v2 .ak-shell-page-heading { grid-column: 2 !important; }
    .ak-shell-v2 .ak-shell-search {
        grid-column: 3 !important;
        width: 100% !important;
        min-width: 0 !important;
    }
    .ak-shell-v2 .header-actions { grid-column: 4 !important; }
}

/* Tablet keeps the exact desktop structure; only dimensions are smaller. */
@media (min-width: 641px) and (max-width: 1024px) {
    .ak-shell-v2 .ak-shell-search {
        position: relative !important;
        display: grid !important;
        height: 42px !important;
        grid-template-columns: 20px minmax(0, 1fr) 38px !important;
        padding-left: 12px !important;
        border-radius: 11px !important;
    }

    .ak-shell-v2 .ak-shell-search input {
        display: block !important;
        width: 100% !important;
        height: 40px !important;
    }

    .ak-shell-v2 .ak-shell-search > button {
        display: inline-flex !important;
        width: 36px !important;
        min-width: 36px !important;
        height: 36px !important;
        margin-right: 3px !important;
    }
}

/* Mobile search is one icon card; tapping expands a full input over the header. */
@media (max-width: 640px) {
    .ak-shell-v2[data-ak-role] .header-primary {
        position: relative !important;
        min-height: 64px !important;
        grid-template-columns: 40px minmax(72px, 1fr) 40px auto !important;
        gap: 6px !important;
        padding: 8px 8px !important;
    }

    .ak-shell-v2 .ak-shell-menu-toggle {
        width: 40px !important;
        min-width: 40px !important;
        height: 40px !important;
    }

    .ak-shell-v2 .ak-shell-page-heading strong {
        font-size: .78rem !important;
    }

    .ak-shell-v2 .ak-shell-page-heading span {
        margin-top: 3px !important;
        font-size: .5rem !important;
    }

    .ak-shell-v2 .ak-shell-search {
        position: static !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 40px !important;
        min-width: 40px !important;
        height: 40px !important;
        padding: 0 !important;
        border: 1px solid #d5e2df !important;
        border-radius: 10px !important;
        background: #fff !important;
        box-shadow: 0 5px 14px rgba(22, 62, 56, .07) !important;
        cursor: pointer;
    }

    .ak-shell-v2 .ak-shell-search > svg {
        width: 18px !important;
        height: 18px !important;
        margin: 0 !important;
    }

    .ak-shell-v2 .ak-shell-search input,
    .ak-shell-v2 .ak-shell-search > button {
        display: none !important;
    }

    body > .ak-shell-search.ak-shell-search-portal.is-mobile-open {
        position: fixed !important;
        z-index: 10200 !important;
        top: 7px !important;
        right: 8px !important;
        left: 8px !important;
        display: grid !important;
        width: calc(100vw - 16px) !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 50px !important;
        box-sizing: border-box !important;
        grid-template-columns: 21px minmax(0, 1fr) 38px !important;
        gap: 5px !important;
        padding: 0 5px 0 13px !important;
        border-color: rgba(15, 130, 117, .42) !important;
        border-radius: 13px !important;
        background: #fff !important;
        box-shadow: 0 14px 38px rgba(8, 54, 48, .2) !important;
        cursor: text;
        transform-origin: right center;
        animation: ak-header-search-reveal .2s ease-out both;
    }

    body > .ak-shell-search.ak-shell-search-portal.is-mobile-open > svg {
        width: 18px !important;
        height: 18px !important;
        margin: 0 !important;
    }

    body > .ak-shell-search.ak-shell-search-portal.is-mobile-open input {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 46px !important;
        padding: 0 7px !important;
        border: 0 !important;
        outline: 0 !important;
        background: transparent !important;
        font-size: .8rem !important;
    }

    body > .ak-shell-search.ak-shell-search-portal.is-mobile-open > button {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 36px !important;
        min-width: 36px !important;
        height: 36px !important;
        margin: 0 !important;
    }

    body > .ak-shell-search.ak-shell-search-portal .ak-shell-search-results {
        top: calc(100% + 7px) !important;
        right: 0 !important;
        left: 0 !important;
        width: 100% !important;
    }

    .ak-shell-v2 .header-actions {
        gap: 4px !important;
    }

    .ak-shell-v2 .user-pill.ak-shell-identity {
        min-height: 40px !important;
        gap: 5px !important;
        padding: 2px !important;
    }

    .ak-shell-v2 .user-initials {
        width: 34px !important;
        min-width: 34px !important;
        height: 34px !important;
        flex-basis: 34px !important;
        font-size: .64rem !important;
    }

    .ak-shell-v2 .user-name {
        max-width: 72px !important;
        font-size: .65rem !important;
    }

    .ak-shell-v2 .ak-shell-role,
    .ak-shell-v2 .ak-shell-balance-line {
        font-size: .5rem !important;
    }

    .ak-shell-v2 .ak-shell-bell,
    .ak-shell-v2 .ak-user-bell__btn {
        width: 38px !important;
        min-width: 38px !important;
        height: 38px !important;
    }

    .ak-shell-v2 .ak-shell-balance-refresh {
        display: none !important;
    }
}

@media (max-width: 380px) {
    .ak-shell-v2 .user-initials {
        display: none !important;
    }

    .ak-shell-v2 .user-name {
        max-width: 64px !important;
    }
}

@keyframes ak-header-search-reveal {
    from { opacity: .45; transform: scaleX(.22); }
    to { opacity: 1; transform: scaleX(1); }
}

/* Final premium contrast authority for the shared shell. */
.ak-shell-v2 .ak-shell-page-heading strong,
.ak-shell-v2 .user-name,
.ak-shell-drawer-head strong,
.ak-shell-clock-copy strong {
    color: #102a31 !important;
    font-weight: 850 !important;
}

.ak-shell-v2 .ak-shell-page-heading span,
.ak-shell-v2 .ak-shell-role,
.ak-shell-v2 .ak-shell-balance-line,
.ak-shell-v2 .ak-shell-search,
.ak-shell-v2 .ak-shell-search input {
    color: #405c61 !important;
    font-weight: 650 !important;
}

body.admin-dashboard-body.has-admin-sidebar .admin-sidebar-logo__copy strong,
body.admin-dashboard-body.has-admin-sidebar .admin-sidebar-profile__copy strong {
    color: #102d32 !important;
    font-weight: 850 !important;
}

body.admin-dashboard-body.has-admin-sidebar .admin-sidebar-logo__copy small,
body.admin-dashboard-body.has-admin-sidebar .admin-sidebar-profile__copy small,
body.admin-dashboard-body.has-admin-sidebar .admin-sidebar-section-label,
body.admin-dashboard-body.has-admin-sidebar .admin-nav-group-toggle,
body.admin-dashboard-body.has-admin-sidebar .admin-sidebar .meta-count {
    color: #425f5c !important;
    font-weight: 800 !important;
}

body.admin-dashboard-body.has-admin-sidebar .admin-sidebar .admin-nav-button {
    color: #263f42 !important;
    font-weight: 800 !important;
}

body.admin-dashboard-body.has-admin-sidebar .admin-sidebar .admin-nav-button .icon-circle {
    color: #355f5a !important;
}

body.admin-dashboard-body.has-admin-sidebar .admin-sidebar .admin-nav-button.is-active,
body.admin-dashboard-body.has-admin-sidebar .admin-sidebar .admin-nav-button.is-active .icon-circle {
    color: #ffffff !important;
}

body > .ak-shell-drawer.ak-shell-drawer-portal .ak-shell-drawer-head small,
body > .ak-shell-drawer.ak-shell-drawer-portal .ak-shell-clock-copy small,
body > .ak-shell-drawer.ak-shell-drawer-portal .ak-shell-clock-copy span {
    color: #3f625f !important;
    font-weight: 750 !important;
}

body > .ak-shell-drawer.ak-shell-drawer-portal .ak-shell-drawer-actions button,
body > .ak-shell-drawer.ak-shell-drawer-portal .ak-shell-history-link,
body > .ak-shell-drawer.ak-shell-drawer-portal .admin-notif-item__title {
    color: #173d3a !important;
    font-weight: 800 !important;
}

body > .ak-shell-drawer.ak-shell-drawer-portal .admin-notif-item__msg,
body > .ak-shell-drawer.ak-shell-drawer-portal .admin-notif-item__time,
body > .ak-shell-drawer.ak-shell-drawer-portal .admin-notif-panel__empty,
body > .ak-shell-drawer.ak-shell-drawer-portal .admin-notif-panel__empty small {
    color: #4d686c !important;
    font-weight: 650 !important;
}
