/* ============================================================
   FlowIQ — Dashboard styles (scoped ใต้ .fiq-dash)
   โหลดใน Pages/_Host.cshtml · พาเลต hardcode (ไม่พึ่ง flowiq-design.css)
   ทุกคลาส scope ใต้ .fiq-dash เพื่อไม่ให้รั่วไปหน้าอื่นของแอป
   พอร์ตทีละ tab — ไฟล์นี้จะเพิ่มคลาสของแต่ละ tab เมื่อ port
   [rc23+] tab: today
   ============================================================ */

.fiq-dash{
  /* scoped tokens */
  --ink:#13211C; --ink-2:#52615B; --ink-3:#869089;
  --paper:#EFF2F0; --card:#FFFFFF; --line:#E1E6E2; --line-2:#EDF0ED;
  --brand:#0B6E63; --brand-2:#11a08f; --brand-ink:#063F39; --brand-wash:#E4F1EE;
  --gold:#BE8C2C; --gold-2:#d6a338; --gold-wash:#F7EFDC;
  --pos:#18936A; --pos-wash:#E3F2EB;
  --caution:#B6760F; --caution-wash:#FAF0DC;
  --crit:#C8463C; --crit-wash:#FBE9E7;
  --info:#3F6FB5; --info-wash:#E9F0F8;
  --r-sm:10px; --r:14px; --r-lg:20px;
  --sh-1:0 1px 2px rgba(19,33,28,.04),0 2px 8px rgba(19,33,28,.05);
  --gut:18px;
  color:var(--ink);
}

/* font scope: ชนะกฎ global * { font-family:'Sarabun' !important } */
.fiq-dash, .fiq-dash *{ font-family:'IBM Plex Sans Thai','Sarabun',sans-serif !important; }
.fiq-dash .fig{ font-family:'Fraunces',Georgia,serif !important; font-feature-settings:"tnum" 1; letter-spacing:-.01em; font-optical-sizing:auto; }
.fiq-dash .mono{ font-family:'IBM Plex Mono',ui-monospace,monospace !important; }

