
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#000000;--bg2:#030303;--bg3:#060606;--bg-card:#010101;--bg-card2:#060606;
  --bg-hover:rgba(255,255,255,0.05);--bg-input:#050505;--bg-elevated:#080808;--surface:#010101;
  --text:#e8edf5;--text-sec:#8492a6;--text-muted:#475569;--text-dim:#2d3a4f;
  --border:rgba(255,255,255,0.07);--border-lt:rgba(255,255,255,0.10);--border-focus:#FFD100;
  --accent:#FFD100;--accent2:#E6B800;--accent-light:#FFE033;--accent-bg:rgba(255,209,0,0.08);--accent-glow:0 0 20px rgba(255,209,0,0.15);
  --green:#10b981;--green2:#34d399;--green-bg:rgba(16,185,129,0.08);--green-border:rgba(16,185,129,0.2);
  --red:#ef4444;--red2:#f87171;--red-bg:rgba(239,68,68,0.08);--red-border:rgba(239,68,68,0.2);
  --yellow:#f59e0b;--orange:#f97316;--purple:#a855f7;--cyan:#06b6d4;--pink:#ec4899;
  --shadow-sm:0 1px 3px rgba(0,0,0,0.3);--shadow:0 4px 20px rgba(0,0,0,0.4);--shadow-lg:0 12px 40px rgba(0,0,0,0.5);
  --radius:12px;--radius-sm:8px;--radius-lg:16px;
  --font:'DM Sans','Inter',system-ui,sans-serif;--mono:'JetBrains Mono',monospace;--display:'Plus Jakarta Sans','Inter',sans-serif;
  --transition:all .2s cubic-bezier(.4,0,.2,1);
  --header:56px;
}
html,body{height:100%;overflow:hidden}
body{font-family:var(--font);background:var(--bg);color:var(--text);display:flex;flex-direction:column;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}

/* LIGHT THEME */
body.light{
  --bg:#f1f5f9;--bg2:#ffffff;--bg3:#f8fafc;--bg-card:#ffffff;--bg-card2:#f8fafc;--surface:#ffffff;
  --bg-hover:#e2e8f0;--bg-input:#f1f5f9;--bg-elevated:#ffffff;
  --text:#111111;--text-sec:#475569;--text-muted:#94a3b8;--text-dim:#cbd5e1;
  --border:#e2e8f0;--border-lt:#cbd5e1;--border-focus:#FFD100;
  --accent-bg:rgba(255,209,0,0.06);
  --green-bg:rgba(16,185,129,0.06);--green-border:rgba(16,185,129,0.18);
  --red-bg:rgba(239,68,68,0.06);--red-border:rgba(239,68,68,0.18);
  --shadow-sm:0 1px 3px rgba(0,0,0,0.06);--shadow:0 4px 16px rgba(0,0,0,0.06);--shadow-lg:0 12px 40px rgba(0,0,0,0.1);
}
body.light .menubar{background:rgba(255,255,255,0.92)}
body.light .sidebar{background:#ffffff}
body.light .sb-logo{box-shadow:0 4px 12px rgba(255,209,0,0.2)}
body.light .sb-title{background:linear-gradient(135deg,#111111,#334155);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
body.light .modal{background:#ffffff}
body.light .toast{background:#ffffff}
body.light thead th{background:#f8fafc}
body.light ::-webkit-scrollbar-thumb{background:#cbd5e1}
body.light .notif-panel{background:#ffffff}

::selection{background:var(--accent);color:#fff}
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--border-lt);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}

button,input,select,textarea{font-family:var(--font);outline:none;border:none;background:none;color:var(--text)}
button{cursor:pointer}
a{color:var(--accent);text-decoration:none}

/* MENUBAR */
.menubar{height:var(--header);background:rgba(6,11,24,0.95);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 18px;flex-shrink:0;z-index:200;position:relative}
.mb-left,.mb-right{display:flex;align-items:center;gap:8px}
.mb-brand{display:flex;align-items:center;gap:12px}
.mb-logo{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--accent) 0%,var(--accent2) 100%);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:14px;color:#000;letter-spacing:-1px;box-shadow:0 4px 12px rgba(255,209,0,0.25)}
.mb-title{font-size:16px;font-weight:800;letter-spacing:-0.3px}
.mb-sub{font-size:11px;color:var(--text-muted);font-weight:500}
.mb-group{display:flex;align-items:center;gap:6px;padding:0 12px;border-left:1px solid var(--border)}
.mb-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:2px}
.mb-select{background:var(--bg-input);border:1px solid var(--border);border-radius:6px;padding:5px 10px;font-size:12px;min-width:120px;transition:var(--transition)}
.mb-select:focus{border-color:var(--accent)}
.mb-status{font-size:11px;color:var(--text-muted);font-weight:500;padding:0 12px}
.mb-btn{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--text-sec);transition:var(--transition);position:relative;background:var(--bg-input);border:1px solid var(--border)}
.mb-pill{width:auto;min-width:34px;height:34px;padding:0 10px;gap:7px;justify-content:flex-start}
.mb-pill-txt{font-size:12px;font-weight:700;color:var(--text-sec);letter-spacing:-0.2px}
.mb-pill:hover .mb-pill-txt{color:var(--text)}

.mb-btn:hover{background:var(--bg-hover);color:var(--text);border-color:var(--border-lt)}
.mb-btn svg{width:16px;height:16px}
.mb-btn .notif-dot{position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:50%;background:var(--red);border:2px solid var(--bg);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.5}}

/* Top-bar responsiveness: keep Board Report and Settings always in view */
.menubar{gap:10px;flex-wrap:wrap;height:auto;min-height:var(--header);padding-top:10px;padding-bottom:10px}
.mb-left{flex:1 1 760px;min-width:0;flex-wrap:wrap;row-gap:8px}
.mb-right{flex:0 1 auto;min-width:0;flex-wrap:wrap;justify-content:flex-end;row-gap:8px}
.mb-brand{flex-shrink:0}
.mb-group{flex-wrap:wrap}

@media (max-width:1500px){
  .mb-status{display:none}
  .mb-group{padding:0 8px}
  .mb-select{min-width:96px}
}

@media (max-width:1320px){
  .mb-pill-txt,#rtText{display:none}
  .mb-pill,#rtToggleBtn{padding:0 8px;gap:0;justify-content:center}
}

@media (max-width:1180px){
  .menubar{align-items:flex-start}
  .mb-left,.mb-right{width:100%}
  .mb-right{justify-content:flex-end;border-top:1px solid var(--border);padding-top:8px}
}

@media (max-width:860px){
  .mb-sub,.mb-label{display:none}
  .mb-select{min-width:82px;font-size:11px;padding:5px 8px}
  .mb-group{padding:0 6px}
  .mb-right{gap:6px}
}

@media (max-width:640px){
  .menubar{padding-left:12px;padding-right:12px}
  .mb-title{font-size:14px}
  .mb-logo{width:32px;height:32px}
  .mb-right{justify-content:flex-start}
}

/* LAYOUT */
.layout{display:flex;flex:1;overflow:hidden;width:100%;align-items:stretch}

/* SIDEBAR */
.sidebar{width:240px;background:var(--bg2);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}
.sb-header{padding:16px;border-bottom:1px solid var(--border)}
.sb-entity{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition)}
.sb-entity:hover{border-color:var(--border-lt);background:var(--bg-hover)}
.sb-entity .icon{font-size:18px}
.sb-entity .name{font-size:12px;font-weight:600;flex:1}
.sb-entity .arrow{font-size:10px;color:var(--text-muted)}
.sb-entity-dd{position:absolute;left:16px;right:16px;top:70px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);z-index:100;max-height:280px;overflow:auto;display:none}
.sb-entity-dd.open{display:block}
.sb-entity-item{padding:10px 14px;display:flex;align-items:center;gap:10px;cursor:pointer;transition:var(--transition);font-size:12px;font-weight:500}
.sb-entity-item:hover{background:var(--bg-hover)}
.sb-entity-item.active{background:var(--accent-bg);color:var(--accent);font-weight:700}
.sb-entity-item .icon{font-size:16px}
.sb-entity-item .name{flex:1}
.sb-entity-item .badge{font-size:10px;padding:2px 6px;border-radius:4px;background:var(--bg-input);color:var(--text-muted)}

.sb-nav{flex:1;padding:12px 10px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}
.sb-item{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;font-size:13px;font-weight:500;color:var(--text-sec);transition:var(--transition);position:relative;border:1px solid transparent;cursor:pointer;background:none;width:100%;text-align:left}
.sb-item:hover{background:var(--bg-hover);color:var(--text)}
.sb-item.active{background:var(--accent-bg);color:var(--accent);border-color:rgba(255,209,0,0.15);font-weight:600}
.sb-item.active::after{content:'›';position:absolute;right:12px;font-size:18px;font-weight:700;color:var(--accent)}
.sb-item svg{width:20px;height:20px;flex-shrink:0;opacity:.7}
.sb-item.active svg{opacity:1}
.sb-item .badge{margin-left:auto;margin-right:20px;background:var(--red);color:#fff;font-size:10px;font-weight:700;padding:2px 7px;border-radius:10px;min-width:20px;text-align:center}

.sb-section{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}
.sb-section-title{padding:0 12px 8px;font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.5px;font-weight:600}

.sb-footer{padding:14px 16px;border-top:1px solid var(--border);display:flex;align-items:center;gap:9px}
.sb-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 10px rgba(16,185,129,0.5);animation:pulse 2s infinite}
.sb-footer-text{font-size:12px;color:var(--text-sec);font-weight:500}

/* MAIN */
.main{flex:1;overflow-y:auto;overflow-x:hidden;padding:24px 28px 40px;scroll-behavior:smooth}
.tbl-wrap{overflow-x:auto;width:100%;-webkit-overflow-scrolling:touch}
.tbl-wrap::-webkit-scrollbar{height:5px}
.tbl-wrap::-webkit-scrollbar-track{background:transparent}
.tbl-wrap::-webkit-scrollbar-thumb{background:var(--border-lt);border-radius:3px}
.forecast-tbl td,.forecast-tbl th{min-width:90px;white-space:nowrap}
.forecast-tbl td:first-child,.forecast-tbl th:first-child{min-width:180px;position:sticky;left:0;z-index:2;background:var(--bg-card);box-shadow:2px 0 6px rgba(0,0,0,.15)}
.forecast-tbl thead th:first-child{background:var(--bg3)}
body.light .forecast-tbl td:first-child,body.light .forecast-tbl thead th:first-child{background:#fff}
.forecast-row-group td{font-weight:700}
.forecast-subrow td{background:rgba(148,163,184,.05)}
.forecast-subrow td:first-child{padding-left:28px!important}
body.light .forecast-subrow td{background:#f8fafc}
body.mtn .forecast-subrow td{background:#fff7d6}
.forecast-section-toggle{display:inline-flex;align-items:center;gap:8px;background:none;border:0;color:inherit;font:inherit;cursor:pointer;padding:0}
.forecast-section-toggle .chev{font-size:12px;color:var(--text-sec);width:12px;text-align:center}
.forecast-line-chip{display:inline-flex;align-items:center;gap:6px;margin-left:8px;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:700;background:var(--bg-input);color:var(--text-sec);border:1px solid var(--border)}
.forecast-inline-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.forecast-adjustments{margin-top:14px}
.forecast-adjustment-list{display:grid;gap:8px;margin-top:12px}
.forecast-adjustment-item{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--bg-input)}
.forecast-adjustment-meta{font-size:11px;color:var(--text-sec);margin-top:4px;line-height:1.5}
.forecast-manual-tag{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:700;background:var(--accent-bg);color:var(--accent);border:1px solid var(--accent-br)}
.forecast-template-tag{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:700;background:rgba(16,185,129,.12);color:var(--green);border:1px solid rgba(16,185,129,.22)}
/* Position tab secondary KPI mini-cards */
.pos-kpi{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px;transition:var(--transition)}
.pos-kpi:hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}
.tab-content{animation:fadeSlide .4s cubic-bezier(.4,0,.2,1)}
@keyframes fadeSlide{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.spinning{animation:spin .8s linear infinite}
.hidden{display:none!important}

/* PAGE HEADER */
.pg-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px;gap:16px}
.pg-title{font-size:22px;font-weight:600;letter-spacing:-.7px;line-height:1.2}
.pg-sub{font-size:13px;color:var(--text-sec);margin-top:4px;font-weight:400;letter-spacing:0}
.pg-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

/* KPI CARDS */
.kpi-grid{display:grid;gap:12px;margin-bottom:18px}
.kpi-grid-6{grid-template-columns:repeat(4,1fr) repeat(2,minmax(80px,.6fr))}
.kpi-grid-4{grid-template-columns:repeat(4,1fr)}
.kpi-grid-3{grid-template-columns:repeat(3,1fr)}
.kpi-grid-5{grid-template-columns:repeat(5,1fr)}
body.tp-bloomberg .kpi-grid,
body.tp-bloomberg .bb-kpi-strip{gap:6px;margin-bottom:14px}
body.tp-bloomberg .kpi-grid-5 {
  grid-template-columns: repeat(5, 1fr);
}
.kpi{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;transition:var(--transition);position:relative;overflow:hidden;cursor:pointer}
.kpi:hover{border-color:var(--border-lt);transform:translateY(-1px);box-shadow:var(--shadow-sm)}
body.tp-bloomberg .kpi:hover{transform:none;box-shadow:none}
.kpi::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;border-radius:2px 2px 0 0}
.kpi.green::before{background:linear-gradient(90deg,var(--green),var(--green2))}
.kpi.red::before{background:linear-gradient(90deg,var(--red),var(--red2))}
.kpi.blue::before{background:linear-gradient(90deg,var(--accent),var(--accent2))}
.kpi.purple::before{background:linear-gradient(90deg,var(--purple),var(--pink))}
.kpi.yellow::before{background:linear-gradient(90deg,var(--yellow),var(--orange))}
.kpi.cyan::before{background:linear-gradient(90deg,var(--cyan),#22d3ee)}
.kpi-top{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.kpi-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}
.kpi-icon.g{background:var(--green-bg);border:1px solid var(--green-border);color:var(--green)}
.kpi-icon.r{background:var(--red-bg);border:1px solid var(--red-border);color:var(--red)}
.kpi-icon.b{background:var(--accent-bg);border:1px solid rgba(255,209,0,.15);color:var(--accent)}
.kpi-icon.p{background:rgba(168,85,247,.08);border:1px solid rgba(168,85,247,.15);color:var(--purple)}
.kpi-icon.y{background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.15);color:var(--yellow)}
.kpi-icon.c{background:rgba(6,182,212,.08);border:1px solid rgba(6,182,212,.15);color:var(--cyan)}
.kpi-label{font-size:11px;font-weight:500;color:var(--text-sec);letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase}
.kpi-val{font-size:20px;font-weight:600;letter-spacing:-.5px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi-val.sm{font-size:16px;font-weight:600;}
.kpi-footer{margin-top:8px;font-size:11px;color:var(--text-sec);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi-footer .up{color:var(--green);font-weight:600}
.kpi-footer .down{color:var(--red);font-weight:600}
.kpi-spark{position:absolute;bottom:8px;right:8px;width:80px;height:40px;opacity:.55;pointer-events:none;z-index:0}
.kpi .kpi-top,.kpi .kpi-val,.kpi .kpi-footer{position:relative;z-index:1}

/* CARDS */
.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px;margin-bottom:18px;transition:var(--transition)}
.card:hover{border-color:var(--border-lt)}
.card-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:12px;flex-wrap:wrap}
.card-h-tight{margin-bottom:8px;gap:8px}
.card-chart .card-h{margin-bottom:4px}
.card-chart{padding-bottom:12px}
.card-chart-compact{padding:12px 14px 10px}
.card-chart-compact .card-h{margin-bottom:4px}
.card-chart-compact .card-s{margin-top:2px;font-size:11px;line-height:1.3}
.card-chart-compact .card-t{font-size:14px}
.ov-chart-h{height:180px!important;flex-shrink:0;min-height:0}
.ov-chart-h-sm{height:200px!important;flex-shrink:0;min-height:0}
.ch-wrap.ch-fill.ov-chart-h,
.ch-wrap.ch-fill.ov-chart-h-sm{
  min-height:0;
}
.card-chart .ch-fill{margin-top:0}
.card-t{font-size:15px;font-weight:500;letter-spacing:-.3px;display:flex;align-items:center;gap:8px}
.card-t svg{width:18px;height:18px;color:var(--text-sec)}
.card-s{font-size:12px;color:var(--text-muted);margin-top:3px}
.card-flush{padding:0;overflow:hidden}
.card-flush .card-pad{padding:20px 22px}

/* GRID */
/*
 * The overview page contains a pair of charts – a cash position trend and a 12‑month
 * forecast.  Previously the second chart column was a fixed width (380px), causing
 * an imbalance between the two cards on larger screens.  To give both charts
 * equal prominence and create a more polished, professional layout we use equal
 * fractional units for both columns.  On smaller screens the media query below
 * still collapses to a single column.
 */
.g2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.g2-60-40{display:grid;grid-template-columns:1.5fr 1fr;gap:12px}
@media(max-width:1100px){.g2-60-40{grid-template-columns:1fr}}
.g2e{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}

/* CHART CONTAINERS */
.ch-wrap{position:relative;width:100%;border-radius:8px;overflow:hidden}
.ch-wrap canvas{width:100%!important;height:100%!important}
.ch-host{width:100%;height:100%;min-height:0;display:block}
.ch-wrap.ch-fill{
  padding:0!important;
  display:block;
  overflow:hidden;
  border-radius:6px;
  position:relative;
  flex-shrink:0;
}
.card-chart .ch-wrap.ch-fill{
  background:transparent;
  border:none;
  box-shadow:none;
}
.ch-wrap.ch-fill::after{display:none!important}
.ch-wrap.ch-fill > .ch-host{width:100%;height:100%}
.ch-wrap::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px 0 rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.04)}
body.light .ch-wrap::after{border-color:rgba(15,23,42,0.06);box-shadow:inset 0 1px 0 rgba(255,255,255,0.8)}
.card .ch-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:4px}
.card .ch-head .ch-kpi{text-align:right;font-family:var(--mono);font-size:11px;line-height:1.35;color:var(--text-sec)}
.card .ch-head .ch-kpi strong{display:block;font-size:13px;font-weight:800;color:var(--text)}

