/* Manrope — файлом со своего сервера: пакет работает без интернета
   (ТЗ DS v1, NFR-1). Лицензия SIL OFL 1.1 рядом, в fonts/LICENSE-Manrope.txt.
   Один переменный файл на все насыщенности 200–800. */
@font-face{font-family:Manrope;src:url('fonts/manrope-cyrillic.woff2') format('woff2');
  font-weight:200 800;font-style:normal;font-display:swap;
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Manrope;src:url('fonts/manrope-cyrillic-ext.woff2') format('woff2');
  font-weight:200 800;font-style:normal;font-display:swap;
  unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:Manrope;src:url('fonts/manrope-latin.woff2') format('woff2');
  font-weight:200 800;font-style:normal;font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,
  U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,
  U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Manrope;src:url('fonts/manrope-latin-ext.woff2') format('woff2');
  font-weight:200 800;font-style:normal;font-display:swap;
  unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,
  U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* Раскладка: узкая полоса разделов слева + рабочая область до 1440; на телефоне — нижняя панель. Светлая тема — витрина для заказчиков (брендбук 1.1: тёмная запрещена). */
:root{
  --page:#FFFFFF; --surface:#FFFFFF; --ink:#0F172A; --ink-2:#334155; --muted:#64748B;
  --line:#E5E7EB; --line-strong:#64748B; --action:#FF7A00; --on-action:#0F172A; --action-text:#BA5900;
  --ok:#14B8A6; --ok-text:#0E8376; --wait:#64748B; --unknown:#94A3B8; --error:#DC2626;
  --tint-action:#FFF1E5; --tint-ok:#E7F8F5; --tint-error:#FDECEC; --tint-neutral:#F1F5F9; --bg-soft:#F8FAFC;
  --r-ctl:8px; --r-card:12px; --ctl:44px; --shadow:0 1px 3px rgba(15,23,42,.06); --shadow-ov:0 8px 24px rgba(15,23,42,.12);
  --font:Manrope,-apple-system,"Segoe UI",Arial,sans-serif;
  color-scheme:light;
}
html,body{height:100%}
body{background:var(--bg-soft);color:var(--ink);font:400 16px/24px var(--font);-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--action);outline-offset:2px}
.num{font-variant-numeric:tabular-nums;font-weight:500}
h1,h2,h3{margin:0;text-wrap:balance}
h1{font-size:clamp(1.5rem,1.2rem + 1vw,2rem);line-height:1.25;font-weight:700}
h2{font-size:1.25rem;line-height:1.6rem;font-weight:700}
h3{font-size:1.05rem;line-height:1.5rem;font-weight:600}
.muted{color:var(--muted)} .sm{font-size:.8125rem;line-height:1.15rem} .xs{font-size:.75rem;line-height:1rem}

/* шапка */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--surface);border-bottom:3px solid var(--action)}
.top-in{display:flex;align-items:center;gap:16px;min-height:60px;padding-inline:clamp(16px,2.5vw,32px)}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.05rem;white-space:nowrap}
.mark{width:34px;height:34px;border-radius:10px;background:var(--action);display:grid;place-items:center;color:var(--on-action);font-weight:800;font-size:.85rem}
.domain{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface);font-weight:600;font-size:.875rem;cursor:pointer}
.search{flex:1 1 280px;min-width:0;max-width:560px;display:flex;align-items:center;gap:8px;height:40px;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--r-ctl);background:var(--surface);color:var(--muted)}
.search input{border:0;outline:0;background:transparent;flex:1;min-width:0;color:var(--ink);font-size:.9375rem}
.kbd{font-size:.72rem;border:1px solid var(--line);border-radius:6px;padding:0 6px;color:var(--muted);white-space:nowrap}
.who{display:flex;align-items:center;gap:10px;white-space:nowrap}
.demo{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:999px;background:var(--tint-neutral);font-size:.78rem;font-weight:600;color:var(--ink-2)}
.ava{width:36px;height:36px;border-radius:999px;background:var(--tint-action);display:grid;place-items:center;font-weight:700;color:var(--action-text)}

/* каркас */
.shell{display:flex;min-height:calc(100% - 63px)}
.rail{flex:none;width:88px;background:var(--surface);border-right:1px solid var(--line);padding:12px 8px;display:flex;flex-direction:column;gap:4px;position:sticky;top:63px;height:calc(100vh - 63px)}
.nav{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border-radius:10px;border:0;background:transparent;color:var(--ink-2);font-size:.72rem;font-weight:600;cursor:pointer;text-decoration:none;position:relative}
.nav svg{width:22px;height:22px}
.nav[aria-current="page"]{background:var(--tint-action);color:var(--action-text)}
.nav .badge{position:absolute;top:4px;right:10px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--action);color:var(--on-action);font-size:.7rem;font-weight:700;display:grid;place-items:center}
main{flex:1;min-width:0;container-type:inline-size;container-name:main}
.view{max-width:1440px;margin:0 auto;padding-block:24px 48px;padding-inline:clamp(16px,2.5vw,32px);display:flex;flex-direction:column;gap:20px}
.view[hidden]{display:none!important}
.head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px 20px;flex-wrap:wrap}
.head p{margin:4px 0 0}

