/* EnvTech Solution Studio — "engineering studio": a calm, dense workbench with a dark default and a light theme. */
:root,[data-theme=dark]{
  --bg:#0a1620;--bg2:#0e1d29;--surf:#122534;--surf2:#183041;--line:#23404f;--line2:#2f5062;--ink:#e7f0f5;--mut:#8fa9b8;--head:#f4fafc;
  --aqua:#2cc5d2;--aqua-d:#1aa3b0;--aqua-bg:rgba(44,197,210,.12);--cu:#e0903f;--cu-bg:rgba(224,144,63,.14);
  --ok:#3fbf8a;--ok-bg:rgba(63,191,138,.14);--warn:#f2b84b;--warn-bg:rgba(242,184,75,.14);--bad:#ef6b61;--bad-bg:rgba(239,107,97,.15);--info:#6aa8e8;--info-bg:rgba(106,168,232,.14);
  --shadow:0 1px 2px rgba(0,0,0,.35),0 8px 24px rgba(0,0,0,.18);--paper:#0f2230;--btnink:#06222a;
}
[data-theme=light]{
  --bg:#f2f6f8;--bg2:#e8eff3;--surf:#ffffff;--surf2:#f4f8fa;--line:#dbe4ea;--line2:#c4d2db;--ink:#12212b;--mut:#566b79;--head:#0a2a38;
  --aqua:#0a8f9c;--aqua-d:#087782;--aqua-bg:rgba(10,143,156,.10);--cu:#b3601a;--cu-bg:rgba(179,96,26,.10);
  --ok:#17704a;--ok-bg:#e3f4eb;--warn:#8a5a00;--warn-bg:#fdf1d6;--bad:#b42318;--bad-bg:#fdecea;--info:#1d5a93;--info-bg:#e6f0f9;
  --shadow:0 1px 2px rgba(10,42,56,.07),0 6px 18px rgba(10,42,56,.06);--paper:#fff;--btnink:#fff;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:14px/1.55 Manrope,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink);font-variant-numeric:tabular-nums}
h1,h2,h3{margin:0;color:var(--head);line-height:1.25}h1{font-size:26px;letter-spacing:-.015em;font-weight:800}h2{font-size:15px;font-weight:700}h3{font-size:14px}
p{margin:0 0 .6em}a{color:var(--aqua)}small{font-size:.82em;color:var(--mut);font-weight:500}
button,input,select,textarea{font:inherit;color:inherit}
.skip{position:absolute;left:-999px;top:0;background:var(--surf);padding:8px 12px;z-index:100}.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--aqua);outline-offset:2px;border-radius:4px}
.muted{color:var(--mut)}.sm{font-size:12.5px}.nw{white-space:nowrap}.num{text-align:right}.ic{flex:none;vertical-align:-3px}.hide-sm{}
.bad-t{color:var(--bad);font-weight:700}

/* shell */
.top{display:flex;align-items:center;gap:12px;padding:10px 24px;background:var(--bg2);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40}
.spacer{flex:1}
.brand{display:flex;gap:10px;align-items:center;color:var(--aqua)}.brand .bm{stroke:var(--aqua)}.brand b{display:block;color:var(--head);font-size:15px;line-height:1.1;font-weight:800}.brand span{font-size:11px;color:var(--mut)}
.tchip{display:flex;flex-direction:column;border:1px solid var(--line2);border-radius:9px;padding:3px 12px;cursor:pointer;background:var(--surf);max-width:340px;min-width:0}.tchip b{color:var(--cu);font-size:12px}.tchip span{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.steps{display:flex;gap:2px;padding:8px 24px;overflow-x:auto;background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:57px;z-index:35}
.steps a{display:flex;align-items:center;gap:8px;padding:7px 12px;border-radius:9px;text-decoration:none;color:var(--mut);font-weight:600;font-size:13px;white-space:nowrap}
.steps a .n{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line2);display:grid;place-items:center;font-size:11.5px;font-weight:800}
.steps a:hover{background:var(--surf);color:var(--ink)}.steps a.on{background:var(--aqua-bg);color:var(--aqua)}.steps a.on .n{background:var(--aqua);border-color:var(--aqua);color:var(--btnink)}
.banner{display:flex;gap:10px;flex-wrap:wrap;padding:6px 24px;font-size:12px;background:var(--cu-bg);color:var(--ink);border-bottom:1px solid var(--line)}.banner b{color:var(--cu);letter-spacing:.05em}.banner span{color:var(--mut)}
.score{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 24px;background:var(--surf);border-bottom:1px solid var(--line);position:sticky;top:106px;z-index:30;font-size:12.5px}
.score[hidden]{display:none}.sb-t{font-weight:800;color:var(--head);margin-right:6px}.sb-c{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:2px 10px;font-weight:700;font-size:12px;cursor:default}
.sb-c.ok{background:var(--ok-bg);color:var(--ok)}.sb-c.bad{background:var(--bad-bg);color:var(--bad)}.sb-l{margin-left:auto;color:var(--mut)}.sb-l b{color:var(--head)}
main{padding:24px;max-width:1440px;margin:0 auto;outline:0;min-height:60vh}
.foot{padding:16px 24px 32px;color:var(--mut);font-size:12px;border-top:1px solid var(--line);margin-top:20px}