/* PERIOD TOGGLE */
.period-tog{display:flex;gap:0;background:var(--bg-input);border-radius:var(--radius-sm);padding:3px;border:1px solid var(--border)}
.period-btn{padding:6px 16px;border-radius:6px;font-size:12px;font-weight:600;color:var(--text-muted);transition:var(--transition);white-space:nowrap;background:none;cursor:pointer}
.period-btn:hover{color:var(--text-sec)}
.period-btn.on{background:var(--accent);color:#000;box-shadow:0 2px 8px rgba(255,209,0,0.25)}

/* TABLES */
table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}
thead th{text-align:left;padding:12px 16px;font-weight:600;color:var(--text-muted);font-size:10.5px;text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid var(--border);background:var(--bg3);position:sticky;top:0;z-index:1}
td{padding:13px 16px;border-bottom:1px solid rgba(26,39,68,.5)}
tbody tr{transition:var(--transition)}
tbody tr:hover{background:var(--bg-hover)}
.mono{font-family:var(--mono);font-size:11.5px}
.fw5{font-weight:500}.fw6{font-weight:600}.fw7{font-weight:700}.fw8{font-weight:800}
.cg{color:var(--green)}.cr{color:var(--red)}.cb{color:var(--accent)}.cs{color:var(--text-sec)}.cm{color:var(--text-muted)}.cp{color:var(--purple)}
.f11{font-size:11px}.f12{font-size:12px}.f13{font-size:13px}

/* Forecast Table Row Highlights */
.row-total-inflows td{background:linear-gradient(90deg,rgba(52,211,153,.14),rgba(52,211,153,.07))!important;border-top:1px solid rgba(52,211,153,.28)!important;border-bottom:1px solid rgba(52,211,153,.18)!important;font-weight:700!important;color:#d1fae5!important}
.row-total-inflows td:first-child{box-shadow:inset 3px 0 0 rgba(52,211,153,.95)!important}
.row-total-outflows td{background:linear-gradient(90deg,rgba(248,113,113,.14),rgba(248,113,113,.07))!important;border-top:1px solid rgba(248,113,113,.28)!important;border-bottom:1px solid rgba(248,113,113,.18)!important;font-weight:700!important;color:#fee2e2!important}
.row-total-outflows td:first-child{box-shadow:inset 3px 0 0 rgba(248,113,113,.95)!important}
.row-ending-cash td{background:linear-gradient(90deg,rgba(255,209,0,.16),rgba(255,209,0,.08))!important;border-top:1px solid rgba(255,209,0,.35)!important;border-bottom:1px solid rgba(255,209,0,.22)!important;font-weight:800!important;color:#FFFAD0!important}
.row-ending-cash td:first-child{box-shadow:inset 3px 0 0 rgba(96,165,250,.95)!important}

/* BADGES */
.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.2px}
.badge::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
.badge-g{background:var(--green-bg);color:var(--green);border:1px solid var(--green-border)}
.badge-r{background:var(--red-bg);color:var(--red);border:1px solid var(--red-border)}
.badge-o{background:rgba(249,115,22,.08);color:var(--orange);border:1px solid rgba(249,115,22,.2)}
.badge-b{background:var(--accent-bg);color:var(--accent);border:1px solid rgba(255,209,0,.2)}
.badge-p{background:rgba(168,85,247,.08);color:var(--purple);border:1px solid rgba(168,85,247,.2)}
.badge-y{background:rgba(245,158,11,.08);color:var(--yellow);border:1px solid rgba(245,158,11,.2)}

/* BUTTONS */
.btn{padding:9px 20px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;transition:var(--transition);display:inline-flex;align-items:center;gap:7px;border:1px solid transparent;white-space:nowrap;cursor:pointer;background:none}
.btn svg{width:16px;height:16px}
.btn-p{background:var(--accent);color:#000;border-color:var(--accent);box-shadow:0 2px 8px rgba(255,209,0,.2)}
.btn-p:hover{background:#D4A800;box-shadow:0 4px 16px rgba(255,209,0,.3);transform:translateY(-1px)}
.btn-s{background:var(--bg-input);color:var(--text-sec);border-color:var(--border)}
.btn-s:hover{background:var(--bg-hover);color:var(--text);border-color:var(--border-lt)}
.btn-d{background:var(--red-bg);color:var(--red);border-color:var(--red-border)}
.btn-d:hover{background:rgba(239,68,68,.15)}
.btn-g{background:var(--green-bg);color:var(--green);border-color:var(--green-border)}
.btn-g:hover{background:rgba(16,185,129,.15)}
.btn-ghost{color:var(--text-sec);padding:6px 10px}
.btn-ghost:hover{background:var(--bg-hover);color:var(--text)}
.btn-icon{width:34px;height:34px;padding:0;justify-content:center;border-radius:var(--radius-sm)}
.btn-sm{padding:5px 12px;font-size:11.5px;border-radius:6px}
.btn-lg{padding:14px 28px;font-size:15px;border-radius:var(--radius)}
.btn-block{width:100%;justify-content:center}

/* FORMS */
.form-g{margin-bottom:18px}
.form-l{font-size:11px;font-weight:600;color:var(--text-sec);display:block;margin-bottom:6px;text-transform:uppercase;letter-spacing:.6px}
.form-i{width:100%;padding:10px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);color:var(--text);font-size:13px;transition:var(--transition)}
.form-i:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}
.form-i::placeholder{color:var(--text-muted)}
.form-sel{width:100%;padding:10px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);color:var(--text);font-size:13px;transition:var(--transition);-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
.form-sel:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}
.form-row{display:flex;gap:12px;flex-wrap:wrap}
.form-row .form-g{flex:1;min-width:200px}
.btn-row{display:flex;gap:10px;justify-content:flex-end;margin-top:24px;flex-wrap:wrap}

/* MODALS */
.modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:1000;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(10px);opacity:0;pointer-events:none;transition:opacity .25s}
.modal-bg.open{opacity:1;pointer-events:all}
.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);width:580px;max-height:85vh;overflow:auto;box-shadow:var(--shadow-lg);transform:scale(.96) translateY(8px);transition:transform .25s cubic-bezier(.4,0,.2,1)}
.modal-bg.open .modal{transform:scale(1) translateY(0)}
.modal.sm{width:480px}.modal.lg{width:800px}.modal.xl{width:95vw;max-width:1200px}
.m-head{padding:18px 22px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.m-title{font-size:16px;font-weight:700;display:flex;align-items:center;gap:8px}
.m-close{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:var(--transition);font-size:18px;background:none;border:none;cursor:pointer}
.m-close:hover{background:var(--bg-hover);color:var(--text)}
.m-body{padding:22px}
.m-foot{padding:18px 22px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px}

/* TOAST */
.toast{position:fixed;bottom:20px;right:20px;z-index:2000;background:var(--bg-elevated);color:var(--text);padding:12px 18px;border-radius:var(--radius);font-size:13px;font-weight:500;box-shadow:var(--shadow-lg);border:1px solid var(--border-lt);display:flex;align-items:center;gap:9px;opacity:0;pointer-events:none;transition:var(--transition);transform:translateY(8px)}
.toast.show{opacity:1;transform:translateY(0)}

/* BANK ROW */
.bk-info{display:flex;align-items:center;gap:12px}
.bk-av{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.bk-name{font-weight:600;font-size:13.5px}
.bk-code{font-size:11px;color:var(--text-muted);font-family:var(--mono)}
.folder-cell{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-sec)}
.folder-cell svg{width:15px;height:15px;color:var(--text-muted);flex-shrink:0}
.act-btns{display:flex;align-items:center;gap:4px}
.act-btn{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:var(--transition);color:var(--text-muted);background:none;border:none;cursor:pointer}
.act-btn:hover{background:var(--bg-hover)}
.act-btn.view{color:var(--accent)}
.act-btn.edit{color:var(--text-sec)}
.act-btn.edit:hover{color:var(--yellow)}
.act-btn.del{color:var(--text-muted)}
.act-btn.del:hover{color:var(--red);background:var(--red-bg)}
.act-btn svg{width:15px;height:15px}
.view-link{color:var(--accent);font-weight:600;font-size:13px;transition:var(--transition);cursor:pointer}
.view-link:hover{color:var(--accent-light);text-decoration:underline}

/* DEPOSITS */
.dep-type-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:6px;font-size:10.5px;font-weight:600;letter-spacing:.3px}
.dep-type-badge.fd{background:rgba(255,209,0,.1);color:var(--accent);border:1px solid rgba(255,209,0,.15)}
.dep-type-badge.cd{background:rgba(168,85,247,.1);color:var(--purple);border:1px solid rgba(168,85,247,.15)}
.dep-type-badge.mm{background:rgba(6,182,212,.1);color:var(--cyan);border:1px solid rgba(6,182,212,.15)}
.dep-type-badge.tb{background:rgba(245,158,11,.1);color:var(--yellow);border:1px solid rgba(245,158,11,.15)}
.dep-status{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600}
.dep-status .ds-dot{width:6px;height:6px;border-radius:50%}
.dep-status.active .ds-dot{background:var(--green)}
.dep-status.active{color:var(--green)}
.dep-status.maturing .ds-dot{background:var(--orange);animation:pulse 1.5s infinite}
.dep-status.maturing{color:var(--orange)}
.dep-status.matured .ds-dot{background:var(--text-muted)}
.dep-status.matured{color:var(--text-muted)}
.dep-status.broken .ds-dot{background:var(--red)}
.dep-status.broken{color:var(--red)}
.yield-chip{display:inline-flex;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:600;font-family:var(--mono);background:rgba(16,185,129,.08);color:var(--green);border:1px solid rgba(16,185,129,.15)}
.mat-bar{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius-sm);margin-bottom:6px;border:1px solid transparent;transition:var(--transition)}
.mat-bar:hover{background:var(--bg-hover);border-color:var(--border)}
.mat-marker{width:12px;height:12px;border-radius:50%;border:3px solid;flex-shrink:0}
.mat-info{flex:1;min-width:0}
.mat-bank{font-size:13px;font-weight:600}
.mat-detail{font-size:11px;color:var(--text-muted);margin-top:2px;display:flex;gap:10px}
.mat-right{text-align:right}
.mat-amt{font-size:14px;font-weight:700;white-space:nowrap}
.mat-days{font-size:11px;margin-top:2px}
.ladder-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.ladder-label{width:85px;font-size:11px;color:var(--text-sec);font-weight:500;flex-shrink:0}
.ladder-bar-wrap{flex:1;display:flex;align-items:center;gap:8px}
.ladder-bar{height:26px;border-radius:6px;display:flex;align-items:center;padding:0 10px;font-size:11px;font-weight:600;color:#fff;min-width:2px;transition:width .6s ease}
.ladder-val{font-size:11px;color:var(--text-sec);font-weight:600;white-space:nowrap}

.scenario-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.scenario-card{padding:16px 18px;background:linear-gradient(145deg,rgba(255,209,0,0.05),transparent);border:1px solid rgba(255,209,0,0.12);border-radius:12px;box-shadow:inset 0 1px 0 rgba(255,255,255,0.04);transition:border-color .2s ease}
body.light .scenario-card{background:linear-gradient(145deg,rgba(255,209,0,0.08),#fff);border-color:rgba(255,209,0,0.2);box-shadow:0 1px 3px rgba(15,23,42,0.06)}
.scenario-card-lbl{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}
.scenario-card-val{font-size:18px;font-weight:800;font-family:var(--mono);margin-top:6px;line-height:1.2}
.scenario-card-sub{font-size:11px;color:var(--text-muted);margin-top:4px}

/* PREMIUM — tables, tiles, bars (all tabs) */
.ep-bar.premium,.ep-bar{border-radius:10px;overflow:hidden;margin:12px 0;border:1px solid rgba(255,209,0,0.12);box-shadow:inset 0 1px 0 rgba(255,255,255,0.04),0 4px 18px rgba(0,0,0,0.12)}
.ep-seg{box-shadow:inset 0 1px 0 rgba(255,255,255,0.12);text-shadow:0 1px 2px rgba(0,0,0,0.25)}
.ladder-bar{border-radius:8px;box-shadow:0 0 14px rgba(255,209,0,0.12),inset 0 1px 0 rgba(255,255,255,0.15);background:linear-gradient(90deg,rgba(255,209,0,0.92),rgba(255,209,0,0.55))!important}
.conc-bar-bg{flex:1;height:7px;border-radius:999px;background:var(--bg-input);overflow:visible;position:relative;box-shadow:inset 0 1px 2px rgba(0,0,0,0.18)}
.conc-bar-fill{height:100%;border-radius:999px;transition:width .55s cubic-bezier(.4,0,.2,1);background:linear-gradient(90deg,var(--green),var(--green2));box-shadow:0 0 10px rgba(16,185,129,0.22)}
.conc-bar-fill.warn{background:linear-gradient(90deg,var(--yellow),var(--orange));box-shadow:0 0 10px rgba(245,158,11,0.2)}
.conc-bar-fill.dang{background:linear-gradient(90deg,var(--red),var(--red2));box-shadow:0 0 10px rgba(239,68,68,0.2)}
.premium-tile{border:1px solid rgba(255,209,0,0.12);border-radius:12px;padding:14px;background:linear-gradient(145deg,rgba(255,209,0,0.05),transparent);display:flex;flex-direction:column;gap:8px;transition:border-color .2s ease,transform .2s ease}
.premium-tile:hover{border-color:rgba(255,209,0,0.28);transform:translateY(-1px)}
.report-card{cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;border:1px solid var(--border)}
.report-card:hover{border-color:rgba(255,209,0,0.35);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,0.18)}
.import-history-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:linear-gradient(145deg,rgba(255,255,255,0.03),transparent);border:1px solid var(--border);border-radius:10px;margin-bottom:6px}
.pivot-wrap{border:1px solid rgba(255,209,0,0.1);border-radius:12px;overflow:hidden;background:rgba(255,255,255,0.02)}
table.pivot-table{width:100%;border-collapse:collapse;font-size:12px}
table.pivot-table th,table.pivot-table td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:right}
table.pivot-table thead th{background:linear-gradient(180deg,rgba(255,209,0,0.08),transparent);color:var(--text-sec);font-size:11px;text-transform:uppercase;letter-spacing:.4px}
table.pivot-table tbody th{text-align:left;color:var(--text);font-weight:700}
table.pivot-table tr:last-child td,table.pivot-table tr:last-child th{background:rgba(255,209,0,0.06);font-weight:800}
/* Forecast Intelligence Center */
.fi-intel-card{margin-bottom:16px;border-color:rgba(255,209,0,0.14)}
.fi-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}
.fi-metric{padding:14px 16px;border-radius:12px;background:linear-gradient(145deg,rgba(255,209,0,0.04),transparent);border:1px solid rgba(255,209,0,0.1)}
.fi-metric-lbl{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-weight:600}
.fi-metric-val{font-size:17px;font-weight:800;font-family:var(--mono);margin-top:6px;line-height:1.2}
.fi-metric-sub{font-size:10px;color:var(--text-muted);margin-top:4px}
.fi-brief{padding:14px 16px;border-radius:10px;background:rgba(255,255,255,0.02);border:1px solid var(--border);margin-bottom:12px}
.fi-brief-p{font-size:12px;color:var(--text-sec);line-height:1.65;margin:0}
.fi-brief-p strong{color:var(--text)}
.fi-stress-list{margin-top:4px}
.fi-floor-input{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.fi-floor-field{width:140px;text-align:right;font-family:var(--mono)}
.fi-sankey-unified{margin-bottom:16px;border-color:rgba(255,209,0,0.12)}
.fi-sankey-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:11px;color:var(--text-muted)}
.fi-sankey-leg{display:inline-flex;align-items:center;gap:6px}
.fi-leg-dot{width:8px;height:8px;border-radius:50%;display:inline-block}
.fi-scenario-row{margin-bottom:16px}
.fi-var-kpis{margin-bottom:0}
@media(max-width:1100px){
  .fi-metrics{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .fi-metrics{grid-template-columns:1fr}
  .fi-floor-input{align-items:flex-start}
}

.scenario-panel .card{border-color:rgba(255,209,0,0.1)}
.scenario-panel .form-i[type=range]{accent-color:#FFD100}
.range-val{text-align:center;font-size:12px;color:#FFD100;font-family:var(--mono);font-weight:700;margin-top:4px}
.org-canvas{border:1px solid rgba(255,209,0,0.12)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,0.04)}
.dropzone{border-color:rgba(255,209,0,0.18);background:linear-gradient(145deg,rgba(255,209,0,0.03),transparent)}
.dropzone:hover,.dropzone.active{border-color:rgba(255,209,0,0.45);background:rgba(255,209,0,0.06);box-shadow:0 0 24px rgba(255,209,0,0.08)}
.premium-step{padding:12px 14px;background:linear-gradient(145deg,rgba(255,209,0,0.04),transparent);border-radius:10px;border:1px solid var(--border)}

.prog-bg{flex:1;height:6px;border-radius:999px;background:var(--bg-input);overflow:hidden;box-shadow:inset 0 1px 2px rgba(0,0,0,0.18)}
.prog-fill{height:100%;border-radius:999px;transition:width .55s cubic-bezier(.4,0,.2,1);background:linear-gradient(90deg,var(--green) 0%,var(--green2) 100%);box-shadow:0 0 12px rgba(16,185,129,0.25)}
.prog-fill.warn{background:linear-gradient(90deg,var(--yellow) 0%,var(--orange) 100%);box-shadow:0 0 12px rgba(245,158,11,0.22)}
.prog-fill.dang{background:linear-gradient(90deg,var(--red) 0%,var(--red2) 100%);box-shadow:0 0 12px rgba(239,68,68,0.22)}

/* DRAG DROP */
.dropzone{border:2px dashed var(--border);border-radius:var(--radius);padding:32px;text-align:center;transition:var(--transition);cursor:pointer}
.dropzone:hover,.dropzone.active{border-color:var(--accent);background:var(--accent-bg)}
.dropzone-icon{font-size:32px;margin-bottom:10px}
.dropzone-text{font-size:14px;font-weight:500;color:var(--text-sec)}
.dropzone-sub{font-size:12px;color:var(--text-muted);margin-top:4px}

/* SEARCH */
.search-box{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);transition:var(--transition);width:260px}
.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}
.search-box svg{width:16px;height:16px;color:var(--text-muted);flex-shrink:0}
.search-box input{background:transparent;border:none;color:var(--text);font-size:13px;width:100%}