/* элементы */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow);padding:20px;min-width:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--ctl);padding:0 16px;border-radius:var(--r-ctl);border:1px solid var(--line-strong);background:var(--surface);font-weight:600;font-size:.875rem;cursor:pointer;white-space:nowrap}
.btn-a{background:var(--action);border-color:var(--action);color:var(--on-action)}
.btn-q{border-color:transparent;background:transparent;color:var(--action-text)}
.btn-sm{height:36px;padding:0 12px}
.x{width:36px;height:36px;border-radius:var(--r-ctl);border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;cursor:pointer;flex:none}
.chip{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-weight:600;font-size:.8125rem;cursor:pointer;white-space:nowrap}
.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#FFFFFF}
.chip .n{font-variant-numeric:tabular-nums;opacity:.8}
.seg{display:inline-flex;gap:4px;padding:4px;border-radius:10px;background:var(--tint-neutral);flex-wrap:wrap}
.seg button{height:36px;padding:0 14px;border:0;border-radius:8px;background:transparent;font-weight:600;font-size:.875rem;color:var(--ink-2);cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}
.st{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:600;white-space:nowrap}
.st i{font-style:normal;width:18px;height:18px;border-radius:999px;display:grid;place-items:center;font-size:.7rem;font-weight:800;flex:none}
.st.ok{color:var(--ok-text)} .st.ok i{background:var(--tint-ok);color:var(--ok-text);border:1.5px solid var(--ok)}
.st.act{color:var(--action-text)} .st.act i{background:var(--tint-action);color:var(--action-text);border:1.5px solid var(--action)}
.st.wait{color:var(--wait)} .st.wait i{background:var(--tint-neutral);color:var(--wait);border:1.5px solid var(--wait)}
.st.unk{color:var(--muted)} .st.unk i{background:#FFFFFF;color:var(--unknown);border:1.5px dashed var(--unknown)}
.st.err{color:var(--error)} .st.err i{background:var(--tint-error);color:var(--error);border:1.5px solid var(--error)}
table{border-collapse:collapse;width:100%}
th{font-size:.75rem;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);font-weight:600;text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:10px;border-bottom:1px solid var(--line);vertical-align:top;font-size:.9375rem}
tr:last-child td{border-bottom:0}
.tw{overflow-x:auto;min-width:0}
.row-click{cursor:pointer} .row-click:hover td{background:var(--bg-soft)}
.pill{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:999px;background:var(--tint-neutral);font-size:.75rem;font-weight:600;color:var(--ink-2);white-space:nowrap}

