:root{
  --bg:#F4F5F2;--card:#FFFFFF;--line:#E1E4DF;--line2:#F0F1EE;--ink:#14171A;--ink2:#3A3F45;--muted:#5B6168;--muted2:#8A9097;
  --accent:#0E5E57;--accent-soft:#E6F0EE;--accent2:#8FB3AD;--up:#1D5FC2;--down:#B4470E;--warn-bg:#FFF6EF;--warn-line:#F1D3BD;--warn-ink:#8A3A0D;
  --s1:#E3E7E1;--s2:#B9C9E4;--s3:#8FB3AD;--s4:#0E5E57;--s5:#D9894F;--s6:#C9CEC6;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope,system-ui,sans-serif;font-size:14px}
a{color:var(--accent)}a:hover{color:#0A4540}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace}
.muted{color:var(--muted)}
header.top{background:var(--ink);color:#fff;padding:0 28px;min-height:60px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px}
.brand i{width:28px;height:28px;border-radius:7px;background:var(--accent);display:inline-flex;align-items:center;justify-content:center;font-style:normal;font-size:14px}
nav.tabs{display:flex;flex-wrap:wrap;gap:4px;flex:1 1 auto}
nav.tabs a{color:#C4C9CF;text-decoration:none;padding:9px 14px;border-radius:8px;font-weight:500}
nav.tabs a.on{color:#fff;background:rgba(255,255,255,.12);font-weight:600}
.who{display:flex;align-items:center;gap:12px;font-size:13px;color:#C4C9CF}
.who a{color:#C4C9CF}
main{max-width:1376px;margin:0 auto;padding:24px 28px 48px;display:flex;flex-direction:column;gap:20px}
.page-h{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}
.page-h h1{margin:0;font-size:26px;font-weight:800;letter-spacing:-.02em}
.page-h p{margin:6px 0 0;color:var(--muted)}
.alert{background:var(--warn-bg);border:1px solid var(--warn-line);color:var(--warn-ink);border-radius:10px;padding:10px 14px;font-size:13px}
.grid4{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.row{display:flex;flex-wrap:wrap;gap:16px}.row>*{flex:1 1 460px;min-width:0}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px}
.kpi{padding:16px 18px;display:flex;flex-direction:column;gap:10px}
.kpi-h{font-size:13px;font-weight:600;color:var(--muted);display:flex;align-items:center;gap:6px}
.kpi-v{font-size:30px;font-weight:600}
.kpi-v .unit{font-size:15px;color:var(--muted);font-family:Manrope,sans-serif}
.kpi-f{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted)}
.kpi-x{border-top:1px solid var(--line2);padding-top:10px;display:grid;grid-template-columns:1fr auto auto;gap:4px 12px;font-size:12px;color:var(--ink2)}
.kpi-x .mono{text-align:right}
.up{color:var(--up)}.down{color:var(--down)}
.sec{padding:20px 22px;display:flex;flex-direction:column;gap:14px}
.sec-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px}
.sec h2{margin:0;font-size:17px;font-weight:800;display:flex;align-items:center;gap:6px}
.sub{margin:4px 0 0;font-size:13px;color:var(--muted)}
.sec-r{display:flex;gap:20px;font-size:13px;color:var(--muted);flex-wrap:wrap}
.sec-r b{font-family:'JetBrains Mono',monospace;font-size:17px;color:var(--ink)}
.note{margin:0;font-size:12px;color:var(--muted);line-height:1.5}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.stat{border-radius:12px;background:var(--bg);padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.stat-h{font-size:12px;font-weight:700;color:var(--muted)}
.stat-v{font-size:21px;font-weight:600}
.stat-s{font-size:12px;color:var(--muted)}
.stat.warn{background:var(--warn-bg);border:1px solid var(--warn-line)}.stat.warn .stat-v,.stat.warn .stat-h{color:var(--warn-ink)}
.stat.good{background:var(--accent-soft)}.stat.good .stat-v{color:var(--accent)}
.tbl-wrap{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th{padding:8px 10px 8px 0;font-size:12px;font-weight:700;color:var(--muted);border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
.tbl td{padding:10px 10px 10px 0;border-bottom:1px solid var(--line2);vertical-align:middle}
.tbl .right{text-align:right}.tbl .left{text-align:left}
.tbl td small{display:block;font-size:12px;color:var(--muted);font-family:Manrope,sans-serif}
.tbl tr.grp td{font-size:12px;font-weight:800;color:var(--accent);letter-spacing:.02em;padding-top:14px}
.chip{display:inline-block;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}
.chip-ok{background:var(--accent-soft);color:var(--accent)}
.chip-late{background:var(--warn-bg);color:var(--warn-ink)}
.chip-no{background:#FBE9E1;color:var(--down)}
.chip-wait{background:#EEF0EC;color:var(--ink2)}
.chip-off{background:var(--bg);color:var(--muted2)}
.stack{display:flex;border-radius:6px;overflow:hidden;gap:2px;background:var(--line2)}
.legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:var(--ink2)}
.leg{display:inline-flex;align-items:center;gap:6px}
.leg i{width:10px;height:10px;border-radius:3px;display:inline-block}
.bars-wrap{overflow-x:auto}
.bars{position:relative;display:flex;gap:8px;min-width:560px;align-items:flex-end}
.bar{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:5px}
.bar-v{font-size:11px;font-weight:600}
.bar-track{width:100%;max-width:46px;display:flex;align-items:flex-end}
.bar-fill{width:100%;min-height:2px;border-radius:4px 4px 0 0;background:var(--accent2)}
.bar-fill.hi{background:var(--accent)}.bar-fill.today{background:var(--s2)}
.bar-l{font-size:11px;color:var(--muted);white-space:nowrap}.bar-s{font-size:11px;color:var(--muted2);height:14px}
.bar-ref{position:absolute;left:0;right:0;border-top:1.5px dashed var(--muted);pointer-events:none}
.chart{width:100%;height:auto;display:block}
.chart .grid{stroke:var(--line2)}.chart .ax{font-size:11px;fill:var(--muted);font-family:'JetBrains Mono',monospace}
.ln{fill:none;stroke-width:2.5}.dot{stroke:#fff;stroke-width:2}
.ln.s-today{stroke:var(--accent)}.dot.s-today{fill:var(--accent)}.leg i.s-today{background:var(--accent)}
.ln.s-y{stroke:var(--s2)}.dot.s-y{fill:var(--s2)}.leg i.s-y{background:var(--s2)}
.ln.s-w{stroke:var(--s6);stroke-dasharray:5 4}.dot.s-w{fill:var(--s6)}.leg i.s-w{background:var(--s6)}
.tip{position:relative;display:inline-flex;flex:none;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:1px solid #D5D9D3;background:#fff;color:var(--muted);font-size:13px;font-weight:800;cursor:help;font-family:Manrope,sans-serif;letter-spacing:0}
.tipbox{display:none;position:absolute;z-index:20;top:32px;right:0;width:280px;background:var(--ink);color:#fff;font-weight:500;font-size:12px;line-height:1.5;padding:12px 14px;border-radius:10px;text-align:left;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.sec h2 .tip{width:22px;height:22px;font-size:11px}.sec h2 .tipbox{left:0;right:auto}
/* Дизайны KPI карт */
.kc{min-width:0;padding:16px 18px;display:flex;flex-direction:column;gap:10px}
.kc.focus{border:2px solid var(--accent)}
.kc-h{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.kc-h>span:first-child{font-size:12px;font-weight:700;color:var(--muted);padding-top:5px}
.kc-v{font-size:26px;font-weight:600;letter-spacing:-.02em;white-space:nowrap}
.kc-u{font-size:15px;color:var(--muted)}
.kc-v2{font-family:'JetBrains Mono',monospace;font-size:15px;font-weight:600;color:var(--ink2)}
.kc-v2 span{color:var(--muted)}
.kc-pair{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.kc-pair .kc-u{font-size:13px}
.kl{display:flex;flex-direction:column;gap:4px;font-size:12px}
.kr{display:flex;justify-content:space-between;gap:8px}.kr>span{color:var(--muted)}.kr>b{font-weight:700;white-space:nowrap;color:var(--ink)}
.kr>b.up{color:var(--up)}.kr>b.down{color:var(--down)}
.kr.bt{border-top:1px solid #ECEEEA;padding-top:6px}
.ks{font-size:11px;font-weight:800;color:#3D5B56;letter-spacing:.02em;border-top:1px solid #ECEEEA;padding-top:8px;margin-top:4px;text-transform:uppercase}
.kt{border-top:2px solid var(--ink);padding-top:8px;margin-top:4px;font-size:14px}.kt>span{font-weight:800;color:var(--ink)}
.prog{height:6px;border-radius:3px;background:#EEF0EC}.prog>div{height:6px;border-radius:3px}
.cmp{display:grid;grid-template-columns:1fr auto auto auto auto;gap:5px 8px;font-size:12px;align-items:baseline}
.cmp .h{font-size:11px;color:var(--muted);text-align:right;grid-column:span 2}
.cmp .l{color:var(--muted)}.cmp .n{font-family:'JetBrains Mono',monospace;text-align:right}.cmp .n2{padding-left:8px}
.cmp b{text-align:right}
.lvl{border-radius:12px;background:var(--bg);padding:14px 16px;display:flex;flex-direction:column;gap:6px}
.lvl .kc-h>span:first-child{font-weight:800;color:#3D5B56}
.lvl-v{font-size:26px;font-weight:600}.lvl-s{font-size:12px;font-weight:700;color:var(--ink2)}
.pipe-card{text-decoration:none;color:var(--ink);padding:18px 20px;display:flex;flex-direction:column;gap:10px}
.pipe-card .t{font-size:13px;font-weight:700;color:var(--muted)}
.pipe-card .n{font-family:'JetBrains Mono',monospace;font-size:24px;font-weight:600}
.pipe-card .n small{font-size:13px;color:var(--muted);font-family:Manrope,sans-serif;font-weight:500}
.leg-line{display:inline-flex;align-items:center;gap:8px}.leg-line i{width:22px;display:inline-block}
.li-today{height:4px;border-radius:2px;background:var(--accent)}.li-y{border-top:2px dashed #6E747B}.li-w{height:3px;border-radius:2px;background:#B9C9E4}
.li-plan{border-top:2px dashed var(--up)}
.dp{fill:none;stroke-linejoin:round}.dp.s-today{stroke:var(--accent);stroke-width:4;stroke-linecap:round}
.dp.s-y{stroke:#6E747B;stroke-width:2;stroke-dasharray:6 5}.dp.s-w{stroke:#B9C9E4;stroke-width:3}
.dp-now{stroke:var(--ink);stroke-width:1;stroke-dasharray:2 3}.dp-dot{fill:var(--accent);stroke:#fff;stroke-width:2}
.dp-lab{fill:var(--ink)}.dp-labt{fill:#fff;font-size:12px;font-weight:700;font-family:Manrope,sans-serif}
.bar-fill.b-plain{background:#E3E7E1}.bar-fill.b-met{background:#CFE0DC}.bar-fill.b-last{background:var(--accent)}
.bar-v.met{color:var(--up)}.bar-l.b{font-weight:700;color:var(--ink)}
.bar-ref.plan{border-top:2px dashed var(--up);opacity:.7}
.tbl tr.hl td{background:#F6FAF9}.tbl tr.hl td:first-child{font-weight:800;padding-left:8px}
.tbl td .pc{color:var(--muted);font-size:12px;margin-left:6px}.tbl td .pb{font-weight:700;margin-left:6px}
.tbl td.b{font-weight:600}.tbl td.bb{font-weight:700}
.stats.s6{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.stats.s6 .stat{padding:14px 16px;gap:4px}
.stat.good .stat-h,.stat.good .stat-s{color:#3D5B56}.stat.warn .stat-s{color:var(--warn-ink)}
.stat-s b.up{color:var(--up)}.stat-s b.down{color:var(--down)}
.hbs{display:flex;flex-direction:column;gap:10px;font-size:13px}
.hb{display:grid;gap:12px;align-items:center}
.hb-t{height:10px;border-radius:5px;background:#EEF0EC}.hb-t>div{height:10px;border-radius:5px}
.hb-c{font-family:'JetBrains Mono',monospace;text-align:right;font-weight:600}.hb-c.m{color:var(--muted);font-weight:500}
.meter{height:8px;border-radius:4px;background:#EEF0EC}.meter>div{height:8px;border-radius:4px}
/* Хүргэлтийн шатны карт */
.dcard{flex:1 1 560px;padding:22px 24px;gap:18px}
.dcard .sec-head h2{font-size:20px}.dcard .big{font-family:'JetBrains Mono',monospace;font-size:28px;font-weight:600}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.tile{border-radius:12px;background:var(--bg);padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.tile span{font-size:12px;font-weight:700;color:var(--muted)}.tile b{font-family:'JetBrains Mono',monospace;font-size:22px;font-weight:600}
.tile.t1{background:#E6EFED}.tile.t1 span{color:#3D5B56}.tile.t2{background:#CFE0DC}.tile.t2 span{color:#234843}
.tile.t3{background:var(--accent);color:#fff}.tile.t3 span{color:#fff}
.tile.t4{background:var(--warn-bg);border:1px solid var(--warn-line)}.tile.t4 span,.tile.t4 b{color:var(--warn-ink)}
.rates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border-top:1px solid #ECEEEA;padding-top:16px}
.rate{display:flex;flex-direction:column;gap:4px}.rate>span:first-child{font-size:12px;font-weight:700;color:var(--muted)}
.rate b{font-family:'JetBrains Mono',monospace;font-size:22px;font-weight:600}.rate>span:last-child{font-size:12px;color:var(--muted)}
.big2{display:flex;gap:28px;flex-wrap:wrap}.big2>div{display:flex;flex-direction:column}.big2 span{font-size:12px;color:var(--muted)}
.big2 span:first-child{font-weight:700}.big2 b{font-family:'JetBrains Mono',monospace;font-size:26px;font-weight:600}
.tbl.hr th.c13{background:#FBF4E6}.tbl.hr th.c15{background:#EEF4E8}.tbl.hr th.c18{background:#EAF0F8}
.tbl.hr th{text-align:center}.tbl.hr tr.sub th{text-align:right;font-size:11px;font-weight:600;padding:6px 8px}
.tbl.hr td{text-align:right;padding-right:8px}.tbl.hr td:first-child{text-align:left}
.dept{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.dept>div{border:1px solid #ECEEEA;border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:10px}
.dept .dh{display:flex;justify-content:space-between;align-items:baseline}.dept .dh span{font-size:15px;font-weight:800}
.dept .dh b{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:600}
.dept .dr{display:grid;grid-template-columns:1fr 36px 44px;gap:8px;font-size:13px}
.dept .dr b{font-family:'JetBrains Mono',monospace;text-align:right;font-weight:600}.dept .dr i{font-style:normal;font-family:'JetBrains Mono',monospace;text-align:right;color:var(--muted)}
.sec h3{margin:6px 0 0;font-size:14px;font-weight:800}
.alert.soft{background:var(--warn-bg)}
form.inline{display:inline}.linkbtn{font:inherit;border:0;background:none;padding:0;color:var(--accent);text-decoration:underline;cursor:pointer}
.tip:hover .tipbox,.tip:focus .tipbox{display:block}
.levels{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}
.login form{width:100%;max-width:380px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;display:flex;flex-direction:column;gap:14px}
.login h1{margin:0 0 4px;font-size:22px}
.login label{font-size:13px;font-weight:700;color:var(--ink2);display:flex;flex-direction:column;gap:6px}
.login input{font:inherit;font-size:15px;padding:11px 12px;border:1px solid var(--line);border-radius:9px}
.login button{font:inherit;font-weight:700;font-size:15px;padding:12px;border:0;border-radius:9px;background:var(--accent);color:#fff;cursor:pointer}
.login .err{color:var(--down);font-size:13px}
@media (max-width:640px){main{padding:16px}header.top{padding:8px 16px}.kpi-v{font-size:26px}}
.tbl.hr th.c08{background:#F1EEF7}
.h2out{margin:8px 0 -6px;font-size:20px;font-weight:800}
.stats.s3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.sec.dashed{border-style:dashed}
.dp.s-dl{stroke:var(--s5);stroke-width:3.5;stroke-linecap:round}.dp-dot.s-dl{fill:var(--s5)}.dp-lab.s-dl{fill:#8A3A0D}
.li-dl{height:4px;border-radius:2px;background:var(--s5)}
.dp-ref{stroke:var(--s5);stroke-width:1.5;stroke-dasharray:4 4}.dp-reft{fill:#8A3A0D;font-size:12px;font-weight:700;font-family:Manrope,sans-serif}
.li-ref{border-top:2px dashed var(--s5)}.kr>b span.up{color:var(--up)}.kr>b span.down{color:var(--down)}
.bar-track.stk{flex-direction:column;justify-content:flex-end;align-items:stretch}.bar-track.stk>.bar-fill:first-child{border-radius:4px 4px 0 0!important}
.bar-fill.b-nova,.lg-nova{background:#7FA3D6}.bar-fill.b-partner,.lg-partner{background:#E2B07A}
.tbl.nova tr.bgrp td{border-top:2px solid var(--ink);border-bottom:1px solid var(--line);font-size:15px;padding-top:16px;color:var(--accent)}
.tbl.nova tr.bgrp td b{color:var(--ink)}
.tbl.nova tr.prod td:first-child{padding-left:12px}
.tbl.nova tr.var td{padding-top:6px;padding-bottom:6px;font-size:13px;border-bottom-color:#F6F7F4}
.tbl.nova tr.var td:first-child{padding-left:32px;white-space:nowrap}
.vopt{display:inline-block;padding:2px 8px;border-radius:6px;background:var(--accent-soft);color:var(--accent);font-weight:700;font-size:12px}
details.sec-details{background:var(--card,#fff);border:1px solid var(--line,#e7e5df);border-radius:14px;padding:14px 18px;margin:0 0 16px}
details.sec-details>summary{cursor:pointer;font-weight:700;font-size:15px;padding:2px 0}
details.sec-details[open]>summary{margin-bottom:10px}
.sub-h{font-size:14px;font-weight:700;margin:22px 0 6px}
.ftbl tr.flt th{padding:4px 6px 8px;background:transparent}
.ftbl tr.flt input,.ftbl tr.flt select{width:100%;min-width:52px;box-sizing:border-box;font:inherit;font-size:12px;font-weight:500;padding:4px 6px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--ink)}
.ftbl tfoot td{border-top:2px solid var(--line);padding-top:10px;font-size:13px;background:var(--bg)}
.ftbl td:nth-child(2){min-width:300px}.ftbl td:nth-child(3){min-width:140px}
.est{color:var(--muted2);font-style:italic}
.hgrid{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));gap:4px;align-items:end}
.hcell{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px}
.hcell .hcol{height:110px;width:100%;display:flex;align-items:flex-end;background:var(--line2);border-radius:4px;overflow:hidden}
.hcell .hcol i{display:block;width:100%;border-radius:4px 4px 0 0}
.hcell small{color:var(--muted);font-size:10px}
.tbl tfoot tr.tot td{border-top:2px solid var(--line);background:var(--bg);padding-top:10px}
.mtbl td,.mtbl tr.sub th{padding-left:8px;padding-right:8px}
.mtbl td:nth-child(n+11),.mtbl tr.sub th:nth-child(n+11){min-width:64px;padding-left:16px}
.mtbl td:nth-child(11),.mtbl tr.sub th:nth-child(11){border-left:1px solid var(--line2)}
/* Delco самбар */
.dhead{padding:14px 18px;margin-bottom:16px}
.dpick{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;font-size:13px}
.dpick label{display:flex;gap:6px;align-items:center;color:var(--muted)}
.dpick input,.dpick select{font:inherit;padding:5px 8px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink)}
.dpick button{font:inherit;font-weight:700;padding:6px 14px;border:0;border-radius:8px;background:var(--accent);color:#fff;cursor:pointer}
.dpick a{padding:5px 10px;border:1px solid var(--line);border-radius:999px;color:var(--ink);text-decoration:none}
.dpick a.on{background:var(--ink);color:var(--card);border-color:var(--ink)}
.subtabs{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 6px;border-top:1px solid var(--line);padding-top:12px}
.subtabs a{padding:7px 14px;border-radius:10px;font-weight:700;font-size:14px;color:var(--muted);text-decoration:none}
.subtabs a.on{background:var(--bg);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.small{font-size:12px}
details.drill>summary{list-style:none;cursor:pointer}
details.drill>summary::-webkit-details-marker{display:none}
details.drill[open]>summary b{color:var(--accent)}
.drill-in{margin:2px 0 10px 18px;padding-left:10px;border-left:2px solid var(--line)}
