/* ============================================================
   FID theme overlay — additive polish on top of Phoenix.
   Loaded LAST in _Layout so it wins. Safe to remove (delete the
   <link> in _Layout) to revert.
   ============================================================ */
:root{
    --fid-accent:#1B6FE3;
    --fid-accent-ink:#0B4FB0;
    --fid-accent-soft:#E7F0FE;
    --fid-radius:14px;
    --fid-shadow:0 1px 2px rgba(16,26,43,.05), 0 10px 26px -14px rgba(16,26,43,.22);
    --fid-border:var(--phoenix-border-color, #DBE3EE);
}

/* ---------- Page background: subtle blue tint instead of flat grey ---------- */
body{
    font-size:14.5px;
    background:linear-gradient(180deg, #EEF4FC 0%, #F4F7FB 100%) !important;
}
.content, main, #main-content{ background:transparent !important; }
h1,h2,.fw-bolder,.page-title{ letter-spacing:-.02em; }
h1{ font-size:1.9rem !important; font-weight:800 !important; }
h2{ font-size:1.6rem !important; font-weight:800 !important; }
h3,h4,h5{ font-weight:750 !important; letter-spacing:-.01em; }
.breadcrumb-item, .text-body-tertiary{ font-weight:500; }
label, .form-label{ font-weight:650 !important; }

/* ---------- Cards ---------- */
.card{
    border-radius:var(--fid-radius) !important;
    border:1px solid var(--fid-border) !important;
    box-shadow:var(--fid-shadow) !important;
}
.card-header{ font-weight:750; }

/* ---------- Tables (grid views) ---------- */
.table{ font-variant-numeric:tabular-nums; }
.table > :not(caption) > * > *{ padding-top:.72rem; padding-bottom:.72rem; }
.table thead th{
    text-transform:uppercase;
    letter-spacing:.07em;
    font-size:.7rem;
    font-weight:800 !important;
    color:var(--phoenix-secondary-color);
    white-space:nowrap;
}
.table tbody tr{ transition:background-color .12s ease; }
.table tbody tr:nth-of-type(even) > td{ background:color-mix(in srgb, var(--phoenix-secondary-bg, #f5f8fc) 45%, transparent); }
.table tbody tr:hover > td{ background:var(--phoenix-secondary-bg, #f5f8fc); }
/* right-align + mono for numeric-looking cells opt-in via .num */
.table td.num, .table th.num{ text-align:right; font-variant-numeric:tabular-nums; }

/* ---------- Status badges -> pill chips ---------- */
.badge-phoenix{
    border-radius:20px !important;
    font-weight:700 !important;
    padding:.34em .72em !important;
    border:1px solid transparent;
}

/* ---------- Buttons ---------- */
.btn{ font-weight:650; border-radius:10px; }
.btn-primary{ background:var(--fid-accent); border-color:var(--fid-accent); }
.btn-primary:hover{ background:var(--fid-accent-ink); border-color:var(--fid-accent-ink); }
.btn-phoenix-primary{ font-weight:700; }

/* ---------- Sidebar: +1rem wider (default 15.875rem -> 16.875rem) ---------- */
/* width is hardcoded on .navbar-vertical.navbar-expand-lg inside the lg media
   query; keep the collapsed (4rem) state untouched via :not(collapsed). */
@media (min-width: 992px){
    html:not(.navbar-vertical-collapsed) .navbar-vertical.navbar-expand-lg{
        width:16.875rem !important;
    }
    html:not(.navbar-vertical-collapsed) .navbar-vertical.navbar-expand-lg ~ .navbar-top ~ .content{
        margin-left:16.875rem !important;
    }
}
/* sidebar footer bar shares the sidebar width (fixed 15.875rem) */
html:not(.navbar-vertical-collapsed) .navbar-vertical .navbar-vertical-footer{
    width:16.875rem !important;
}

/* ---------- Sidebar: open-parent look + active accent ---------- */
.navbar-vertical .nav-link.dropdown-indicator{ font-weight:800 !important; letter-spacing:.02em; }
.navbar-vertical .parent.show{ display:block !important; }
.navbar-vertical .nav-link.active{
    color:var(--fid-accent-ink) !important;
    font-weight:750;
}
.navbar-vertical .nav-link.active::before,
.navbar-vertical .nav-item .nav-link.active{
    background:var(--fid-accent-soft);
    border-radius:8px;
}

/* submenu icons: fixed-width box so every label starts at the same x */
.navbar-vertical .parent .nav-link{
    display:flex !important;
    align-items:center;
    padding-top:.32rem; padding-bottom:.32rem;
}
.navbar-vertical .parent .nav-link .nav-link-icon{
    flex:0 0 1.4rem;
    width:1.4rem; min-width:1.4rem;
    display:inline-flex; justify-content:center; align-items:center;
    margin-right:.5rem !important;
}
.navbar-vertical .parent .nav-link .nav-link-icon i{
    width:1.4rem; text-align:center;               /* uniform icon box (fa-fw effect) */
    font-size:.9rem;
    color:var(--phoenix-secondary-color);
}
.navbar-vertical .parent .nav-link .nav-link-text{
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.navbar-vertical .parent .nav-link.active .nav-link-icon i{ color:var(--fid-accent-ink) !important; }
.navbar-vertical .parent .nav-link:hover .nav-link-icon i{ color:var(--fid-accent) !important; }

/* ============================================================
   Work-Order attachments — history/track modal
   ============================================================ */
.wo-att-head{
    font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em;
    color:var(--phoenix-secondary-color); margin-bottom:.6rem; display:flex; align-items:center;
}
.wo-att-count{
    margin-left:.5rem; background:var(--fid-accent-soft); color:var(--fid-accent-ink);
    font-weight:800; border-radius:20px; padding:.05rem .5rem; font-size:.68rem;
}
.wo-att-grid{
    display:grid; grid-template-columns:repeat(auto-fill, minmax(215px, 1fr)); gap:.6rem;
}
.wo-att-card{
    display:flex; align-items:center; gap:.7rem; padding:.6rem .7rem;
    border:1px solid var(--fid-border); border-radius:12px;
    background:var(--phoenix-card-bg, #fff); text-decoration:none; color:inherit;
    transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.wo-att-card:hover{
    border-color:var(--fid-accent);
    box-shadow:0 8px 20px -12px rgba(27,111,227,.45);
    transform:translateY(-2px);
}
.wo-att-ico{
    flex-shrink:0; width:2.5rem; height:2.5rem; border-radius:9px;
    display:flex; align-items:center; justify-content:center;
    font-size:1.15rem; color:#fff; background-size:cover; background-position:center;
}
.wo-att-ico.att-pdf{ background:linear-gradient(135deg,#f36a63,#d1372e); }
.wo-att-ico.att-doc{ background:linear-gradient(135deg,#5aa0f2,#1b6fe3); }
.wo-att-ico.att-xls{ background:linear-gradient(135deg,#4fc09a,#2c7a5e); }
.wo-att-ico.att-ppt{ background:linear-gradient(135deg,#f2a25a,#e0742a); }
.wo-att-ico.att-zip{ background:linear-gradient(135deg,#f0c878,#d08a2a); }
.wo-att-ico.att-txt{ background:linear-gradient(135deg,#9aa6c0,#6b7590); }
.wo-att-ico.att-file{ background:linear-gradient(135deg,#8792ad,#5b6577); }
.wo-att-ico.att-img{ color:transparent; background-color:var(--phoenix-secondary-bg,#eef); }
.wo-att-meta{ min-width:0; display:flex; flex-direction:column; line-height:1.2; flex:1; }
.wo-att-name{
    font-weight:700; font-size:.8rem; color:var(--phoenix-body-emphasis-color);
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.wo-att-sub{ font-size:.68rem; color:var(--phoenix-secondary-color); font-weight:600; }
.wo-att-dl{
    flex-shrink:0; color:var(--phoenix-secondary-color); font-size:.85rem;
    width:1.8rem; height:1.8rem; border-radius:8px; display:flex; align-items:center; justify-content:center;
    background:var(--phoenix-secondary-bg, #f2f5fa);
}
.wo-att-card:hover .wo-att-dl{ color:var(--fid-accent-ink); background:var(--fid-accent-soft); }

/* ----- editable variant (memo form) + dropzone ----- */
.wo-dropzone{
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.2rem;
    width:100%; padding:1.1rem 1rem; text-align:center; cursor:pointer; margin-bottom:0;
    border:2px dashed var(--fid-border); border-radius:12px;
    background:var(--phoenix-secondary-bg, #f5f8fc);
    transition:border-color .15s ease, background .15s ease;
}
.wo-dropzone:hover, .wo-dropzone.dragover{
    border-color:var(--fid-accent);
    background:var(--fid-accent-soft);
}
.wo-dz-ico{ font-size:1.5rem; color:var(--fid-accent); }
.wo-dz-text{ font-size:.85rem; color:var(--phoenix-body-color); }

.wo-att-card.wo-att-edit{ cursor:default; }
.wo-att-card.wo-att-edit:hover{
    transform:none; box-shadow:none; border-color:var(--fid-accent);
}
a.wo-att-name{ text-decoration:none; }
a.wo-att-name:hover{ color:var(--fid-accent-ink); text-decoration:underline; }
.wo-att-remove{
    flex-shrink:0; border:0; background:transparent; color:#d1372e;
    width:2rem; height:2rem; border-radius:8px; cursor:pointer;
    display:flex; align-items:center; justify-content:center; transition:background .15s ease;
}
.wo-att-remove:hover{ background:color-mix(in srgb, #d1372e 15%, transparent); }

/* Choices.js adds a 24px bottom margin — drop it inside inline toolbars */
#bulkAssignBar .choices{ margin-bottom:0 !important; }
#bulkAssignBar .choices__inner{ min-height:auto; }

/* ---------- Search inputs / page size ---------- */
.search-input, .form-control{ border-radius:10px; }

/* ---------- KPI / stat numbers a touch stronger ---------- */
.fs-5, .fs-4, .display-6{ font-variant-numeric:tabular-nums; }

/* ============================================================
   Dashboard — blue-shade accents
   ============================================================ */
/* page title gets a blue accent bar */
#pageTitle{
    position:relative;
    padding-left:.85rem;
}
#pageTitle::before{
    content:"";
    position:absolute; left:0; top:.15em; bottom:.15em;
    width:5px; border-radius:4px;
    background:linear-gradient(180deg, #1B6FE3, #0B4FB0);
}

/* primary badge -> brand blue chip */
.badge-phoenix-primary{
    background:var(--fid-accent-soft) !important;
    color:var(--fid-accent-ink) !important;
    border-color:color-mix(in srgb, var(--fid-accent) 30%, transparent) !important;
}

/* info badge -> lighter blue chip (In-Progress / inspect-qty) */
.badge-phoenix-info{
    background:#E4F1FB !important;
    color:#1F6FA8 !important;
}

/* KPI stat tiles: primary + info tints leaning blue */
.bg-primary-subtle{ background:var(--fid-accent-soft) !important; }
.text-primary-dark{ color:var(--fid-accent-ink) !important; }

/* progress bars (intake share) -> brand blue */
.progress-bar.bg-primary{ background:linear-gradient(90deg,#1B6FE3,#0B4FB0) !important; }

/* (backlog / KRI stat tiles now styled by .stat-card in Dashboard/Index.cshtml) */

/* refresh / clear secondary buttons: blue-tinted hover */
.btn-phoenix-secondary:hover{
    background:var(--fid-accent-soft) !important;
    color:var(--fid-accent-ink) !important;
    border-color:color-mix(in srgb, var(--fid-accent) 35%, transparent) !important;
}

/* ============================================================
   List grids — independent card + dark highlighted header
   (targets the shared list wrapper used on every list page)
   ============================================================ */
.bg-body-emphasis.border-top.border-bottom.border-translucent{
    background:var(--phoenix-card-bg, #fff) !important;
    border:1px solid var(--fid-border) !important;
    border-radius:var(--fid-radius) !important;
    box-shadow:var(--fid-shadow) !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding:.5rem .75rem !important;
    overflow:hidden;
}

/* dark header row with bright, bold text
   — applies to the list-page wrapper grids AND any table tagged .fid-grid
     (e.g. the Dashboard Work Orders list) */
.bg-body-emphasis table.table thead th,
table.fid-grid thead th{
    background:linear-gradient(180deg, #143a6b, #0e2c54) !important;
    color:#eef4fd !important;
    font-weight:800 !important;
    text-transform:uppercase;
    letter-spacing:.06em;
    font-size:.72rem !important;
    padding:.85rem .75rem !important;
    border-bottom:none !important;
    vertical-align:middle;
    white-space:nowrap;
}
.bg-body-emphasis table.table thead th:first-child,
table.fid-grid thead th:first-child{
    border-top-left-radius:10px; border-bottom-left-radius:10px;
}
.bg-body-emphasis table.table thead th:last-child,
table.fid-grid thead th:last-child{
    border-top-right-radius:10px; border-bottom-right-radius:10px;
}
/* filter icons — yellow highlight on the dark header */
.th-filter,
.bg-body-emphasis table.table thead .th-filter{
    color:#FFC93C !important;
    opacity:.9;
    cursor:pointer;
    transition:color .12s ease, opacity .12s ease, transform .12s ease;
}
.th-filter:hover,
.bg-body-emphasis table.table thead .th-filter:hover{
    color:#FFD966 !important;
    opacity:1;
    transform:scale(1.15);
}
/* active filter: brighter + a soft glow so it clearly reads as "filtered" */
.th-filter.active,
.bg-body-emphasis table.table thead .th-filter.active{
    color:#FFC107 !important;
    opacity:1;
    text-shadow:0 0 8px rgba(255,201,60,.85);
}

/* roomy rows, zebra + blue hover, independent feel */
.bg-body-emphasis table.table tbody td,
table.fid-grid tbody td{
    padding-top:.55rem !important;
    padding-bottom:.55rem !important;
    vertical-align:middle;
    border-color:color-mix(in srgb, var(--fid-border) 60%, transparent) !important;
    color: var(--phoenix-body-color) !important;   /* theme-aware: dark in light mode, light in dark mode */
}
.bg-body-emphasis table.table tbody tr:nth-of-type(even) > td,
table.fid-grid tbody tr:nth-of-type(even) > td{
    background:color-mix(in srgb, var(--fid-accent-soft) 40%, transparent);
}
.bg-body-emphasis table.table tbody tr:hover > td,
table.fid-grid tbody tr:hover > td{
    background:var(--fid-accent-soft);
}
.bg-body-emphasis table.table tbody tr:last-child > td,
table.fid-grid tbody tr:last-child > td{ border-bottom:none !important; }

/* ============================================================
   DARK THEME — re-point the light-only bits
   (Phoenix sets data-bs-theme="dark" on <html>)
   ============================================================ */
[data-bs-theme="dark"]{
    --fid-accent:#3D8BEF;
    --fid-accent-ink:#9EC5FB;
    --fid-accent-soft:rgba(61,139,239,.16);        /* drives zebra / hover / tiles / active */
    --fid-border:var(--phoenix-border-color, #313d55);
    --fid-shadow:0 1px 2px rgba(0,0,0,.4), 0 12px 28px -16px rgba(0,0,0,.65);
}

/* page background: subtle dark blue instead of the light gradient */
[data-bs-theme="dark"] body{
    background:linear-gradient(180deg, #0d1526 0%, #0b1120 100%) !important;
}

/* list grid card + rows use Phoenix dark surfaces */
[data-bs-theme="dark"] .bg-body-emphasis.border-top.border-bottom.border-translucent{
    background:var(--phoenix-card-bg, #131a2b) !important;
}
[data-bs-theme="dark"] .bg-body-emphasis table.table tbody td,
[data-bs-theme="dark"] table.fid-grid tbody td{
    color:var(--phoenix-body-color);
}

/* blue chips: translucent fill + light text for contrast on dark */
[data-bs-theme="dark"] .badge-phoenix-primary{
    background:rgba(61,139,239,.18) !important;
    color:#9ec5fb !important;
    border-color:rgba(61,139,239,.35) !important;
}
[data-bs-theme="dark"] .badge-phoenix-info{
    background:rgba(61,139,239,.16) !important;
    color:#8fc0f7 !important;
}

/* KPI stat tiles + progress keep readable on dark */
[data-bs-theme="dark"] .text-primary-dark{ color:#9ec5fb !important; }

/* sidebar active pill: subtle translucent blue, light text */
[data-bs-theme="dark"] .navbar-vertical .nav-link.active{ color:#9ec5fb !important; }
[data-bs-theme="dark"] .navbar-vertical .nav-item .nav-link.active{
    background:rgba(61,139,239,.15);
}

/* secondary buttons hover on dark */
[data-bs-theme="dark"] .btn-phoenix-secondary:hover{
    background:rgba(61,139,239,.16) !important;
    color:#9ec5fb !important;
}

/* table dark header already dark — nudge text brightness only */
[data-bs-theme="dark"] .bg-body-emphasis table.table thead th,
[data-bs-theme="dark"] table.fid-grid thead th{
    background:linear-gradient(180deg, #1b3255, #12233f) !important;
    color:#eaf2ff !important;
}

/* ============================================================
   Header user chip — inline avatar + name + role + Sign out
   (replaces the old profile dropdown)
   ============================================================ */
.fid-user{
    padding:.28rem .4rem .28rem .32rem;
    border:1px solid var(--fid-border);
    border-radius:999px;
    background:var(--phoenix-body-bg, #fff);
    box-shadow:0 1px 2px rgba(16,26,43,.05);
}
.fid-user .avatar{ width:2.1rem; height:2.1rem; }
.fid-user .avatar img{ box-shadow:0 0 0 2px var(--fid-accent-soft); }
.fid-user-name{ font-size:.82rem; font-weight:750; letter-spacing:-.01em; white-space:nowrap; }
.fid-user-role{
    font-size:.58rem !important; font-weight:800 !important;
    letter-spacing:.06em; padding:.16em .5em !important; text-transform:uppercase;
}
/* layout only — colors/background come from Bootstrap's .btn-subtle-danger */
.fid-signout{
    display:inline-flex; align-items:center; gap:.35rem;
    font-weight:700;
}
.fid-signout svg{ width:15px; height:15px; }

[data-bs-theme="dark"] .fid-user{ background:var(--phoenix-card-bg, #131a2b); }

/* ============================================================
   Sync Users / SyncDepartment selection checkboxes
   (#selectAll on the navy header, .row-select in the rows)
   — larger, clearer, aligned; same look as the QC grid.
   ============================================================ */
.row-select,
#selectAll{
    width:1.2rem; height:1.2rem; margin:0;
    border-width:2px; border-radius:6px; cursor:pointer; vertical-align:middle;
    transition:background-color .12s ease, border-color .12s ease, box-shadow .12s ease;
}
.row-select{
    border-color:var(--fid-accent, #1B6FE3);
    background-color:var(--phoenix-input-bg, #fff);
}
.row-select:checked{
    background-color:var(--fid-accent, #1B6FE3);
    border-color:var(--fid-accent, #1B6FE3);
}
/* select-all sits on the dark navy grid header — light outline + bright fill */
#selectAll{
    border-color:rgba(255,255,255,.9);
    background-color:rgba(255,255,255,.14);
}
#selectAll:checked{
    background-color:#2F80ED;
    border-color:#8FD0FF;
}
.row-select:focus,
#selectAll:focus{
    box-shadow:0 0 0 .2rem color-mix(in srgb, var(--fid-accent, #1B6FE3) 32%, transparent);
    outline:0;
}
/* center the checkbox column */
th:has(> #selectAll),
td:has(> .row-select){ text-align:center; vertical-align:middle; }

/* ============================================================
   READABILITY — darker, stronger text in BOTH themes.
   Overrides the Phoenix text tokens (this file loads last, so
   every component that uses them inherits the new contrast).
   Phoenix defaults were: light body #31374a / tertiary #525b75,
   dark body #9fa6bc — both washed out on real monitors.
   ============================================================ */
:root{
    --phoenix-emphasis-color:   #0B1020;   /* headings / strong text */
    --phoenix-body-color:       #1B2233;   /* normal body text       */
    --phoenix-secondary-color:  #2B3348;   /* labels, sub-headings   */
    --phoenix-tertiary-color:   #3A4257;   /* muted captions         */
    --phoenix-quaternary-color: #4A5570;
    --phoenix-emphasis-color-rgb: 11,16,32;
    --phoenix-body-color-rgb:     27,34,51;
}

[data-bs-theme="dark"]{
    --phoenix-emphasis-color:   #FFFFFF;
    --phoenix-body-color:       #E4EAF6;   /* was #9fa6bc — far too dim */
    --phoenix-secondary-color:  #CFD8E8;
    --phoenix-tertiary-color:   #B9C4D8;
    --phoenix-quaternary-color: #A6B2C8;
    --phoenix-emphasis-color-rgb: 255,255,255;
    --phoenix-body-color-rgb:     228,234,246;
}

/* slightly heavier base weight so text reads solid, not thin */
body{ font-weight:500; color:var(--phoenix-body-color); }

/* the muted utility classes are used everywhere for subtitles —
   point them at the new (darker / brighter) tokens and firm them up */
.text-body,
.text-body-secondary,
.text-body-tertiary,
.text-body-quaternary,
.text-body-emphasis,
.text-body-highlight{ font-weight:600; }

.text-body-secondary { color:var(--phoenix-secondary-color) !important; }
.text-body-tertiary  { color:var(--phoenix-tertiary-color) !important; }
.text-body-quaternary{ color:var(--phoenix-quaternary-color) !important; }
.text-body-emphasis,
.text-body-highlight { color:var(--phoenix-emphasis-color) !important; }

/* tables, forms and cards pick up the stronger body colour too */
.table > :not(caption) > * > *{ color:var(--phoenix-body-color); }
.form-control, .form-select{ color:var(--phoenix-body-color); font-weight:550; }
.form-control::placeholder{ color:var(--phoenix-quaternary-color); font-weight:500; }
.card-header h4, .card-header h5, .card-header h6{ color:var(--phoenix-emphasis-color); }

/* small print (fs-9 / fs-10) is where fading hurt most */
.fs-9, .fs-10{ font-weight:600; }

/* ============================================================
   SIDEBAR — larger, bolder, clearer hierarchy
   (overrides the earlier sidebar block; this file loads last)
   ============================================================ */
.navbar-vertical .navbar-vertical-content{ padding-top:.35rem; }

/* ---- top-level items (Dashboard) and module headers (Masters / FID) ---- */
.navbar-vertical .nav-link.fs-8,
.navbar-vertical .nav-link.dropdown-indicator{
    font-size:.98rem !important;
    font-weight:800 !important;
    letter-spacing:-.01em;
    color:var(--phoenix-emphasis-color) !important;
    padding:.55rem .75rem !important;
    border-radius:10px;
    margin:.12rem .5rem;
    transition:background .15s ease, color .15s ease;
}
.navbar-vertical .nav-link.fs-8:hover,
.navbar-vertical .nav-link.dropdown-indicator:hover{
    background:var(--phoenix-secondary-bg, #eef2f8);
}

/* module header icon -> soft rounded chip */
.navbar-vertical .nav-link.dropdown-indicator .nav-link-icon,
.navbar-vertical > div > ul > .nav-item > .nav-link .nav-link-icon{
    width:1.9rem; height:1.9rem; min-width:1.9rem;
    border-radius:8px;
    background:var(--fid-accent-soft);
    display:inline-flex; align-items:center; justify-content:center;
    margin-right:.6rem !important;
}
.navbar-vertical .nav-link.dropdown-indicator .nav-link-icon i,
.navbar-vertical > div > ul > .nav-item > .nav-link .nav-link-icon i{
    color:var(--fid-accent-ink) !important;
    font-size:.92rem !important;
}

/* ---- child items ---- */
.navbar-vertical .parent .nav-link{
    font-size:.9rem !important;
    font-weight:650 !important;
    color:var(--phoenix-body-color) !important;
    padding:.46rem .75rem !important;
    border-radius:9px;
    margin:.1rem .5rem .1rem .95rem;
    position:relative;
    transition:background .14s ease, color .14s ease, transform .14s ease;
}
.navbar-vertical .parent .nav-link .nav-link-icon i{
    font-size:.95rem !important;
    color:var(--phoenix-tertiary-color);
    transition:color .14s ease;
}
.navbar-vertical .parent .nav-link:hover{
    background:var(--phoenix-secondary-bg, #eef2f8);
    color:var(--phoenix-emphasis-color) !important;
    transform:translateX(2px);
}

/* ---- ACTIVE: accent pill + left bar ---- */
.navbar-vertical .parent .nav-link.active,
.navbar-vertical .nav-item .nav-link.active{
    background:var(--fid-accent-soft) !important;
    color:var(--fid-accent-ink) !important;
    font-weight:800 !important;
    border-radius:9px;
}
.navbar-vertical .parent .nav-link.active::after{
    content:""; position:absolute; left:-.45rem; top:22%; bottom:22%;
    width:3px; border-radius:3px; background:var(--fid-accent);
}
.navbar-vertical .parent .nav-link.active .nav-link-icon i{ color:var(--fid-accent) !important; }

/* caret a touch stronger */
.navbar-vertical .dropdown-indicator-icon{ font-size:.8rem !important; opacity:.75; }

/* footer ("Collapsed View") */
.navbar-vertical .navbar-vertical-footer-text{ font-size:.86rem; font-weight:700; }

/* ---- dark theme ---- */
[data-bs-theme="dark"] .navbar-vertical .nav-link.fs-8:hover,
[data-bs-theme="dark"] .navbar-vertical .nav-link.dropdown-indicator:hover,
[data-bs-theme="dark"] .navbar-vertical .parent .nav-link:hover{
    background:rgba(255,255,255,.06);
}
[data-bs-theme="dark"] .navbar-vertical .parent .nav-link.active,
[data-bs-theme="dark"] .navbar-vertical .nav-item .nav-link.active{
    background:rgba(61,139,239,.18) !important;
    color:#BBD6FF !important;
}

/* ======================================================
   SR NO. COLUMN  (master grids + QC memo list)
   ====================================================== */
.srno-col {
    width: 4rem;
    text-align: center !important;
    white-space: nowrap;
}

table tbody td.srno-col {
    font-weight: 700;
    color: var(--phoenix-secondary-color);
    font-variant-numeric: tabular-nums;
}
