
:root{
  --bg:#E9ECF2; --surface:#FFFFFF; --ink:#141B33; --muted:#5B6478; --line:#D5DAE4; --line-soft:#ECEFF4;
  --indigo:#1C75BC; --indigo-deep:#283B52; --indigo-soft:#E3EFF9; --accent:#6FA22E;
  --pos:#13795B; --pos-soft:#E2F2EC; --neg:#B3362F; --neg-soft:#F8E5E3;
  --font:"IBM Plex Sans", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}
.num{font-variant-numeric:tabular-nums}
button,select,input{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* Header band with a selvedge edge */
header{background:var(--indigo-deep);color:#fff;position:relative}
header::after{content:"";display:block;height:7px;
  background:repeating-linear-gradient(90deg,var(--accent) 0 3px,transparent 3px 7px,#ffffff55 7px 8px,transparent 8px 12px),var(--indigo)}
.hwrap{max-width:1480px;margin:0 auto;padding:20px 28px 0}
.htop{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}
.htop h1{margin:0;font-size:26px;font-weight:600;letter-spacing:-.01em}
.htop p{margin:4px 0 0;color:#C8DCEE;font-size:13px}
.scope{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#C8DCEE}
.scope{position:relative}
.scope > button{background:#ffffff14;border:1px solid #ffffff40;color:#fff;border-radius:6px;padding:7px 10px;min-width:280px;text-align:left;cursor:pointer}
.scope > button::after{content:"▾";float:right;margin-left:10px;color:#C8DCEE}
.spop{position:absolute;top:calc(100% + 6px);right:0;z-index:30;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:10px;
  box-shadow:0 14px 36px rgba(10,14,40,.28);padding:14px 16px;width:min(760px,94vw);font-size:13px}
.spop[hidden]{display:none}
.spop h4{margin:0 0 6px;font-size:12px;font-weight:600;color:var(--indigo-deep)}
.spop .srow{display:flex;flex-wrap:wrap;gap:4px 18px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--line-soft)}
.spop .scols{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 22px}
.spop label{display:flex;gap:8px;align-items:center;padding:3px 0;cursor:pointer}
.spop label.cxh{font-weight:600;border-bottom:1px solid var(--line-soft);margin-bottom:3px;padding-bottom:5px}
.spop .sub{padding-left:22px}
.spop .pfoot{display:flex;justify-content:space-between;gap:8px;border-top:1px solid var(--line-soft);padding-top:10px;margin-top:10px}
.spop .pfoot button{border:1px solid var(--line);background:#fff;border-radius:6px;padding:5px 10px;cursor:pointer}
.spop .pfoot .hint{color:var(--muted);font-size:12px;align-self:center}
.warn{background:var(--neg-soft);color:var(--neg);border:1px solid #E7B9B4;border-radius:8px;padding:10px 14px;margin-bottom:16px;font-weight:500}
.warn[hidden]{display:none}
/* Turnover analysis */
.cov{display:grid;grid-template-columns:52px repeat(12,minmax(26px,1fr));gap:3px;max-width:760px;margin-top:4px;font-size:11px}
.cov .yl{color:var(--muted);align-self:center;font-weight:600}
.cov .ml{color:var(--muted);text-align:center}
.cov .c{height:22px;border-radius:4px;background:#E7EDE9;border:1px solid transparent;position:relative}
.cov .c.miss{background:repeating-linear-gradient(135deg,#E4E6EC 0 4px,#F5F6F9 4px 8px)}
.cov .c.none{background:transparent}
.cov .c.inB{background:#AFC0E8;border-color:#7C93CF}
.cov .c.inC{background:var(--indigo);border-color:var(--indigo)}
.cov .c.inB.inC{background:linear-gradient(135deg,#AFC0E8 50%,var(--indigo) 50%)}
.cov .c.drop{outline:2px solid var(--neg);outline-offset:-2px}
.covleg{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:var(--muted);margin-top:8px}
.covleg i{display:inline-block;width:14px;height:12px;border-radius:3px;margin-right:5px;vertical-align:-2px}
.kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px}
.kpi{border:1px solid var(--line);border-radius:8px;padding:10px 12px}
.kpi .k{font-size:12px;color:var(--muted)}
.kpi .v{font-size:20px;font-weight:600;margin-top:2px}
.kpi .s{font-size:12px;color:var(--muted);margin-top:2px}
.kpi .s b{font-weight:600}
.kpi .s .up{color:var(--pos)} .kpi .s .down{color:var(--neg)}
.tabridge{height:400px}
table.pvm{border-collapse:separate;border-spacing:0;width:100%;min-width:1180px;font-size:13px}
table.pvm th,table.pvm td{padding:7px 9px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--line-soft)}
table.pvm th:first-child,table.pvm td:first-child{text-align:left;position:sticky;left:0;background:#fff;z-index:1;max-width:260px;overflow:hidden;text-overflow:ellipsis}
table.pvm thead th{font-weight:500;color:var(--muted);font-size:12px;vertical-align:bottom}
table.pvm thead tr:first-child th{color:var(--indigo-deep);font-weight:600;border-bottom:2px solid var(--indigo);text-align:center}
table.pvm .gs{border-left:1px solid var(--line)}
table.pvm .var{background:#FAFBFD}
table.pvm td.pos{color:var(--pos)} table.pvm td.neg{color:var(--neg)}
table.pvm td.tot{font-weight:600}
table.pvm tr.brow{cursor:pointer}
table.pvm tr.brow:hover td{background:#F4F6FB}
table.pvm tr.brow td:first-child::before{content:"▸";display:inline-block;width:14px;color:var(--muted);transition:transform .15s}
table.pvm tr.brow.open td:first-child::before{transform:rotate(90deg)}
table.pvm tr.subr td{font-size:12px;color:var(--muted);background:#FBFBFD}
table.pvm tr.subr td:first-child{padding-left:30px;background:#FBFBFD}
table.pvm tr.subr[hidden]{display:none}
table.pvm tr.other td{font-style:italic}
table.pvm tr.sumr td{font-weight:600;border-top:2px solid var(--line);background:#F2F4FA}
table.pvm tr.sumr td:first-child{background:#F2F4FA}
table.pvm tr.nk td{color:var(--muted)}
table.pvm tr.grand td{font-weight:700;background:#E3EFF9}
table.pvm tr.grand td:first-child{background:#E3EFF9}
.tag-new{display:inline-block;font-size:10px;font-weight:600;padding:1px 5px;border-radius:4px;margin-left:6px;background:var(--pos-soft);color:var(--pos)}
.tag-lost{display:inline-block;font-size:10px;font-weight:600;padding:1px 5px;border-radius:4px;margin-left:6px;background:var(--neg-soft);color:var(--neg)}
.method p{margin:8px 0;color:var(--ink);font-size:13px;max-width:980px}
@media (max-width:1100px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}

.spop2{display:block!important;width:340px;grid-template-columns:none!important}
.spop2[hidden]{display:none!important}
.spop2 input[type=search]{width:100%;border:1px solid var(--line);border-radius:6px;padding:6px 8px;margin-bottom:8px}
.spop2 .plist{max-height:300px;overflow:auto;border:1px solid var(--line-soft);border-radius:6px;padding:4px 8px}
.spop2 .plist label{display:flex;justify-content:space-between;gap:8px;padding:4px 0;font-size:13px;cursor:pointer}
.spop2 .plist label span{display:flex;gap:8px;align-items:center;min-width:0}
.spop2 .plist label em{font-style:normal;color:var(--muted);font-size:12px;white-space:nowrap}
.spick{position:relative}
.ctl[hidden]{display:none!important}
.chk[hidden]{display:none!important}
/* Utility analysis */
.ut-kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:16px}
.kpi .s .bad{color:var(--neg)} .kpi .s .good{color:var(--pos)}
.insights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ins{border:1px solid var(--line);border-left:4px solid var(--indigo);border-radius:8px;padding:12px 14px;font-size:13px;line-height:1.5}
.ins.problem{border-left-color:var(--neg)}
.ins.opp{border-left-color:var(--pos)}
.ins.info{border-left-color:var(--accent)}
.ins .tg{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;margin-bottom:4px}
.ins.problem .tg{color:var(--neg)} .ins.opp .tg{color:var(--pos)} .ins.info .tg{color:#4E7A1C} .ins.head .tg{color:var(--indigo)}
.ins h4{margin:0 0 4px;font-size:14px;font-weight:600}
.ins p{margin:0}
.ins .act{margin-top:6px;color:var(--ink)} .ins .act b{font-weight:600}
table.ut{min-width:1100px}
table.ut td.bad{color:var(--neg)} table.ut td.good{color:var(--pos)}
table.ut td small{display:block;font-size:11px;color:var(--muted)}
table.ut td.bad small,table.ut td.good small{color:inherit;opacity:.85}
.sub3{font-size:14px;font-weight:600;margin:18px 0 8px}
@media (max-width:1100px){.insights{grid-template-columns:1fr}.ut-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}

table.brt{min-width:900px}
table.brt td.drv{text-align:left;white-space:normal;min-width:260px;color:var(--muted);font-size:12px;line-height:1.35}
table.brt tr.endr td{font-weight:600;background:#F2F4FA}
table.brt tr.endr td:first-child{background:#F2F4FA}
table.brt td.tot{font-weight:600}

.tgl{border:1px solid var(--line);background:#fff;border-radius:6px;padding:5px 12px;cursor:pointer;font-size:12px;font-weight:500;color:var(--indigo-deep);display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.tgl::before{content:"▾";transition:transform .15s}
.tgl[aria-expanded="false"]::before{transform:rotate(-90deg)}
.tgl:hover{background:var(--indigo-soft)}
.tglhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}
.tglhead .sub3{margin:0}
#utBrWrap{margin-top:8px}
#utInsWrap[hidden],#utBrWrap[hidden]{display:none}
/* Receivables */
.ar-kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:16px}
.kpi.alert{border-color:#E7B9B4;background:#FDF5F4}
.kpi.ok{border-color:#BFE0D3;background:#F4FAF7}
.arfind{border:1px solid var(--line);border-radius:6px;padding:6px 8px;min-width:200px}
.tgl.dl::before{content:"⬇"}
.pricount{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.pc{border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:12px}
.pc b{font-weight:600}
.arlist{max-height:560px;overflow:auto}
table.ar{min-width:1150px;font-size:12.5px}
table.ar thead th{position:sticky;top:0;background:#fff;z-index:2}
table.ar thead th:first-child{z-index:3}
table.ar td{vertical-align:top}
table.ar td.txt{text-align:left;white-space:normal;min-width:180px;max-width:320px;line-height:1.35}
table.ar td.act{text-align:left;white-space:normal;min-width:240px;max-width:360px;line-height:1.35;color:var(--ink)}
table.ar th.sort{cursor:pointer;user-select:none}
table.ar th.sort:hover{color:var(--indigo)}
table.ar th.sort[data-dir="asc"]::after{content:" ▲";font-size:9px}
table.ar th.sort[data-dir="desc"]::after{content:" ▼";font-size:9px}
.pri{display:inline-block;font-size:11px;font-weight:600;border-radius:4px;padding:1px 7px;white-space:nowrap}
.pri.p1{background:var(--neg);color:#fff}
.pri.p2{background:#F3C9A3;color:#7A3E06}
.pri.p3{background:var(--pos-soft);color:var(--pos)}
.pri.p4{background:#ECEFF4;color:var(--muted)}
.stg{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:5px}
table.heat{min-width:900px;font-size:12.5px}
table.heat td{text-align:right}
table.heat td.z{color:#C3C9D4}
table.heat tr.sumr td{border-top:2px solid var(--line)}
@media (max-width:1100px){.ar-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
#c2 .wfgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
#c2 .wfcard{min-width:0}
table.ar#arUnitTable{min-width:0}
@media (max-width:1000px){#c2 .wfgrid{grid-template-columns:minmax(0,1fr)}}

nav.blocks{display:flex;gap:6px;margin-top:16px}
nav.blocks button{background:transparent;border:1px solid #ffffff40;color:#DDE1F3;padding:6px 18px;border-radius:999px;cursor:pointer;font-weight:600;letter-spacing:.02em}
nav.blocks button:hover{background:#ffffff14}
nav.blocks button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#1B1408}
nav.tabs{display:flex;flex-wrap:wrap;gap:4px;margin-top:12px}
nav.tabs[hidden]{display:none}
.soon{text-align:center;padding:60px 20px;color:var(--muted)}
.soon h2{color:var(--ink);font-size:20px;margin:0 0 6px}
nav.tabs button{background:transparent;border:0;color:#C8DCEE;padding:10px 16px;border-radius:8px 8px 0 0;cursor:pointer;font-weight:500}
nav.tabs button[aria-selected="true"]{background:var(--bg);color:var(--indigo-deep)}

main{max-width:1480px;margin:0 auto;padding:22px 28px 48px}
.panel[hidden]{display:none}
section.block{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:20px 22px 22px;margin-bottom:20px}
.bhead{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}
.bhead h2{margin:0;font-size:18px;font-weight:600}
.bhead p{margin:2px 0 0;color:var(--muted);font-size:13px}

/* Summary table */
.tscroll{overflow-x:auto}
table.sum{border-collapse:separate;border-spacing:0;width:100%;min-width:980px}
table.sum th,table.sum td{padding:9px 12px;text-align:right;white-space:nowrap}
table.sum th:first-child,table.sum td:first-child{text-align:left;position:sticky;left:0;background:var(--surface);z-index:1}
table.sum thead tr:first-child th{font-size:13px;font-weight:600;color:var(--indigo-deep);border-bottom:2px solid var(--indigo)}
table.sum thead tr:first-child th.grp{text-align:center}
table.sum thead tr:nth-child(2) th{vertical-align:bottom;border-bottom:1px solid var(--line);font-weight:500}
table.sum .sel{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
table.sum .sel span{font-size:11px;color:var(--muted)}
table.sum select{border:1px solid var(--line);border-radius:6px;padding:5px 6px;background:#fff;font-size:13px;max-width:150px}
table.sum .cur select{border-color:var(--indigo);background:var(--indigo-soft);font-weight:500}
table.sum .gstart{border-left:1px solid var(--line)}
table.sum td{border-bottom:1px solid var(--line-soft)}
table.sum tr.amt td{font-weight:500}
table.sum tr.amt td:first-child{font-weight:600}
table.sum tr.pct td{color:var(--muted);font-size:13px}
table.sum tr.pct td:first-child{padding-left:26px}
table.sum td.cur{color:var(--ink)}
table.sum tr.pct td.cur{color:var(--ink)}
.delta{display:inline-block;min-width:76px;padding:2px 7px;border-radius:5px}
.delta.up{background:var(--pos-soft);color:var(--pos)}
.delta.down{background:var(--neg-soft);color:var(--neg)}
.delta small{display:block;font-size:11px;opacity:.85;font-weight:400}
.note{font-size:12px;color:var(--muted);margin-top:10px}

/* Controls */
.controls{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:flex-end;margin-bottom:14px}
.ctl{display:flex;flex-direction:column;gap:4px}
.ctl > label,.ctl > .lbl{font-size:12px;color:var(--muted)}
.ctl select{border:1px solid var(--line);border-radius:6px;padding:6px 8px;background:#fff;min-width:130px}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:7px;overflow:hidden;background:#fff}
.seg button{border:0;background:transparent;padding:6px 12px;cursor:pointer;border-right:1px solid var(--line)}
.seg button:last-child{border-right:0}
.seg button[aria-pressed="true"]{background:var(--indigo);color:#fff}

/* Line picker */
.picker{position:relative}
.picker > button{border:1px solid var(--line);background:#fff;border-radius:6px;padding:6px 10px;cursor:pointer;min-width:200px;text-align:left}
.picker > button::after{content:"▾";float:right;margin-left:10px;color:var(--muted)}
.pop{position:absolute;top:calc(100% + 6px);left:0;z-index:20;background:#fff;border:1px solid var(--line);border-radius:10px;
  box-shadow:0 12px 32px rgba(20,27,51,.18);padding:14px 16px;display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:6px 22px;width:max-content;max-width:min(860px,92vw)}
.pop[hidden]{display:none}
.pop h4{margin:0 0 4px;font-size:12px;font-weight:600;color:var(--indigo-deep)}
.pop label{display:flex;gap:8px;align-items:center;padding:3px 0;cursor:pointer;font-size:13px}
.pop .pfoot{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line-soft);padding-top:10px;margin-top:6px}
.pop .pfoot button{border:1px solid var(--line);background:#fff;border-radius:6px;padding:5px 10px;cursor:pointer}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 12px}
.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:3px 6px 3px 10px;font-size:12px;background:#fff}
.chip i{width:10px;height:10px;border-radius:2px;display:inline-block}
.chip button{border:0;background:transparent;cursor:pointer;color:var(--muted);padding:0 4px;font-size:14px;line-height:1}
.chartbox{position:relative;height:400px}
details.dt{margin-top:12px}
details.dt summary{cursor:pointer;color:var(--indigo);font-size:13px;font-weight:500}
table.mini{border-collapse:collapse;font-size:12px;margin-top:8px}
table.mini th,table.mini td{padding:5px 9px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--line-soft)}
table.mini th:first-child,table.mini td:first-child{text-align:left;position:sticky;left:0;background:#fff}
table.mini thead th{color:var(--muted);font-weight:500;border-bottom:1px solid var(--line)}

/* Waterfall */
.wfctl{display:flex;flex-wrap:wrap;gap:16px 34px;margin-bottom:16px}
.pgroup{display:flex;gap:10px;align-items:flex-end}
.pgroup .tag{font-size:12px;font-weight:600;color:var(--indigo-deep);padding-bottom:7px;min-width:62px}
.wfgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.wfcard{border:1px solid var(--line);border-radius:8px;padding:14px 14px 10px}
.wfcard h3{margin:0;font-size:15px;font-weight:600}
.wfcard .sub{color:var(--muted);font-size:12px;margin:2px 0 8px}
.wfbox{position:relative;height:360px}
.legend{display:flex;gap:14px;font-size:12px;color:var(--muted);margin:6px 0 0}
.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}
.empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--muted);text-align:center;padding:20px}
/* Tab 2 */
.t2bar{padding-bottom:16px}
.t2bar .controls{margin-bottom:10px}
.within{padding:6px 10px;border:1px dashed var(--line);border-radius:6px;color:var(--muted);background:#FAFBFD;min-width:160px}
.picker > button.pbtn{border:1px solid var(--line);background:#fff;border-radius:6px;padding:6px 10px;cursor:pointer;min-width:220px;text-align:left}
.chk{display:flex;gap:6px;align-items:center;font-size:13px;padding-bottom:6px;cursor:pointer}
.t3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.tcard{min-width:0;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.tcard h3{margin:0;padding:9px 12px;font-size:13px;font-weight:600;background:var(--indigo-soft);color:var(--indigo-deep);border-bottom:1px solid var(--line)}
.tcard.cur h3{background:var(--indigo);color:#fff}
.tcard.chg h3{background:#F1F3F7;color:var(--ink)}
.tcard .tscroll{max-width:100%}
table.ent{border-collapse:collapse;width:100%;font-size:13px}
table.ent th,table.ent td{padding:7px 8px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--line-soft)}
table.ent th{font-weight:500;color:var(--muted);font-size:12px;vertical-align:bottom;white-space:normal;min-width:64px;line-height:1.25}
table.ent th:first-child,table.ent td:first-child{text-align:left;position:sticky;left:0;background:#fff;min-width:104px}
table.ent th.tot,table.ent td.tot{background:#F7F8FB;font-weight:600}
table.ent tr.amt td{font-weight:500}
table.ent tr.pct td{color:var(--muted)}
table.ent tr.pct td:first-child{padding-left:20px}
table.ent .delta{min-width:0;padding:2px 5px;font-size:12px}
table.ent .sw{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:5px}
.chartbox.tall{height:440px}
.wfstack{display:grid;grid-template-columns:1fr;gap:20px}
.wfstack .wfbox{height:380px}

.t3.wide{grid-template-columns:minmax(0,1fr)}
@media (max-width:1150px){.t3{grid-template-columns:minmax(0,1fr)}}
table.ent tr.amt td{height:53px}
table.ent tr.pct td{height:37px}
/* Detailed P&L rows (tabs 3 & 4) */
table.det tr td{font-weight:400}
table.det tr.hdr td{font-style:italic;color:var(--muted);font-size:12px;padding-top:12px;border-bottom:0}
table.det tr.line td:first-child{padding-left:24px}
table.det tr.sub td{font-weight:600;border-top:1px solid var(--line)}
table.det tr.key td{font-weight:700;background:#F2F4FA}
table.det tr.key td:first-child{background:#F2F4FA}
table.det tr.pct td{color:var(--muted);font-size:12px}
table.det tr.pct td:first-child{padding-left:24px}
table.det td{padding-top:6px;padding-bottom:6px}
table.ent.det tr td{height:auto}
table.ent.det tr.line td,table.ent.det tr.sub td,table.ent.det tr.key td{height:50px;box-sizing:border-box}
table.ent.det tr.pct td{height:36px;box-sizing:border-box}
table.ent.det tr.hdr td{height:30px;box-sizing:border-box}
table.ent.det td:first-child{white-space:normal;min-width:0;width:150px;max-width:150px;line-height:1.25}
table.ent.det th:first-child{width:150px}
table.ent.det td{padding-left:6px;padding-right:6px}
table.ent.det thead th{height:44px}
table.ent.det .delta small{font-size:10px}

@media (max-width:1000px){.wfgrid{grid-template-columns:1fr}.pop{grid-template-columns:repeat(2,minmax(150px,1fr))}}
@media (max-width:640px){.hwrap,main{padding-left:14px;padding-right:14px}.chartbox{height:320px}.scope > button{min-width:0;width:100%}.spop .scols{grid-template-columns:1fr}}

/* Inventory */
#c1 .wfgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
#c1 .wfcard{min-width:0}
#c1 table.heat{min-width:760px}
@media (max-width:1000px){#c1 .wfgrid{grid-template-columns:minmax(0,1fr)}}

/* Capacity utilisation */
#e1 .wfgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
#e1 .wfcard{min-width:0}
#e1 .controls .ctl select{min-width:96px}
@media (max-width:1000px){#e1 .wfgrid{grid-template-columns:minmax(0,1fr)}}
/* Meeting notes */
#v1 .wfgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
#v1 .wfcard{min-width:0}
@media (max-width:1000px){#v1 .wfgrid{grid-template-columns:minmax(0,1fr)}}
.mnfocus{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.mncard{border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.45}
.mncard.over{border-left-color:var(--neg);background:#FDF7F6}
.mncard .top{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted);margin-bottom:4px}
.mncard .due{font-weight:600}
.mncard.over .due{color:var(--neg)}
.mncard h4{margin:0 0 3px;font-size:13.5px;font-weight:600}
.mncard p{margin:0;color:var(--muted)}
.mnpill{display:inline-block;font-size:11px;font-weight:600;border-radius:999px;padding:2px 9px;white-space:nowrap}
.mnpill.ns{background:#ECEFF4;color:#4A5468}
.mnpill.wip{background:#FCEFD6;color:#4E7A1C}
.mnpill.done{background:var(--pos-soft);color:var(--pos)}
.mnpill.over{background:var(--neg);color:#fff;margin-left:4px}
table.mnt{min-width:1000px;font-size:13px}
table.mnt td{vertical-align:top}
table.mnt tr.grp td{background:#F2F4FA;font-weight:600;color:var(--indigo-deep);text-align:left;padding-top:9px;padding-bottom:9px}
table.mnt tr.overdue td{background:#FDF5F4}
table.mnt tr.overdue td:first-child{background:#FDF5F4}
table.mnt td.dl{white-space:nowrap}
table.mnt td.dl.late{color:var(--neg);font-weight:600}
table.mnt td.dl.soon{color:#4E7A1C;font-weight:600}
#e1 table.cmpt{min-width:0} #e1 table.cmpt td:first-child{text-align:left}

#e1 .bklegend{font-size:12px;color:var(--muted);margin:-4px 0 12px}
#e1 .bklegend b{color:var(--ink);font-weight:600}
table.bkmat{border-collapse:separate;border-spacing:4px;width:100%;font-size:12px}
table.bkmat th{font-weight:600;color:var(--muted);font-size:11.5px;padding:4px;text-align:center}
table.bkmat th.rh{text-align:right;white-space:nowrap}
table.bkmat td{border-radius:6px;padding:8px 8px;text-align:center;vertical-align:middle;line-height:1.35;min-width:110px}
table.bkmat td .big{font-size:16px;font-weight:700;display:block}
table.bkmat td .sm{font-size:11px;display:block;opacity:.9}
table.bkmat td.tot{background:#F2F4FA;color:var(--ink)}

/* Dyes & chemicals */
#c4 .wfgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
#c4 .wfcard{min-width:0}
#c4 table.cmpt{min-width:0}
#c4 table.cmpt td:first-child{text-align:left}
@media (max-width:1000px){#c4 .wfgrid{grid-template-columns:minmax(0,1fr)}}

.dcpop{width:420px!important}
.dcpop .plist{max-height:340px}
.dcpophint{font-size:11.5px;color:var(--muted);margin:-2px 0 6px}
.dcchips{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 4px}
.dcchips .chip{background:var(--indigo-soft);border-color:#C9D2EE}
.dcchips .chip.clear{background:#fff;cursor:pointer;color:var(--indigo-deep);font-weight:600;padding:3px 10px}

#dcIWrap .pbtn{border:1px solid var(--line);background:#fff;border-radius:6px;padding:6px 10px;cursor:pointer;min-width:220px;max-width:300px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#dcIWrap .pbtn::after{content:"▾";float:right;margin-left:10px;color:var(--muted)}
/* Internal audit */
#v2 .wfgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
#v2 .wfcard{min-width:0}
#v2 table.cmpt{min-width:0}
@media (max-width:1000px){#v2 .wfgrid{grid-template-columns:minmax(0,1fr)}}
.iaheat{display:grid;grid-template-columns:auto repeat(5,1fr);gap:4px;margin-top:8px;font-size:12px}
.iaheat .ax{color:var(--muted);text-align:center;align-self:center;font-size:11px}
.iaheat .cell{border-radius:6px;min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:700;font-size:16px;cursor:default}
.iaheat .cell small{font-size:10px;font-weight:400;opacity:.85}
.iaheat .lbl{grid-column:2/-1;text-align:center;color:var(--muted);font-size:11px}
table.iaov{min-width:1100px;font-size:12.5px}
table.iaov td{vertical-align:top}
table.iat tr.det td{background:#FAFBFD;text-align:left;white-space:normal;font-size:12.5px;line-height:1.5;padding:10px 14px}
table.iat tr.det .dg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px}
table.iat tr.det .dg b{display:block;color:var(--indigo-deep);font-size:11.5px;text-transform:uppercase;letter-spacing:.03em;margin-bottom:2px}
table.iat tr.fr{cursor:pointer}
table.iat tr.fr:hover td{background:#F4F6FB}
table.iat tr.fr td:first-child::before{content:"▸";display:inline-block;width:14px;color:var(--muted)}
table.iat tr.fr.open td:first-child::before{content:"▾"}
.iapill{display:inline-block;font-size:11px;font-weight:600;border-radius:999px;padding:2px 9px;white-space:nowrap}
.iapill.closed{background:var(--pos-soft);color:var(--pos)}
.iapill.over,.iapill.imm{background:var(--neg);color:#fff}
.iapill.soon{background:#FCEFD6;color:#4E7A1C}
.iapill.later{background:#E3EFF9;color:var(--indigo-deep)}
.iapill.nodl{background:#ECEFF4;color:#4A5468}
.iagrade{display:inline-block;font-size:11px;font-weight:600;border-radius:4px;padding:1px 6px;white-space:nowrap}
.iagrade.nmi{background:var(--neg-soft);color:var(--neg)}
.iagrade.mod{background:#FCEFD6;color:#4E7A1C}
table.iaov td.txt,table.iaov th{text-align:left;white-space:normal} table.iaov td{text-align:right} table.iaov td.txt{text-align:left}