/* controls */
.btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line2);background:var(--surf);color:var(--ink);padding:8px 14px;border-radius:9px;cursor:pointer;font-weight:700;font-size:13px;line-height:1.2}
.btn:hover{border-color:var(--aqua);background:var(--surf2)}.btn.primary{background:var(--aqua);border-color:var(--aqua);color:var(--btnink)}.btn.primary:hover{background:var(--aqua-d);color:var(--btnink)}
.btn.ghost{background:transparent;border-color:transparent}.btn.sm{padding:5px 10px;font-size:12.5px}.btn.lg{padding:12px 22px;font-size:14.5px}.btn.icon{padding:7px}
.btn:disabled{opacity:.5;cursor:not-allowed}.guide-btn{background:var(--cu);border-color:var(--cu);color:#201106}.guide-btn:hover{background:#ee9f4f}
.linkbtn{border:0;background:none;color:var(--aqua);font-weight:700;cursor:pointer;padding:2px 4px}.linkbtn:hover{text-decoration:underline}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line2);background:var(--surf);border-radius:999px;padding:3px 11px;font-size:12px;font-weight:700;color:var(--ink)}
button.chip{cursor:pointer;padding:6px 13px;font-size:12.5px}button.chip.on{background:var(--aqua);border-color:var(--aqua);color:var(--btnink)}.chip.lock{color:var(--cu);border-color:var(--cu)}.chip.src{padding:0 7px;margin-left:8px;font-size:11px;color:var(--aqua);border-color:var(--aqua)}
.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}
.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.bad{background:var(--bad-bg);color:var(--bad)}.badge.info{background:var(--info-bg);color:var(--info)}
.actions-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:14px}
.note{display:flex;gap:7px;align-items:flex-start;font-size:12.5px;color:var(--mut);margin:10px 0 0}.note .ic{margin-top:2px}
.callout{display:flex;gap:10px;padding:11px 14px;border-radius:10px;border:1px solid;margin:0 0 14px;font-size:13px}.callout p{margin:2px 0 0}
.callout.ok{background:var(--ok-bg);border-color:var(--ok);color:var(--ink)}.callout.warn{background:var(--warn-bg);border-color:var(--warn);color:var(--ink)}.callout.info{background:var(--info-bg);border-color:var(--info);color:var(--ink)}
.callout.ok .ic{color:var(--ok)}.callout.warn .ic{color:var(--warn)}.callout.info .ic{color:var(--info)}
.check{display:inline-flex;align-items:flex-start;gap:8px;cursor:pointer;margin:4px 0}.check input{width:16px;height:16px;accent-color:var(--aqua);margin-top:2px}
input[type=range]{accent-color:var(--aqua);width:100%}
input[type=number],input[type=date],select{background:var(--surf2);border:1px solid var(--line2);border-radius:8px;padding:6px 8px;color:var(--ink)}
select{max-width:100%}

