/* Портал «Команда». Цвета и раскладка - по прототипу tools/prototype/page.html. Инлайн-стилей нет (CSP):
   цвета приоритетов - классы b<p> (фон) и f<p> (заливка SVG). */
:root{
  --bg:#f4f6f8; --surface:#ffffff; --ink:#12161c; --ink2:#4a5260; --muted:#868d98; --line:#e2e5ea; --line2:#c9ced6;
  --accent:#2457c5; --accent-weak:#e6edfb; --now:#fff4d6;
  --good:#0a8f0a; --warn:#b97b00; --crit:#c73232; --good-bg:#e6f5e6; --warn-bg:#fdf3dc; --crit-bg:#fbe7e7;
  --p1:#2a78d6; --p2:#eb6834; --p3:#1baf7a; --p4:#eda100; --p5:#e87ba4; --p6:#008300; --p7:#6250d6; --pnd:#868d98;
  --f-display:"Unbounded","Golos Text",system-ui,sans-serif; --f-body:"Golos Text",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,"Cascadia Mono",Consolas,monospace;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0e1014; --surface:#171a20; --ink:#eef0f3; --ink2:#b9bfc9; --muted:#7f8691; --line:#2a2f37; --line2:#3a404a;
  --accent:#7aa0f2; --accent-weak:#1d2740; --now:#2d2715;
  --good:#38c238; --warn:#f0b43a; --crit:#ef6b6b; --good-bg:#14301a; --warn-bg:#33290f; --crit-bg:#3a1a1a;
  --p1:#3987e5; --p2:#d95926; --p3:#199e70; --p4:#c98500; --p5:#d55181; --p6:#008300; --p7:#9085e9; --pnd:#7f8691;
  color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0e1014; --surface:#171a20; --ink:#eef0f3; --ink2:#b9bfc9; --muted:#7f8691; --line:#2a2f37; --line2:#3a404a;
  --accent:#7aa0f2; --accent-weak:#1d2740; --now:#2d2715;
  --good:#38c238; --warn:#f0b43a; --crit:#ef6b6b; --good-bg:#14301a; --warn-bg:#33290f; --crit-bg:#3a1a1a;
  --p1:#3987e5; --p2:#d95926; --p3:#199e70; --p4:#c98500; --p5:#d55181; --p6:#008300; --p7:#9085e9; --pnd:#7f8691;
  color-scheme:dark}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{background:var(--bg);color:var(--ink);font:15px/1.45 var(--f-body);margin:0}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