/* сводка */
.strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden}
.strip>div{background:var(--surface);padding:16px 18px;display:flex;flex-direction:column;gap:2px;min-width:0}
.big{font-size:1.75rem;line-height:2.1rem;font-weight:700;font-variant-numeric:tabular-nums}
.grid2{display:grid;grid-template-columns:1.1fr 1fr;gap:20px;align-items:start}
@container main (max-width:860px){.grid2{grid-template-columns:1fr}}
.wait-list{display:flex;flex-direction:column}
.wait-item{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}
.wait-item:last-child{border-bottom:0}
.wait-n{min-width:44px;height:44px;border-radius:10px;background:var(--tint-action);color:var(--action-text);display:grid;place-items:center;font-weight:700;font-variant-numeric:tabular-nums}
.life{display:flex;gap:4px;align-items:stretch;flex-wrap:wrap}
.life a{flex:1 1 90px;min-width:0;border:1px solid var(--line);border-radius:10px;padding:10px 12px;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:2px;background:var(--surface)}
.life a b{font-size:1.25rem;font-variant-numeric:tabular-nums}
.life a.gold{background:var(--tint-ok);border-color:#BFE9E2}
.feed{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.feed li{display:grid;grid-template-columns:72px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.feed li:last-child{border-bottom:0}
.bar{height:8px;border-radius:999px;background:var(--tint-neutral);overflow:hidden;display:flex}
.bar span{display:block;height:100%}

/* помощник */
.inbox{display:flex;gap:10px;flex-wrap:wrap}
.inbox input,.inbox textarea{flex:1 1 320px;min-width:0;height:52px;padding:0 16px;border:1px solid var(--line-strong);border-radius:var(--r-ctl);background:var(--surface);font-size:1.0625rem}
.res{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px}
@container main (max-width:900px){.res{grid-template-columns:1fr}}
.verdict{display:flex;gap:14px;align-items:flex-start;padding:16px;border-radius:var(--r-card);background:var(--tint-action);border:1px solid #FFD2A8}
.verdict .ic{width:40px;height:40px;border-radius:999px;background:var(--surface);border:2px solid var(--action);display:grid;place-items:center;font-weight:800;color:var(--action-text);flex:none}
.attrs td:first-child{color:var(--ink-2);width:38%}
.src{font-size:.72rem;font-weight:600;color:var(--muted);margin-left:6px;white-space:nowrap}
.name-out{font-size:1.125rem;font-weight:600;line-height:1.6rem;padding:12px 14px;border-radius:10px;background:var(--bg-soft);border:1px dashed var(--line-strong)}
.cand{display:grid;grid-template-columns:1fr auto;gap:8px 12px;padding:12px 0;border-bottom:1px solid var(--line)}
.cand:last-child{border-bottom:0}
.score{font-variant-numeric:tabular-nums;font-weight:700}

/* очередь */
.q{display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:20px;align-items:start}
@container main (max-width:880px){.q{grid-template-columns:1fr}}
.qlist{display:flex;flex-direction:column;padding:8px}
.qi{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:12px;border-radius:10px;border:1px solid transparent;cursor:pointer;text-align:left;background:transparent}
.qi[aria-current="true"]{background:var(--tint-action);border-color:#FFD2A8}
.qi+.qi{margin-top:2px}
.cmp th:not(:first-child),.cmp td:not(:first-child){width:36%}
.cmp td.m{background:#F3FBFA}
.cmp td.d{background:#FFF7EF}
.cmp td.u{background:var(--bg-soft);color:var(--muted)}
.why{padding:14px 16px;border-radius:10px;background:var(--bg-soft);border:1px solid var(--line)}
.acts{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

/* карточки: панель */
.with-panel{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
.with-panel.open{grid-template-columns:minmax(0,1fr) minmax(320px,420px)}
@container main (max-width:980px){.with-panel.open{grid-template-columns:1fr}}
.panel{position:relative}
.panel-h{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.lc{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:.78rem;font-weight:600;color:var(--muted)}
.lc span{padding:4px 8px;border-radius:999px;background:var(--tint-neutral)}
.lc span.on{background:var(--ink);color:#fff}
.kv{display:grid;grid-template-columns:minmax(110px,40%) 1fr;gap:6px 12px;font-size:.9375rem}
.kv dt{color:var(--ink-2)} .kv dd{margin:0}
.jr{list-style:none;margin:0;padding:0;font-size:.875rem}
.jr li{padding:6px 0;border-bottom:1px solid var(--line)} .jr li:last-child{border-bottom:0}

/* справочник */
.steps{display:flex;gap:8px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.steps li{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:var(--tint-neutral);font-size:.8125rem;font-weight:600}
.steps li.done{background:var(--tint-ok);color:var(--ok-text)} .steps li.now{background:var(--tint-action);color:var(--action-text)}
.clu td:first-child{width:40px}
@container main (max-width:600px){.cards-t th:nth-child(2),.cards-t td:nth-child(2),.cards-t th:nth-child(3),.cards-t td:nth-child(3){display:none}}
.more{position:fixed;left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom,0px));z-index:31;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-ov);padding:12px;display:flex;flex-direction:column;gap:4px}
.more a{display:flex;align-items:center;gap:10px;padding:10px;border-radius:8px;color:var(--ink);text-decoration:none;font-weight:600}
.more a svg{width:20px;height:20px}

/* нижняя панель на телефоне */
.bnav{display:none}
@media (max-width:760px){
  .rail{display:none}
  .bnav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--surface);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px))}
  .bnav .nav{padding:6px 2px}
  .view{padding-bottom:96px}
  .search .kbd,.demo-t{display:none}
  .top-in{flex-wrap:wrap;padding-block:8px;gap:10px}
  .search{order:5;flex-basis:100%;max-width:none}
  .brand span.long{display:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* Правка сверх макета, одна и названная: на ширине около 600 px столбец полосы
   «Сводки» сужается до 183 px, и строка состояния «требование выполнено» в нём
   обрезалась (полоса закрыта на overflow). Состояние — значок и слово, их
   терять нельзя, поэтому в полосе слово переносится. Найдено развёрткой ширин
   SP.DS-018. */
.strip .st{white-space:normal}

/* Вторая правка сверх макета: у элементов со своим display (панель «Ещё»,
   строка состояния, вердикт) служебный hidden не срабатывал — закрытое
   оставалось на экране (видно и на эталонных снимках макета). Правило одно и
   общее: что закрыто, то не показывается. */
[hidden]{display:none!important}