/* NOTIFICATIONS */
.notif-panel{position:absolute;top:50px;right:18px;width:360px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:300;max-height:450px;overflow:auto;opacity:0;pointer-events:none;transition:var(--transition);transform:translateY(-4px)}
.notif-panel.open{opacity:1;pointer-events:all;transform:translateY(0)}
.notif-header{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.notif-title{font-size:13px;font-weight:700}
.notif-clear{font-size:11px;color:var(--accent);cursor:pointer}
.notif-clear:hover{text-decoration:underline}
.notif-item{padding:12px 16px;border-bottom:1px solid var(--border);display:flex;gap:10px;transition:var(--transition)}
.notif-item:hover{background:var(--bg-hover)}
.notif-item .n-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}
.notif-item .n-text{font-size:12px;color:var(--text-sec);line-height:1.4}
.notif-item .n-time{font-size:10px;color:var(--text-muted);margin-top:3px}

/* TX DETAIL */
.tx-row{padding:12px 16px;display:flex;align-items:center;gap:14px;border-bottom:1px solid rgba(26,39,68,.4);transition:var(--transition)}
.tx-row:hover{background:var(--bg-hover)}
.tx-icon{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}
.tx-icon.credit{background:var(--green-bg);color:var(--green)}
.tx-icon.debit{background:var(--red-bg);color:var(--red)}
.tx-info{flex:1;min-width:0}
.tx-desc{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tx-meta{font-size:11px;color:var(--text-muted);margin-top:2px}
.tx-amt{font-size:14px;font-weight:700;text-align:right;white-space:nowrap}

/* INSIGHTS */
.insight-list{display:flex;flex-direction:column;gap:0}
.insight-row{display:flex;align-items:flex-start;gap:12px;padding:10px 14px;border-radius:var(--radius-sm);transition:var(--transition)}
.insight-row:hover{background:var(--bg-hover)}
.insight-row .i-indicator{width:4px;min-height:20px;border-radius:2px;flex-shrink:0;margin-top:2px}
.insight-row .i-icon{width:26px;height:26px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}
.insight-row .i-content{flex:1;min-width:0}
.insight-row .i-title{font-size:12px;font-weight:600;line-height:1.4}
.insight-row .i-sub{font-size:10.5px;color:var(--text-muted);margin-top:2px}
.insight-row.info .i-indicator{background:var(--accent)}
.insight-row.info .i-icon{background:var(--accent-bg);color:var(--accent)}
.insight-row.warn .i-indicator{background:var(--yellow)}
.insight-row.warn .i-icon{background:rgba(245,158,11,.1);color:var(--yellow)}
.insight-row.ok .i-indicator{background:var(--green)}
.insight-row.ok .i-icon{background:var(--green-bg);color:var(--green)}
.insight-row.alert .i-indicator{background:var(--red)}
.insight-row.alert .i-icon{background:var(--red-bg);color:var(--red)}

/* THEME TOGGLE */
.theme-toggle,#mtnThemeBtn{display:none!important}
.theme-toggle .tt-knob{width:18px;height:18px;border-radius:50%;background:var(--accent);position:absolute;top:2px;left:2px;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;font-size:10px}
body.light .theme-toggle .tt-knob{transform:translateX(20px);background:var(--yellow)}

/* CURRENCY LEGEND */
.c-legend{margin-top:14px}
.c-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid rgba(26,39,68,.3)}
.c-row:last-child{border:none}
.c-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0}
.c-ccy{font-weight:600;font-size:13px;width:40px}
.c-val{font-size:15px;font-weight:800;margin-left:auto;letter-spacing:-.3px}
.c-pct{font-size:11px;color:var(--text-muted);width:40px;text-align:right}

/* HEATMAP */
.hm-grid{display:grid;gap:3px}
.hm-cell{border-radius:4px;padding:6px 8px;font-size:10px;font-weight:600;text-align:center;transition:var(--transition);cursor:default;min-height:42px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.hm-cell .hm-val{font-size:12px;font-weight:800}
.hm-cell .hm-label{font-size:9px;opacity:.8}
.hm-head{font-size:10px;font-weight:700;padding:4px 8px;text-align:center;color:var(--text-muted)}

/* ENTITY POSITION BAR */
.ep-bar{display:flex;height:32px;border-radius:8px;overflow:hidden;margin:12px 0}
.ep-seg{display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff;transition:width .6s ease;min-width:0;overflow:hidden;white-space:nowrap;padding:0 6px}
.ep-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.ep-leg-item{display:flex;align-items:center;gap:6px;font-size:11px}
.ep-leg-dot{width:8px;height:8px;border-radius:2px}

/* CONCENTRATION */
.conc-bar-bg{height:6px;border-radius:3px;background:var(--bg-input);position:relative;overflow:visible}
.conc-bar-fill{height:100%;border-radius:3px;transition:width .5s ease}
.conc-limit-mark{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--red);border-radius:1px}
.conc-warn{color:var(--red);font-weight:700}

/* MATURITY CALENDAR */
.mat-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:12px}
.mat-cal-day{padding:8px;border-radius:6px;background:var(--bg-input);text-align:center;font-size:11px;min-height:60px}
.mat-cal-day.has-mat{background:var(--accent-bg);border:1px solid rgba(255,209,0,.3)}
.mat-cal-day.has-mat.critical{background:var(--red-bg);border:1px solid rgba(239,68,68,.3)}
.mat-cal-day .day-num{font-size:10px;color:var(--text-muted);margin-bottom:4px}
.mat-cal-day .mat-amt{font-size:11px;font-weight:700;color:var(--accent)}
.mat-cal-day.critical .mat-amt{color:var(--red)}

/* TABS */
.tab-nav{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:20px}
.tab-nav-item{padding:12px 20px;font-size:13px;font-weight:500;color:var(--text-muted);border-bottom:2px solid transparent;transition:var(--transition);cursor:pointer;background:none;border:none}
.tab-nav-item:hover{color:var(--text-sec)}
.tab-nav-item.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}

/* ALERTS */
.alert-box{padding:12px 16px;border-radius:var(--radius-sm);display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}
.alert-box.info{background:var(--accent-bg);border:1px solid rgba(255,209,0,.2)}
.alert-box.warn{background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.2)}
.alert-box.success{background:var(--green-bg);border:1px solid var(--green-border)}
.alert-box.error{background:var(--red-bg);border:1px solid var(--red-border)}
.alert-box .icon{font-size:18px;flex-shrink:0}
.alert-box .content{flex:1}
.alert-box .title{font-size:13px;font-weight:600;margin-bottom:2px}
.alert-box .text{font-size:12px;color:var(--text-sec)}

/* STATUS INDICATORS */
.status-ind{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:500}
.status-ind::before{content:'';width:8px;height:8px;border-radius:50%}
.status-ind.ok::before{background:var(--green)}
.status-ind.warn::before{background:var(--yellow)}
.status-ind.critical::before{background:var(--red)}

