/* ───────── «Штаб» — оперативный центр: графит, сигнальный янтарь, сетка ───────── */
@font-face{font-family:"Unbounded";font-weight:500;font-display:swap;src:url(fonts/unbounded-cyrillic-500-normal.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Unbounded";font-weight:500;font-display:swap;src:url(fonts/unbounded-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122}
@font-face{font-family:"Unbounded";font-weight:700;font-display:swap;src:url(fonts/unbounded-cyrillic-700-normal.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Unbounded";font-weight:700;font-display:swap;src:url(fonts/unbounded-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122}
@font-face{font-family:"Golos";font-weight:400;font-display:swap;src:url(fonts/golos-text-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Golos";font-weight:400;font-display:swap;src:url(fonts/golos-text-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122}
@font-face{font-family:"Golos";font-weight:500;font-display:swap;src:url(fonts/golos-text-cyrillic-500-normal.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Golos";font-weight:500;font-display:swap;src:url(fonts/golos-text-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122}
@font-face{font-family:"Golos";font-weight:600;font-display:swap;src:url(fonts/golos-text-cyrillic-600-normal.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Golos";font-weight:600;font-display:swap;src:url(fonts/golos-text-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122}
@font-face{font-family:"JBMono";font-weight:400;font-display:swap;src:url(fonts/jetbrains-mono-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"JBMono";font-weight:400;font-display:swap;src:url(fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122}
@font-face{font-family:"JBMono";font-weight:600;font-display:swap;src:url(fonts/jetbrains-mono-cyrillic-600-normal.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"JBMono";font-weight:600;font-display:swap;src:url(fonts/jetbrains-mono-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122}

:root{
  --display:"Unbounded","Golos",system-ui,sans-serif;
  --font:"Golos",system-ui,-apple-system,sans-serif;
  --mono:"JBMono",ui-monospace,Menlo,monospace;
  --r:14px; --r-sm:9px;
  --ease:cubic-bezier(.2,.8,.2,1);
}
/* тёмная — по умолчанию */
:root,[data-theme=dark]{
  --bg:#0e0e0d; --bg2:#141413; --panel:#171716; --panel2:#1f1f1d; --panel3:#282825;
  --ink:#efece4; --ink2:#c9c5ba; --mute:#8b877d; --line:#2a2926; --line2:#36352f;
  --accent:#ffb02e; --accent2:#ff7a1a; --accent-ink:#1a1206; --glow:rgba(255,166,40,.10);
  --ok:#5fd39a; --warn:#f2c14e; --bad:#ff6b5b; --idle:#6f6b62; --info:#7cb4ff;
  --grid:rgba(255,255,255,.035); --shadow:0 1px 0 rgba(255,255,255,.03) inset,0 10px 30px -18px rgba(0,0,0,.8);
  color-scheme:dark;
}
[data-theme=light]{
  --bg:#f3efe6; --bg2:#ece7dc; --panel:#fffdf8; --panel2:#f4f0e7; --panel3:#e9e3d6;
  --ink:#1c1a16; --ink2:#3a362e; --mute:#7a7366; --line:#e2dccf; --line2:#d3ccbc;
  --accent:#e8890c; --accent2:#d4570f; --accent-ink:#fff; --glow:rgba(232,137,12,.12);
  --ok:#1f9d63; --warn:#b98307; --bad:#d23f2f; --idle:#a39d90; --info:#2f6fd0;
  --grid:rgba(60,45,20,.06); --shadow:0 1px 2px rgba(60,40,10,.05),0 8px 24px -16px rgba(60,40,10,.25);
  color-scheme:light;
}
@media (prefers-color-scheme:light){:root:not([data-theme]){
  --bg:#f3efe6; --bg2:#ece7dc; --panel:#fffdf8; --panel2:#f4f0e7; --panel3:#e9e3d6;
  --ink:#1c1a16; --ink2:#3a362e; --mute:#7a7366; --line:#e2dccf; --line2:#d3ccbc;
  --accent:#e8890c; --accent2:#d4570f; --accent-ink:#fff; --glow:rgba(232,137,12,.12);
  --ok:#1f9d63; --warn:#b98307; --bad:#d23f2f; --idle:#a39d90; --info:#2f6fd0;
  --grid:rgba(60,45,20,.06); --shadow:0 1px 2px rgba(60,40,10,.05),0 8px 24px -16px rgba(60,40,10,.25);
  color-scheme:light;
}}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;color:var(--ink);font:15px/1.5 var(--font);background:var(--bg);
  background-image:
    radial-gradient(1200px 500px at 70% -200px,var(--glow),transparent 70%),
    linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);
  background-size:auto,32px 32px,32px 32px;background-attachment:fixed;
  -webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 1}
::selection{background:var(--accent);color:var(--accent-ink)}
a{color:inherit;text-decoration:none;transition:color .15s}
a:hover{color:var(--accent)}
h1{font:700 26px/1.15 var(--display);margin:0 0 6px;letter-spacing:-.01em}
h2{font:600 11px/1 var(--mono);margin:0 0 14px;text-transform:uppercase;letter-spacing:.14em;color:var(--mute);display:flex;align-items:center;gap:8px}
h2::before{content:"";width:14px;height:2px;background:var(--accent);border-radius:2px;flex:none}
h3{font:600 16px/1.3 var(--font);margin:0 0 6px}
.mute{color:var(--mute)} .small{font-size:13px} .tiny{font-size:12px} .mono{font-family:var(--mono);font-size:12.5px}
.num{font-family:var(--mono)}

/* ───────── каркас ───────── */
.layout{display:grid;grid-template-columns:240px 1fr;min-height:100vh}
nav.side{position:sticky;top:0;height:100vh;padding:22px 14px 18px;display:flex;flex-direction:column;gap:2px;
  border-right:1px solid var(--line);background:color-mix(in srgb,var(--bg2) 88%,transparent);backdrop-filter:blur(10px);overflow:auto}
.brand{display:flex;align-items:center;gap:10px;padding:2px 10px 18px}
.brand .mark{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--accent),var(--accent2));color:var(--accent-ink);font:700 15px var(--display);
  box-shadow:0 6px 18px -6px var(--accent2)}
.brand .word{font:700 18px var(--display);letter-spacing:.02em}
.brand .sig{margin-left:auto;width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 var(--ok);animation:sig 2.4s infinite}
@keyframes sig{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--ok) 60%,transparent)}70%{box-shadow:0 0 0 8px transparent}100%{box-shadow:0 0 0 0 transparent}}
nav.side .search{position:relative;margin:0 0 14px}
nav.side .search input{width:100%;padding-left:32px;background:var(--panel);font-size:13.5px}
nav.side .search::before{content:"⌕";position:absolute;left:11px;top:50%;transform:translateY(-52%);color:var(--mute);font-size:16px}
.navlbl{font:600 10px var(--mono);letter-spacing:.16em;color:var(--mute);text-transform:uppercase;padding:14px 12px 6px}
nav.side a.nav{position:relative;display:flex;align-items:center;gap:11px;padding:8px 12px;border-radius:10px;color:var(--ink2);font-weight:500;font-size:14.5px}
nav.side a.nav .ic{width:20px;text-align:center;filter:saturate(.85)}
nav.side a.nav:hover{background:var(--panel2);color:var(--ink)}
nav.side a.nav.on{background:var(--panel2);color:var(--ink)}
nav.side a.nav.on::before{content:"";position:absolute;left:-14px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}
nav.side .cnt{margin-left:auto;font:600 11px var(--mono);padding:2px 7px;border-radius:999px;background:var(--panel3);color:var(--ink2)}
nav.side .cnt.bad{background:color-mix(in srgb,var(--bad) 20%,transparent);color:var(--bad)}
nav.side .cnt.acc{background:var(--accent);color:var(--accent-ink)}
nav.side .foot{margin-top:auto;display:flex;align-items:center;gap:8px;padding:14px 10px 0;border-top:1px solid var(--line)}
main{padding:30px 34px 90px;max-width:1340px;width:100%;margin:0 auto}
.head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.crumbs{font:500 12px var(--mono);color:var(--mute);letter-spacing:.04em;margin-bottom:8px;text-transform:uppercase}
.crumbs a:hover{color:var(--accent)}

/* ───────── сетки и карточки ───────── */
.grid{display:grid;gap:16px;align-content:start}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.split{display:grid;gap:16px;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start}
.card{position:relative;background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 100%,transparent),color-mix(in srgb,var(--panel) 92%,var(--bg)));
  border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--shadow);min-width:0}
.card.tight{padding:14px}
.card.flat{background:var(--panel2);box-shadow:none}
.row{display:flex;align-items:center;gap:10px;min-width:0}
.row.top{align-items:flex-start}
.grow{flex:1;min-width:0}
.list{list-style:none;margin:0;padding:0}
.list li{padding:10px 0;border-top:1px dashed var(--line);display:flex;gap:12px;align-items:flex-start}
.list li:first-child{border-top:0;padding-top:2px}
.ell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* появление */
@media (prefers-reduced-motion:no-preference){
  main > *{animation:rise .5s var(--ease) both}
  main > *:nth-child(2){animation-delay:.04s} main > *:nth-child(3){animation-delay:.08s}
  main > *:nth-child(4){animation-delay:.12s} main > *:nth-child(5){animation-delay:.16s}
  .stagger > *{animation:rise .55s var(--ease) both}
  .stagger > *:nth-child(2){animation-delay:.05s}.stagger > *:nth-child(3){animation-delay:.1s}.stagger > *:nth-child(4){animation-delay:.15s}
  .stagger > *:nth-child(5){animation-delay:.2s}.stagger > *:nth-child(6){animation-delay:.25s}
}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ───────── бейджи, точки ───────── */
.badge{display:inline-flex;align-items:center;gap:5px;font:500 12px/1.2 var(--font);padding:3px 9px;border-radius:999px;
  background:var(--panel2);color:var(--ink2);border:1px solid var(--line);white-space:nowrap}
a.badge:hover{border-color:var(--accent);color:var(--ink)}
.badge.acc{background:var(--accent);color:var(--accent-ink);border-color:transparent}
.b-ok{background:color-mix(in srgb,var(--ok) 13%,transparent);color:var(--ok);border-color:color-mix(in srgb,var(--ok) 25%,transparent)}
.b-warn{background:color-mix(in srgb,var(--warn) 14%,transparent);color:var(--warn);border-color:color-mix(in srgb,var(--warn) 28%,transparent)}
.b-bad{background:color-mix(in srgb,var(--bad) 13%,transparent);color:var(--bad);border-color:color-mix(in srgb,var(--bad) 28%,transparent)}
.b-idle{color:var(--mute)}
.dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex:none;background:var(--idle);margin-top:6px}
.row > .dot{margin-top:0}
.dot.ok{background:var(--ok);box-shadow:0 0 10px -1px color-mix(in srgb,var(--ok) 70%,transparent)}
.dot.bad{background:var(--bad);box-shadow:0 0 10px -1px color-mix(in srgb,var(--bad) 80%,transparent)}
.dot.warn{background:var(--warn)} .dot.idle{background:var(--idle)} .dot.unknown{background:var(--line2)}
.dot.pulse{animation:sig 1.8s infinite}
.dot.bad.pulse{animation:sigbad 1.4s infinite}
@keyframes sigbad{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--bad) 60%,transparent)}70%{box-shadow:0 0 0 8px transparent}100%{box-shadow:0 0 0 0 transparent}}

