@font-face{font-family:'Plus Jakarta Sans';src:url(vendor/fonts/plus-jakarta-sans-latin-wght-normal.woff2) format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:'Bricolage Grotesque';src:url(vendor/fonts/bricolage-grotesque-latin-wght-normal.woff2) format('woff2');font-weight:200 800;font-display:swap}
/* SLIM v2 design system */
:root{
  --ink:#14202e; --ink2:#0d1b2e; --mist:#f6f3ee; --paper:#ffffff; --line:#e9e3d9; --muted:#6b7686;
  --teal:#e8730c; --teal-d:#c25f06; --teal-s:#fdeedd; --indigo:#3b82c4; --amber:#f0a53a; --coral:#e5484d;
  --sw:252px; --rail:72px; --r:14px;
  --font:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif; --head:'Bricolage Grotesque','Plus Jakarta Sans',sans-serif;
  --shadow:0 1px 2px rgba(18,32,43,.05),0 6px 20px -8px rgba(18,32,43,.10);
  --bs-body-bg:var(--mist); --bs-body-color:var(--ink); --bs-body-font-family:var(--font); --bs-border-color:var(--line);
  --bs-primary:var(--teal); --bs-link-color:var(--teal-d); --bs-link-hover-color:var(--teal);
}
[data-theme=dark]{
  --ink:#f1f5f9; --ink2:#070f1a; --mist:#09131e; --paper:#101e2e; --line:#24374c; --muted:#a5b9ce; --teal-s:#33210f; --teal-d:#ff9a45;
  --shadow:0 2px 4px rgba(0,0,0,.4),0 10px 28px -8px rgba(0,0,0,.6);
  --bs-body-bg:var(--mist); --bs-body-color:var(--ink); --bs-border-color:var(--line); --bs-link-color:#ff9a45;
}
html{color-scheme:light} [data-theme=dark]{color-scheme:dark}
body{font-family:var(--font);font-size:.9rem;background:var(--mist);color:var(--ink);font-feature-settings:'tnum' 1;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5{font-family:var(--head);font-weight:700;letter-spacing:-.02em}
h6{font-weight:700;letter-spacing:-.01em}
a{text-decoration:none}
:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:6px}
/* sidebar */
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sw);background:var(--ink2);color:#b9c8d1;z-index:1040;display:flex;flex-direction:column;transition:width .25s ease}
[data-theme=dark] .sidebar{background:#08111a;border-right:1px solid var(--line)}
.sb-brand{display:flex;align-items:center;gap:12px;padding:20px 18px 14px;color:#fff}
.sb-logo{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#f08a2c,#e8730c);display:grid;place-items:center;font-family:var(--head);font-weight:800;font-size:1.1rem;color:#fff;flex:none}
.sb-brand b{font-family:var(--head);font-size:1.25rem;letter-spacing:-.02em;display:block;line-height:1}
.sb-brand small{font-size:.66rem;color:#7d93a0}
.sb-scroll{flex:1;overflow-y:auto;padding:6px 10px 16px;scrollbar-width:thin;scrollbar-color:#2b4252 transparent}
.sb-group{margin-top:14px}
.sb-title{width:100%;background:none;border:0;display:flex;justify-content:space-between;align-items:center;color:#7d93a0;font-size:.72rem;font-weight:600;padding:6px 10px;cursor:pointer;letter-spacing:.02em}
.sb-title i{transition:transform .2s;font-size:.65rem}
.sb-group.closed .sb-title i{transform:rotate(-90deg)}
.sb-group.closed .sb-links{display:none}
.sb-links a{display:flex;gap:11px;align-items:center;color:#b9c8d1;padding:8px 10px;border-radius:9px;font-weight:500;position:relative;transition:background .15s,color .15s}
.sb-links a i{font-size:1.05rem;width:20px;text-align:center;flex:none}
.sb-links a:hover{background:rgba(255,255,255,.06);color:#fff}
.sb-links a.active{background:var(--teal);color:#fff;box-shadow:0 6px 14px -6px rgba(232,115,12,.7)}

.sb-links .badge{margin-left:auto}
.sb-foot{padding:12px;border-top:1px solid rgba(255,255,255,.07);display:flex;gap:10px;align-items:center}
.avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#f08a2c,#e8730c);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.8rem;flex:none}
.sb-foot .who{min-width:0;line-height:1.2}.sb-foot .who b{color:#fff;display:block;font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-foot .who small{color:#7d93a0;font-size:.7rem}
body.rail .sidebar{width:var(--rail)}
body.rail .sb-brand div:last-child,body.rail .sb-links a span,body.rail .sb-title,body.rail .sb-foot .who,body.rail .sb-links .badge{display:none}
body.rail .sb-group.closed .sb-links{display:block}
body.rail .sb-links a{justify-content:center}
body.rail .main{margin-left:var(--rail)}
.main{margin-left:var(--sw);padding:0 32px 40px;transition:margin .25s ease;min-height:100vh}
/* topbar */
.topbar{position:sticky;top:0;z-index:1020;margin:0 -32px 22px;padding:14px 32px;display:flex;gap:16px;align-items:center;background:color-mix(in srgb,var(--mist) 86%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.topbar h1{font-size:1.45rem;margin:0;line-height:1.1}.topbar .sub{color:var(--muted);font-size:.82rem;margin-top:2px}
.iconbtn{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:var(--paper);color:var(--ink);display:grid;place-items:center;cursor:pointer;position:relative;transition:border-color .15s,transform .1s}
.iconbtn:hover{border-color:var(--teal);color:var(--teal-d)}.iconbtn:active{transform:scale(.95)}
.iconbtn .dot{position:absolute;top:-4px;right:-4px;background:var(--coral);color:#fff;border-radius:99px;font-size:.62rem;padding:1px 5px;font-weight:700}
.palette-btn{display:flex;align-items:center;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:8px 12px;color:var(--muted);min-width:260px;cursor:pointer;font-size:.84rem}
.palette-btn:hover{border-color:var(--teal)}.palette-btn kbd{margin-left:auto;background:var(--mist);color:var(--muted);border:1px solid var(--line);font-size:.68rem;padding:1px 6px;border-radius:5px}
/* cards, kpis */
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);color:var(--ink)}
.kpi{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;display:flex;gap:14px;align-items:center;box-shadow:var(--shadow);height:100%}
.kpi .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:1.25rem;flex:none}
.kpi .n{font-family:var(--head);font-size:1.6rem;font-weight:700;line-height:1.05;letter-spacing:-.03em}
.kpi .text-muted{font-size:.76rem;font-weight:500}
/* controls */
.form-control,.form-select{background-color:var(--paper);border-color:var(--line);color:var(--ink);border-radius:10px;font-size:.88rem}
.form-control:focus,.form-select:focus{border-color:var(--teal);box-shadow:0 0 0 3px color-mix(in srgb,var(--teal) 22%,transparent);background-color:var(--paper);color:var(--ink)}
.select2-container{width:100%!important}.select2-container--default .select2-selection--single{height:calc(1.5em + .75rem + 2px);border:1px solid var(--line);border-radius:10px;background:var(--paper)}.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:calc(1.5em + .75rem);padding-left:.75rem;color:var(--ink)}.select2-container--default .select2-selection--single .select2-selection__arrow{height:calc(1.5em + .75rem);right:.35rem}.select2-dropdown{border-color:var(--line);background:var(--paper);color:var(--ink)}.select2-container--default .select2-search--dropdown .select2-search__field{border-color:var(--line);border-radius:6px;background:var(--paper);color:var(--ink)}.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{background:var(--teal)}
.form-label{font-weight:600;font-size:.8rem;color:var(--muted)}
.btn{border-radius:10px;font-weight:600;font-size:.86rem;transition:transform .1s,background .15s,box-shadow .15s}
.btn:active{transform:translateY(1px)}
.btn-orange,.btn-primary{background:var(--teal);border-color:var(--teal);color:#fff}
.btn-orange:hover,.btn-primary:hover{background:var(--teal-d);border-color:var(--teal-d);color:#fff}
.btn-light{background:var(--paper);border:1px solid var(--line);color:var(--ink)}.btn-light:hover{border-color:var(--teal);background:var(--paper);color:var(--teal-d)}
.btn-dark{background:var(--ink);border-color:var(--ink);color:var(--paper)}
[data-theme=dark] .btn-dark{background:#2a4152;border-color:#2a4152;color:#fff}
.btn-outline-danger{border-radius:10px}
.badge{font-weight:600;border-radius:7px;padding:.4em .6em}
/* tables */
.table{--bs-table-bg:transparent;--bs-table-color:var(--ink);--bs-table-border-color:var(--line);--bs-table-hover-bg:var(--teal-s);--bs-table-hover-color:var(--ink)}
.table thead th{font-size:.74rem;font-weight:600;color:var(--muted);background:color-mix(in srgb,var(--mist) 60%,var(--paper));border-bottom:1px solid var(--line);white-space:nowrap}
.table>:not(caption)>*>*{padding:.7rem .75rem}
.table-primary{--bs-table-bg:color-mix(in srgb,var(--indigo) 12%,var(--paper));--bs-table-color:var(--ink)}
.table-success{--bs-table-bg:color-mix(in srgb,var(--teal) 14%,var(--paper));--bs-table-color:var(--ink)}
/* tabs */
.nav-tabs{border-bottom:1px solid var(--line);gap:4px}
.nav-tabs .nav-link{border:0;border-bottom:2px solid transparent;color:var(--muted);font-weight:600;border-radius:0;padding:.55rem .9rem}
.nav-tabs .nav-link:hover{color:var(--ink)}
.nav-tabs .nav-link.active{background:transparent;color:var(--teal-d);border-bottom-color:var(--teal)}
.page-link{background:var(--paper);border-color:var(--line);color:var(--ink)}.page-item.active .page-link{background:var(--teal);border-color:var(--teal);color:#fff}
.dropdown-menu,.modal-content{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.dropdown-item{color:var(--ink);border-radius:8px}.dropdown-item:hover{background:var(--teal-s);color:var(--ink)}
.alert{border-radius:12px;border:0}
.text-muted{color:var(--muted)!important}
hr{border-color:var(--line)}
/* toasts */
.toast-wrap{position:fixed;right:20px;bottom:20px;z-index:2000;display:flex;flex-direction:column;gap:10px}
.t-toast{min-width:280px;max-width:380px;background:var(--ink2);color:#fff;border-radius:12px;padding:12px 14px;display:flex;gap:10px;align-items:flex-start;box-shadow:0 12px 30px -10px rgba(0,0,0,.5);animation:tin .25s ease;border-left:4px solid var(--teal)}
.t-toast.danger{border-left-color:var(--coral)}.t-toast.warning{border-left-color:var(--amber)}
.t-toast.out{opacity:0;transform:translateY(8px);transition:.25s}
@keyframes tin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
/* command palette */
.cmdk{position:fixed;inset:0;background:rgba(8,17,26,.55);backdrop-filter:blur(3px);z-index:2100;display:none;align-items:flex-start;justify-content:center;padding-top:12vh}
.cmdk.open{display:flex}
.cmdk-box{width:min(620px,92vw);background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:0 30px 70px -20px rgba(0,0,0,.5);overflow:hidden}
.cmdk-in{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}
.cmdk-in input{border:0;outline:0;background:transparent;color:var(--ink);flex:1;font-size:1rem}
.cmdk-list{max-height:52vh;overflow-y:auto;padding:8px}
.cmdk-sec{font-size:.7rem;color:var(--muted);font-weight:700;padding:8px 10px 4px}
.cmdk-item{display:flex;gap:12px;align-items:center;padding:9px 10px;border-radius:10px;color:var(--ink);cursor:pointer}
.cmdk-item i{color:var(--muted);width:20px;text-align:center}.cmdk-item small{color:var(--muted);margin-left:auto}
.cmdk-item.sel,.cmdk-item:hover{background:var(--teal-s);color:var(--ink)}.cmdk-item.sel i{color:var(--teal-d)}
.cmdk-foot{padding:8px 14px;border-top:1px solid var(--line);font-size:.72rem;color:var(--muted);display:flex;gap:16px}
/* quick add */
.fab{position:fixed;right:24px;bottom:24px;z-index:1030}
/* kanban */
.board{display:flex;gap:14px;overflow-x:auto;padding-bottom:12px;align-items:flex-start}
.col-k{flex:0 0 288px;background:color-mix(in srgb,var(--mist) 70%,var(--paper));border:1px solid var(--line);border-radius:var(--r);padding:10px;transition:background .15s,border-color .15s}
.col-k.over{background:var(--teal-s);border-color:var(--teal)}
.col-h{display:flex;align-items:center;gap:8px;padding:4px 6px 10px;font-weight:700}
.col-h .sw{width:10px;height:10px;border-radius:50%}.col-h .cnt{margin-left:auto;font-size:.75rem;color:var(--muted);font-weight:600}
.col-sum{font-size:.74rem;color:var(--muted);padding:0 6px 8px}
.col-body{min-height:60px;display:flex;flex-direction:column;gap:9px}
.deal{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:11px 12px;cursor:grab;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s}
.deal:hover{transform:translateY(-2px)}.deal.drag{opacity:.4;cursor:grabbing}
.deal .t{font-weight:700;font-size:.86rem;line-height:1.25;color:var(--ink)}.deal .c{color:var(--muted);font-size:.78rem}
.deal .meta{display:flex;justify-content:space-between;align-items:center;margin-top:9px;font-size:.76rem}
.deal .amt{font-family:var(--head);font-weight:700;font-size:.95rem}
.deal .prob{height:4px;border-radius:4px;background:var(--line);margin-top:9px;overflow:hidden}.deal .prob i{display:block;height:100%;background:var(--teal)}
.pill-od{background:color-mix(in srgb,var(--coral) 15%,transparent);color:var(--coral);font-weight:700;padding:1px 7px;border-radius:99px;font-size:.7rem}
/* skeleton / htmx-lite */
.loading{opacity:.5;pointer-events:none;transition:opacity .15s}
.empty{text-align:center;padding:40px 10px;color:var(--muted)}.empty i{font-size:2rem;display:block;margin-bottom:8px;color:var(--teal)}
.sec-card h6{display:flex;align-items:center;gap:8px}.sec-card h6 .ico{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:var(--teal-s);color:var(--teal-d);font-size:.85rem}
.row-item{display:flex;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);font-size:.84rem}.row-item:last-child{border:0}
.row-item .grow{flex:1;min-width:0}.row-item .grow b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rank{width:24px;height:24px;border-radius:50%;background:var(--teal-s);color:var(--teal-d);font-weight:700;font-size:.72rem;display:grid;place-items:center}
.greet{background:linear-gradient(120deg,#0d1b2e,#1a2f4d 62%,#b4560a);color:#fff;border-radius:18px;padding:24px 28px;margin-bottom:20px;position:relative;overflow:hidden}
.greet h2{color:#fff;font-size:1.6rem;margin:0}.greet p{color:#bcd4dc;margin:4px 0 0}
.greet::after{content:'';position:absolute;right:-40px;top:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.14),transparent 70%)}
@media(max-width:991px){
  .sidebar{transform:translateX(-100%);transition:transform .25s;width:var(--sw)!important}body.nav-open .sidebar{transform:none}
  .main,body.rail .main{margin-left:0;padding:0 16px 80px}.topbar{margin:0 -16px 16px;padding:12px 16px}.palette-btn{min-width:0}.palette-btn span,.palette-btn kbd{display:none}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media print{.sidebar,.noprint,.topbar,.fab{display:none!important}.main{margin:0;padding:0}.card{box-shadow:none}}
/* v2 fixes */
:root{--bs-link-color-rgb:194,95,6;--bs-link-hover-color-rgb:232,115,12}
[data-theme=dark]{--bs-link-color-rgb:255,154,69;--bs-link-hover-color-rgb:255,184,125}
.form-control::placeholder{color:var(--muted);opacity:.75}
.kpi>div:last-child{min-width:0}.kpi .n{overflow-wrap:anywhere}
.table .badge.bg-danger{background:color-mix(in srgb,var(--coral) 16%,transparent)!important;color:var(--coral)}

/* prototype look: tinted KPI cards, pill badges, avatar chips */
.kpi{border-color:transparent}
.badge{border-radius:99px;padding:.42em .8em}
.chip{display:inline-flex;align-items:center;gap:8px}.chip .avatar{width:28px;height:28px;font-size:.7rem}
.tag{display:inline-block;padding:2px 9px;border-radius:99px;font-size:.72rem;font-weight:600;background:var(--teal-s);color:var(--teal-d)}
.tag.red{background:#fde8e8;color:#c33}.tag.green{background:#e3f6ec;color:#17844f}.tag.blue{background:#e6effa;color:#2c6db3}.tag.gray{background:#eef0f3;color:#556}
[data-theme=dark] .tag.red{background:#3a1a1c;color:#ff8a8a}[data-theme=dark] .tag.green{background:#12301f;color:#6fd69c}[data-theme=dark] .tag.blue{background:#13273d;color:#8fc0f2}[data-theme=dark] .tag.gray{background:#1d2a3a;color:#aab8c8}
.kpi-row .kpi{box-shadow:none}

.dup-box{border:1px solid #f3c58f;background:#fff6ea;border-radius:12px;padding:10px 12px;margin:8px 0}
[data-theme=dark] .dup-box{background:#2d2012;border-color:#6b4515}
.dup-head{font-weight:700;color:#b4560a;margin-bottom:6px;display:flex;gap:8px;align-items:center}
.dup-item{display:flex;gap:10px;align-items:center;padding:6px 8px;border-radius:8px;color:var(--ink);background:var(--paper);margin-top:5px}.dup-item small{color:var(--muted);margin-left:auto}
.rep-row{display:grid;gap:8px;grid-template-columns:repeat(12,1fr);align-items:end;padding:10px;border:1px dashed var(--line);border-radius:12px;margin-bottom:8px;background:color-mix(in srgb,var(--mist) 50%,var(--paper))}
.cf-card{border:1px solid var(--line);border-radius:14px;padding:16px;background:color-mix(in srgb,var(--teal-s) 40%,var(--paper))}
.cf-card .cf-title{font-weight:700;display:flex;gap:8px;align-items:center;margin-bottom:10px}
.cf-sec{font-size:.78rem;font-weight:700;color:var(--teal-d);margin:12px 0 6px;padding-bottom:4px;border-bottom:1px solid var(--line)}
.cf-help{font-size:.74rem;color:var(--muted);margin-top:3px}
.cf-view dt{font-size:.74rem;color:var(--muted);font-weight:600}.cf-view dd{margin:0 0 10px;font-weight:600}
.type-pick{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.type-pick label{border:1px solid var(--line);border-radius:12px;padding:10px 6px;text-align:center;cursor:pointer;font-size:.78rem;font-weight:600;background:var(--paper)}
.type-pick input{display:none}.type-pick input:checked+span{color:var(--teal-d)}.type-pick label:has(input:checked){border-color:var(--teal);background:var(--teal-s)}
.type-pick i{display:block;font-size:1.2rem;margin-bottom:2px}
.pbar{height:8px;border-radius:99px;background:var(--line);overflow:hidden}.pbar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#f0a53a,#e8730c)}.pbar.ok i{background:linear-gradient(90deg,#34c38f,#17a068)}
.stat-big{font-family:var(--head);font-size:2rem;font-weight:800;letter-spacing:-.03em;line-height:1}
.chk{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line)}.chk:last-child{border:0}
.chk .ic{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;flex:none;font-size:.9rem}
.chk.pass .ic{background:#e3f6ec;color:#17844f}.chk.warn .ic{background:#fff1d9;color:#b66a00}.chk.fail .ic{background:#fde8e8;color:#c33}
.chk b{display:block}.chk small{color:var(--muted)}
.steps{display:flex;gap:6px;margin-bottom:22px;flex-wrap:wrap}.steps span{padding:6px 14px;border-radius:99px;background:var(--line);font-size:.8rem;font-weight:600;color:var(--muted)}.steps .on{background:var(--teal);color:#fff}.steps .done{background:#e3f6ec;color:#17844f}

/* ===== v3 pages ===== */
.sec-h{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.sec-h .ic{width:36px;height:36px;border-radius:10px;background:var(--teal-s);color:var(--teal-d);display:grid;place-items:center;font-size:1.05rem;flex:none}
.sec-h h6{margin:0;font-weight:700}.sec-h small{color:var(--muted)}
.set-nav{padding:8px}.set-nav a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:9px;color:inherit;text-decoration:none;font-weight:500;font-size:.9rem;border-bottom:1px solid var(--line)}
.set-nav a:last-child{border:0}.set-nav a i{font-size:1.05rem;opacity:.75}.set-nav a:hover{background:var(--teal-s)}
.set-nav a.on{background:var(--teal);color:#fff}.set-nav a.on i{opacity:1}
.job{display:block;border:1px solid var(--line);border-radius:12px;padding:14px;height:100%}
.job .ji{font-size:1.9rem;color:var(--teal);flex:none}.job b{display:block}.job small{color:var(--muted)}
.job .ic{font-size:1.6rem;color:var(--teal);flex:none}
.kv{display:grid;grid-template-columns:200px 1fr;gap:6px 14px;font-size:.88rem}.kv dt{font-weight:600}.kv dd{margin:0}
.ok-t{color:#17844f;font-weight:600}.bad-t{color:#c33;font-weight:600}
.k-tile{border-radius:14px;padding:14px 16px;display:flex;gap:12px;align-items:center;height:100%;border:1px solid var(--line)}
.k-tile .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:1.25rem;flex:none}
.k-tile .l{font-size:.78rem;color:var(--muted)}.k-tile .n{font-size:1.5rem;font-weight:800;line-height:1.15}
.step-list{counter-reset:s;list-style:none;padding:0;margin:0}
.step-list li{display:flex;gap:12px;padding:9px 0;font-size:.85rem}
.step-list li:before{counter-increment:s;content:counter(s);width:28px;height:28px;border-radius:50%;background:var(--teal-s);color:var(--teal-d);display:grid;place-items:center;font-weight:700;flex:none}
.step-list b{display:block}.step-list span{color:var(--muted)}
.warn-box{background:#fff4dc;border:1px solid #f1d28b;border-radius:10px;padding:10px 12px;font-size:.84rem}
[data-theme=dark] .warn-box{background:#33290f;border-color:#6b5517}
.nt{display:flex;gap:12px;align-items:center;padding:11px 12px;border-radius:11px;border-left:4px solid var(--line);margin-bottom:8px;background:var(--paper)}
.nt.unread{background:#fff6e4;border-left-color:#e8730c}.nt.high{border-left-color:#e5484d}
[data-theme=dark] .nt.unread{background:#2b2312}
.nt .ni{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--teal-s);color:var(--teal-d);flex:none}
.nt .nb{flex:1;min-width:0}.nt .nb b{font-weight:700}.nt .nb small{display:block;color:var(--muted)}
.nt .nm{text-align:right;font-size:.74rem;color:var(--muted);white-space:nowrap}
.donut{width:150px;height:150px;border-radius:50%;margin:auto;position:relative}
.donut:after{content:"";position:absolute;inset:26px;background:var(--paper);border-radius:50%}
.donut span{position:absolute;inset:0;display:grid;place-items:center;text-align:center;z-index:1;font-weight:800;font-size:1.4rem;line-height:1}
.donut span small{display:block;font-size:.7rem;font-weight:500;color:var(--muted)}
.legend-i{display:flex;align-items:center;gap:8px;font-size:.82rem;margin:3px 0}.legend-i i{width:9px;height:9px;border-radius:50%;flex:none}
.switch-row{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:.88rem}
.folder{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:9px;color:inherit;text-decoration:none;font-size:.88rem}
.folder:hover{background:var(--teal-s)}.folder.on{background:#fde9cf;font-weight:700}.folder i{color:#e8a13a}
.folder .ct{margin-left:auto;font-size:.74rem;color:var(--muted)}
.ficon{width:28px;height:28px;border-radius:7px;display:grid;place-items:center;font-size:.95rem;flex:none}
.timeline{position:relative;padding-left:4px}
.tl-i,.tl-item{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.tl-i:last-child{border:0}
.tl-t{width:74px;font-size:.78rem;color:var(--muted);flex:none}
.tl-ic{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex:none;font-size:1.05rem}
.tl-b{flex:1;min-width:0}.tl-b b{font-weight:700}.tl-b small{color:var(--muted);display:block}
.tl-b q{display:block;font-style:normal;margin-top:3px;font-size:.88rem}
.sel-row{cursor:pointer}.sel-row:hover td{background:color-mix(in srgb,var(--teal-s) 60%,transparent)}.sel-row.on td{background:#fde9cf}
[data-theme=dark] .sel-row.on td,[data-theme=dark] .folder.on{background:#3a2a14}
.panel-h{display:flex;gap:12px;align-items:center;margin-bottom:10px}
.panel-h .big{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;font-size:1.4rem;background:var(--teal-s);color:var(--teal-d);flex:none}
.dl{display:grid;grid-template-columns:130px 1fr;gap:4px 10px;font-size:.84rem;margin:0}.dl dt{color:var(--muted);font-weight:500}.dl dd{margin:0;font-weight:500}
.mini-cal{width:100%;text-align:center;font-size:.8rem}.mini-cal th{color:var(--muted);font-weight:500;padding:4px 0}
.mini-cal td{padding:4px 0}.mini-cal td span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:8px}
.mini-cal td.sel span{background:var(--teal);color:#fff;font-weight:700}.mini-cal td.dim{color:var(--muted);opacity:.5}.mini-cal td.has span{box-shadow:inset 0 -3px 0 var(--teal)}
.colors{display:flex;gap:8px}.colors label{cursor:pointer;margin:0}.colors input{display:none}
.colors span{display:block;width:30px;height:30px;border-radius:50%;border:3px solid transparent;box-shadow:0 0 0 1px var(--line)}
.colors input:checked+span{border-color:var(--ink);transform:scale(1.08)}
.pager{display:flex;gap:6px;align-items:center}.pager .disabled{pointer-events:none;opacity:.5}
.perf-head{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.perf-head .pic{width:76px;height:76px;border-radius:50%;font-size:1.6rem}
.mini-tbl{width:100%;font-size:.82rem}.mini-tbl th{color:var(--muted);font-weight:600;padding:5px 6px;border-bottom:1px solid var(--line)}.mini-tbl td{padding:5px 6px;border-bottom:1px solid var(--line)}
.mini-tbl tr:last-child td{border:0}
.tag.orange{background:#fff0d9;color:#b8610a}.tag.purple{background:#efe9fb;color:#6a45b8}
[data-theme=dark] .tag.orange{background:#3a2a14;color:#ffb866}[data-theme=dark] .tag.purple{background:#261d3d;color:#c4abff}
@media print{.noprint,.sidebar,.topbar{display:none!important}}
.tl-item{gap:12px;padding:12px 8px;border-bottom:1px solid var(--line);border-radius:8px}.tl-item.on{background:var(--teal-s)}
.btn-outline-orange{background:transparent;border:1px solid var(--teal);color:var(--teal-d)}
.btn-outline-orange:hover,.btn-outline-orange:focus{background:var(--teal-s);border-color:var(--teal-d);color:var(--teal-d)}
.btn-outline-orange:disabled,.btn-outline-orange.disabled{opacity:.55}
.form-check-input:checked{background-color:var(--teal);border-color:var(--teal)}.form-check-input:focus{border-color:var(--teal);box-shadow:0 0 0 .2rem var(--teal-s)}

/* ========================================================
   HIGH-CONTRAST & EYE-CATCHING DARK MODE SYSTEM (ALL PAGES)
   ======================================================== */

/* Metric card components in light mode */
.kpi-metric-card .kpi-title { font-weight: 800; font-family: var(--head); letter-spacing: -.02em; }
.kpi-metric-card .kpi-sub { font-size: .78rem; font-weight: 500; }
.kpi-metric-card .kpi-lbl { text-transform: uppercase; font-size: .72rem; letter-spacing: .03em; font-weight: 600; }
.kpi-metric-card .kpi-val { font-weight: 800; font-family: var(--head); }
.dash-ov-lbl { font-size: .78rem; font-weight: 600; }
.dash-ov-val { font-family: var(--head); letter-spacing: -.02em; }
.dash-ov-sub { font-size: .75rem; }

[data-theme=dark] {
  /* Typography High Visibility */
  h1, h2, h3, h4, h5, h6 { color: #ffffff !important; }
  .text-muted { color: #a5b9ce !important; }
  small.text-muted, .small.text-muted, .form-text, .cf-help, .cf-view dt { color: #b1c4d8 !important; }
  small, .small { color: #cbd7e4; }
  b, strong, .fw-bold, .fw-semibold { color: #ffffff; }
  p { color: #e2eaf2; }
  p.text-muted { color: #a5b9ce !important; }
  .form-label { color: #cbd7e4 !important; font-weight: 600; font-size: .82rem; }
  hr { border-color: #20354a; opacity: 1; }
  .text-success { color: #4ade80 !important; }
  .text-danger { color: #f87171 !important; }
  .text-warning { color: #fbbf24 !important; }
  .text-info { color: #38bdf8 !important; }
  .text-orange { color: #fb923c !important; }

  /* Links */
  .table td a, .card a:not(.btn):not(.tag):not(.badge) {
    color: #60a5fa;
    font-weight: 600;
  }
  .table td a:hover, .card a:not(.btn):not(.tag):not(.badge):hover {
    color: #93c5fd;
    text-decoration: underline;
  }

  /* Cards & Containers */
  .card {
    background: #0f1c2b;
    border-color: #20354a;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
    color: var(--ink);
  }
  .border, .border-top, .border-bottom, .border-start, .border-end {
    border-color: #20354a !important;
  }

  /* Form Controls */
  .form-control, .form-select {
    background-color: #112030 !important;
    border-color: #243c56 !important;
    color: #ffffff !important;
    font-weight: 500;
  }
  .form-control:focus, .form-select:focus {
    background-color: #142538 !important;
    border-color: var(--teal) !important;
    color: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(232, 115, 12, 0.25) !important;
  }
  .form-control::placeholder {
    color: #6b829b !important;
    opacity: 1;
  }
  .form-control[type="number"], .form-control[type="text"], .form-control[type="month"] {
    color: #ffffff !important;
    font-weight: 600;
  }

  /* Buttons */
  .btn-light {
    background: #132437 !important;
    border-color: #243c56 !important;
    color: #f1f5f9 !important;
  }
  .btn-light:hover {
    background: #1b334d !important;
    border-color: var(--teal) !important;
    color: #ff9a45 !important;
  }
  .btn-outline-dark {
    border-color: #3b5573 !important;
    color: #e2eaf2 !important;
  }
  .btn-outline-dark:hover {
    background: #1c324b !important;
    border-color: #54779d !important;
    color: #ffffff !important;
  }

  /* Universal Tables */
  .table {
    --bs-table-bg: transparent;
    --bs-table-color: #e2eaf2;
    --bs-table-border-color: #20354a;
    --bs-table-hover-bg: rgba(232, 115, 12, 0.12);
    --bs-table-hover-color: #ffffff;
  }
  .table thead th {
    background: #132437 !important;
    color: #e2eaf2 !important;
    border-color: #20354a !important;
    font-weight: 700;
    font-size: .76rem;
    letter-spacing: .02em;
  }
  .table td {
    color: #e2eaf2;
    border-color: #20354a;
  }
  .table-bordered {
    border-color: #20354a !important;
  }
  .table-bordered td, .table-bordered th {
    border-color: #20354a !important;
  }
  .table-light,
  thead.table-light, thead.table-light th,
  tr.table-light, tr.table-light td, tr.table-light th {
    background-color: #172a3f !important;
    color: #ffffff !important;
    border-color: #254263 !important;
    font-weight: 700;
  }

  /* Universal KPI Tiles (.k-tile) on all pages */
  .k-tile {
    background: #122234 !important;
    border: 1px solid #223a54 !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
  }
  .k-tile .l {
    color: #a5b9ce !important;
    font-weight: 600 !important;
  }
  .k-tile .n {
    color: #ffffff !important;
    font-weight: 800 !important;
  }
  .k-tile b {
    color: #ffffff !important;
    font-weight: 700 !important;
  }
  .k-tile .ic {
    background: rgba(255, 255, 255, 0.08) !important;
  }
  .k-tile small.text-muted {
    color: #a5b9ce !important;
  }

  /* Monthly Sales Dashboard — Top 3 Metric Cards */
  .kpi-metric-card.kpi-mrc {
    background: linear-gradient(145deg, #10263f 0%, #0c1c2e 100%) !important;
    border: 1px solid #234b75 !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.45);
  }
  .kpi-metric-card.kpi-otc {
    background: linear-gradient(145deg, #2c1e11 0%, #1e150b 100%) !important;
    border: 1px solid #633f1b !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.45);
  }
  .kpi-metric-card.kpi-yrc {
    background: linear-gradient(145deg, #24163b 0%, #170e27 100%) !important;
    border: 1px solid #4f2d7d !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.45);
  }
  .kpi-metric-card .kpi-title {
    color: #ffffff !important;
    font-weight: 800 !important;
  }
  .kpi-metric-card .kpi-sub {
    color: #cbd7e4 !important;
    font-weight: 500;
  }
  .kpi-metric-card .kpi-lbl {
    color: #9ab2cb !important;
    font-weight: 600;
  }
  .kpi-metric-card .kpi-val {
    color: #ffffff !important;
    font-weight: 800;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
  }
  .kpi-metric-card.kpi-mrc .kpi-av {
    background: rgba(59, 130, 246, 0.25) !important;
    color: #60a5fa !important;
    border: 1px solid rgba(96, 165, 250, 0.35) !important;
  }
  .kpi-metric-card.kpi-otc .kpi-av {
    background: rgba(249, 115, 22, 0.25) !important;
    color: #fb923c !important;
    border: 1px solid rgba(251, 146, 60, 0.35) !important;
  }
  .kpi-metric-card.kpi-yrc .kpi-av {
    background: rgba(168, 85, 247, 0.25) !important;
    color: #c084fc !important;
    border: 1px solid rgba(192, 132, 252, 0.35) !important;
  }

  /* Monthly Sales Dashboard — Table Headers & Total Rows */
  .kpi-table th.kpi-th-name {
    background: #16293f !important;
    color: #ffffff !important;
    border-color: #243f60 !important;
    font-weight: 700;
  }
  .kpi-table th.kpi-th-group.kpi-th-mrc {
    background: #112845 !important;
    color: #93c5fd !important;
    border-color: #224773 !important;
    font-weight: 700;
  }
  .kpi-table th.kpi-th-group.kpi-th-otc {
    background: #2f1e10 !important;
    color: #fdba74 !important;
    border-color: #613c19 !important;
    font-weight: 700;
  }
  .kpi-table th.kpi-th-group.kpi-th-yrc {
    background: #26163d !important;
    color: #d8b4fe !important;
    border-color: #512b7f !important;
    font-weight: 700;
  }
  .kpi-table th.kpi-th-sub {
    background: #0e1e31 !important;
    color: #cbd7e4 !important;
    border-color: #1c3653 !important;
    font-weight: 600;
  }
  .kpi-table th.kpi-th-sub-mrc { background: #0e2138 !important; color: #bfdbfe !important; }
  .kpi-table th.kpi-th-sub-otc { background: #23160a !important; color: #fed7aa !important; }
  .kpi-table th.kpi-th-sub-yrc { background: #1c102e !important; color: #e9d5ff !important; }
  .kpi-table tr.kpi-tr-total td.kpi-td-total-lbl {
    background: #142a42 !important;
    color: #ffffff !important;
    font-weight: 800 !important;
    border-color: #224367 !important;
  }
  .kpi-table tr.kpi-tr-total td.kpi-td-total {
    background: #102135 !important;
    color: #ffffff !important;
    font-weight: 800 !important;
    border-color: #203c5d !important;
    font-size: .94rem;
  }
  .kpi-table tr.kpi-tr-total td.kpi-td-total-mrc { background: #0f243b !important; color: #bfdbfe !important; }
  .kpi-table tr.kpi-tr-total td.kpi-td-total-otc { background: #27190d !important; color: #fed7aa !important; }
  .kpi-table tr.kpi-tr-total td.kpi-td-total-yrc { background: #1f1233 !important; color: #e9d5ff !important; }
  .kpi-section-row td, tr.kpi-section-row td {
    background-color: #172a3f !important;
    color: #ffffff !important;
    border-color: #244161 !important;
    font-weight: 700;
  }

  /* Dashboard Overview Cards */
  .dash-ov-card {
    background: linear-gradient(145deg, #102133 0%, #0c1826 100%) !important;
    border-color: #213c5a !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
  }
  .dash-ov-card .dash-ov-lbl { color: #cbd7e4 !important; font-weight: 600; }
  .dash-ov-card .dash-ov-val { color: #ffffff !important; }
  .dash-ov-card .dash-ov-sub { color: #9ab2cb !important; }
  .dash-ov-card .dash-ov-ic {
    background: rgba(255, 255, 255, 0.09) !important;
    border: 1px solid rgba(255, 255, 255, 0.12);
  }

  /* Universal Overrides for Elements with Inline Pastel Backgrounds */
  [style*="background:#eaf3fd"], [style*="background: #eaf3fd"],
  [style*="background:#eef4fc"], [style*="background: #eef4fc"],
  [style*="background:#eaf7fd"], [style*="background: #eaf7fd"],
  [style*="background:#cfe3f8"], [style*="background: #cfe3f8"],
  [style*="background:#dbe8f8"], [style*="background: #dbe8f8"],
  [style*="background:#c9ebf8"], [style*="background: #c9ebf8"] {
    background: #11253d !important;
    border-color: #21446c !important;
    color: #e2eaf2 !important;
  }

  [style*="background:#fff6e5"], [style*="background: #fff6e5"],
  [style*="background:#fff0e6"], [style*="background: #fff0e6"],
  [style*="background:#fff4e6"], [style*="background: #fff4e6"],
  [style*="background:#fff0e0"], [style*="background: #fff0e0"],
  [style*="background:#fff7e0"], [style*="background: #fff7e0"],
  [style*="background:#fff3e0"], [style*="background: #fff3e0"],
  [style*="background:#fde4b5"], [style*="background: #fde4b5"],
  [style*="background:#fde3c3"], [style*="background: #fde3c3"],
  [style*="background:#fdd8bd"], [style*="background: #fdd8bd"] {
    background: #2c1e11 !important;
    border-color: #5d3e1d !important;
    color: #e2eaf2 !important;
  }

  [style*="background:#f1ecfb"], [style*="background: #f1ecfb"],
  [style*="background:#f3eefb"], [style*="background: #f3eefb"],
  [style*="background:#ddd0f5"], [style*="background: #ddd0f5"],
  [style*="background:#e3d8f6"], [style*="background: #e3d8f6"] {
    background: #231639 !important;
    border-color: #4d2b79 !important;
    color: #e2eaf2 !important;
  }

  [style*="background:#e8f7ef"], [style*="background: #e8f7ef"],
  [style*="background:#eaf7f0"], [style*="background: #eaf7f0"],
  [style*="background:#c5ecd8"], [style*="background: #c5ecd8"],
  [style*="background:#cdeedd"], [style*="background: #cdeedd"] {
    background: #11271b !important;
    border-color: #1f5035 !important;
    color: #e2eaf2 !important;
  }

  [style*="background:#fdeaea"], [style*="background: #fdeaea"],
  [style*="background:#fde8e8"], [style*="background: #fde8e8"] {
    background: #331518 !important;
    border-color: #5e2229 !important;
    color: #e2eaf2 !important;
  }

  [style*="background:#f4f4f4"], [style*="background: #f4f4f4"],
  [style*="background:#eef0f3"], [style*="background: #eef0f3"] {
    background: #16273c !important;
    border-color: #243e5c !important;
    color: #ffffff !important;
  }

  [style*="background:var(--mist)"], [style*="background: var(--mist)"] {
    background: #122131 !important;
    border: 1px solid #20354a !important;
    color: #e2eaf2 !important;
  }

  /* Tags & Status Badges */
  .tag { font-weight: 600; letter-spacing: .01em; }
  .tag.blue { background: #112942 !important; color: #60a5fa !important; border: 1px solid #1b436e !important; }
  .tag.green { background: #0e2d1d !important; color: #4ade80 !important; border: 1px solid #175e37 !important; }
  .tag.red { background: #381518 !important; color: #f87171 !important; border: 1px solid #63222a !important; }
  .tag.orange { background: #351f0d !important; color: #fb923c !important; border: 1px solid #5d3312 !important; }
  .tag.purple { background: #25153a !important; color: #c084fc !important; border: 1px solid #4a2976 !important; }
  .tag.gray { background: #182637 !important; color: #cbd5e1 !important; border: 1px solid #283e57 !important; }

  /* Navigation & Command Palette */
  .palette-btn { background: #112132 !important; border-color: #243c56 !important; color: #a5b9ce !important; }
  .palette-btn:hover { border-color: var(--teal) !important; color: #ffffff !important; }
  .palette-btn kbd { background: #0c1825 !important; color: #a5b9ce !important; border-color: #20354a !important; }
  .topbar h1 { color: #ffffff !important; }
  .topbar .sub { color: #a5b9ce !important; }
  .cmdk-box { background: #101e2e; border-color: #20354a; }
  .cmdk-in input { color: #ffffff; }
  .cmdk-sec { color: #a5b9ce; }
  .cmdk-item { color: #e2eaf2; }
  .cmdk-item:hover, .cmdk-item.sel { background: rgba(232, 115, 12, 0.2); color: #ffffff; }
}