/* layout + cards */
.page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:18px;flex-wrap:wrap}
.eyebrow{font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--aqua);font-weight:800;margin-bottom:4px}.sub{color:var(--mut);margin:6px 0 0;max-width:84ch}
.card{background:var(--surf);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);margin-bottom:16px;min-width:0}
.card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px 0;flex-wrap:wrap}.card-body{padding:12px 18px 18px}
.cols-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.cols-2.wide-l{grid-template-columns:1.2fr 1fr}.stack{display:flex;flex-direction:column;min-width:0}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.kpis.three{grid-template-columns:repeat(3,1fr);margin:14px 0 0}
.kpi{background:var(--surf);border:1px solid var(--line);border-radius:14px;padding:14px 16px;border-top:3px solid var(--line2)}.kpi.ok{border-top-color:var(--ok)}.kpi.warn{border-top-color:var(--warn)}.kpi.bad{border-top-color:var(--bad)}.kpi.info{border-top-color:var(--info)}
.kpi-v{font-size:28px;font-weight:800;color:var(--head);line-height:1.1}.kpi-v small{font-size:13px}.kpi-l{font-weight:700;margin-top:3px}.kpi-s{font-size:12px;color:var(--mut)}
.meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 18px;margin:6px 0}.meta dt{font-size:11px;color:var(--mut);text-transform:uppercase;letter-spacing:.07em;font-weight:800}.meta dd{margin:2px 0 0;font-weight:700}

/* tables */
.tbl-wrap{overflow-x:auto}.tbl{width:100%;border-collapse:collapse;font-size:13px}
.tbl th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--mut);font-weight:800;padding:8px 10px;border-bottom:2px solid var(--line);white-space:nowrap}
.tbl td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}.tbl tr.cur td,.tbl th.cur{background:var(--aqua-bg)}.tbl td.best{color:var(--ok);font-weight:800}.tbl tr.crit td{background:var(--bad-bg)}
.tbl.compact td,.tbl.compact th{padding:5px 8px;font-size:12.5px}.tbl.cmp td:first-child{color:var(--mut);font-weight:600}.tbl.cmp td{white-space:nowrap}
.rows{list-style:none;margin:0;padding:0}.rows li{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.rows li:last-child{border:0}.rows li>div{display:flex;flex-direction:column}
.scell{display:flex;align-items:center;gap:8px;margin-bottom:4px}.scell b{font-size:18px;min-width:28px;color:var(--head)}.sbar{position:relative;height:8px;background:var(--line);border-radius:99px;width:110px}.sbar i{display:block;height:100%;border-radius:99px}.sbar i.ok{background:var(--ok)}.sbar i.warn{background:var(--warn)}.sbar i.bad{background:var(--bad)}.sbar u{position:absolute;top:-2px;bottom:-2px;width:1px;background:var(--mut)}
.score-big{display:flex;align-items:baseline;gap:12px;margin-bottom:10px}.score-big b{font-size:44px;font-weight:800;color:var(--head);line-height:1}
.rate{display:flex;align-items:center;gap:8px;min-width:210px}.rate input{min-width:90px}.rv{min-width:30px;text-align:right}

/* intake */
.rfq{background:var(--paper);border:1px solid var(--line2);border-radius:10px;padding:14px 16px}.rfq-h{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--mut);border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:10px;flex-wrap:wrap}.rfq-h b{color:var(--head)}
.clause{display:flex;gap:12px;align-items:flex-start;padding:8px 10px;border-radius:8px;border-inline-start:3px solid transparent;margin-bottom:4px}.clause .cn{flex:none;font-size:11px;font-weight:800;color:var(--mut);margin-top:4px}
.clause p{margin:0;font:400 17px/1.9 "Noto Naskh Arabic","Segoe UI",Tahoma,serif;flex:1}.clause.okc{border-color:var(--ok);background:var(--ok-bg)}.clause.conf{border-color:var(--warn);background:var(--warn-bg)}.clause.amb{border-color:var(--bad);background:var(--bad-bg)}
.conf{display:inline-block;width:70px;height:7px;border-radius:99px;background:var(--line);vertical-align:middle;margin-right:6px;overflow:hidden}.conf i{display:block;height:100%}.conf i.ok{background:var(--ok)}.conf i.warn{background:var(--warn)}.conf i.bad{background:var(--bad)}
.clar{border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin-bottom:10px}.clar.on{border-color:var(--ok);background:var(--ok-bg)}.clar-top{display:flex;gap:10px;align-items:baseline}.clar p{margin:6px 0}.clar .ar{font:400 16.5px/1.9 "Noto Naskh Arabic","Segoe UI",Tahoma,serif}
.gen{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}.gen li{display:flex;gap:10px;align-items:center;color:var(--mut)}.gen li.cur{color:var(--head);font-weight:700}.gen li.done{color:var(--ok)}
.spin{width:14px;height:14px;border:2px solid var(--line2);border-top-color:var(--aqua);border-radius:50%;animation:sp .8s linear infinite;display:inline-block;flex:none}.hollow{width:14px;height:14px;border:2px solid var(--line2);border-radius:50%;flex:none}@keyframes sp{to{transform:rotate(360deg)}}
.empty{text-align:center;padding:30px 12px}.empty-ic{width:56px;height:56px;border-radius:14px;background:var(--aqua-bg);color:var(--aqua);display:grid;place-items:center;margin:0 auto 12px}.empty h3{font-size:18px;margin-bottom:6px}.empty p{color:var(--mut);max-width:48ch;margin:0 auto 16px}