/* ───────── KPI ───────── */
.kpi{display:flex;flex-direction:column;gap:6px;overflow:hidden;transition:transform .2s var(--ease),border-color .2s}
.kpi:hover{transform:translateY(-2px);border-color:var(--line2);color:inherit}
.kpi .lbl{font:600 10.5px var(--mono);color:var(--mute);text-transform:uppercase;letter-spacing:.14em}
.kpi .stat{font:700 34px/1 var(--display);letter-spacing:-.02em}
.kpi .sub{font-size:12.5px;color:var(--mute)}
.kpi::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--line2)}
.kpi.hot::after{background:linear-gradient(90deg,var(--bad),var(--accent2))}
.kpi.hot .stat{color:var(--bad)}
.kpi.warm::after{background:linear-gradient(90deg,var(--accent),var(--warn))}
.kpi.cool::after{background:linear-gradient(90deg,var(--ok),var(--info))}
.stat{font:700 30px/1.05 var(--display);letter-spacing:-.02em}
.stat.bad{color:var(--bad)}

/* ───────── шапка «Сегодня» ───────── */
.hello{font:500 13px var(--mono);color:var(--accent);letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px}
.hero h1{font-size:34px}
.nodes{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.node{display:inline-flex;align-items:center;gap:8px;padding:5px 11px 5px 9px;border-radius:999px;border:1px solid var(--line);background:var(--panel);font:500 12.5px var(--mono)}
.node .dot{margin:0}
.node .m{color:var(--mute)}

/* ───────── кнопки, поля ───────── */
button,.btn{font:500 14px var(--font);border:1px solid var(--line2);background:var(--panel);color:var(--ink);padding:8px 14px;border-radius:10px;
  cursor:pointer;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;transition:all .15s var(--ease)}
button:hover,.btn:hover{border-color:var(--ink2);color:var(--ink);transform:translateY(-1px)}
button:active,.btn:active{transform:none}
.btn.pri,button.pri{background:linear-gradient(135deg,var(--accent),var(--accent2));border-color:transparent;color:var(--accent-ink);font-weight:600;
  box-shadow:0 8px 20px -10px var(--accent2)}
.btn.pri:hover,button.pri:hover{filter:brightness(1.06);color:var(--accent-ink)}
.btn.sm,button.sm{padding:4px 10px;font-size:12.5px;border-radius:8px}
.btn.ghost,button.ghost{background:transparent;border-color:transparent;color:var(--mute)}
.btn.ghost:hover,button.ghost:hover{color:var(--ink);background:var(--panel2)}
.btn.danger,button.danger{color:var(--bad)}
.check{width:22px;height:22px;padding:0;border-radius:7px;justify-content:center;font-size:12px;color:transparent;flex:none;border:1.5px solid var(--line2);background:transparent}
.check:hover{border-color:var(--ok);color:var(--ok);background:color-mix(in srgb,var(--ok) 10%,transparent);transform:none}
input,select,textarea{font:inherit;font-size:14px;background:var(--panel2);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:9px 12px;max-width:100%;transition:border-color .15s,box-shadow .15s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--glow)}
textarea{width:100%;min-height:96px;resize:vertical;line-height:1.5}
label{display:block;font:600 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin:16px 0 6px}
label:has(input[type=checkbox]){text-transform:none;font:500 14px var(--font);letter-spacing:0;color:var(--ink2);display:flex;align-items:center;gap:8px}
input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}
.form input[type=text],.form input[type=date],.form input[type=number],.form select{width:100%}
.quick{display:flex;gap:8px;align-items:center}
.quick input{flex:1;background:var(--panel)}
.quick.big input{padding:12px 16px;font-size:15px;border-radius:12px}

