/* ============================================================
   Public Dashboard Sticky Controls
   Shared by Macro, Debt, External Debt, Tax, Overview, Pages
============================================================ */


/* ============================================================
   Main wrapper
============================================================ */

.public-dashboard-page
.dashboard-sticky-controls {

    position: sticky !important;

    top: var(--public-header-height) !important;

    z-index: 50000 !important;

    background: transparent !important;

}


/* ============================================================
   Dashboard Tabs
============================================================ */

.public-dashboard-page
.top-dashboard-tabs {

    position: relative !important;

    z-index: 60000 !important;

    margin-top: 0 !important;

}


/* ============================================================
   Navigation dropdown wrapper
============================================================ */

.public-dashboard-page
.dashboard-tab-dropdown {

    position: relative !important;

    z-index: 70000 !important;

}


/* ============================================================
   Navigation dropdown menu
============================================================ */

.public-dashboard-page
.dashboard-dropdown-menu,
.public-dashboard-page
.macro-dropdown-menu,
.public-dashboard-page
.debt-dropdown-menu {

    position: absolute !important;

    top: calc(100% + 8px) !important;

    left: 0 !important;

    z-index: 999999 !important;

}


/* ============================================================
   Filter area
============================================================ */

.public-dashboard-page
.filter-bar-card {

    position: sticky !important;

    top: calc(
        var(--public-header-height)
        + var(--public-tabs-height)
        + 5px
    ) !important;

    z-index: 1000 !important;

    overflow: visible !important;

}


/* Allow filter dropdowns */

.public-dashboard-page
.filter-bar-card,
.public-dashboard-page
.filter-bar-card .filters-grid,
.public-dashboard-page
.filter-bar-card .filter-box {

    overflow: visible !important;

}


/* ============================================================
   Tom Select dropdown
============================================================ */

body > .ts-dropdown,
.public-dashboard-page .ts-dropdown {

    z-index: 500 !important;

}



/* ============================================================
   NO FILTER PAGES
   Tabs directly below header
   (Credit Ratings, Presentations, Overview, etc.)
============================================================ */

.public-dashboard-page:not(:has(.filter-bar-card))
.dashboard-sticky-controls {

    position: relative !important;

    top: auto !important;

    margin-top: 0 !important;

    z-index: 50000 !important;

    background: rgba(248, 250, 253, 0.95) !important;
;

}


/* ============================================================
   Pages WITH filters
   Keep tabs sticky
   (Macro, Debt, Tax)
============================================================ */

.public-dashboard-page:has(.filter-bar-card)
.dashboard-sticky-controls {

    position: sticky !important;

    top: var(--public-header-height) !important;

    z-index: 50000 !important;

}



/* ============================================================
   Mobile
============================================================ */

@media (max-width:900px){

    .public-dashboard-page
    .dashboard-sticky-controls {

        min-height: 0 !important;

        height: auto !important;

    }


    .public-dashboard-page
    .top-dashboard-tabs {

        min-height: 0 !important;

        height: auto !important;

        padding: 8px 0 !important;

        display: flex !important;

        flex-wrap: wrap !important;

        gap: 8px !important;

    }

}


/* ============================================================
   NO FILTER PAGES
   Move dashboard tabs immediately below header
============================================================ */

.public-dashboard-page:not(:has(.filter-bar-card))
.dashboard-sticky-controls {

    position: relative !important;

    top: auto !important;

    margin-top: -70px !important;

    z-index: 50000 !important;

}


/* Remove extra empty space from container before tabs */

.public-dashboard-page:not(:has(.filter-bar-card))
.container-wide {

    padding-top: 0 !important;

}


/* Keep first content directly after tabs */

.public-dashboard-page:not(:has(.filter-bar-card))
.dashboard-sticky-controls + .credit-hero-card {

    margin-top: 0 !important;

}

/* ============================================================
   NO FILTER PAGES
   Sticky tabs directly below header
   Move visual position only
============================================================ */

.public-dashboard-page:not(:has(.filter-bar-card))
.dashboard-sticky-controls {

    position: sticky !important;

    top: var(--public-header-height) !important;

    z-index: 50000 !important;

    background: rgba(248, 250, 253, 0.95) !important;

}


/* Move only tabs visually upward */

.public-dashboard-page:not(:has(.filter-bar-card))
.top-dashboard-tabs {

    transform: translateY(-60px) !important;

}


/* Keep sticky wrapper height unchanged */

.public-dashboard-page:not(:has(.filter-bar-card))
.dashboard-sticky-controls {

    margin-bottom: 90px !important;

}

/* ============================================================
   DJANGO PUBLIC MESSAGES
   Messages are moved below the dashboard tabs by public_base.js.
============================================================ */

.public-dashboard-page > .public-message-container {
    position: relative !important;
    z-index: 1000 !important;

    width: auto !important;

    margin: 12px 18px 18px !important;
    padding: 0 !important;

    box-sizing: border-box !important;
}