/* forms */
.frow{display:grid;grid-template-columns:minmax(150px,1.1fr) 2fr minmax(110px,.9fr);gap:12px;align-items:center;padding:6px 0;border-bottom:1px dashed var(--line)}.frow label{font-weight:600;font-size:13px}.fval{display:flex;align-items:center;gap:6px}.fval input{width:86px;text-align:right}
.sel-l{display:block;font-size:12px;color:var(--mut);margin-bottom:4px;font-weight:700}.sels{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:12px 0 0}.sel{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--mut);font-weight:700}.sel select{font-weight:600;font-size:13px;color:var(--ink)}
.warnlist{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:7px}.warnlist li{display:flex;gap:8px;color:var(--warn);font-size:12.5px}

/* tabs, recommendation */
.tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
.tab{position:relative;text-align:left;border:1px solid var(--line);background:var(--surf);border-radius:12px;padding:12px 16px;cursor:pointer;display:flex;flex-direction:column;gap:2px}.tab b{color:var(--head)}.tab span{font-size:12.5px;color:var(--mut)}.tab.on{border-color:var(--aqua);box-shadow:0 0 0 2px var(--aqua-bg);background:var(--surf2)}
.star{display:inline-flex;align-items:center;gap:4px;color:var(--cu);font-style:normal;font-size:11.5px;font-weight:800}.tab .star{position:absolute;right:12px;top:10px}
.ai-block{border:1px solid var(--line2);border-left:4px solid var(--aqua);background:var(--surf2);border-radius:10px;padding:14px 16px}.ai-tag{display:flex;align-items:center;gap:7px;color:var(--aqua);font-size:12.5px;margin-bottom:8px;flex-wrap:wrap}.ai-tag span{color:var(--mut);font-size:11.5px}
.reasons,.fixes{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:9px}.reasons li{display:flex;gap:9px;align-items:flex-start}.fixes li{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line);border-radius:9px;padding:9px 12px;background:var(--surf)}.fixes li div{display:flex;flex-direction:column}.fixes span{font-size:12.5px;color:var(--mut)}
.sm-h{font-size:11.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--mut);margin:12px 0 6px;font-weight:800}
.ck{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;flex:none}.ck.ok{background:var(--ok-bg);color:var(--ok)}.ck.bad{background:var(--bad-bg);color:var(--bad)}
.checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}.checks li{display:flex;gap:10px;align-items:flex-start}.checks li div{display:flex;flex-direction:column}.checks span{font-size:12.5px;color:var(--mut)}
.bullets{display:flex;flex-direction:column;gap:11px}.bullet{display:grid;grid-template-columns:120px 1fr 150px;gap:10px;align-items:center}.b-l{font-weight:700;font-size:13px}.b-bar{position:relative;height:10px;background:var(--line);border-radius:99px}.b-bar i{display:block;height:100%;border-radius:99px}.b-bar i.ok{background:var(--ok)}.b-bar i.bad{background:var(--bad)}.b-bar u{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--head);border-radius:2px}
.b-v{display:flex;align-items:center;gap:5px;font-weight:800;font-size:13px}.b-v.ok{color:var(--ok)}.b-v.bad{color:var(--bad)}