/* ───────── проекты ───────── */
.area-h{display:flex;align-items:center;gap:12px;margin:34px 0 14px}
.area-h .sw{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-size:16px;background:color-mix(in srgb,var(--c) 18%,transparent);border:1px solid color-mix(in srgb,var(--c) 35%,transparent)}
.area-h h3{font:700 17px var(--display);margin:0}
.area-h .line{flex:1;height:1px;background:linear-gradient(90deg,var(--line2),transparent)}
.pcard{display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .2s var(--ease),border-color .2s,box-shadow .2s}
.pcard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--c,var(--accent));opacity:.85}
.pcard:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--c,var(--accent)) 45%,var(--line));color:inherit;
  box-shadow:0 16px 34px -20px color-mix(in srgb,var(--c,var(--accent)) 60%,transparent)}
.pcard .t{font:600 15.5px/1.3 var(--font);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pcard .row{align-items:flex-start}.pcard .row .dot{margin-top:6px}
.pcard .sum{font-size:13px;color:var(--mute);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:6px 0 10px}
.next{font-size:13px;line-height:1.45;background:var(--panel2);border-radius:9px;padding:8px 10px 8px 26px;margin:2px 0 8px;position:relative;color:var(--ink2)}
.next::before{content:"→";position:absolute;left:9px;top:7px;color:var(--accent);font-weight:700}
.blocker{font-size:13px;color:var(--bad);display:flex;gap:6px}
.pcard .meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:6px}
.pcard.dim{opacity:.55}.pcard.dim:hover{opacity:1}