/* ── alerts ──────────────────────────────────────────────── */
.fiq-dash .alerts{ display:flex; flex-direction:column; gap:1px; border-radius:var(--r-sm); overflow:hidden; border:1px solid var(--crit-wash); margin-bottom:18px; }
.fiq-dash .alert{ display:flex; align-items:center; gap:11px; padding:11px 14px; background:#fff; font-size:13px; color:var(--ink-2); }
.fiq-dash .alert .dot{ width:8px; height:8px; border-radius:50%; flex:none; }
.fiq-dash .alert.crit .dot{ background:var(--crit); } .fiq-dash .alert.warn .dot{ background:var(--caution); }
.fiq-dash .alert b{ font-weight:600; color:var(--ink); }
.fiq-dash .alert .act{ margin-left:auto; font-size:12px; font-weight:600; color:var(--brand); white-space:nowrap; cursor:pointer; background:none; border:none; }

/* ── KPI grid ────────────────────────────────────────────── */
.fiq-dash .kgrid{ display:grid; grid-template-columns:repeat(4,1fr); gap:var(--gut); margin-bottom:var(--gut); }
@media(max-width:1000px){ .fiq-dash .kgrid{ grid-template-columns:repeat(2,1fr); } }
.fiq-dash .kpi{ background:var(--card); border:1px solid var(--line); border-radius:var(--r); padding:16px 17px; box-shadow:var(--sh-1); display:flex; flex-direction:column; gap:9px; }
.fiq-dash .kpi .k-top{ display:flex; align-items:center; gap:8px; color:var(--ink-2); }
.fiq-dash .kpi .k-top svg{ width:15px; height:15px; color:var(--brand); flex:none; }
.fiq-dash .kpi .k-top .lbl{ font-size:12.5px; font-weight:500; }
.fiq-dash .kpi .k-val{ display:flex; align-items:baseline; gap:5px; }
.fiq-dash .kpi .k-val .v{ font-family:'Fraunces',Georgia,serif !important; font-size:25px; font-weight:500; letter-spacing:-.01em; font-feature-settings:"tnum" 1; line-height:1.1; }
.fiq-dash .kpi .k-val .u{ font-size:13px; color:var(--ink-2); font-weight:500; }
.fiq-dash .kpi .k-foot{ display:flex; align-items:center; gap:6px; font-size:11.5px; color:var(--ink-3); }
.fiq-dash .kpi.accent-crit{ border-color:#f0c8c4; } .fiq-dash .kpi.accent-crit .k-top svg{ color:var(--crit); }
.fiq-dash .kpi.accent-caution .k-top svg{ color:var(--caution); }
.fiq-dash .delta{ font-family:'IBM Plex Mono',ui-monospace,monospace !important; font-weight:600; font-size:11px; display:inline-flex; align-items:center; gap:3px; padding:1px 6px; border-radius:6px; }
.fiq-dash .delta.up{ color:var(--pos); background:var(--pos-wash); }
.fiq-dash .delta.down{ color:var(--crit); background:var(--crit-wash); }
.fiq-dash .delta.flat{ color:var(--ink-2); background:var(--line-2); }

/* ── 2-col card row (goal / break-even) ──────────────────── */
.fiq-dash .dash-2col{ display:grid; grid-template-columns:1fr 1fr; gap:var(--gut); margin-bottom:var(--gut); }
@media(max-width:760px){ .fiq-dash .dash-2col{ grid-template-columns:1fr; } }
.fiq-dash .dash-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--sh-1); padding:16px 18px; }
.fiq-dash .dash-card .dc-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; }
.fiq-dash .dash-card .dc-title{ font-size:13px; font-weight:600; display:inline-flex; align-items:center; gap:7px; }
.fiq-dash .dash-card .dc-title svg{ width:15px; height:15px; color:var(--brand); flex:none; }
.fiq-dash .dash-pill{ font-size:12px; font-weight:600; padding:2px 10px; border-radius:999px; }
.fiq-dash .dash-pill.ok{ background:var(--pos-wash); color:var(--pos); }
.fiq-dash .dash-pill.warn{ background:var(--caution-wash); color:var(--caution); }
.fiq-dash .dash-pill.bad{ background:var(--crit-wash); color:var(--crit); }
.fiq-dash .dash-prog{ height:8px; background:var(--line-2); border-radius:4px; overflow:hidden; margin-bottom:6px; }
.fiq-dash .dash-prog > i{ display:block; height:100%; border-radius:4px; transition:width .6s; }
.fiq-dash .dc-sub{ display:flex; justify-content:space-between; font-size:12px; color:var(--ink-3); }
.fiq-dash .dc-big{ font-family:'Fraunces',Georgia,serif !important; font-size:22px; font-weight:600; letter-spacing:-.01em; font-feature-settings:"tnum" 1; }