/* flow diagram */
.flow{width:100%;height:auto;display:block}.flow .lane{font-size:10.5px;letter-spacing:.1em;fill:var(--mut);font-weight:800}
.blk rect{fill:var(--surf2);stroke:var(--line2);stroke-width:1.2}.blk.off rect{opacity:.45;stroke-dasharray:4 3}.blk.pass rect{stroke:var(--ok);stroke-width:2}.blk.fail rect{stroke:var(--bad);stroke-width:2}.blk.sink rect{stroke:var(--cu)}
.blk .bt{font-size:12.5px;font-weight:800;fill:var(--head)}.blk .bs{font-size:10.5px;fill:var(--mut)}.blk .bv{font-size:10.5px;fill:var(--ink);font-weight:700}.blk .bv.dim{fill:var(--mut);font-weight:500}.blk .bv.ok{fill:var(--ok)}.blk .bv.bad{fill:var(--bad)}
.pipe{fill:none;stroke:var(--aqua);stroke-width:2;stroke-dasharray:6 5;animation:flow 1.2s linear infinite}.pipe.thin{stroke-width:1.4;opacity:.8}.ahead{fill:var(--aqua)}@keyframes flow{to{stroke-dashoffset:-22}}

/* gantt, funnel, curve */
.gantt{width:100%;height:auto;display:block}.g-grid{stroke:var(--line);stroke-width:1}.g-ax{font-size:10.5px;fill:var(--mut)}.g-l{font-size:12px;fill:var(--ink)}.g-l.crit{fill:var(--bad);font-weight:800}
.g-bar.des{fill:var(--info)}.g-bar.civ{fill:#8a9ba6}.g-bar.mfg{fill:var(--aqua)}.g-bar.ship{fill:var(--cu)}.g-bar.ship.air{fill:var(--ok)}.g-bar.ins{fill:#8b7ff0}.g-bar.com{fill:var(--ok)}.g-bar.crit{stroke:var(--bad);stroke-width:2}
.g-limit{stroke:var(--warn);stroke-dasharray:5 4;stroke-width:1.6}.g-lim-t{font-size:11px;fill:var(--warn);font-weight:700}.g-end{stroke-width:2}.g-end.ok{stroke:var(--ok)}.g-end.bad{stroke:var(--bad)}.g-end-t{font-size:12px;font-weight:800}.g-end-t.ok{fill:var(--ok)}.g-end-t.bad{fill:var(--bad)}
.legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:var(--mut);margin-top:8px}.ld{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:6px;vertical-align:-1px}.ld.des{background:var(--info)}.ld.civ{background:#8a9ba6}.ld.mfg{background:var(--aqua)}.ld.ship{background:var(--cu)}.ld.ins{background:#8b7ff0}.ld.com{background:var(--ok)}
.funnel{display:flex;flex-direction:column;gap:11px;margin:14px 0 4px}.fn-row{display:grid;grid-template-columns:170px 1fr 120px;gap:12px;align-items:center}.fn-l{font-size:13px;font-weight:600}.fn-bar{height:16px;background:var(--line);border-radius:6px;overflow:hidden}.fn-bar i{display:block;height:100%;border-radius:6px}.fn-bar i.raw{background:#5b7a8c}.fn-bar i.thick{background:var(--info)}.fn-bar i.cake{background:var(--aqua)}.fn-bar i.dry{background:var(--ok)}.fn-v{font-weight:800}
.curve{width:100%;height:auto;display:block}.cv-line{fill:none;stroke:var(--aqua);stroke-width:2.5}.cv-dot{fill:var(--cu)}
.fitlist{display:flex;flex-wrap:wrap;gap:8px}.fit{display:flex;flex-direction:column;align-items:flex-start;border-radius:10px;border:1px solid var(--line2);background:var(--surf2);padding:7px 11px;cursor:pointer;text-align:left;font-size:12.5px}.fit b{font-size:11px}.fit.core{border-color:var(--ok)}.fit.core b{color:var(--ok)}.fit.partner{border-color:var(--warn)}.fit.partner b{color:var(--warn)}.fit.gap{border-color:var(--bad)}.fit.gap b{color:var(--bad)}
.gate{display:flex;flex-direction:column;gap:2px}.weeks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.weeks li{border:1px solid var(--line);border-radius:10px;padding:11px;background:var(--surf2);display:flex;flex-direction:column;gap:5px;font-size:12.5px}.weeks p{margin:0;color:var(--mut)}.wk{font-size:11px;font-weight:800;color:var(--cu);text-transform:uppercase;letter-spacing:.08em}
.asks{list-style:none;counter-reset:a;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.asks li{counter-increment:a;display:flex;flex-direction:column;padding-left:36px;position:relative}.asks li:before{content:counter(a);position:absolute;left:0;top:0;width:26px;height:26px;border-radius:50%;background:var(--aqua);color:var(--btnink);display:grid;place-items:center;font-weight:800;font-size:13px}.asks span{color:var(--mut);font-size:12.5px}
.ticks{margin:0 0 10px;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px}.ticks li{position:relative;padding-left:22px}.ticks li:before{content:"✓";position:absolute;left:0;color:var(--ok);font-weight:800}.lead{font-size:15px}

/* overlays */
.scrim{position:fixed;inset:0;background:rgba(2,10,16,.55);opacity:0;pointer-events:none;transition:opacity .2s;z-index:50}.scrim.show{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;bottom:0;right:0;width:min(520px,100vw);background:var(--surf);z-index:60;transform:translateX(105%);transition:transform .2s;display:flex;flex-direction:column;border-left:1px solid var(--line)}.drawer.open{transform:none}
.drawer-head{display:flex;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}.drawer-body{padding:16px 18px;overflow:auto;flex:1}
.modal{position:fixed;inset:0;display:none;place-items:center;background:rgba(2,10,16,.6);z-index:80;padding:16px}.modal.open{display:grid}.modal-card{background:var(--surf);border:1px solid var(--line2);border-radius:14px;padding:20px 22px;max-width:460px;width:100%}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);background:var(--aqua);color:var(--btnink);padding:10px 16px;border-radius:10px;display:flex;gap:9px;align-items:center;font-weight:700;font-size:13px;opacity:0;pointer-events:none;transition:all .2s;z-index:90;max-width:90vw}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.warn{background:var(--warn);color:#221600}
.tip{position:fixed;z-index:95;max-width:320px;background:#05121a;color:#e7f0f5;border:1px solid var(--line2);font-size:12px;line-height:1.45;padding:7px 10px;border-radius:8px;pointer-events:none;opacity:0}.tip.show{opacity:1}
.guide{position:fixed;left:24px;bottom:18px;width:min(430px,calc(100vw - 32px));background:var(--surf);border:1px solid var(--cu);border-radius:14px;box-shadow:0 14px 40px rgba(0,0,0,.45);z-index:70;padding:12px 16px;display:none}.guide.open{display:block}
.g-head{display:flex;justify-content:space-between;align-items:center;color:var(--cu);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.g-head span{display:flex;gap:6px;align-items:center}
.g-dots{display:flex;gap:4px;margin:6px 0 8px}.g-dots button{flex:1;height:6px;border:0;border-radius:99px;background:var(--line2);cursor:pointer;padding:0}.g-dots .past{background:var(--aqua)}.g-dots .cur{background:var(--cu)}
.guide h3{font-size:15px;margin-bottom:4px}.g-say{font-size:12.5px;margin:0 0 6px}.g-do{font-size:12.5px;margin:0 0 10px;color:var(--mut)}.g-do b,.g-say b{color:var(--head);margin-right:5px}.g-btns{display:flex;gap:8px}.g-keys{font-size:11px;color:var(--mut);margin-top:8px}

@media(max-width:1100px){.cols-2,.cols-2.wide-l{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}.weeks{grid-template-columns:repeat(3,1fr)}.tabs{grid-template-columns:1fr}.frow{grid-template-columns:1fr}.bullet{grid-template-columns:96px 1fr 130px}.meta{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.top{padding:8px 14px;flex-wrap:wrap}.tchip{display:none}.steps{padding:8px 14px;top:0;position:static}.score{padding:8px 14px;position:static}main{padding:16px 14px}.banner{padding:6px 14px}.hide-sm{display:none}.kpis.three{grid-template-columns:1fr}.weeks{grid-template-columns:1fr}.fn-row{grid-template-columns:1fr}h1{font-size:21px}.guide{left:12px}.score,.steps{position:static}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}.pipe{animation:none}.spin{animation-duration:2s}}
@media print{.top,.steps,.banner,.score,.guide,.foot,.btn,.scrim,.drawer,.toast,.tip{display:none!important}body{background:#fff;color:#000}}