/* ───────── доски ───────── */
.board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:14px;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x mandatory}
.col{background:color-mix(in srgb,var(--panel2) 70%,transparent);border:1px solid var(--line);border-radius:var(--r);padding:12px;min-height:140px;scroll-snap-align:start}
.col h2{margin:4px 4px 12px;justify-content:space-between}
.col h2 span:last-child{font-family:var(--mono);color:var(--ink2);background:var(--panel3);padding:2px 8px;border-radius:999px;letter-spacing:0}
.tcard{background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:11px 12px;margin-bottom:9px;transition:border-color .15s,transform .15s}
.tcard:hover{border-color:var(--line2);transform:translateY(-1px)}
.tcard .t{font-size:14px;line-height:1.4}
.tcard .m{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;align-items:center}
.tcard.p1{box-shadow:inset 3px 0 0 var(--bad)}
.tcard.over .due{color:var(--bad);font-weight:600}
.due{font:500 12px var(--mono);color:var(--mute)}
.moves{display:flex;gap:4px;margin-top:9px;flex-wrap:wrap;opacity:0;max-height:0;overflow:hidden;transition:all .2s var(--ease)}
.tcard:hover .moves,.tcard:focus-within .moves{opacity:1;max-height:80px}
.moves button{padding:2px 8px;font-size:11.5px;border-radius:7px}
@media (hover:none){.moves{opacity:1;max-height:none}}