/* TILES */
.tiles-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;align-items:flex-start}
.tile-mini{padding:10px 14px;border-radius:9px;min-width:120px;position:relative;background:#010101;border:1px solid rgba(255,255,255,0.06)}
.tile-mini .t{font-size:11px;color:var(--text-muted);margin-bottom:3px}
.tile-mini .v{font-size:15px;font-weight:700}
.tile-mini.sz-sm{min-width:120px;max-width:160px;flex:0 0 auto}
.tile-mini.sz-md{min-width:200px;max-width:260px;flex:0 0 auto}
.tile-mini.sz-lg{min-width:340px;flex:1 1 340px}

/* PRINT */
@media print{.menubar,.sidebar,.btn,.no-print{display:none!important}.main{padding:0}}

/* RESPONSIVE */
@media (max-width:1200px){.g2{grid-template-columns:1fr}.g2e{grid-template-columns:1fr}}
@media (max-width:900px){.sidebar{width:200px}.kpi-grid-6{grid-template-columns:repeat(2,1fr)}.kpi-grid-4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.sidebar{display:none}.kpi-grid-6,.kpi-grid-4,.kpi-grid-3{grid-template-columns:1fr}}

/* ─────────────────────────────────────────────────────────────────────────────
   GROUP STRUCTURE / ORGANOGRAM
   ───────────────────────────────────────────────────────────────────────────── */
.org-wrap{display:grid;grid-template-columns:1fr 360px;gap:16px;align-items:start}
@media(max-width:1100px){.org-wrap{grid-template-columns:1fr}}
.org-canvas{position:relative;overflow:hidden}
.org-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;padding:12px 12px 0}
.org-toolbar .left,.org-toolbar .right{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.org-search{display:flex;align-items:center;gap:8px}
.org-search input{width:240px;max-width:48vw}
.org-pill{padding:7px 10px;border-radius:999px;border:1px solid var(--border);background:rgba(255,255,255,0.03);font-size:12px;color:var(--text-muted)}
.org-pill.on{background:rgba(255,209,0,0.18);border-color:rgba(255,209,0,0.55);color:#cfe3ff}
.org-canvas-inner{height:560px;min-height:560px}
@media(max-width:1100px){.org-canvas-inner{height:520px;min-height:520px}}
.org-hint{padding:10px 12px 12px;color:var(--text-muted);font-size:12px}
.org-svg{width:100%;height:100%;display:block;background:radial-gradient(1200px 700px at 30% 20%, rgba(255,209,0,0.08), transparent 60%), radial-gradient(900px 600px at 85% 75%, rgba(168,85,247,0.08), transparent 55%)}
.org-node{cursor:pointer}
.org-node rect{rx:12;ry:12;stroke:rgba(148,163,184,0.28);stroke-width:1;fill:rgba(255,255,255,0.03)}
.org-node .t1{font-weight:700;font-size:12.5px;fill:var(--text)}
.org-node .t2{font-size:11px;fill:rgba(148,163,184,0.95)}
.org-node .badge{font-size:10px;fill:rgba(148,163,184,0.95)}
.org-node.holding rect{fill:rgba(255,209,0,0.09);stroke:rgba(255,209,0,0.35)}
.org-node.opco rect{fill:rgba(16,185,129,0.08);stroke:rgba(16,185,129,0.32)}
.org-node.spv rect{fill:rgba(249,115,22,0.08);stroke:rgba(249,115,22,0.35)}
.org-node.inactive rect{fill:rgba(148,163,184,0.04);stroke:rgba(148,163,184,0.22)}
.org-node.selected rect{stroke:rgba(255,255,255,0.62);stroke-width:1.5}
.org-node.match rect{stroke:rgba(250,204,21,0.65)}
.org-link{stroke:rgba(148,163,184,0.28);stroke-width:1.2;fill:none}
.org-dropTarget rect{stroke:rgba(250,204,21,0.9);stroke-width:2}
.org-menu{position:fixed;z-index:999;background:rgba(6,11,24,0.98);border:1px solid var(--border);border-radius:12px;min-width:220px;box-shadow:0 20px 60px rgba(0,0,0,0.55);padding:6px}
.org-menu.hidden{display:none}
.org-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border-radius:10px;color:var(--text);font-size:13px}
.org-menu button:hover{background:rgba(255,255,255,0.06)}
.org-side .section{padding:14px}
.org-side .h{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.org-side .h .t{font-weight:800}
.org-side .mini{font-size:12px;color:var(--text-muted)}
.org-kv{display:grid;grid-template-columns:110px 1fr;gap:8px 10px;font-size:12.5px}
.org-kv .k{color:var(--text-muted)}
.org-kv .v{color:var(--text)}
.org-warn{padding:10px;border-radius:12px;border:1px solid rgba(249,115,22,0.35);background:rgba(249,115,22,0.08);font-size:12.5px;margin-top:10px}
.org-ok{padding:10px;border-radius:12px;border:1px solid rgba(16,185,129,0.35);background:rgba(16,185,129,0.08);font-size:12.5px;margin-top:10px}
.org-changes{display:flex;flex-direction:column;gap:8px}
.org-change{border:1px solid var(--border);border-radius:12px;padding:10px;background:rgba(255,255,255,0.02)}
.org-change .a{font-weight:700;font-size:12.5px}
.org-change .b{font-size:12px;color:var(--text-muted);margin-top:2px}

/* ─────────────────────────────────────────────────────────────────────────────
   ORG TREE VIEW (V2) — more navigable, user-friendly hierarchy view
   ───────────────────────────────────────────────────────────────────────────── */
.org-sep{width:1px;height:26px;background:rgba(148,163,184,0.22);margin:0 4px;border-radius:999px}
.org-tree{height:100%;overflow:auto;padding:12px 12px 14px}
.org-tree .tree-root{margin:0;padding:0;list-style:none}
.org-tree ul{margin:0;padding-left:18px;list-style:none;position:relative}
.org-tree li{margin:6px 0;position:relative}
.org-tree li:before{content:"";position:absolute;left:-10px;top:-6px;bottom:-6px;border-left:1px dashed rgba(148,163,184,0.22)}
.org-tree li:last-child:before{bottom:14px}
.org-tree .org-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;
  border:1px solid rgba(148,163,184,0.14);
  background:linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.02));
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.05);
  cursor:pointer; user-select:none;
}
.org-tree .org-row:hover{border-color:rgba(255,255,255,0.18);background:linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.025));transform:translateY(-1px)}
.org-tree .org-row.selected{border-color:rgba(255,255,255,0.45);box-shadow:0 10px 30px rgba(0,0,0,0.28), inset 0 1px 0 rgba(255,255,255,0.07)}
.org-tree .org-row.match{border-color:rgba(250,204,21,0.55)}
.org-tree .org-row.inactive{opacity:0.72}
.org-tree .org-exp{width:22px;height:22px;border-radius:8px;display:flex;align-items:center;justify-content:center;
  background:rgba(148,163,184,0.14);border:1px solid rgba(148,163,184,0.18); color:rgba(226,232,240,0.85);
  flex:0 0 auto;
}
.org-tree .org-exp:hover{background:rgba(148,163,184,0.20)}
.org-tree .org-dot{width:10px;height:10px;border-radius:50%;background:rgba(148,163,184,0.55);flex:0 0 auto}
.org-tree .org-dot.holding{background:rgba(255,209,0,0.95)}
.org-tree .org-dot.opco{background:rgba(16,185,129,0.95)}
.org-tree .org-dot.spv{background:rgba(249,115,22,0.95)}
.org-tree .org-name{font-weight:800;letter-spacing:-0.01em}
.org-tree .org-meta{font-size:12px;color:var(--text-muted);margin-top:2px}
.org-tree .org-chip{font-size:11px;padding:6px 9px;border-radius:999px;border:1px solid rgba(148,163,184,0.20);background:rgba(255,255,255,0.03);color:rgba(226,232,240,0.88)}
.org-tree .org-chip.holding{border-color:rgba(255,209,0,0.35);background:rgba(255,209,0,0.12)}
.org-tree .org-chip.opco{border-color:rgba(16,185,129,0.30);background:rgba(16,185,129,0.10)}
.org-tree .org-chip.spv{border-color:rgba(249,115,22,0.35);background:rgba(249,115,22,0.12)}
.org-tree .org-actions{margin-left:auto;display:flex;gap:6px;opacity:0;transition:opacity .15s ease}
.org-tree .org-row:hover .org-actions{opacity:1}
.org-tree .org-ico{width:28px;height:28px;border-radius:10px;border:1px solid rgba(148,163,184,0.20);background:rgba(255,255,255,0.03);display:flex;align-items:center;justify-content:center}
.org-tree .org-ico:hover{background:rgba(255,255,255,0.06)}
.org-tree .org-drop{outline:2px solid rgba(250,204,21,0.70);outline-offset:2px}
.org-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.org-breadcrumb .crumb{font-size:12px;color:var(--text-muted);padding:6px 10px;border:1px solid rgba(148,163,184,0.18);border-radius:999px;background:rgba(255,255,255,0.02)}

/* ─────────────────────────────────────────────────────────────────────────────
   PREMIUM VISUAL UPGRADE (V1) — visual polish only (no functional changes)
   Inspired by modern enterprise treasury/TMS UI patterns
   ─────────────────────────────────────────────────────────────────────────── */

/* Background depth */
body:not(.light){
  background: #0a0a0a;
}
body:not(.light)::before{
  content:"";
  position:fixed; inset:0;
  z-index:-1;
  background:
    radial-gradient(1200px 700px at 18% -12%, rgba(255,209,0,0.38), transparent 60%),
    radial-gradient(900px 600px at 82% 0%, rgba(230,184,0,0.22), transparent 55%),
    radial-gradient(900px 650px at 55% 110%, rgba(16,185,129,0.12), transparent 60%),
    linear-gradient(180deg, #050a17 0%, #0a0a0a 35%, #050815 100%);
  filter:saturate(1.06) contrast(1.02);
}
body:not(.light)::after{
  content:"";
  position:fixed; inset:0;
  z-index:-1;
  pointer-events:none;
  background-image:
    radial-gradient(circle at 25% 25%, rgba(255,255,255,0.02) 0 1px, transparent 1px),
    radial-gradient(circle at 75% 55%, rgba(255,255,255,0.015) 0 1px, transparent 1px);
  background-size: 18px 18px, 22px 22px;
  opacity:.55;
}

/* Menubar: cleaner, deeper */
.menubar{
  background: rgba(6,11,24,0.78);
  backdrop-filter: blur(24px);
  border-bottom: 1px solid rgba(255,255,255,0.06);
  box-shadow: 0 10px 40px rgba(0,0,0,0.35);
}
.mb-logo{
  box-shadow: 0 10px 28px rgba(255,209,0,0.35);
}
.mb-title{
  letter-spacing: -0.5px;
}

/* Sidebar depth + subtle separation */
body:not(.light) .sidebar{
  background: linear-gradient(180deg, rgba(10,10,10,0.95), rgba(8,8,8,0.95));
  border-right: 1px solid rgba(255,255,255,0.06);
}
body:not(.light) .sb-item{
  border-radius: 14px;
}
body:not(.light) .sb-item:hover{
  background: rgba(255,255,255,0.03);
  border-color: rgba(255,255,255,0.06);
}

/* Cards: glass + gradient edge */
body:not(.light) .card{
  position:relative;
  background: linear-gradient(180deg, rgba(8,8,8,0.96), rgba(2,2,2,0.94));
  border: 1px solid rgba(255,255,255,0.06);
  box-shadow: none;
}
body:not(.light) .card::after{
  content:"";
  position:absolute; inset:0;
  pointer-events:none;
  background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0) 34%, rgba(255,255,255,0));
  opacity:.7;
  border-radius: inherit;
}
.card > *{ position:relative; z-index:1; }
body:not(.light) .card:hover{
  border-color: rgba(255,209,0,0.28);
  box-shadow:
    0 20px 60px rgba(0,0,0,0.6),
    0 0 0 1px rgba(255,209,0,0.10),
    inset 0 1px 0 rgba(255,255,255,0.05);
}
body:not(.light) .card-t{ font-size: 18px; font-weight: 800; letter-spacing:-0.55px; }
body:not(.light) .card-s{ font-size: 13px; color: rgba(148,163,184,0.86); }

/* KPI tiles: tighter + premium */
body:not(.light) .kpi{
  background: linear-gradient(180deg, rgba(8,8,8,0.95), rgba(2,2,2,0.92));
  border: 1px solid rgba(255,255,255,0.06);
  box-shadow: none;
}
body:not(.light) .kpi:hover{
  background: linear-gradient(180deg, rgba(12,12,12,0.96), rgba(4,4,4,0.94));
  border-color: rgba(255,255,255,0.10);
  box-shadow: none;
}
body.tp-bloomberg:not(.light) .kpi,
body.tp-bloomberg:not(.light) .card{
  background:#010101!important;
  border:1px solid rgba(255,255,255,0.08)!important;
  box-shadow:none!important;
}
body.tp-bloomberg:not(.light) .card::after{display:none!important}
body.tp-bloomberg:not(.light) .kpi:hover,
body.tp-bloomberg:not(.light) .card:hover,
body.tp-bloomberg:not(.light) .pos-kpi:hover{
  background:#010101!important;
  border-color:rgba(255,158,0,0.32)!important;
  box-shadow:0 0 0 1px rgba(255,158,0,0.10),0 0 18px rgba(255,158,0,0.10),inset 0 1px 0 rgba(255,158,0,0.04)!important;
  transform:none!important;
}

/* Tab nav: pill style (like modern dashboards) */
body:not(.light) .tab-nav{
  background: rgba(15,15,15,0.60);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 18px;
  padding: 6px;
  gap: 6px;
  margin-bottom: 22px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}
body:not(.light) .tab-nav-item{
  border-bottom: none !important;
  padding: 10px 16px;
  border-radius: 14px;
  color: rgba(148,163,184,0.78);
}
body:not(.light) .tab-nav-item:hover{
  background: rgba(255,255,255,0.03);
  color: rgba(226,232,240,0.9);
}
body:not(.light) .tab-nav-item.active{
  background: linear-gradient(135deg, rgba(255,209,0,0.22), rgba(230,184,0,0.16));
  border: 1px solid rgba(255,209,0,0.32);
  color: rgba(226,232,240,0.98);
  font-weight: 700;
  box-shadow: 0 10px 26px rgba(0,0,0,0.35), inset 0 1px 0 rgba(255,255,255,0.06);
}

