/* ================================================
   GLOBAL LAYOUT — Sticky Footer + Flex Structure
   ================================================ */

/* Nav brand link (logo + text clickable) */
.nav-brand-link {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    color: inherit;
    transition: opacity 0.2s ease;
}
.nav-brand-link:hover { opacity: 0.85; }

/* Defensive global nav sizing so page-specific CSS cannot stretch the logo. */
.sub-nav .nav-logo,
.sub-nav .nav-logo-small,
.sub-nav .nav-brand-link > img {
    width: 40px;
    height: 40px;
    max-width: 40px;
    max-height: 40px;
    object-fit: contain;
    flex: 0 0 40px;
}

/* Page shell — the ONLY flex container that manages content + footer */
.page-shell {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/* Body resets — no flex on body itself */
body {
    margin: 0;
    padding: 0;
    background-color: var(--bg-primary, #f8fafc);
}

/* Layout container fills space between nav and footer */
.layout-container {
    flex: 1 !important;
    display: flex !important;
    height: auto !important;
    min-height: 0 !important;
}

/* Main content scrolls within its constrained area */
.main-content {
    flex: 1 !important;
    overflow-y: visible !important;
    height: auto !important;
    min-height: 0 !important;
    padding-bottom: 2rem !important;
}

/* Footer sits at the bottom of .page-shell — never overlaps */
.site-footer {
    flex-shrink: 0;
    position: static !important;
    z-index: auto !important;
}

/* Auth pages: wrapper fills available space */
.auth-content-wrapper {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
}
.sidebar-nav > a[href$="/admin/analytics"] {
    order: 100;
}

@media (min-width: 1025px) {
    body.sidebar-collapsed #superAdminSidebar {
        overflow: visible !important;
    }

    body.sidebar-collapsed #superAdminSidebar .sidebar-nav,
    body.sidebar-collapsed #superAdminSidebar .nav-item-link {
        overflow: visible !important;
    }

    body.sidebar-collapsed #superAdminSidebar .nav-item-link {
        position: relative;
    }

    body.sidebar-collapsed #superAdminSidebar .nav-item-link[data-tooltip]::after {
        content: attr(data-tooltip);
        position: absolute;
        z-index: 10050;
        top: 50%;
        left: calc(100% + 15px);
        padding: 8px 13px;
        border: 1px solid rgba(15, 23, 42, .08);
        border-radius: 8px;
        background: #ffffff;
        color: #172033;
        box-shadow: 0 8px 22px rgba(15, 23, 42, .18);
        font-size: 13px;
        font-weight: 750;
        line-height: 1.2;
        white-space: nowrap;
        pointer-events: none;
        opacity: 0;
        visibility: hidden;
        transform: translate(-8px, -50%);
        transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
    }

    body.sidebar-collapsed #superAdminSidebar .nav-item-link[data-tooltip]::before {
        content: "";
        position: absolute;
        z-index: 10051;
        top: 50%;
        left: calc(100% + 9px);
        border-width: 6px 6px 6px 0;
        border-style: solid;
        border-color: transparent #ffffff transparent transparent;
        pointer-events: none;
        opacity: 0;
        visibility: hidden;
        transform: translate(-8px, -50%);
        transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
    }

    body.sidebar-collapsed #superAdminSidebar .nav-item-link[data-tooltip]:hover::after,
    body.sidebar-collapsed #superAdminSidebar .nav-item-link[data-tooltip]:hover::before,
    body.sidebar-collapsed #superAdminSidebar .nav-item-link[data-tooltip]:focus-visible::after,
    body.sidebar-collapsed #superAdminSidebar .nav-item-link[data-tooltip]:focus-visible::before {
        opacity: 1;
        visibility: visible;
        transform: translate(0, -50%);
    }

    [data-theme="dark"] body.sidebar-collapsed #superAdminSidebar .nav-item-link[data-tooltip]::after {
        border-color: #475569;
        background: #1e293b;
        color: #f8fafc;
    }

    [data-theme="dark"] body.sidebar-collapsed #superAdminSidebar .nav-item-link[data-tooltip]::before {
        border-color: transparent #1e293b transparent transparent;
    }
}

@media (min-width: 1025px) {
    body.sidebar-collapsed #adminSidebar {
        overflow: visible !important;
    }

    body.sidebar-collapsed #adminSidebar .sidebar-nav,
    body.sidebar-collapsed #adminSidebar .nav-item-link {
        overflow: visible !important;
    }

    body.sidebar-collapsed #adminSidebar .nav-item-link {
        position: relative;
    }

    body.sidebar-collapsed #adminSidebar .nav-item-link[data-tooltip]::after {
        content: attr(data-tooltip);
        position: absolute;
        z-index: 10050;
        top: 50%;
        left: calc(100% + 15px);
        padding: 8px 13px;
        border: 1px solid rgba(15, 23, 42, .08);
        border-radius: 8px;
        background: #ffffff;
        color: #172033;
        box-shadow: 0 8px 22px rgba(15, 23, 42, .18);
        font-size: 13px;
        font-weight: 750;
        line-height: 1.2;
        white-space: nowrap;
        pointer-events: none;
        opacity: 0;
        visibility: hidden;
        transform: translate(-8px, -50%);
        transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
    }

    body.sidebar-collapsed #adminSidebar .nav-item-link[data-tooltip]::before {
        content: "";
        position: absolute;
        z-index: 10051;
        top: 50%;
        left: calc(100% + 9px);
        border-width: 6px 6px 6px 0;
        border-style: solid;
        border-color: transparent #ffffff transparent transparent;
        pointer-events: none;
        opacity: 0;
        visibility: hidden;
        transform: translate(-8px, -50%);
        transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
    }

    body.sidebar-collapsed #adminSidebar .nav-item-link[data-tooltip]:hover::after,
    body.sidebar-collapsed #adminSidebar .nav-item-link[data-tooltip]:hover::before,
    body.sidebar-collapsed #adminSidebar .nav-item-link[data-tooltip]:focus-visible::after,
    body.sidebar-collapsed #adminSidebar .nav-item-link[data-tooltip]:focus-visible::before {
        opacity: 1;
        visibility: visible;
        transform: translate(0, -50%);
    }

    [data-theme="dark"] body.sidebar-collapsed #adminSidebar .nav-item-link[data-tooltip]::after {
        border-color: #475569;
        background: #1e293b;
        color: #f8fafc;
    }

    [data-theme="dark"] body.sidebar-collapsed #adminSidebar .nav-item-link[data-tooltip]::before {
        border-color: transparent #1e293b transparent transparent;
    }
}