/* ───────── таблицы, вкладки ───────── */
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;font:600 10.5px var(--mono);color:var(--mute);text-transform:uppercase;letter-spacing:.12em;padding:10px;border-bottom:1px solid var(--line2)}
td{padding:10px;border-bottom:1px dashed var(--line);vertical-align:top}
tr:last-child td{border-bottom:0}
tbody tr,table tr{transition:background .12s}
tr:hover td{background:color-mix(in srgb,var(--panel2) 60%,transparent)}
.tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:16px;padding:4px;background:var(--panel);border:1px solid var(--line);border-radius:12px;width:fit-content;max-width:100%}
.tabs a{padding:6px 13px;border-radius:9px;font-size:13.5px;color:var(--mute);font-weight:500}
.tabs a:hover{color:var(--ink);background:var(--panel2)}
.tabs a.on{background:var(--ink);color:var(--bg)}
.tabs .sep{width:1px;background:var(--line2);margin:4px 4px}

/* ───────── таймлайн ───────── */
.timeline{position:relative}
.timeline .m{margin:22px 0 4px;font:700 15px var(--display);display:flex;align-items:center;gap:10px}
.timeline .m:first-child{margin-top:0}
.timeline .m::after{content:"";flex:1;height:1px;background:var(--line)}
.tl{display:flex;gap:14px;padding:11px 0;align-items:flex-start;position:relative}
.tl .date{width:78px;flex:none;font:600 13px var(--mono);color:var(--ink2)}
.tl .date small{display:block;color:var(--mute);font-weight:400}
.k-court{color:var(--bad)!important}.k-tax{color:var(--warn)!important}.k-law{color:#b48cff!important}.k-tender{color:var(--info)!important}
.k-cert,.k-token,.k-license{color:var(--mute)}

/* ───────── прочее ───────── */
pre.out{background:var(--bg);border:1px solid var(--line);border-radius:11px;padding:14px;overflow:auto;max-height:560px;font:12.5px/1.55 var(--mono);white-space:pre-wrap;word-break:break-word;color:var(--ink2)}
.err{color:var(--bad)}
.empty{color:var(--mute);font-size:13px;padding:6px 0}
.kv{display:grid;grid-template-columns:150px 1fr;gap:7px 14px;font-size:14px}
.kv > div:nth-child(odd){color:var(--mute);font:500 12px var(--mono);padding-top:2px}
.bar{height:5px;background:var(--panel3);border-radius:4px;overflow:hidden}
.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:4px}
.spark{display:flex;align-items:flex-end;gap:3px;height:80px;margin-top:10px}
.spark i{flex:1;background:linear-gradient(180deg,var(--accent),color-mix(in srgb,var(--accent2) 60%,transparent));border-radius:3px 3px 1px 1px;min-height:2px;transition:opacity .15s}
.spark i:hover{opacity:.6}
.feed li{font-size:13px}
.feed .when{width:92px;flex:none;font:500 11.5px var(--mono);color:var(--mute);padding-top:1px}
.agent .title{font-weight:600}
.empty-state{text-align:center;padding:28px 10px;color:var(--mute)}
.empty-state .big{font-size:30px;display:block;margin-bottom:6px}
details summary{cursor:pointer;color:var(--mute);font-size:13px;list-style:none}
details summary::before{content:"▸ ";color:var(--accent)}
details[open] summary::before{content:"▾ "}
.theme-t{background:transparent;border:1px solid var(--line);width:34px;height:34px;padding:0;justify-content:center;border-radius:10px;margin-left:auto}
nav.bottom{display:none}