/* Chart containers: flush inside cards (no inner panel chrome) */
body:not(.light) .ch-wrap:not(.ch-fill){
  border-radius: 0;
  background: transparent;
  border: none;
  padding: 0;
  box-shadow: none;
}
body.tp-bloomberg .ch-wrap,
body.tp-bloomberg:not(.light) .ch-wrap:not(.ch-fill){
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
body:not(.light) .card-chart .ch-wrap.ch-fill{
  padding:0;
  background:transparent;
  border:none;
  box-shadow:none;
}
body:not(.light) .ch-wrap canvas{ filter: none; }

/* Premium chart panels — accent bar disabled under tp-bloomberg */
.ch-wrap.ch-premium{
  position:relative;
  background:linear-gradient(165deg, #161f33 0%, #121826 52%, #0e1421 100%);
  border:1px solid rgba(148,163,184,0.10);
  border-radius:8px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.04), 0 4px 20px rgba(0,0,0,0.22);
}
body.tp-bloomberg .ch-wrap.ch-premium{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  border-radius:0 !important;
}
.ch-wrap.ch-premium::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  width:100%;height:2px;
  border-radius:0;
  background:linear-gradient(90deg,#FF9E00 0%,rgba(255,158,0,0.45) 42%,rgba(56,189,248,0.35) 100%);
  opacity:.95;
  pointer-events:none;
  z-index:2;
}
body.tp-bloomberg .ch-wrap.ch-premium::before{display:none!important;content:none!important}
body.light .ch-wrap.ch-premium{
  background:#FBFAF7;
  border-color:rgba(15,23,42,0.08);
}
body.light .ch-wrap.ch-premium::before{
  background:linear-gradient(90deg,#FF9E00,rgba(255,158,0,0.25));
}
body.tp-bloomberg:not(.light) .ch-wrap:not(.ch-fill){
  border-radius:0;
  background:transparent!important;
  border:none!important;
  padding:0!important;
  box-shadow:none!important;
}
body.tp-bloomberg:not(.light) .card-chart .ch-wrap.ch-fill{
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
  padding:0!important;
}
body:not(.light) .kpi:hover .kpi-spark{opacity:.72}

/* Buttons: modern gradient + glow */
body:not(.light) .btn-p{
  background: linear-gradient(135deg, #FFD100 0%, #E6B800 100%);
  border-color: rgba(230,184,0,0.45);
  box-shadow: 0 12px 28px rgba(255,209,0,0.25);
}
body:not(.light) .btn-p:hover{
  box-shadow: 0 16px 36px rgba(255,209,0,0.32);
}
body:not(.light) .btn-s{
  background: rgba(15,26,48,0.75);
  border: 1px solid rgba(255,255,255,0.07);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);
}
body:not(.light) .btn-s:hover{
  border-color: rgba(255,255,255,0.12);
  background: rgba(26,39,68,0.78);
}

/* Tables: smoother headers */
body:not(.light) table{
  border-color: rgba(255,255,255,0.06) !important;
}
body:not(.light) thead th{
  background: rgba(15,15,15,0.60) !important;
  backdrop-filter: blur(12px);
}

/* Legends / list rows */
body:not(.light) .c-legend .c-row{
  border-radius: 12px;
  padding: 10px 12px;
  background: rgba(255,255,255,0.02);
  border: 1px solid rgba(255,255,255,0.04);
}
body:not(.light) .c-legend .c-row:hover{
  background: rgba(255,255,255,0.03);
  border-color: rgba(255,255,255,0.06);
}

/* Light theme: keep clean (small polish only) */
body:not(.light) body.light .card{
  box-shadow: 0 14px 40px rgba(0,0,0,0.08);
}
body:not(.light) body.light .tab-nav{
  background: rgba(255,255,255,0.82);
  border-color: rgba(15,23,42,0.08);
}

@keyframes slideDown {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ── KPI Number entry animation ── */
@keyframes kpiCountIn {
  from { opacity: 0; transform: translateY(8px) scale(0.96); }
  to   { opacity: 1; transform: translateY(0)  scale(1); }
}
.kpi-val { animation: kpiCountIn .4s cubic-bezier(.22,.84,.36,1) both; }
.kpi:nth-child(1) .kpi-val { animation-delay: .05s }
.kpi:nth-child(2) .kpi-val { animation-delay: .1s }
.kpi:nth-child(3) .kpi-val { animation-delay: .15s }
.kpi:nth-child(4) .kpi-val { animation-delay: .2s }
.kpi:nth-child(5) .kpi-val { animation-delay: .25s }
.kpi:nth-child(6) .kpi-val { animation-delay: .3s }

/* ── Card stagger entry ── */
@keyframes cardIn {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: none; }
}
.tab-content > .card:nth-child(1) { animation: cardIn .4s .08s cubic-bezier(.22,.84,.36,1) both; }
.tab-content > .card:nth-child(2) { animation: cardIn .4s .14s cubic-bezier(.22,.84,.36,1) both; }
.tab-content > .card:nth-child(3) { animation: cardIn .4s .20s cubic-bezier(.22,.84,.36,1) both; }
.tab-content > .card:nth-child(4) { animation: cardIn .4s .26s cubic-bezier(.22,.84,.36,1) both; }

/* MTN THEME */
body.mtn{
  --bg:#f4f1e6;--bg2:#fffdf7;--bg3:#f8f4e7;--bg-card:#ffffff;--bg-card2:#fffdf8;--surface:#ffffff;
  --bg-hover:#fff8df;--bg-input:#fffdf7;--bg-elevated:#ffffff;
  --text:#171717;--text-sec:#4e4b3f;--text-muted:#8a887d;--text-dim:#ddd5b8;
  --border:#eadfb6;--border-lt:#d9c36a;--border-focus:#0057b8;
  --accent:#ffcb05;--accent2:#0057b8;--accent-light:#ffd84d;--accent-bg:rgba(255,203,5,0.14);--accent-glow:0 0 22px rgba(255,203,5,0.18);
  --green-bg:rgba(34,197,94,0.08);--green-border:rgba(34,197,94,0.18);
  --red-bg:rgba(239,68,68,0.08);--red-border:rgba(239,68,68,0.18);
  --shadow-sm:0 2px 8px rgba(23,23,23,0.05);--shadow:0 10px 28px rgba(23,23,23,0.06);--shadow-lg:0 18px 50px rgba(23,23,23,0.10);
  background:
    radial-gradient(circle at top left, rgba(255,203,5,0.18), transparent 30%),
    linear-gradient(180deg,#f7f4ea 0%,#f2eee1 100%);
}
body.mtn .menubar{background:rgba(255,255,255,0.96);border-bottom-color:var(--border);backdrop-filter:blur(16px)}
body.mtn .sidebar{background:linear-gradient(180deg,#fffdf7 0%,#f7f1de 100%);border-right-color:var(--border)}
body.mtn .main::before,body.mtn .main::after{display:none!important}
body.mtn .mb-logo{background:linear-gradient(135deg,#171717 0%,#2b2b2b 100%);color:#ffcb05;box-shadow:0 10px 22px rgba(0,0,0,0.14),inset 0 0 0 1px rgba(255,203,5,0.12)}
body.mtn .sb-logo{background:linear-gradient(135deg,#171717 0%,#2b2b2b 100%);box-shadow:0 10px 24px rgba(0,0,0,0.12)}
body.mtn .sb-title{background:linear-gradient(135deg,#171717,#8a6d00);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
body.mtn .sb-item.active,body.mtn .sb-entity-item.active{background:linear-gradient(90deg,rgba(255,203,5,0.24),rgba(255,203,5,0.08));color:#171717;border-color:rgba(255,203,5,0.42)}
body.mtn .sb-item.active::after{color:#b68a00}
body.mtn .sb-item.active svg,body.mtn .sb-entity-item.active svg{color:#171717;opacity:1}
body.mtn .sb-footer{background:rgba(255,255,255,0.45)}
body.mtn .kpi,body.mtn .card,body.mtn .modal,body.mtn .notif-panel,body.mtn .toast,body.mtn .pos-kpi{box-shadow:0 10px 30px rgba(23,23,23,0.05);border-color:var(--border)}
body.mtn .kpi:hover,body.mtn .card:hover,body.mtn .pos-kpi:hover{border-color:#d9c36a;box-shadow:0 16px 38px rgba(23,23,23,0.08)}
body.mtn .mb-btn,body.mtn .btn-s,body.mtn .mb-select,body.mtn .theme-toggle{background:#fffdf7;border-color:var(--border)}
body.mtn .mb-btn:hover,body.mtn .btn-s:hover,body.mtn .mb-select:hover,body.mtn .theme-toggle:hover{background:#fff7d6;border-color:#d6bf62;color:#171717}
body.mtn .mb-btn.active,body.mtn .mb-btn[aria-pressed="true"]{background:linear-gradient(135deg,#ffcb05,#f3bb00);color:#171717;border-color:#e2b100;box-shadow:0 8px 18px rgba(255,203,5,0.35)}
body.mtn .mb-btn.active .mb-pill-txt,body.mtn .mb-btn[aria-pressed="true"] .mb-pill-txt{color:#171717}
body.mtn .btn-p{background:linear-gradient(135deg,#ffcb05,#f1ba00);color:#171717;border-color:#f1ba00;box-shadow:0 8px 18px rgba(255,203,5,0.34)}
body.mtn .btn-p:hover{background:linear-gradient(135deg,#ffd633,#ffcb05);box-shadow:0 12px 24px rgba(255,203,5,0.38)}
body.mtn .period-btn.on{background:linear-gradient(135deg,#171717,#323232);color:#ffcb05;box-shadow:0 6px 16px rgba(0,0,0,0.18)}
body.mtn thead th{background:#f8f4e7;color:#8a6d00;border-bottom-color:#eadfb6}
body.mtn td{border-bottom-color:rgba(219,206,157,0.45)}
body.mtn tbody tr:hover{background:#fffbef}
body.mtn .forecast-tbl td:first-child,body.mtn .forecast-tbl thead th:first-child{background:#fffdf7}
body.mtn .kpi-label,body.mtn .card-s,body.mtn .pg-sub,body.mtn .mb-sub,body.mtn .mb-label{color:#7a7768}
body.mtn .kpi-icon.b{background:rgba(255,203,5,0.18);border-color:rgba(255,203,5,0.35);color:#9b7400}
body.mtn .kpi.blue::before{background:linear-gradient(90deg,#ffcb05,#0057b8)}
body.mtn .badge-b{background:rgba(255,203,5,0.14);color:#7f6200;border-color:rgba(255,203,5,0.3)}
body.mtn .row-total-inflows td{background:linear-gradient(90deg,rgba(34,197,94,0.12),rgba(34,197,94,0.05))!important;color:#14532d!important}
body.mtn .row-total-outflows td{background:linear-gradient(90deg,rgba(239,68,68,0.10),rgba(239,68,68,0.04))!important;color:#7f1d1d!important}
body.mtn .row-ending-cash td{background:linear-gradient(90deg,rgba(255,203,5,0.22),rgba(0,87,184,0.08))!important;color:#1f2937!important}
body.mtn ::selection{background:#ffcb05;color:#171717}
body.mtn ::-webkit-scrollbar-thumb{background:#d6c26d}
body.mtn .theme-toggle .tt-knob{transform:translateX(10px);background:linear-gradient(135deg,#ffcb05,#f0ba00);color:#171717;font-weight:800}


/* ══════════════════════════════════════════
   TreasuryPro AI — Cashflow Intelligence CSS
   ══════════════════════════════════════════ */

/* Sidebar AI button */
.sb-ai-btn{display:flex;align-items:center;gap:10px;padding:10px 14px;margin:8px 10px 0;
  border-radius:10px;border:none;cursor:pointer;font-size:12.5px;font-weight:600;
  background:linear-gradient(135deg,#E6B800,#8b5cf6);color:#fff;width:calc(100% - 20px);
  box-shadow:0 2px 8px rgba(230,184,0,.35);transition:all .2s;}
.sb-ai-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(230,184,0,.5);}
.sb-ai-btn svg{width:16px;height:16px;flex-shrink:0;}
.sb-ai-dot{width:7px;height:7px;border-radius:50%;background:#10b981;margin-left:auto;
  animation:aiBlink 2s infinite;}
@keyframes aiBlink{0%,100%{opacity:1}50%{opacity:.3}}

/* AI Setup Modal */
.ai-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:9000;
  display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);}
.ai-modal-box{background:var(--surface,#1e2130);border:1px solid rgba(230,184,0,.3);
  border-radius:16px;padding:0;width:500px;max-width:95vw;overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,.5);}
.ai-modal-head{padding:20px 24px 16px;background:linear-gradient(135deg,rgba(230,184,0,.15),rgba(139,92,246,.1));
  border-bottom:1px solid rgba(230,184,0,.2);}
.ai-modal-head h2{margin:0;font-size:17px;font-weight:700;color:var(--text,#e2e8f0);}
.ai-modal-head p{margin:4px 0 0;font-size:12px;color:var(--text-muted,#94a3b8);}
.ai-modal-body{padding:20px 24px;}
.ai-field{margin-bottom:16px;}
.ai-field label{display:block;font-size:12px;font-weight:600;color:var(--text-muted,#94a3b8);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px;}
.ai-field input{width:100%;box-sizing:border-box;padding:10px 14px;border-radius:8px;
  border:1px solid rgba(230,184,0,.3);background:rgba(230,184,0,.06);
  color:var(--text,#e2e8f0);font-size:13px;outline:none;transition:border .2s;}
.ai-field input:focus{border-color:#E6B800;}
.ai-status-row{min-height:22px;font-size:12px;margin-top:8px;padding:0 2px;}
.ai-modal-foot{padding:14px 24px 20px;display:flex;gap:10px;justify-content:flex-end;
  border-top:1px solid rgba(255,255,255,.06);}
.ai-btn-test{padding:9px 18px;border-radius:8px;border:1px solid rgba(230,184,0,.4);
  background:transparent;color:#FFE066;font-size:13px;font-weight:600;cursor:pointer;}
.ai-btn-test:hover{background:rgba(230,184,0,.1);}
.ai-btn-save{padding:9px 22px;border-radius:8px;border:none;
  background:linear-gradient(135deg,#E6B800,#8b5cf6);color:#fff;font-size:13px;
  font-weight:700;cursor:pointer;box-shadow:0 2px 8px rgba(230,184,0,.4);}
.ai-btn-save:hover{opacity:.9;}
.ai-btn-cancel{padding:9px 18px;border-radius:8px;border:1px solid rgba(255,255,255,.1);
  background:transparent;color:var(--text-muted,#94a3b8);font-size:13px;cursor:pointer;}

/* AI Banner in Forecast tab */
.ai-status-banner{display:flex;align-items:center;gap:14px;padding:14px 18px;
  border-radius:12px;margin-bottom:20px;flex-wrap:wrap;}
.ai-status-banner.connected{background:linear-gradient(90deg,rgba(16,185,129,.08),rgba(255,209,0,.06));
  border:1px solid rgba(16,185,129,.3);}
.ai-status-banner.disconnected{background:linear-gradient(90deg,rgba(245,158,11,.08),rgba(239,68,68,.06));
  border:1px solid rgba(245,158,11,.35);}
.ai-banner-icon{font-size:22px;flex-shrink:0;}
.ai-banner-text{flex:1;min-width:200px;}
.ai-banner-text strong{font-size:13px;color:var(--text,#e2e8f0);}
.ai-banner-text p{margin:2px 0 0;font-size:11.5px;color:var(--text-muted,#94a3b8);}
.ai-banner-actions{display:flex;gap:8px;flex-wrap:wrap;}

/* AI Insights section */
.ai-insights-section{margin-bottom:20px;}
.ai-insights-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:40px 20px;gap:12px;}
.ai-spinner{width:36px;height:36px;border:3px solid rgba(230,184,0,.2);
  border-top-color:#E6B800;border-radius:50%;animation:spin .8s linear infinite;}
@keyframes spin{to{transform:rotate(360deg)}}
.ai-insights-loading p{margin:0;font-size:13px;color:var(--text-muted,#94a3b8);}

/* Health score + metrics row */
.ai-health-row{display:flex;gap:16px;align-items:stretch;flex-wrap:wrap;margin-bottom:16px;}
.ai-health-card{flex:0 0 160px;background:rgba(230,184,0,.07);border:1px solid rgba(230,184,0,.2);
  border-radius:12px;padding:18px 16px;display:flex;flex-direction:column;align-items:center;gap:8px;}
.ai-health-ring-wrap{position:relative;width:80px;height:80px;}
.ai-health-ring-wrap svg{transform:rotate(-90deg);}
.ai-health-score-num{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  font-size:18px;font-weight:800;color:var(--text,#e2e8f0);}
.ai-health-label{font-size:11px;font-weight:600;color:var(--text-muted,#94a3b8);text-align:center;}
.ai-health-status{font-size:12px;font-weight:700;padding:3px 10px;border-radius:20px;margin-top:2px;}
.ai-health-status.healthy{background:rgba(16,185,129,.15);color:#10b981;}
.ai-health-status.caution{background:rgba(245,158,11,.15);color:#f59e0b;}
.ai-health-status.warning{background:rgba(249,115,22,.15);color:#f97316;}
.ai-health-status.critical{background:rgba(239,68,68,.15);color:#ef4444;}
.ai-metrics-wrap{flex:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;}
.ai-metric-card{background:#010101;border:1px solid rgba(255,255,255,0.08);
  border-radius:10px;padding:14px 16px;}
.ai-metric-label{font-size:11px;color:var(--text-muted,#94a3b8);text-transform:uppercase;letter-spacing:.4px;}
.ai-metric-value{font-size:20px;font-weight:800;color:var(--text,#e2e8f0);margin:4px 0 2px;}
.ai-metric-context{font-size:11px;color:var(--text-muted,#94a3b8);}
.ai-metric-trend{font-size:11px;font-weight:600;margin-top:4px;}
.ai-metric-trend.up{color:#10b981;} .ai-metric-trend.down{color:#ef4444;} .ai-metric-trend.flat{color:#94a3b8;}

/* Insights cards grid */
.ai-insights-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;}
.ai-ins-card{border-radius:10px;padding:14px 16px;border:1px solid;}
.ai-ins-card.risk{background:rgba(239,68,68,.06);border-color:rgba(239,68,68,.2);}
.ai-ins-card.opportunity{background:rgba(16,185,129,.06);border-color:rgba(16,185,129,.2);}
.ai-ins-card.alert{background:rgba(245,158,11,.06);border-color:rgba(245,158,11,.2);}
.ai-ins-card.recommendation{background:rgba(230,184,0,.06);border-color:rgba(230,184,0,.2);}
.ai-ins-card.observation{background:rgba(255,209,0,.06);border-color:rgba(255,209,0,.2);}
.ai-ins-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;}
.ai-ins-icon{font-size:16px;}
.ai-ins-title{font-size:13px;font-weight:700;color:var(--text,#e2e8f0);flex:1;}
.ai-ins-badge{font-size:10px;font-weight:700;padding:2px 7px;border-radius:12px;text-transform:uppercase;letter-spacing:.3px;}
.ai-ins-badge.high{background:rgba(239,68,68,.2);color:#ef4444;}
.ai-ins-badge.medium{background:rgba(245,158,11,.2);color:#f59e0b;}
.ai-ins-badge.low{background:rgba(16,185,129,.2);color:#10b981;}
.ai-ins-detail{font-size:12px;color:var(--text-muted,#94a3b8);line-height:1.5;}
.ai-ins-action{font-size:11.5px;color:#E6B800;margin-top:6px;font-weight:600;}

/* Quarterly outlook row */
.ai-quarters-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px;}
.ai-q-card{background:rgba(230,184,0,.06);border:1px solid rgba(230,184,0,.15);
  border-radius:10px;padding:12px 14px;text-align:center;}
.ai-q-label{font-size:11px;font-weight:700;color:var(--text-muted,#94a3b8);text-transform:uppercase;}
.ai-q-val{font-size:17px;font-weight:800;color:var(--text,#e2e8f0);margin:4px 0;}
.ai-q-trend{font-size:20px;margin:2px 0;}
.ai-q-note{font-size:10.5px;color:var(--text-muted,#94a3b8);}

/* Confidence chart card */
.ai-conf-card{margin-bottom:16px;background:var(--surface,#1e2130);border:1px solid rgba(230,184,0,.2);
  border-radius:12px;padding:18px 20px;}
.ai-conf-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.ai-conf-title{font-size:14px;font-weight:700;color:var(--text,#e2e8f0);}
.ai-conf-sub{font-size:12px;color:var(--text-muted,#94a3b8);}
.ai-conf-legend{display:flex;gap:14px;align-items:center;}
.ai-conf-leg-item{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-muted,#94a3b8);}
.ai-conf-leg-dot{width:8px;height:8px;border-radius:50%;}

/* AI Insights Banner */
.ai-insight-card {
  background: linear-gradient(90deg, rgba(79,70,229,0.1), rgba(124,58,237,0.08));
  border-left: 3px solid #7c3aed; padding: 14px 16px; border-radius: 10px; margin-bottom: 20px;
  display: flex; gap: 14px; align-items: flex-start;
  box-shadow: 0 4px 16px rgba(230,184,0,0.08);
}
.ai-insight-icon { font-size: 22px; }
.ai-insight-content h4 { margin: 0 0 4px 0; color: var(--text); display: flex; align-items: center; gap: 8px; font-size: 13.5px; font-weight: 700; }
.ai-insight-content p { margin: 0; color: var(--text-muted); font-size: 12.5px; line-height: 1.55; }
.ai-badge { background: linear-gradient(135deg, #D4A000, #7c3aed); color: #fff; font-size: 9.5px; padding: 2px 7px; border-radius: 4px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.4px; }


/* ── AI Scenario Generator ──────────────────────────────────────── */
.ai-scenario-card {
  background: var(--surface, #1e2130);
  border: 1px solid rgba(139, 92, 246, 0.3);
  border-radius: 14px;
  padding: 20px 24px;
  margin-bottom: 16px;
  box-shadow: 0 4px 20px rgba(139, 92, 246, 0.08);
}
.ai-scenario-title {
  font-size: 14px;
  font-weight: 700;
  color: #c4b5fd;
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
  letter-spacing: -0.2px;
}
.ai-scenario-input-row {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ai-scenario-input-row input {
  width: 100%;
  box-sizing: border-box;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(139,92,246,0.3);
  border-radius: 10px;
  padding: 12px 16px;
  color: #e2e8f0;
  font-size: 13px;
  font-family: 'Inter', sans-serif;
  outline: none;
  transition: border-color 0.2s;
}
.ai-scenario-input-row input:focus {
  border-color: rgba(139,92,246,0.7);
  background: rgba(139,92,246,0.06);
}
.ai-scenario-input-row input::placeholder {
  color: rgba(255,255,255,0.3);
  font-size: 12px;
}
.ai-scenario-btn {
  align-self: flex-start;
  background: linear-gradient(135deg, rgba(139,92,246,0.8), rgba(109,40,217,0.9));
  color: #fff;
  border: 1px solid rgba(139,92,246,0.5);
  border-radius: 10px;
  padding: 11px 22px;
  font-size: 13px;
  font-weight: 600;
  font-family: 'Inter', sans-serif;
  cursor: pointer;
  transition: all 0.2s;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
.ai-scenario-btn:hover {
  background: linear-gradient(135deg, rgba(139,92,246,1), rgba(109,40,217,1));
  box-shadow: 0 4px 16px rgba(139,92,246,0.4);
  transform: translateY(-1px);
}
.ai-scenario-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
}
.ai-scenario-result {
  margin-top: 16px;
  background: rgba(139,92,246,0.05);
  border: 1px solid rgba(139,92,246,0.2);
  border-radius: 10px;
  padding: 16px;
  font-size: 13px;
  line-height: 1.65;
  color: #e2e8f0;
}




#togKimiEnabled:checked ~ span:first-of-type { background: rgba(245,158,11,0.6) !important; }
#togKimiEnabled:checked ~ span:first-of-type + span { transform: translateX(20px) !important; }
#togGeminiProEnabled:checked ~ span:first-of-type { background: rgba(125,211,252,0.5) !important; }
#togGeminiProEnabled:checked ~ span:first-of-type + span { transform: translateX(20px) !important; }




/* ═══════════════════════════════════════════════════════════
   TREASURYPRO — MTN GOLD DARK THEME (authoritative, single block)
   Replaces all prior injections. Tiles, cards, accents: gold on black.
══════════════════════════════════════════════════════════ */

/* ── CSS VARIABLE OVERRIDES ─────────────────────────────── */
:root {
  --bg:#0a0a0a; --bg2:#0d0d0d; --bg3:#111111;
  --bg-card:#181410; --bg-card2:#1a1610;
  --bg-hover:rgba(255,209,0,0.05); --bg-input:#141210;
  --bg-elevated:#1c1812; --surface:#131008;
  --accent:#FFD100; --accent2:#E6B800;
  --accent-light:#FFE033;
  --accent-bg:rgba(255,209,0,0.08);
  --accent-br:rgba(255,209,0,0.25);
  --border:rgba(255,209,0,0.10);
  --border-lt:rgba(255,209,0,0.20);
  --border-focus:#FFD100;
}

/* ── BODY / BACKGROUND ──────────────────────────────────── */
body:not(.light) {
  background: #0a0808 !important;
}
body:not(.light)::before {
  background:
    radial-gradient(1200px 700px at 10% -5%, rgba(255,209,0,0.07), transparent 55%),
    radial-gradient(900px 600px at 90% 10%, rgba(230,184,0,0.05), transparent 50%),
    linear-gradient(180deg, #080604 0%, #0a0808 100%) !important;
}

/* ── SIDEBAR ────────────────────────────────────────────── */
body:not(.light) .sidebar {
  background: #0d0b06 !important;
  border-right: 1px solid rgba(255,209,0,0.10) !important;
}
body:not(.light) .sb-item.active {
  background: linear-gradient(90deg, rgba(255,209,0,0.14), rgba(255,209,0,0.06)) !important;
  color: #FFD100 !important;
  border-left: 3px solid #FFD100 !important;
  font-weight: 700 !important;
}
body:not(.light) .sb-item:hover {
  background: rgba(255,209,0,0.06) !important;
}

/* ── MENUBAR ────────────────────────────────────────────── */
body:not(.light) .menubar {
  background: rgba(8,6,2,0.97) !important;
  border-bottom: 1px solid rgba(255,209,0,0.10) !important;
}

/* ── KPI TILES (gold theme — not Bloomberg) ───────────────── */
body:not(.light):not(.tp-bloomberg) .kpi {
  background: linear-gradient(145deg, #1c1710 0%, #141008 100%) !important;
  border: 1px solid rgba(255,209,0,0.14) !important;
  border-radius: 14px !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.45), inset 0 1px 0 rgba(255,209,0,0.06) !important;
  transition: all .25s cubic-bezier(.4,0,.2,1) !important;
  overflow: hidden !important;
}
body:not(.light):not(.tp-bloomberg) .kpi:hover {
  background: linear-gradient(145deg, #221d12 0%, #19130a 100%) !important;
  border-color: rgba(255,209,0,0.35) !important;
  box-shadow: 0 14px 40px rgba(0,0,0,0.55), 0 0 0 1px rgba(255,209,0,0.15), 0 0 20px rgba(255,209,0,0.08) !important;
  transform: translateY(-2px) !important;
}
body:not(.light):not(.tp-bloomberg) .pos-kpi {
  background: linear-gradient(145deg, #1c1710, #141008) !important;
  border: 1px solid rgba(255,209,0,0.14) !important;
}
body:not(.light):not(.tp-bloomberg) .pos-kpi:hover {
  border-color: rgba(255,209,0,0.35) !important;
  box-shadow: 0 0 0 3px rgba(255,209,0,0.10) !important;
}

/* ── KPI TOP STRIPE (all variants) ─────────────────────── */
.kpi::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0;
  height: 3px; border-radius: 2px 2px 0 0;
}
.kpi.blue::before   { background: linear-gradient(90deg, #FFD100, #E6B800, #FFD100) !important; }
.kpi.green::before  { background: linear-gradient(90deg, #10b981, #34d399, #10b981) !important; }
.kpi.red::before    { background: linear-gradient(90deg, #ef4444, #f87171, #ef4444) !important; }
.kpi.purple::before { background: linear-gradient(90deg, #a855f7, #ec4899, #a855f7) !important; }
.kpi.yellow::before { background: linear-gradient(90deg, #f59e0b, #fbbf24, #f59e0b) !important; }
.kpi.cyan::before   { background: linear-gradient(90deg, #06b6d4, #22d3ee, #06b6d4) !important; }

/* ── KPI ICONS ──────────────────────────────────────────── */
.kpi-icon.b { background: rgba(255,209,0,0.12) !important; border-color: rgba(255,209,0,0.28) !important; color: #FFD100 !important; }
.kpi-icon.g { background: rgba(16,185,129,0.12) !important; border-color: rgba(16,185,129,0.28) !important; }
.kpi-icon.r { background: rgba(239,68,68,0.12) !important; border-color: rgba(239,68,68,0.28) !important; }
.kpi-icon.p { background: rgba(168,85,247,0.12) !important; border-color: rgba(168,85,247,0.28) !important; }
.kpi-icon.y { background: rgba(245,158,11,0.12) !important; border-color: rgba(245,158,11,0.28) !important; }
.kpi-icon.c { background: rgba(6,182,212,0.12) !important; border-color: rgba(6,182,212,0.28) !important; }

/* ── CARDS (gold theme — not Bloomberg) ─────────────────── */
body:not(.light):not(.tp-bloomberg) .card {
  background: linear-gradient(160deg, #1a1510 0%, #110d08 100%) !important;
  border: 1px solid rgba(255,209,0,0.12) !important;
  border-radius: 16px !important;
  box-shadow: 0 16px 50px rgba(0,0,0,0.55), inset 0 1px 0 rgba(255,209,0,0.05) !important;
}
body:not(.light):not(.tp-bloomberg) .card:hover {
  border-color: rgba(255,209,0,0.30) !important;
  box-shadow: 0 20px 60px rgba(0,0,0,0.62), 0 0 0 1px rgba(255,209,0,0.12), 0 0 24px rgba(255,209,0,0.06) !important;
}
.card-t {
  font-size: 15px !important; font-weight: 800 !important;
  background: linear-gradient(135deg, #e8e0c8, #FFD100);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}

/* ── TABLE HEADER ───────────────────────────────────────── */
body:not(.light) thead th {
  background: rgba(14,11,5,0.75) !important;
  border-bottom: 1px solid rgba(255,209,0,0.10) !important;
  color: rgba(180,150,60,0.85) !important;
}
body:not(.light) td {
  border-bottom: 1px solid rgba(255,209,0,0.05) !important;
}
body:not(.light) tbody tr:hover {
  background: rgba(255,209,0,0.04) !important;
}
body:not(.light) tbody tr:hover td:first-child {
  box-shadow: inset 3px 0 0 rgba(255,209,0,0.45) !important;
}

/* ── BUTTONS ────────────────────────────────────────────── */
body:not(.light) .btn-p {
  background: linear-gradient(135deg, #FFD100, #E6B800) !important;
  color: #000 !important; border-color: #D4A800 !important;
  box-shadow: 0 6px 20px rgba(255,209,0,0.28) !important;
  font-weight: 700 !important;
}
body:not(.light) .btn-p:hover {
  background: linear-gradient(135deg, #FFE033, #FFD100) !important;
  box-shadow: 0 10px 28px rgba(255,209,0,0.38) !important;
  transform: translateY(-2px) !important;
}
body:not(.light) .btn-s {
  background: rgba(255,209,0,0.05) !important;
  border: 1px solid rgba(255,209,0,0.14) !important;
}
body:not(.light) .btn-s:hover {
  background: rgba(255,209,0,0.10) !important;
  border-color: rgba(255,209,0,0.25) !important;
}

/* ── PERIOD TOGGLE ──────────────────────────────────────── */
.period-tog {
  background: rgba(255,209,0,0.04) !important;
  border: 1px solid rgba(255,209,0,0.12) !important;
}
.period-btn.on {
  background: linear-gradient(135deg, #FFD100, #E6B800) !important;
  color: #000 !important;
  box-shadow: 0 4px 14px rgba(255,209,0,0.30) !important;
}

/* ── TAB NAV ────────────────────────────────────────────── */
body:not(.light) .tab-nav {
  background: rgba(14,11,5,0.65) !important;
  border: 1px solid rgba(255,209,0,0.10) !important;
}
body:not(.light) .tab-nav-item.active {
  background: linear-gradient(135deg, rgba(255,209,0,0.18), rgba(230,184,0,0.10)) !important;
  border: 1px solid rgba(255,209,0,0.30) !important;
  color: #FFD100 !important;
  font-weight: 700 !important;
}

/* ── LOGO ───────────────────────────────────────────────── */
.mb-logo, .sb-logo {
  background: linear-gradient(135deg, #FFD100, #E6B800) !important;
  color: #000 !important;
  box-shadow: 0 4px 14px rgba(255,209,0,0.25) !important;
}
.sb-title {
  background: linear-gradient(135deg, #FFD100, #b8860b);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
}

/* ── MODALS ─────────────────────────────────────────────── */
body:not(.light) .modal {
  background: linear-gradient(160deg, #1a1510 0%, #110d08 100%) !important;
  border: 1px solid rgba(255,209,0,0.15) !important;
  border-radius: 18px !important;
  box-shadow: 0 40px 100px rgba(0,0,0,0.70) !important;
}

/* ── FORM INPUTS ────────────────────────────────────────── */
body:not(.light) .form-i, body:not(.light) .form-sel {
  background: rgba(255,209,0,0.03) !important;
  border: 1px solid rgba(255,209,0,0.12) !important;
}
body:not(.light) .form-i:focus, body:not(.light) .form-sel:focus {
  background: rgba(255,209,0,0.06) !important;
  border-color: rgba(255,209,0,0.45) !important;
  box-shadow: 0 0 0 3px rgba(255,209,0,0.10) !important;
}

/* ── BADGES ─────────────────────────────────────────────── */
.badge-b { background: rgba(255,209,0,0.10) !important; color: #FFD100 !important; border-color: rgba(255,209,0,0.22) !important; }

/* ── SCROLLBARS ─────────────────────────────────────────── */
::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(255,209,0,0.22); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: rgba(255,209,0,0.45); }

/* ── SELECTION ──────────────────────────────────────────── */
::selection { background: rgba(255,209,0,0.35) !important; color: #000 !important; }

/* ── MISC ───────────────────────────────────────────────── */
a, .view-link, .cb { color: #FFD100 !important; }
.dropzone:hover, .dropzone.active { border-color: #FFD100 !important; background: rgba(255,209,0,0.05) !important; }
.spinner, .loading-spinner { border-top-color: #FFD100 !important; }
.notif-dot { background: #FFD100 !important; }
body:not(.light) tbody tr:hover td { color: #ffe97a !important; }



/* === FX TICKER BAR === */
#fxt-bar{position:fixed;top:0;left:0;right:0;z-index:9999;height:32px;background:linear-gradient(90deg,#1a1400,#2a1f00,#1a1400);border-bottom:1px solid #FFD100;display:flex;align-items:center;font-size:11.5px;font-family:'Segoe UI',sans-serif;overflow:hidden;user-select:none}
#fxt-label{flex:0 0 auto;padding:0 10px 0 12px;color:#FFD100;font-weight:700;letter-spacing:.5px;white-space:nowrap;font-size:10px;border-right:1px solid rgba(255,209,0,.3)}
#fxt-track{flex:1;overflow:hidden;position:relative;height:100%}
#fxt-belt{display:flex;align-items:center;height:100%;white-space:nowrap;animation:fxtScroll 30s linear infinite}
#fxt-track:hover #fxt-belt{animation-play-state:paused}
@keyframes fxtScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.fxi{display:inline-flex;align-items:center;gap:4px;padding:0 14px;border-right:1px solid rgba(255,209,0,.15);color:#e2d68a}
.fxi .fp{color:#FFD100;font-weight:700;font-size:11px}
.fxi .fr{color:#fff;font-size:11.5px;font-weight:600}
.fxi .fc{font-size:10px;font-weight:600}.fxi .fc.up{color:#4ade80}.fxi .fc.dn{color:#f87171}.fxi .fc.fl{color:#94a3b8}
#fxt-ts{flex:0 0 auto;padding:0 10px;color:rgba(255,209,0,.5);font-size:9.5px;white-space:nowrap}
/* Push all page content down below ticker */
body{padding-top:32px!important}
/* === SANKEY === */
#cashmap-wrap{padding:20px;color:var(--text-main,#f1f5f9)}
.sankey-title{font-size:16px;font-weight:700;color:var(--accent,#FFD100);margin-bottom:16px}
#sankey-svg{width:100%;height:340px;display:block}
.sankey-cards{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.sankey-card{background:var(--card,rgba(255,255,255,.05));border:1px solid rgba(255,209,0,.2);border-radius:10px;padding:14px 18px;min-width:160px;flex:1}
.sankey-card .sc-name{font-size:12px;color:var(--text-muted,#94a3b8);margin-bottom:4px}
.sankey-card .sc-bal{font-size:18px;font-weight:700;color:#FFD100}
.sankey-card .sc-pct{font-size:11px;color:#4ade80;margin-top:2px}
.sankey-bar{height:4px;border-radius:2px;margin-top:8px;background:rgba(255,209,0,.3)}
.sankey-bar-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,#FFD100,#ff9d00)}
/* === HEATMAP === */
#heatmap-wrap{padding:20px 20px 8px}
.hm-title{font-size:14px;font-weight:700;color:var(--accent,#FFD100);margin-bottom:12px}
#heatmap-grid{display:flex;gap:2px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}
.hm-month{display:flex;flex-direction:column;gap:2px;min-width:fit-content}
.hm-month-label{font-size:9px;color:var(--text-muted,#64748b);text-align:center;margin-bottom:3px;font-weight:600}
.hm-week{display:flex;flex-direction:column;gap:2px}
.hm-day{width:12px;height:12px;border-radius:3px;background:rgba(255,255,255,.06);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;border:1px solid transparent}
.hm-day:hover{transform:scale(1.45);z-index:10;position:relative;box-shadow:0 0 0 2px rgba(255,209,0,0.35)}
.hm-day.inflow-1{background:linear-gradient(135deg,rgba(74,222,128,.28),rgba(16,185,129,.18))}.hm-day.inflow-2{background:linear-gradient(135deg,rgba(74,222,128,.55),rgba(16,185,129,.35))}.hm-day.inflow-3{background:linear-gradient(135deg,rgba(74,222,128,.82),rgba(16,185,129,.62))}.hm-day.inflow-4{background:linear-gradient(135deg,#4ade80,#10b981);box-shadow:0 0 8px rgba(16,185,129,0.35)}
.hm-day.outflow-1{background:linear-gradient(135deg,rgba(248,113,113,.28),rgba(239,68,68,.18))}.hm-day.outflow-2{background:linear-gradient(135deg,rgba(248,113,113,.55),rgba(239,68,68,.35))}.hm-day.outflow-3{background:linear-gradient(135deg,rgba(248,113,113,.82),rgba(239,68,68,.62))}.hm-day.outflow-4{background:linear-gradient(135deg,#f87171,#ef4444);box-shadow:0 0 8px rgba(239,68,68,0.32)}
.hm-legend{display:flex;align-items:center;gap:10px;font-size:10px;color:var(--text-muted,#64748b);margin-top:10px;flex-wrap:wrap}
.hm-leg-box{width:11px;height:11px;border-radius:3px;box-shadow:inset 0 1px 0 rgba(255,255,255,0.12)}
#heatmap-wrap{background:linear-gradient(180deg,rgba(255,209,0,0.03),transparent);border:1px solid rgba(255,209,0,0.08);border-radius:14px;margin-top:8px}



#tpai-btn{position:fixed;bottom:28px;right:28px;z-index:99999;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#c9a84c,#f0c040);border:none;cursor:pointer;font-size:24px;box-shadow:0 4px 20px rgba(201,168,76,0.6);display:flex;align-items:center;justify-content:center}
#tpai-btn:hover{transform:scale(1.1)}
#tpai-panel{position:fixed;bottom:96px;right:28px;z-index:99998;width:360px;height:500px;background:#1a1a1a;border:1px solid #c9a84c55;border-radius:16px;display:none;flex-direction:column;box-shadow:0 8px 40px rgba(0,0,0,0.8)}
#tpai-head{padding:12px 14px;border-bottom:1px solid #2a2a2a;display:flex;align-items:center;gap:10px;flex-shrink:0}
#tpai-head h4{margin:0;font-size:14px;font-weight:600;color:#f0c040;flex:1}
#tpai-head small{font-size:11px;color:#22c55e;display:block}
#tpai-close{background:none;border:none;color:#888;cursor:pointer;font-size:18px}
#tpai-close:hover{color:#fff}
#tpai-qbtns{padding:8px 10px;display:flex;gap:5px;flex-wrap:wrap;border-bottom:1px solid #2a2a2a;flex-shrink:0}
.tpai-q{padding:4px 9px;border-radius:20px;border:1px solid #c9a84c44;background:#222;color:#c9a84c;font-size:11px;cursor:pointer}
.tpai-q:hover{background:#c9a84c22;border-color:#c9a84c}
#tpai-msgs{flex:1;overflow-y:auto;padding:12px 10px;display:flex;flex-direction:column;gap:8px}
.tpai-m{display:flex;max-width:100%}
.tpai-m.u{flex-direction:row-reverse}
.tpai-b{padding:8px 12px;border-radius:12px;font-size:13px;line-height:1.5;max-width:85%;word-break:break-word}
.tpai-m.b .tpai-b{background:#252525;color:#e0e0e0}
.tpai-m.u .tpai-b{background:#c9a84c22;border:1px solid #c9a84c44;color:#f0f0f0}
.tpai-dot{display:flex;gap:4px;padding:8px 12px;align-items:center}
.tpai-dot span{width:7px;height:7px;border-radius:50%;background:#c9a84c;animation:tpbounce 1s infinite}
.tpai-dot span:nth-child(2){animation-delay:.2s}
.tpai-dot span:nth-child(3){animation-delay:.4s}
@keyframes tpbounce{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-5px)}}
#tpai-foot{padding:8px 10px;border-top:1px solid #2a2a2a;display:flex;gap:6px;flex-shrink:0}
#tpai-inp{flex:1;background:#222;border:1px solid #333;border-radius:8px;color:#fff;padding:7px 10px;font-size:13px;resize:none;font-family:inherit;outline:none}
#tpai-inp:focus{border-color:#c9a84c55}
#tpai-send{background:linear-gradient(135deg,#c9a84c,#f0c040);border:none;border-radius:8px;color:#111;cursor:pointer;width:34px;font-size:16px;font-weight:bold;flex-shrink:0}
#tpai-send:disabled{opacity:0.4;cursor:default}



/* ===== PORTAL-THEMED LOGIN ===== */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');
.portal-login-bg-blob-1 {
  position: fixed; top: -200px; left: -200px; width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(255,209,0,0.08) 0%, transparent 70%);
  pointer-events: none; z-index: 0;
}
.portal-login-bg-blob-2 {
  position: fixed; bottom: -200px; right: -200px; width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(255,209,0,0.05) 0%, transparent 70%);
  pointer-events: none; z-index: 0;
}
.portal-login-grid {
  position: fixed; inset: 0;
  background-image: linear-gradient(rgba(255,209,0,0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255,209,0,0.03) 1px, transparent 1px);
  background-size: 60px 60px; pointer-events: none; z-index: 0;
}
.portal-login-card {
  position: relative; z-index: 10;
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08);
  border-radius: 24px; padding: 52px 48px; width: 100%; max-width: 440px;
  display: flex; flex-direction: column; align-items: center;
  font-family: 'Inter', sans-serif;
}
.portal-login-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, transparent, #FFD100, transparent);
  border-radius: 24px 24px 0 0;
}
.portal-login-icon {
  width: 64px; height: 64px; background: rgba(255,209,0,0.12);
  border: 1px solid rgba(255,209,0,0.25); border-radius: 18px;
  display: flex; align-items: center; justify-content: center;
  font-size: 28px; margin-bottom: 24px;
}
.portal-login-sep {
  width: 80px; height: 2px;
  background: linear-gradient(90deg, transparent, #FFD100, transparent);
  margin: 0 auto 16px;
}
.portal-login-title {
  font-size: 26px; font-weight: 700; color: #fff;
  text-align: center; margin-bottom: 6px; letter-spacing: -0.3px;
}
.portal-login-title span { color: #FFD100; }
.portal-login-subtitle {
  font-size: 13px; color: rgba(255,255,255,0.4);
  text-align: center; margin-bottom: 36px; letter-spacing: 0.3px;
}
.portal-login-label {
  display: block; font-size: 11px; font-weight: 600;
  letter-spacing: 1.2px; text-transform: uppercase;
  color: rgba(255,255,255,0.45); margin-bottom: 8px;
}
.portal-login-input-wrap { position: relative; margin-bottom: 20px; }
.portal-login-input-icon {
  position: absolute; left: 14px; top: 50%; transform: translateY(-50%);
  width: 16px; height: 16px; color: rgba(255,255,255,0.3);
}
.portal-login-input {
  width: 100%; background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1); border-radius: 12px;
  padding: 13px 16px 13px 42px; font-size: 14px; color: #fff;
  outline: none; transition: all 0.2s ease;
  font-family: 'Inter', sans-serif; box-sizing: border-box;
}
.portal-login-input:focus {
  border-color: rgba(255,209,0,0.5); background: rgba(255,209,0,0.04);
  box-shadow: 0 0 0 3px rgba(255,209,0,0.08);
}
.portal-login-input::placeholder { color: rgba(255,255,255,0.2); }
.portal-login-btn {
  width: 100%; padding: 14px; background: #FFD100; color: #000;
  border: none; border-radius: 12px; font-size: 14px; font-weight: 700;
  cursor: pointer; transition: all 0.2s ease; letter-spacing: 0.3px;
  margin-top: 8px; font-family: 'Inter', sans-serif;
}
.portal-login-btn:hover {
  background: #ffe033; transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(255,209,0,0.25);
}
.portal-login-error {
  background: rgba(239,68,68,0.1); border: 1px solid rgba(239,68,68,0.2);
  color: #f87171; font-size: 13px; padding: 10px 14px; border-radius: 10px;
  margin-bottom: 16px; text-align: center; display: none;
}
.portal-login-footer {
  margin-top: 28px; font-size: 11px;
  color: rgba(255,255,255,0.18); text-align: center; letter-spacing: 0.3px;
}
/* ===== END PORTAL LOGIN ===== */
/* Board Narrative Modal */
.bn-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.88);backdrop-filter:blur(8px);display:flex;align-items:flex-start;justify-content:center;z-index:9999;padding:20px;overflow-y:auto}
.bn-modal{background:#0d1117;border:1px solid rgba(255,209,0,0.3);border-radius:20px;width:100%;max-width:900px;margin:auto;position:relative;overflow:hidden}
.bn-header{background:linear-gradient(135deg,rgba(255,209,0,0.15),rgba(230,184,0,0.1));border-bottom:1px solid rgba(255,209,0,0.2);padding:24px 28px}
.bn-header h2{font-size:20px;font-weight:800;color:#fff;margin:0 0 4px}
.bn-header p{font-size:12px;color:rgba(255,255,255,0.5);margin:0}
.bn-close{position:absolute;top:20px;right:20px;background:rgba(255,255,255,0.08);border:none;color:rgba(255,255,255,0.6);width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center}
.bn-close:hover{background:rgba(255,255,255,0.15);color:#fff}
.bn-body{padding:24px 28px;max-height:80vh;overflow-y:auto}
.bn-score-bar{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.bn-score-card{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:12px;padding:16px;flex:1;min-width:160px;text-align:center}
.bn-section{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);border-radius:14px;padding:20px;margin-bottom:16px}
.bn-section-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.bn-section-title{font-size:15px;font-weight:700;color:#fff}
.bn-narrative{font-size:13px;color:rgba(255,255,255,0.75);line-height:1.7;margin-bottom:12px}
.bn-metrics-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.bn-metric{background:rgba(255,255,255,0.04);border-radius:8px;padding:6px 12px;font-size:11px}
.bn-metric-label{color:rgba(255,255,255,0.4);margin-bottom:2px}
.bn-metric-value{font-weight:700;color:#fff;font-size:13px}
.bn-risk-row{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid rgba(255,255,255,0.05)}
.bn-risk-row:last-child{border-bottom:none}
.bn-rec-item{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid rgba(255,255,255,0.05)}
.bn-rec-item:last-child{border-bottom:none}
.bn-loading{display:flex;flex-direction:column;align-items:center;padding:64px;gap:16px}
.bn-spinner{width:48px;height:48px;border:3px solid rgba(255,209,0,0.2);border-top-color:#FFD100;border-radius:50%;animation:spin 0.8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.bn-footer{padding:16px 28px;border-top:1px solid rgba(255,255,255,0.07);display:flex;justify-content:flex-end;gap:10px;background:rgba(0,0,0,0.3)}



    #boardReportRenderSandbox * { box-sizing: border-box; }
    /* ── Base slide ── */
    #boardReportRenderSandbox .mtn-slide { width:1600px; height:900px; position:relative; overflow:hidden; font-family:'Segoe UI',Arial,Helvetica,sans-serif; background:#ffffff; color:#111827; border:1px solid #d7dce2; margin:0 0 24px 0; }
    #boardReportRenderSandbox .mtn-slide.dark { background:#0d0d0d; color:#ffffff; border-color:#0d0d0d; }
    /* ── Cover accent strip ── */
    #boardReportRenderSandbox .mtn-cover-strip { position:absolute; left:0; top:0; width:14px; height:100%; background:linear-gradient(180deg,#FFD100 0%,#f0b800 100%); }
    #boardReportRenderSandbox .mtn-cover-geo { position:absolute; right:0; top:0; width:540px; height:100%; background:linear-gradient(135deg,#0d0d0d 0%,#1a1a1a 40%,#2a2a2a 100%); clip-path:polygon(18% 0%,100% 0%,100% 100%,0% 100%); }
    #boardReportRenderSandbox .mtn-cover-geo-line { position:absolute; right:0; top:0; width:540px; height:100%; }
    /* ── Logo ── */
    #boardReportRenderSandbox .mtn-logo { position:absolute; top:22px; right:38px; width:100px; height:auto; z-index:10; }
    /* ── Tags / pills ── */
    #boardReportRenderSandbox .mtn-tag { display:inline-block; background:#FFD100; color:#111111; padding:9px 18px; border-radius:999px; font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
    #boardReportRenderSandbox .mtn-tag.darkmode { background:rgba(255,209,0,.16); color:#FFD100; border:1px solid rgba(255,209,0,.28); }
    /* ── Header ── */
    #boardReportRenderSandbox .mtn-header { position:absolute; left:48px; right:160px; top:38px; }
    #boardReportRenderSandbox .mtn-title { font-size:48px; line-height:1.06; font-weight:800; margin-top:22px; letter-spacing:-.02em; }
    #boardReportRenderSandbox .mtn-slide.dark .mtn-title { color:#ffffff; }
    #boardReportRenderSandbox .mtn-sub { font-size:18px; color:#6B7280; margin-top:10px; line-height:1.4; max-width:960px; }
    #boardReportRenderSandbox .mtn-slide.dark .mtn-sub { color:#d1d5db; }
    /* ── Gradient separator line ── */
    #boardReportRenderSandbox .mtn-line { height:5px; width:100%; border-radius:999px; background:linear-gradient(90deg,#FFD100 0%,#FFD100 24%,#2F80ED 24%,#2F80ED 46%,#E5E7EB 46%,#E5E7EB 100%); margin-top:16px; }
    #boardReportRenderSandbox .mtn-slide.dark .mtn-line { background:linear-gradient(90deg,#FFD100 0%,#FFD100 24%,#2F80ED 24%,#2F80ED 46%,rgba(255,255,255,.18) 46%,rgba(255,255,255,.18) 100%); }
    /* ── Body ── */
    #boardReportRenderSandbox .mtn-body { position:absolute; left:48px; right:48px; top:160px; bottom:66px; }
    /* ── Footer ── */
    #boardReportRenderSandbox .mtn-footer-l, #boardReportRenderSandbox .mtn-footer-r { position:absolute; bottom:20px; font-size:12px; color:#9CA3AF; }
    #boardReportRenderSandbox .mtn-footer-l { left:48px; }
    #boardReportRenderSandbox .mtn-footer-r { right:48px; text-align:right; }
    #boardReportRenderSandbox .mtn-slide.dark .mtn-footer-l, #boardReportRenderSandbox .mtn-slide.dark .mtn-footer-r { color:#6B7280; }
    /* ── Slide counter ── */
    #boardReportRenderSandbox .mtn-page { position:absolute; bottom:18px; left:50%; transform:translateX(-50%); font-size:12px; color:#9CA3AF; font-weight:700; letter-spacing:.08em; }
    #boardReportRenderSandbox .mtn-slide.dark .mtn-page { color:#4B5563; }
    /* ── Grids ── */
    #boardReportRenderSandbox .mtn-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
    #boardReportRenderSandbox .mtn-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
    #boardReportRenderSandbox .mtn-grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
    /* ── Cards ── */
    #boardReportRenderSandbox .mtn-card { background:#F5F6F8; border:1px solid #E5E7EB; border-radius:20px; padding:20px 22px; box-shadow:0 8px 22px rgba(17,24,39,.05); }
    #boardReportRenderSandbox .mtn-card.darkcard { background:#151515; color:#ffffff; border-color:#1f1f1f; box-shadow:none; }
    #boardReportRenderSandbox .mtn-card-title { font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:#6B7280; margin-bottom:10px; }
    #boardReportRenderSandbox .mtn-card.darkcard .mtn-card-title { color:#FFD100; }
    #boardReportRenderSandbox .mtn-big { font-size:34px; font-weight:800; line-height:1.05; margin-bottom:8px; }
    #boardReportRenderSandbox .mtn-mid { font-size:18px; font-weight:700; line-height:1.2; }
    #boardReportRenderSandbox .mtn-note { font-size:14px; color:#6B7280; line-height:1.45; }
    #boardReportRenderSandbox .mtn-card.darkcard .mtn-note { color:#d1d5db; }
    /* ── KPI strip ── */
    #boardReportRenderSandbox .mtn-kpi-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:20px; }
    #boardReportRenderSandbox .mtn-kpi { border-radius:18px; background:#F5F6F8; border:1px solid #E5E7EB; overflow:hidden; }
    #boardReportRenderSandbox .mtn-kpi-top { height:6px; }
    #boardReportRenderSandbox .mtn-kpi-body { padding:14px 16px 16px; }
    #boardReportRenderSandbox .mtn-kpi-label { font-size:11px; color:#6B7280; font-weight:800; letter-spacing:.1em; text-transform:uppercase; margin-bottom:8px; }
    #boardReportRenderSandbox .mtn-kpi-value { font-size:26px; font-weight:800; line-height:1.05; margin-bottom:4px; }
    #boardReportRenderSandbox .mtn-kpi-sub { font-size:12px; color:#6B7280; line-height:1.35; }
    /* ── Panels ── */
    #boardReportRenderSandbox .mtn-panel { background:#F5F6F8; border:1px solid #E5E7EB; border-radius:20px; padding:16px 18px; }
    #boardReportRenderSandbox .mtn-panel-title { font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:#374151; margin-bottom:12px; border-bottom:2px solid #FFD100; padding-bottom:8px; }
    #boardReportRenderSandbox .mtn-dark-panel { background:#111111; color:#ffffff; border-radius:20px; padding:20px 22px; }
    #boardReportRenderSandbox .mtn-dark-panel .mtn-panel-title, #boardReportRenderSandbox .mtn-dark-panel .mtn-card-title { color:#FFD100; }
    #boardReportRenderSandbox .mtn-dark-list { list-style:none; padding:0; margin:10px 0 0; }
    #boardReportRenderSandbox .mtn-dark-list li { display:flex; gap:12px; align-items:flex-start; padding:10px 0; border-bottom:1px solid rgba(255,255,255,.10); font-size:15px; line-height:1.4; }
    #boardReportRenderSandbox .mtn-dark-list li:last-child { border-bottom:none; }
    #boardReportRenderSandbox .mtn-bullet { width:12px; height:12px; margin-top:4px; border-radius:3px; background:#FFD100; flex:0 0 auto; }
    /* ── Bar rows ── */
    #boardReportRenderSandbox .mtn-bars { display:flex; flex-direction:column; gap:12px; }
    #boardReportRenderSandbox .mtn-bar-row { background:#ffffff; border:1px solid #E5E7EB; border-radius:14px; padding:12px 14px; }
    #boardReportRenderSandbox .mtn-bar-head { display:flex; justify-content:space-between; gap:12px; align-items:baseline; font-size:14px; font-weight:700; margin-bottom:8px; }
    #boardReportRenderSandbox .mtn-bar-track { height:9px; background:#E5E7EB; border-radius:999px; overflow:hidden; margin-bottom:6px; }
    #boardReportRenderSandbox .mtn-bar-fill { height:100%; border-radius:999px; }
    #boardReportRenderSandbox .mtn-bar-foot { font-size:11px; color:#6B7280; }
    /* ── Charts ── */
    #boardReportRenderSandbox .mtn-chart-box { background:#ffffff; border:1px solid #E5E7EB; border-radius:16px; padding:12px 12px 8px; height:270px; display:flex; flex-direction:column; }
    #boardReportRenderSandbox .mtn-chart-box img { width:100%; height:216px; object-fit:contain; object-position:center; }
    #boardReportRenderSandbox .mtn-chart-cap { font-size:11px; color:#6B7280; line-height:1.35; margin-top:6px; }
    #boardReportRenderSandbox .mtn-placeholder { flex:1; display:flex; align-items:center; justify-content:center; color:#9CA3AF; font-size:14px; background:repeating-linear-gradient(-45deg,#fafafa,#fafafa 12px,#f2f4f7 12px,#f2f4f7 24px); border-radius:12px; border:1px dashed #cbd5e1; }
    /* ── Tables ── */
    #boardReportRenderSandbox table.mtn-table { width:100%; border-collapse:collapse; font-size:13px; }
    #boardReportRenderSandbox table.mtn-table th { background:#111111; color:#ffffff; text-align:left; padding:11px 12px; font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
    #boardReportRenderSandbox table.mtn-table td { padding:10px 12px; border-bottom:1px solid #E5E7EB; }
    #boardReportRenderSandbox table.mtn-table tr:nth-child(even) td { background:#fafafa; }
    /* ── Pills ── */
    #boardReportRenderSandbox .mtn-mini-pills { display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; }
    #boardReportRenderSandbox .mtn-pill { border-radius:999px; padding:7px 12px; font-size:12px; font-weight:700; background:#ffffff; border:1px solid #E5E7EB; }
    /* ── Action flow steps ── */
    #boardReportRenderSandbox .mtn-flow { display:flex; flex-direction:column; gap:12px; }
    #boardReportRenderSandbox .mtn-flow-step { display:grid; grid-template-columns:48px 1fr; gap:12px; align-items:start; padding:14px 16px; border-radius:16px; background:#F5F6F8; border:1px solid #E5E7EB; }
    #boardReportRenderSandbox .mtn-flow-step .n { width:38px; height:38px; border-radius:10px; background:#FFD100; color:#111111; font-size:16px; font-weight:800; display:flex; align-items:center; justify-content:center; }
    #boardReportRenderSandbox .mtn-flow-step strong { display:block; font-size:16px; margin-bottom:4px; }
    #boardReportRenderSandbox .mtn-flow-step span { display:block; color:#6B7280; font-size:13px; line-height:1.4; }
    /* ── Closing / highlight grid ── */
    #boardReportRenderSandbox .mtn-highlight-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:24px; }
    #boardReportRenderSandbox .mtn-highlight { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); border-radius:18px; padding:16px 16px 14px; transition:box-shadow .2s; }
    #boardReportRenderSandbox .mtn-highlight:hover { box-shadow:0 0 0 2px #FFD100; }
    #boardReportRenderSandbox .mtn-highlight b { display:block; font-size:26px; color:#FFD100; margin-bottom:7px; }
    #boardReportRenderSandbox .mtn-highlight span { color:#D1D5DB; font-size:13px; line-height:1.45; }
    #boardReportRenderSandbox .mtn-closing-center { position:absolute; left:200px; right:200px; top:160px; text-align:center; }
    #boardReportRenderSandbox .mtn-closing-center h1 { margin:0; font-size:50px; line-height:1.08; font-weight:800; color:#ffffff; }
    #boardReportRenderSandbox .mtn-closing-center p { margin:16px auto 0; max-width:960px; color:#d1d5db; font-size:18px; line-height:1.5; }
    /* ── Commentary boxes ── */
    #boardReportRenderSandbox .mtn-commentary { background:#fffef0; border:1.5px solid #FFD100; border-radius:18px; padding:16px 20px; }
    #boardReportRenderSandbox .mtn-commentary-title { font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:#b38800; margin-bottom:10px; display:flex; align-items:center; gap:8px; }
    #boardReportRenderSandbox .mtn-commentary-title::before { content:''; display:inline-block; width:10px; height:10px; background:#FFD100; border-radius:3px; }
    #boardReportRenderSandbox .mtn-commentary p { margin:0 0 8px; font-size:14px; color:#374151; line-height:1.6; }
    #boardReportRenderSandbox .mtn-commentary p:last-child { margin-bottom:0; }
    /* ── Risk badge ── */
    #boardReportRenderSandbox .mtn-risk-badge { display:inline-block; padding:6px 14px; border-radius:999px; font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
    #boardReportRenderSandbox .mtn-risk-low { background:#ECFDF5; color:#065F46; border:1px solid #6EE7B7; }
    #boardReportRenderSandbox .mtn-risk-med { background:#FFFBEB; color:#92400E; border:1px solid #FCD34D; }
    #boardReportRenderSandbox .mtn-risk-high { background:#FEF2F2; color:#991B1B; border:1px solid #FCA5A5; }
    /* ── Risk matrix ── */
    #boardReportRenderSandbox .mtn-risk-row { display:grid; grid-template-columns:160px 90px 90px 1fr; gap:10px; align-items:center; padding:10px 14px; border-radius:12px; background:#F9FAFB; border:1px solid #E5E7EB; margin-bottom:8px; font-size:13px; }
    #boardReportRenderSandbox .mtn-risk-row.header { background:#111111; color:#ffffff; font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; border:none; }
    /* ── Stat column ── */
    #boardReportRenderSandbox .mtn-stat-col { display:flex; flex-direction:column; gap:10px; }
    #boardReportRenderSandbox .mtn-stat { background:#ffffff; border:1px solid #E5E7EB; border-radius:14px; padding:12px 14px; }
    #boardReportRenderSandbox .mtn-stat-label { font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:#6B7280; margin-bottom:5px; }
    #boardReportRenderSandbox .mtn-stat-val { font-size:22px; font-weight:800; }
    #boardReportRenderSandbox .mtn-stat-note { font-size:12px; color:#6B7280; line-height:1.4; margin-top:4px; }
    /* ── Cover content area ── */
    #boardReportRenderSandbox .mtn-cover-content { position:absolute; left:42px; top:0; right:550px; height:100%; display:flex; flex-direction:column; justify-content:center; padding-left:28px; }
    #boardReportRenderSandbox .mtn-cover-content .mtn-tag { margin-bottom:20px; }
    #boardReportRenderSandbox .mtn-cover-title { font-size:64px; line-height:1.02; font-weight:800; letter-spacing:-.03em; color:#111111; }
    #boardReportRenderSandbox .mtn-cover-sub { font-size:20px; color:#6B7280; margin-top:14px; line-height:1.45; max-width:700px; }
    #boardReportRenderSandbox .mtn-cover-meta { display:flex; gap:24px; margin-top:32px; }
    #boardReportRenderSandbox .mtn-cover-meta-item { border-left:3px solid #FFD100; padding-left:12px; }
    #boardReportRenderSandbox .mtn-cover-meta-label { font-size:11px; color:#9CA3AF; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
    #boardReportRenderSandbox .mtn-cover-meta-val { font-size:15px; font-weight:700; color:#111111; margin-top:2px; }
    /* ── Cover right panel ── */
    #boardReportRenderSandbox .mtn-cover-right { position:absolute; right:38px; top:90px; width:460px; }
    #boardReportRenderSandbox .mtn-cover-right .mtn-kpi-strip { grid-template-columns:1fr 1fr; }
    #boardReportRenderSandbox .mtn-cover-right .mtn-kpi { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); color:#ffffff; }
    #boardReportRenderSandbox .mtn-cover-right .mtn-kpi-label { color:#FFD100; }
    #boardReportRenderSandbox .mtn-cover-right .mtn-kpi-value { color:#ffffff; }
    #boardReportRenderSandbox .mtn-cover-right .mtn-kpi-sub { color:#d1d5db; }
    #boardReportRenderSandbox .mtn-cover-right .mtn-card-title { color:#FFD100; }
    #boardReportRenderSandbox .mtn-cover-highlight { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); border-radius:16px; padding:16px 18px; color:#ffffff; margin-top:14px; }
    #boardReportRenderSandbox .mtn-empty { color:#6B7280; font-size:14px; padding:10px 0; }
    /* ── Numbered agenda ── */
    #boardReportRenderSandbox .mtn-number { width:32px; height:32px; border-radius:9px; background:#FFD100; color:#111111; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:15px; margin-bottom:14px; }
    #boardReportRenderSandbox .mtn-agenda-title { font-size:20px; font-weight:800; margin-bottom:6px; }
    /* ── Two-col commentary layout ── */
    #boardReportRenderSandbox .mtn-two-col { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
    /* ── Forecast commentary ── */
    #boardReportRenderSandbox .mtn-forecast-row { display:flex; gap:10px; align-items:flex-start; padding:9px 0; border-bottom:1px solid #E5E7EB; font-size:13px; }
    #boardReportRenderSandbox .mtn-forecast-row:last-child { border-bottom:none; }
    #boardReportRenderSandbox .mtn-forecast-icon { width:24px; height:24px; border-radius:8px; flex:0 0 auto; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:800; }
    #boardReportRenderSandbox .mtn-fc-up { background:#ECFDF5; color:#065F46; }
    #boardReportRenderSandbox .mtn-fc-down { background:#FEF2F2; color:#991B1B; }
    #boardReportRenderSandbox .mtn-fc-flat { background:#F3F4F6; color:#374151; }
  
/* ═══════════════════════════════════════════════════════════════
   MOBILE RESPONSIVE — TreasuryPro v20260322
   ═══════════════════════════════════════════════════════════════ */

/* Hamburger button — hidden on desktop, shown on mobile */
.mob-menu-btn{display:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;padding:7px;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;cursor:pointer;flex-shrink:0}
.mob-menu-btn span{display:block;width:100%;height:2px;background:var(--text);border-radius:2px;transition:var(--transition)}

/* Sidebar overlay — covers main content when sidebar is open */
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.65);z-index:299;backdrop-filter:blur(2px)}
.sidebar-overlay.open{display:block}

/* ── Tablet: 768px – 1024px ──────────────────────────────────── */
@media(max-width:1024px){
  .kpi-grid-6{grid-template-columns:repeat(3,1fr)}
  .kpi-grid-4{grid-template-columns:repeat(2,1fr)}
  .g4{grid-template-columns:repeat(2,1fr)}
}

/* ── Mobile: ≤768px ──────────────────────────────────────────── */
@media(max-width:768px){
  /* Show hamburger */
  .mob-menu-btn{display:flex}

  /* Sidebar becomes slide-over */
  .sidebar{
    position:fixed;left:0;top:0;bottom:0;height:100vh;
    z-index:300;
    transform:translateX(-100%);
    transition:transform 0.3s cubic-bezier(0.25,0.46,0.45,0.94);
    box-shadow:4px 0 24px rgba(0,0,0,0.5);
  }
  .sidebar.open{transform:translateX(0)}

  /* Main content fills full width */
  .layout{overflow:visible}
  .main{padding:16px 14px 40px}

  /* KPI grids: 2 columns */
  .kpi-grid-6,.kpi-grid-4,.kpi-grid-3{grid-template-columns:repeat(2,1fr)}
  .kpi-grid-5{grid-template-columns:repeat(2,1fr)}

  /* Chart grids: stack to 1 column */
  .g2,.g2e,.g3,.g4{grid-template-columns:1fr}

  /* Page header: stack title and actions */
  .pg-header{flex-direction:column;align-items:flex-start;gap:10px}
  .pg-actions{width:100%;flex-wrap:wrap}

  /* Modals: full width */
  .modal{width:95vw;max-width:100%;margin:10px auto;max-height:90vh;overflow-y:auto}
  .modal.xl{width:95vw}

  /* FX ticker bar: smaller */
  #fxt-bar{font-size:11px;padding:0 10px}
}

/* ── Small mobile: ≤480px ──────────────────────────────────────── */
@media(max-width:480px){
  .kpi-grid-6,.kpi-grid-5,.kpi-grid-4,.kpi-grid-3{grid-template-columns:1fr}
  .mb-sub{display:none}
  .mb-logo{width:30px;height:30px}
  .main{padding:12px 10px 40px}
  /* Period toggle: smaller */
  .period-tog button{font-size:11px;padding:4px 8px}
}