/* ── quick-link chips ────────────────────────────────────── */
.fiq-dash .dash-chips{ display:flex; gap:9px; flex-wrap:wrap; margin-bottom:6px; }
.fiq-dash .dash-chip{ display:inline-flex; align-items:center; gap:7px; height:34px; padding:0 14px; border-radius:999px; background:var(--card); border:1px solid var(--line); color:var(--ink-2); font-size:12.5px; font-weight:600; cursor:pointer; transition:.15s; }
.fiq-dash .dash-chip:hover{ border-color:#cdd6d1; color:var(--ink); }
.fiq-dash .dash-chip svg{ width:15px; height:15px; flex:none; }
.fiq-dash .dash-chip.panya{ background:var(--gold-wash); border-color:#e7d3a4; color:var(--gold); }
.fiq-dash .dash-chip.panya:hover{ background:#f3e6c8; }

/* ════════════════════════════════════════════════════════════
   [forecast tab] panel / chart / legend / totals / table / list
   (reusable — overview & cost จะใช้ซ้ำ)
   ════════════════════════════════════════════════════════════ */
.fiq-dash .panel{ background:var(--card); border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--sh-1); }
.fiq-dash .panel + .panel{ margin-top:var(--gut); }
.fiq-dash .panel-h{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:15px 18px 0; }
.fiq-dash .panel-b{ padding:13px 18px 18px; }
.fiq-dash .panel-t{ font-size:14px; font-weight:600; color:var(--ink); }
.fiq-dash .panel-t svg{ width:15px; height:15px; color:var(--brand); vertical-align:-2px; margin-right:6px; }
.fiq-dash .panel-t small{ display:block; font-weight:400; font-size:11.5px; color:var(--ink-3); margin-top:3px; }
.fiq-dash .panel-t .free-tag{ font-size:10px; font-weight:600; padding:1px 7px; border-radius:999px; background:var(--line-2); color:var(--ink-2); margin-left:6px; vertical-align:1px; }

.fiq-dash .fiq-select{ font-size:12px; min-width:118px; padding:5px 9px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--ink); }
.fiq-dash .fiq-btn-ghost{ font-size:12px; font-weight:600; padding:5px 13px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--ink-2); text-decoration:none; cursor:pointer; white-space:nowrap; }
.fiq-dash .fiq-btn-ghost:hover{ border-color:#cdd6d1; color:var(--ink); }

/* forecast bar chart */
.fiq-dash .fc-scroll{ overflow-x:auto; margin-top:12px; }
.fiq-dash .fc-inner{ min-width:500px; }
.fiq-dash .fc-bars{ display:flex; align-items:flex-end; gap:8px; height:200px; padding:0 8px; }
.fiq-dash .fc-col{ flex:1 1 0; min-width:60px; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; height:180px; }
.fiq-dash .fc-seg{ width:80%; }
.fiq-dash .fc-seg.actual{ background:var(--brand); }
.fiq-dash .fc-seg.forecast{ background:#cfe8e3; border:1.5px dashed var(--brand-2); }
.fiq-dash .fc-seg.pipeline{ background:#F0DEB0; border:1px solid var(--gold); }
.fiq-dash .fc-seg.won{ background:#bfe3d2; border:1px solid var(--pos); }
.fiq-dash .fc-seg.cap{ border-radius:3px 3px 0 0; }
.fiq-dash .fc-labels{ display:flex; gap:8px; padding:6px 8px 0; }
.fiq-dash .fc-lbl{ flex:1 1 0; min-width:60px; text-align:center; }
.fiq-dash .fc-lbl .m{ font-size:10px; color:var(--ink-3); }
.fiq-dash .fc-lbl .net{ font-size:10.5px; font-weight:600; font-family:'IBM Plex Mono',monospace !important; }
.fiq-dash .fc-lbl .net.pos{ color:var(--pos); } .fiq-dash .fc-lbl .net.neg{ color:var(--crit); }
.fiq-dash .fc-lbl .sub{ font-size:9.5px; line-height:1.3; }
.fiq-dash .fc-lbl .sub.fc{ color:var(--brand); } .fiq-dash .fc-lbl .sub.pl{ color:var(--gold); } .fiq-dash .fc-lbl .sub.ar{ color:var(--pos); }
.fiq-dash .fc-legend{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.fiq-dash .fc-leg{ display:inline-flex; align-items:center; gap:4px; font-size:11px; color:var(--ink-2); }
.fiq-dash .fc-leg .sw{ width:10px; height:10px; border-radius:2px; display:inline-block; flex:none; }
.fiq-dash .fc-leg .sw.actual{ background:var(--brand); }
.fiq-dash .fc-leg .sw.forecast{ background:#cfe8e3; border:1.5px dashed var(--brand-2); }
.fiq-dash .fc-leg .sw.pipeline{ background:#F0DEB0; border:1px solid var(--gold); }
.fiq-dash .fc-leg .sw.won{ background:#bfe3d2; border:1px solid var(--pos); }
.fiq-dash .fc-totals{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:14px; padding-top:14px; border-top:1px solid var(--line); }
.fiq-dash .fc-tot{ text-align:center; }
.fiq-dash .fc-tot .t{ font-size:11px; color:var(--ink-3); margin-bottom:2px; }
.fiq-dash .fc-tot .v{ font-family:'Fraunces',Georgia,serif !important; font-weight:600; font-size:15px; font-feature-settings:"tnum" 1; }

/* upsell banner */
.fiq-dash .fiq-upsell{ margin-top:14px; padding:12px 14px; border-radius:var(--r-sm); display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; background:linear-gradient(120deg,var(--brand-wash),var(--gold-wash)); border:1px dashed #cbb78a; font-size:12px; color:var(--brand-ink); }
.fiq-dash .fiq-upsell svg{ width:15px; height:15px; vertical-align:-2px; margin-right:5px; color:var(--gold); }
.fiq-dash .fiq-upsell .up-btn{ background:var(--brand); color:#fff; border:none; border-radius:8px; font-size:12px; font-weight:600; padding:6px 14px; white-space:nowrap; text-decoration:none; }
.fiq-dash .fiq-upsell .up-btn:hover{ background:var(--brand-ink); }

/* committed list */
.fiq-dash .cx-list{ display:grid; grid-template-columns:1fr 1fr; gap:9px; }
@media(max-width:760px){ .fiq-dash .cx-list{ grid-template-columns:1fr; } }
.fiq-dash .cx-item{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding:9px 11px; background:var(--paper); border:1px solid var(--line-2); border-radius:var(--r-sm); }
.fiq-dash .cx-item .nm{ font-size:13px; font-weight:600; color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fiq-dash .cx-item .ty{ font-size:11px; color:var(--ink-3); margin-top:1px; }
.fiq-dash .cx-item .amt{ font-family:'Fraunces',Georgia,serif !important; font-weight:600; font-size:13px; color:var(--crit); flex:none; }
.fiq-dash .cx-sum{ display:flex; align-items:center; justify-content:space-between; margin-top:12px; padding-top:10px; border-top:1px solid var(--line); }
.fiq-dash .cx-sum .v{ font-family:'Fraunces',Georgia,serif !important; font-weight:600; font-size:15px; color:var(--crit); }

/* empty state */
.fiq-dash .fiq-empty{ text-align:center; padding:18px 10px; color:var(--ink-3); }
.fiq-dash .fiq-empty svg{ width:30px; height:30px; color:var(--ink-3); opacity:.55; }
.fiq-dash .fiq-empty p{ font-size:13px; margin:8px 0 3px; }
.fiq-dash .fiq-empty a{ font-size:12px; color:var(--brand); text-decoration:none; }

/* table */
.fiq-dash .fiq-table{ width:100%; border-collapse:collapse; }
.fiq-dash .fiq-table th{ font-size:11.5px; font-weight:600; color:var(--ink-3); text-align:left; padding:8px 10px; background:var(--paper); border-bottom:1px solid var(--line); }
.fiq-dash .fiq-table td{ font-size:12.5px; color:var(--ink); padding:8px 10px; border-bottom:1px solid var(--line-2); }
.fiq-dash .fiq-table tr:last-child td{ border-bottom:none; }

/* ════════════════════════════════════════════════════════════
   [cost tab] banner / segmented / KPI+benchmark / waterfall / rec / status
   ════════════════════════════════════════════════════════════ */
.fiq-dash .cost-banner{ display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; padding:10px 14px; border-radius:var(--r-sm); font-size:13px; margin-bottom:14px; }
.fiq-dash .cost-banner.info{ background:var(--info-wash); border:1px solid #cfddf2; color:#27496e; }
.fiq-dash .cost-banner.warn{ background:var(--caution-wash); border:1px solid #ecd9a8; color:#7a5208; }
.fiq-dash .cost-banner svg{ width:15px; height:15px; vertical-align:-2px; margin-right:4px; }
.fiq-dash .cb-actions{ display:flex; gap:7px; align-items:center; }
.fiq-dash .cb-x{ background:none; border:none; color:var(--ink-3); cursor:pointer; font-size:13px; padding:4px 7px; border-radius:6px; }
.fiq-dash .cb-x:hover{ background:rgba(0,0,0,.05); color:var(--ink); }

.fiq-dash .cost-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:14px; }
.fiq-dash .cost-sub{ font-size:13px; color:var(--ink-2); }
.fiq-dash .fiq-seg{ display:flex; gap:2px; background:var(--paper); border:1px solid var(--line); border-radius:9px; padding:3px; }
.fiq-dash .fiq-seg button{ font-size:12px; padding:4px 13px; border-radius:6px; border:none; background:transparent; color:var(--ink-2); font-weight:500; cursor:pointer; transition:.15s; }
.fiq-dash .fiq-seg button.on{ background:#fff; color:var(--brand); font-weight:600; box-shadow:0 1px 3px rgba(19,33,28,.1); }

.fiq-dash .cost-kpis{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:14px; }
@media(max-width:820px){ .fiq-dash .cost-kpis{ grid-template-columns:repeat(2,1fr); } }
.fiq-dash .cost-kpi{ background:var(--card); border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--sh-1); padding:14px 15px; }
.fiq-dash .ck-label{ font-size:11px; color:var(--ink-3); margin-bottom:5px; }
.fiq-dash .ck-val-row{ display:flex; align-items:baseline; gap:6px; }
.fiq-dash .ck-val{ font-family:'Fraunces',Georgia,serif !important; font-size:23px; font-weight:600; letter-spacing:-.01em; font-feature-settings:"tnum" 1; line-height:1.1; }
.fiq-dash .ck-delta{ font-family:'IBM Plex Mono',monospace !important; font-size:10px; font-weight:600; padding:1px 6px; border-radius:999px; }
.fiq-dash .bench{ position:relative; height:4px; border-radius:2px; background:var(--line-2); margin-top:8px; }
.fiq-dash .bench > i{ display:block; height:100%; border-radius:2px; }
.fiq-dash .bench > b{ position:absolute; top:-3px; width:2px; height:10px; background:var(--ink-3); border-radius:1px; }
.fiq-dash .ck-bench-cap{ font-size:10px; color:var(--ink-3); margin-top:3px; }

.fiq-dash .cost-2col{ display:grid; grid-template-columns:5fr 7fr; gap:var(--gut); margin-bottom:var(--gut); }
@media(max-width:900px){ .fiq-dash .cost-2col{ grid-template-columns:1fr; } }

/* waterfall */
.fiq-dash .wf-row{ display:flex; align-items:center; gap:10px; margin-bottom:9px; }
.fiq-dash .wf-lbl{ width:84px; flex:none; font-size:11px; color:var(--ink-2); text-align:right; }
.fiq-dash .wf-track{ flex:1; height:22px; background:var(--line-2); border-radius:5px; overflow:hidden; }
.fiq-dash .wf-track > i{ display:block; height:100%; border-radius:5px; }
.fiq-dash .wf-amt{ width:88px; flex:none; font-family:'Fraunces',Georgia,serif !important; font-size:12px; font-weight:600; font-feature-settings:"tnum" 1; text-align:right; }

/* recommendations */
.fiq-dash .rec{ padding:12px 14px; margin-bottom:9px; border-radius:0 var(--r-sm) var(--r-sm) 0; }
.fiq-dash .rec-row{ display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.fiq-dash .rec-rank{ font-size:11px; font-weight:600; margin-bottom:3px; }
.fiq-dash .rec-trend{ margin-left:6px; padding:1px 7px; border-radius:999px; background:var(--crit-wash); color:var(--crit); font-size:10px; font-weight:500; }
.fiq-dash .rec-title{ font-size:13px; font-weight:600; color:var(--ink); margin-bottom:3px; }
.fiq-dash .rec-desc{ font-size:12px; color:var(--ink-2); line-height:1.5; margin-bottom:3px; }
.fiq-dash .rec-reason{ font-size:11px; color:var(--ink-3); }
.fiq-dash .rec-side{ text-align:right; flex:none; }
.fiq-dash .rec-impact{ font-family:'Fraunces',Georgia,serif !important; font-size:12px; font-weight:600; color:var(--pos); }
.fiq-dash .rec-impact-cap{ font-size:10px; color:var(--ink-3); margin-bottom:5px; }
.fiq-dash .rec-sim{ font-size:11px; padding:3px 9px; border:1px solid var(--brand); color:var(--brand); border-radius:7px; background:transparent; cursor:pointer; white-space:nowrap; }
.fiq-dash .rec-sim:hover{ background:var(--brand-wash); }

/* trend / status pills in table */
.fiq-dash .tpill{ margin-left:5px; padding:1px 6px; border-radius:999px; font-size:10px; }
.fiq-dash .tpill.up{ background:var(--crit-wash); color:var(--crit); }
.fiq-dash .tpill.down{ background:var(--pos-wash); color:var(--pos); }
.fiq-dash .sbadge{ padding:2px 8px; border-radius:999px; font-size:10px; font-weight:500; }
.fiq-dash .sbadge.over{ background:var(--crit-wash); color:var(--crit); }
.fiq-dash .sbadge.ok{ background:var(--pos-wash); color:var(--pos); }
.fiq-dash .fiq-table td.sub{ padding-left:30px; color:var(--ink-3); }
.fiq-dash .fiq-table tr.subrow td{ background:var(--paper); color:var(--ink-3); }
.fiq-dash .num{ font-family:'Fraunces',Georgia,serif !important; font-feature-settings:"tnum" 1; }

/* ════════════════════════════════════════════════════════════
   [overview tab] grid-3 / ovw-kpi / runway sub-info / risk widget
   ════════════════════════════════════════════════════════════ */
.fiq-dash .grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--gut); margin-bottom:var(--gut); }
@media(max-width:820px){ .fiq-dash .grid-3{ grid-template-columns:1fr 1fr; } }
@media(max-width:560px){ .fiq-dash .grid-3{ grid-template-columns:1fr; } }
.fiq-dash .ovw-kpi{ background:var(--card); border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--sh-1); padding:16px 17px; }
.fiq-dash .ovw-kpi.click{ cursor:pointer; transition:.15s; }
.fiq-dash .ovw-kpi.click:hover{ border-color:#cdd6d1; box-shadow:0 2px 10px rgba(19,33,28,.08); }
.fiq-dash .ok-head{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:9px; min-height:20px; }
.fiq-dash .ok-ic{ color:var(--brand); display:flex; }
.fiq-dash .ok-ic svg{ width:18px; height:18px; }
.fiq-dash .ok-badge{ font-size:11px; font-weight:600; padding:2px 9px; border-radius:999px; text-decoration:none; }
.fiq-dash .ok-label{ font-size:12.5px; color:var(--ink-2); margin-bottom:4px; }
.fiq-dash .ok-val{ font-family:'Fraunces',Georgia,serif !important; font-size:24px; font-weight:600; letter-spacing:-.01em; font-feature-settings:"tnum" 1; line-height:1.15; color:var(--ink); }
.fiq-dash .ok-val .u{ font-family:'IBM Plex Sans Thai',sans-serif !important; font-size:13px; font-weight:500; color:var(--ink-2); margin-left:3px; }
.fiq-dash .ok-sub{ font-size:11px; color:var(--ink-3); margin-top:4px; }
.fiq-dash .ok-extra{ margin-top:10px; padding-top:10px; border-top:1px solid var(--line-2); font-size:11px; color:var(--ink-3); }
.fiq-dash .ok-extra .rb{ display:flex; justify-content:space-between; margin-bottom:3px; }
.fiq-dash .ok-need{ margin-top:10px; padding-top:10px; border-top:1px solid var(--line-2); }
.fiq-dash .ok-need-box{ display:flex; align-items:flex-start; gap:8px; border-radius:8px; padding:7px 10px; margin-bottom:5px; }
.fiq-dash .ok-need-box.crit{ background:var(--crit-wash); }
.fiq-dash .ok-need-box.warn{ background:var(--caution-wash); }
.fiq-dash .ok-need-box svg{ width:15px; height:15px; flex:none; margin-top:1px; }
.fiq-dash .ok-need-box .nn{ font-family:'Fraunces',Georgia,serif !important; font-weight:700; font-size:13px; }

/* financial risk widget */
.fiq-dash .risk{ grid-column:1 / -1; background:var(--card); border:1px solid var(--line); border-left-width:4px; border-radius:var(--r); box-shadow:var(--sh-1); padding:16px 18px; }
.fiq-dash .risk-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.fiq-dash .risk-head .t{ font-size:11px; font-weight:700; color:var(--ink-3); text-transform:uppercase; letter-spacing:.5px; }
.fiq-dash .risk-head .b{ font-size:11px; font-weight:700; padding:2px 10px; border-radius:999px; }
.fiq-dash .risk-box{ border-radius:9px; padding:11px 13px; margin-bottom:8px; }
.fiq-dash .risk-box.crit{ background:var(--crit-wash); border:1px solid #e9b8b2; }
.fiq-dash .risk-box.warn{ background:var(--caution-wash); border:1px solid #ecd9a8; }
.fiq-dash .risk-box .lab{ font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; margin-bottom:2px; }
.fiq-dash .risk-box .amt{ font-family:'Fraunces',Georgia,serif !important; font-weight:600; font-feature-settings:"tnum" 1; line-height:1.2; }
.fiq-dash .risk-box .meta{ font-size:11px; color:var(--ink-3); margin-top:2px; }
.fiq-dash .risk-bvb{ display:flex; justify-content:space-between; align-items:center; padding:6px 0; border-top:1px solid var(--line-2); margin-top:4px; font-size:11px; color:var(--ink-2); }
.fiq-dash .risk-toggle{ width:100%; margin-top:8px; background:var(--paper); border:1px solid var(--line); font-size:11px; border-radius:7px; color:var(--ink-2); padding:6px; cursor:pointer; }
.fiq-dash .risk-grp{ margin-top:9px; margin-bottom:4px; font-size:11px; font-weight:700; }
.fiq-dash .risk-alert{ border-radius:8px; padding:8px 10px; margin-bottom:5px; font-size:11px; }
.fiq-dash .risk-alert.d{ background:var(--crit-wash); border:1px solid #ecc4bf; }
.fiq-dash .risk-alert.c{ background:var(--caution-wash); border:1px solid #ecd9a8; }
.fiq-dash .risk-alert .desc{ font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.fiq-dash .risk-alert .sb{ color:var(--ink-3); }
.fiq-dash .risk-alert .amt{ font-family:'Fraunces',Georgia,serif !important; font-weight:600; }
.fiq-dash .risk-ack{ display:flex; gap:5px; margin-top:5px; }
.fiq-dash .risk-ack button{ font-size:10px; padding:2px 9px; border-radius:6px; cursor:pointer; border:1px solid; }
.fiq-dash .risk-ack .ack{ background:var(--caution-wash); color:var(--caution); border-color:#ecd9a8; }
.fiq-dash .risk-ack .res{ background:var(--pos-wash); color:var(--pos); border-color:#bfe0cf; }
.fiq-dash .risk-cta{ display:block; margin-top:10px; text-align:center; color:#fff; border-radius:8px; padding:7px 12px; font-size:12px; font-weight:700; text-decoration:none; }

/* [overview] kgrid column variants + kpi rich content */
.fiq-dash .kgrid.kgrid-3{ grid-template-columns:repeat(3,1fr); }
@media(max-width:900px){ .fiq-dash .kgrid.kgrid-3{ grid-template-columns:1fr; } }
.fiq-dash .kgrid.kgrid-2{ grid-template-columns:repeat(2,1fr); }
@media(max-width:760px){ .fiq-dash .kgrid.kgrid-2{ grid-template-columns:1fr; } }
.fiq-dash .kpi .k-rich{ margin-top:auto; padding-top:10px; }
.fiq-dash .minibox{ border-radius:8px; padding:8px 10px; margin-top:8px; font-size:11px; }
.fiq-dash .k-info{ font-size:10px; color:var(--ink-3); cursor:help; }

/* [overview 5b] cash-widget grid splits + heatmap/bar helpers */
.fiq-dash .g-12{ display:grid; grid-template-columns:1fr 2fr; gap:var(--gut); margin-bottom:var(--gut); }
.fiq-dash .g-75{ display:grid; grid-template-columns:7fr 5fr; gap:var(--gut); margin-bottom:var(--gut); }
@media(max-width:820px){ .fiq-dash .g-12, .fiq-dash .g-75{ grid-template-columns:1fr; } }
.fiq-dash .bar-col{ display:flex; flex-direction:column; align-items:center; flex:1 1 0; min-width:30px; }
.fiq-dash .hm-cell{ flex:1 1 0; height:36px; border-radius:4px; display:flex; align-items:center; justify-content:center; font-size:10px; }
.fiq-dash .tl-row{ display:flex; align-items:center; gap:12px; padding:9px 0; border-bottom:1px solid var(--line-2); }
.fiq-dash .tl-day{ width:40px; height:40px; border-radius:9px; display:flex; flex-direction:column; align-items:center; justify-content:center; flex:none; }
.fiq-dash .lkpi{ border-radius:10px; padding:13px; text-align:center; }