@media (max-width:1100px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}}
@media (max-width:720px){
  body{background-size:auto,24px 24px,24px 24px}
  .layout{grid-template-columns:1fr}
  nav.side{display:none}
  main{padding:18px 16px 100px}
  .g2,.g3{grid-template-columns:1fr}
  .g4{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  h1{font-size:22px}.hero h1{font-size:26px}
  .kpi .stat{font-size:28px}
  nav.bottom{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));
    background:color-mix(in srgb,var(--panel) 88%,transparent);backdrop-filter:blur(14px);border:1px solid var(--line2);border-radius:18px;z-index:10;
    box-shadow:0 12px 30px -10px rgba(0,0,0,.5)}
  nav.bottom a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10.5px;padding:9px 0 8px;color:var(--mute);position:relative}
  nav.bottom a.on{color:var(--accent)}
  nav.bottom a.on::after{content:"";position:absolute;top:4px;width:4px;height:4px;border-radius:50%;background:var(--accent)}
  nav.bottom .ic{font-size:19px}
  nav.bottom .cnt{position:absolute;top:4px;right:calc(50% - 22px);font:600 10px var(--mono);background:var(--bad);color:#fff;border-radius:999px;padding:0 5px}
  .board{grid-auto-columns:86%}
  .kv{grid-template-columns:110px 1fr}
  .hide-m{display:none}
  table{font-size:13px}
  .tabs{width:100%;overflow-x:auto;flex-wrap:nowrap}
  .tabs a{white-space:nowrap}
}
