/* ══════════════════════════════════════════
   GS Cash Advance — Brand Override CSS
   Load LAST in dashboard_base.html
   ══════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@300;400;600;700&display=swap');

/* ── ROOT TOKENS ─────────────────────────────────────────────────────────── */
:root {
    --primary-color:         #055189;
    --primary-rgb:           5, 81, 137;
    --secondary-color:       #00addc;
    --secondary-rgb:         0, 173, 220;
    --mid-grey:              #54686e;
    --default-body-bg-color: #f4f7f9;
    --default-font-family:   'Source Sans 3', 'Segoe UI', sans-serif;
    --default-text-color:    #1a252f;
    --text-muted:            #54686e;
    --default-border:        #e2e8f0;
    --input-border:          #cddae8;
    --bootstrap-card-border: #e2e8f0;
    --header-bg:             #ffffff;
    --menu-bg:               #055189;
    --menu-prime-color:      #ffffff;
}

/* ── TYPOGRAPHY ──────────────────────────────────────────────────────────── */
body {
    font-family: 'Source Sans 3', 'Segoe UI', sans-serif !important;
}

/* ── BUTTONS ─────────────────────────────────────────────────────────────── */
.btn-primary {
    background-color: #055189 !important;
    border-color:     #055189 !important;
    color:            #fff !important;
}
.btn-primary:hover,
.btn-primary:focus {
    background-color: #00addc !important;
    border-color:     #00addc !important;
}
.btn-secondary {
    background-color: #00addc !important;
    border-color:     #00addc !important;
    color:            #fff !important;
}
.btn-light-brand {
    background-color: rgba(5,81,137,.08) !important;
    border-color:     rgba(5,81,137,.15) !important;
    color:            #055189 !important;
}
.btn-light-brand:hover {
    background-color: rgba(5,81,137,.15) !important;
}

/* ── SIDEBAR SHELL ───────────────────────────────────────────────────────── */
.nxl-navigation {
    background-color: #055189 !important;
}

.nxl-navigation .m-header {
    background-color: #055189 !important;
    border-bottom:    1px solid rgba(255,255,255,.1) !important;
}

/* ── SIDEBAR SECTION LABELS ──────────────────────────────────────────────── */
.nxl-navigation .nxl-caption label {
    color:          rgba(255,255,255,.4) !important;
    font-size:      10px !important;
    font-weight:    700 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
}

/* ── SIDEBAR NAV ITEMS — DEFAULT ─────────────────────────────────────────── */
.nxl-navigation .nxl-link {
    color:            rgba(255,255,255,.78) !important;
    background-color: transparent !important;
    border-left:      none !important;
    border-radius:    0 !important;
    margin:           0 !important;
    transition:       background-color .15s ease !important;
}

.nxl-navigation .nxl-link .nxl-micon i,
.nxl-navigation .nxl-link .nxl-micon svg {
    color: rgba(255,255,255,.6) !important;
    fill:  rgba(255,255,255,.6) !important;
}

.nxl-navigation .nxl-link .nxl-mtext {
    color: rgba(255,255,255,.78) !important;
}

/* ── SIDEBAR NAV ITEMS — HOVER ───────────────────────────────────────────── */
.nxl-navigation .nxl-link:hover {
    background-color: rgba(255,255,255,.08) !important;
    color:            #ffffff !important;
    border-left:      none !important;
    border-radius:    0 !important;
    margin:           0 !important;
}

.nxl-navigation .nxl-link:hover .nxl-micon i,
.nxl-navigation .nxl-link:hover .nxl-micon svg {
    color: #ffffff !important;
    fill:  #ffffff !important;
}

.nxl-navigation .nxl-link:hover .nxl-mtext {
    color: #ffffff !important;
}

/* ── SIDEBAR NAV ITEMS — ACTIVE ──────────────────────────────────────────── */
.nxl-navigation .nxl-item.active > .nxl-link {
    background-color: rgba(255,255,255,.15) !important;
    color:            #ffffff !important;
    border-left:      none !important;
    border-radius:    8px !important;
    margin:           0 10px !important;
}

.nxl-navigation .nxl-item.active > .nxl-link .nxl-micon i,
.nxl-navigation .nxl-item.active > .nxl-link .nxl-micon svg {
    color: #ffffff !important;
    fill:  #ffffff !important;
}

.nxl-navigation .nxl-item.active > .nxl-link .nxl-mtext {
    color:       #ffffff !important;
    font-weight: 600 !important;
}

/* Default link — remove left border since we dropped it from active/hover */
.nxl-navigation .nxl-link {
    color:            rgba(255,255,255,.78) !important;
    background-color: transparent !important;
    border-left:      none !important;
    border-radius:    0 !important;
    transition:       all .2s ease !important;
}

/* ── SIDEBAR SUBMENU ─────────────────────────────────────────────────────── */
.nxl-navigation .nxl-submenu {
    background-color: rgba(0,0,0,.1) !important;
}