main.wrap{padding-block:20px 48px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
/* верхняя полоса */
.bar{background:var(--surface);border-bottom:1px solid var(--line)}
.barin{display:flex;align-items:center;gap:18px;min-height:52px;flex-wrap:wrap}
.brand{font:600 16px var(--f-display);color:var(--ink)}
.sec{color:var(--ink2);font-size:14px;padding:4px 0;border-bottom:2px solid transparent}
.sec.on{color:var(--ink);border-bottom-color:var(--accent)}
.me{margin-left:auto;color:var(--ink2);font-size:13.5px}
.out button{font:500 13px var(--f-body);color:var(--ink2);background:none;border:1px solid var(--line2);border-radius:8px;padding:4px 10px;cursor:pointer}
/* шапка раздела */
header.top{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:flex-end;justify-content:space-between;margin-bottom:18px}
h1{font:600 22px/1.2 var(--f-display);letter-spacing:-.01em;margin:0;text-wrap:balance}
.sub{color:var(--ink2);font-size:13px;margin-top:4px}
.controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.seg{display:inline-flex;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:3px;gap:2px}
.seg a{font:500 14px var(--f-body);color:var(--ink2);border-radius:7px;padding:6px 12px;text-decoration:none}
.seg a:hover{text-decoration:none;background:var(--accent-weak)}
.seg a[aria-pressed="true"]{background:var(--accent);color:#fff}
.seg a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.empsel{display:flex;gap:6px;align-items:center}
.empsel select{width:auto;max-width:260px}
.go{font:500 14px var(--f-body);color:#fff;background:var(--accent);border:0;border-radius:8px;padding:8px 12px;cursor:pointer}
.grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:16px;align-items:start}
@media (max-width:860px){.grid{grid-template-columns:minmax(0,1fr)}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px;min-width:0}
.stack{display:grid;gap:16px}
h2{font:600 16px/1.3 var(--f-body);margin:0 0 4px}
.hint{color:var(--muted);font-size:12.5px}
.row{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:space-between;margin-bottom:10px}
.legend{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12.5px;color:var(--ink2);margin:6px 0 4px}
.legend span{display:inline-flex;align-items:center;gap:5px}
.sw{width:10px;height:10px;border-radius:3px;display:inline-block}
.b1{background:var(--p1)}.b2{background:var(--p2)}.b3{background:var(--p3)}.b4{background:var(--p4)}
.b5{background:var(--p5)}.b6{background:var(--p6)}.b7{background:var(--p7)}.bnd{background:var(--pnd)}.bacc{background:var(--accent)}
.chart svg{display:block;width:100%;height:auto;overflow:visible}
/* SVG */
svg .grid{stroke:var(--line);stroke-width:1}
svg .ax{font-size:11px;fill:var(--muted)}
svg .lbl{font-size:12px;fill:var(--ink2)}
svg .lblp{font-weight:600;fill:var(--ink)}
svg .layer{stroke:var(--surface);stroke-width:1.5;stroke-linejoin:round}
.f1{fill:var(--p1)}.f2{fill:var(--p2)}.f3{fill:var(--p3)}.f4{fill:var(--p4)}.f5{fill:var(--p5)}.f6{fill:var(--p6)}.f7{fill:var(--p7)}.fnd{fill:var(--pnd)}
svg .hit{fill:var(--ink);opacity:0}
svg .hit:hover{opacity:.07}
svg .bar{fill:var(--accent)} svg .bar.z{fill:var(--line)}
.tw{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:13.5px}
th{font-weight:500;color:var(--muted);font-size:12px;text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:middle}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
code{font-family:var(--f-mono);font-size:12.5px;background:var(--bg);border-radius:4px;padding:1px 4px}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.up{color:var(--good)} .dn{color:var(--crit)}
details summary{cursor:pointer;color:var(--accent);font-size:13px;margin-top:8px}
/* калькулятор */
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0 14px}
.form label{display:grid;gap:4px;font-size:12px;color:var(--muted)}
.form .go{grid-column:1/-1;justify-self:start}
select,input{font:500 15px var(--f-body);color:var(--ink);background:var(--bg);border:1px solid var(--line2);border-radius:8px;padding:8px 10px;width:100%;min-width:0}
.result{border-top:1px solid var(--line);padding-top:12px}
.big{font:600 30px/1.1 var(--f-display);letter-spacing:-.02em}
.facts{display:grid;gap:4px;margin-top:10px;font-size:13.5px;color:var(--ink2)}
.facts b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}
svg.bars{display:block;width:100%;max-width:600px;height:44px;margin-top:12px}
/* очередь */
.st{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:500;border-radius:6px;padding:2px 7px;white-space:nowrap}
.st.ok{background:var(--good-bg);color:var(--good)} .st.early{background:var(--warn-bg);color:var(--warn)}
.st.late,.st.past{background:var(--crit-bg);color:var(--crit)} .st.none{background:var(--bg);color:var(--muted)}
tr.grp td{background:var(--bg);font-size:12.5px;color:var(--ink2);padding:6px 8px}
tr.grp td b{color:var(--ink)}
.title-cell{min-width:220px;max-width:340px}
.title-cell .sm{display:block;font-size:12px;color:var(--muted)}
.rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media (max-width:760px){.rules{grid-template-columns:minmax(0,1fr)}.form{grid-template-columns:minmax(0,1fr)}}
.rule{border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:13.5px;color:var(--ink2)}
.rule .st{margin-bottom:6px}
/* темп к сроку */
.kp{display:flex;flex-wrap:wrap;gap:10px}
.kp div{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 12px;min-width:120px}
.kp b{display:block;font:600 20px var(--f-body);font-variant-numeric:tabular-nums}
.kp span{font-size:12px;color:var(--muted)}
h3{font:600 14px/1.3 var(--f-body);margin:16px 0 6px}
.lead{max-width:900px;margin:4px 0 8px}
.sw.slot{background:var(--line2)}
.sw.capl{background:none;border-left:1.5px dashed var(--muted);border-radius:0;width:2px;height:12px}
table.tempo td:first-child{white-space:nowrap}
svg.scale{display:block}
svg .sc-bg{fill:var(--bg);stroke:var(--line)}
svg .sc-slot{fill:var(--line2)}
svg .sc-plan{fill:var(--accent)}
svg .sc-cap{stroke:var(--muted);stroke-dasharray:2 2}
svg .sc-need{fill:var(--ink);stroke:var(--surface)}
svg .sc-need.late{fill:var(--crit)}
.title-cell .sig{display:block;font-size:12px;color:var(--warn)}
.warnbox{background:var(--warn-bg);color:var(--ink);border:1px solid var(--warn);border-radius:10px;padding:10px 14px;margin-bottom:16px;font-size:13.5px}
/* вход */
.login{max-width:520px;margin:48px auto}
.login h1{margin-bottom:6px}
.btn{display:inline-block;background:var(--accent);color:#fff;border-radius:10px;padding:10px 18px;font-weight:600;margin:12px 0}
.btn:hover{text-decoration:none;opacity:.92}
.err{background:var(--crit-bg);color:var(--crit);border-radius:8px;padding:8px 12px}
.vars{margin:6px 0 10px}