.nxl-navigation .nxl-submenu .nxl-link {
    color:       rgba(255,255,255,.65) !important;
    border-left: 3px solid transparent !important;
    font-size:   13px !important;
}

.nxl-navigation .nxl-submenu .nxl-link:hover {
    color:            #00addc !important;
    background-color: rgba(0,173,220,.1) !important;
}

/* ── SIDEBAR CHEVRON ARROW ───────────────────────────────────────────────── */
.nxl-navigation .nxl-arrow i {
    color: rgba(255,255,255,.4) !important;
    font-size: 13px !important;
}

.nxl-navigation .nxl-link:hover .nxl-arrow i {
    color: #00addc !important;
}

/* ── SIDEBAR BADGES (Sprint labels) ──────────────────────────────────────── */
.nxl-navigation .nxl-link .badge {
    font-size:        9px !important;
    padding:          2px 6px !important;
    font-weight:      600 !important;
    letter-spacing:   .02em !important;
}

/* ── SIDEBAR FOOTER (user info) ──────────────────────────────────────────── */
.nxl-navigation .navbar-wrapper {
    display:        flex;
    flex-direction: column;
    height:         100%;
    overflow:       hidden;
}

.nxl-navigation .navbar-content {
    flex:       1;
    overflow-y: auto;
    overflow-x: hidden;
}

.nxl-navigation .navbar-footer {
    flex-shrink:      0;
    width:            100%;
    box-sizing:       border-box;
    overflow:         hidden;
    background-color: rgba(0,0,0,.2);
    border-top:       1px solid rgba(255,255,255,.1) !important;
    padding:          12px 15px;
}

.nxl-navigation .navbar-footer p {
    color:         rgba(255,255,255,.9) !important;
    white-space:   nowrap;
    overflow:      hidden;
    text-overflow: ellipsis;
    margin-bottom: 0;
}

.nxl-navigation .navbar-footer .text-muted-nav {
    color: rgba(255,255,255,.45) !important;
}

/* ── TOP HEADER ──────────────────────────────────────────────────────────── */
.nxl-header {
    background-color: #ffffff !important;
    border-bottom:    1px solid #e2e8f0 !important;
}

/* ── CARDS ───────────────────────────────────────────────────────────────── */
.card-title {
    color:       #055189;
    font-weight: 600;
}
.card-header {
    border-bottom: 1px solid #e2e8f0;
}

/* ── BADGES (global) ─────────────────────────────────────────────────────── */
.badge {
    padding:        .42em .85em !important;
    font-weight:    600 !important;
    border-radius:  6px !important;
    letter-spacing: .02em !important;
}
.badge.bg-primary   { background-color: #055189 !important; color: #fff !important; }
.badge.bg-info      { background-color: #00addc !important; color: #fff !important; }
.badge.bg-success   { background-color: #28a745 !important; color: #fff !important; }
.badge.bg-danger    { background-color: #dc3545 !important; color: #fff !important; }
.badge.bg-warning   { background-color: #9aacbe !important; color: #fff !important; }
.badge.bg-secondary { background-color: #e2e8f0 !important; color: #475569 !important; }

.badge.bg-soft-primary   { background-color: rgba(5,81,137,.1)    !important; color: #055189 !important; }
.badge.bg-soft-info      { background-color: rgba(0,173,220,.12)  !important; color: #007fa3 !important; }
.badge.bg-soft-success   { background-color: rgba(40,167,69,.1)   !important; color: #1a6b30 !important; }
.badge.bg-soft-danger    { background-color: rgba(220,53,69,.1)   !important; color: #a3192a !important; }
.badge.bg-soft-warning   { background-color: rgba(255,193,7,.12)  !important; color: #856404 !important; }
.badge.bg-soft-secondary { background-color: rgba(84,104,110,.1)  !important; color: #54686e !important; }

/* ── PROGRESS ────────────────────────────────────────────────────────────── */
.progress-bar { background-color: #055189 !important; }

/* ── FORM CONTROLS ───────────────────────────────────────────────────────── */
.form-control:focus,
.form-select:focus {
    border-color: #00addc !important;
    box-shadow:   0 0 0 3px rgba(0,173,220,.15) !important;
}

/* ── PAGE HEADER ─────────────────────────────────────────────────────────── */
.page-header .page-title {
    color:       #055189;
    font-weight: 700;
}
.breadcrumb-item a      { color: #055189; }
.breadcrumb-item.active { color: #54686e; }

/* ── FULL HEIGHT LAYOUT FIX ──────────────────────────────────────────────── */
html,
body {
    height: 100%;
    margin: 0;
}

.nxl-container {
    min-height:     calc(100vh - 79px);
    display:        flex;
    flex-direction: column;
}

.nxl-content {
    flex:           1 0 auto;
    padding-bottom: 0;
}

.footer {
    flex-shrink: 0;
    margin-top:  auto;
}

.main-content {
    padding-top: 1.5rem;
}