/* Отвес AI — вид «Чертёж» v2, исполнение Б «Калька» (решение Романа 01.11.2026). Две темы: день и ночь.
   Все цвета — только через переменные. Скруглений и теней нет: разделение линиями 1 / 2 / 3 px.
   Шрифт IBM Plex Sans Condensed лежит локально в static/fonts (SIL OFL 1.1): страницы не обращаются к внешним серверам. */
@font-face{font-family:"IBM Plex Sans Condensed";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/IBMPlexSansCondensed-Regular.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans Condensed";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/IBMPlexSansCondensed-SemiBold.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans Condensed";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/IBMPlexSansCondensed-Bold.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans Condensed";font-style:italic;font-weight:400;font-display:swap;src:url(fonts/IBMPlexSansCondensed-Italic.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans Condensed";font-style:italic;font-weight:600;font-display:swap;src:url(fonts/IBMPlexSansCondensed-SemiBoldItalic.woff2) format("woff2")}

:root{
  --row-prio:#C6EFCE; --row-hot:#FBE4E4;   /* строки отчёта мониторинга: как в Excel (приоритет ГСС / < 7 раб. дней) */
  --table:#DDE3E2; --sheet:#F1F4F3; --input:#FFFFFF;
  --ink:#1A1F24; --on-ink:#F1F4F3; --ink-muted:#4F5A60;
  --grid:#8D999F; --hair:#C3CCCB; --link:#24557F; --focus:#24557F;
  --red-pencil:#B8261B; --stamp:#2E4C9A; --ok:#2F6B45;
  --mark-plate:#1A1F24; --mark-line:#F1F4F3; --mark-cone:#E8590C; --mark-edge:#1A1F24;
  --font-sans:"IBM Plex Sans Condensed","Arial Narrow",Arial,sans-serif;
  --stroke-thin:1px; --stroke-head:2px; --stroke-frame:3px; --radius:0;
  color-scheme: light;
}
:root[data-theme="night"]{
  --row-prio:#1F3A28; --row-hot:#432528;
  --table:#0B0D0F; --sheet:#15191C; --input:#0F1214;
  --ink:#E6EBEA; --on-ink:#15191C; --ink-muted:#A3AEB3;
  --grid:#59646A; --hair:#2E363B; --link:#8DBBE6; --focus:#8DBBE6;
  --red-pencil:#FF7A6B; --stamp:#9DB1F0; --ok:#74C794; --mark-edge:#59646A;
  color-scheme: dark;
}
*{box-sizing:border-box;border-radius:0;box-shadow:none}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:15px/22px var(--font-sans);font-variant-numeric:tabular-nums;background:var(--table);color:var(--ink)}
a{color:var(--link);text-decoration:underline;text-underline-offset:2px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
h1{font-size:28px;line-height:32px;font-weight:700;margin:0 0 14px}
h2{font-size:20px;line-height:26px;font-weight:700;margin:24px 0 10px}
h3{font-size:17px;line-height:22px;font-weight:600;margin:16px 0 8px}
p{margin:0 0 10px}
.muted{color:var(--ink-muted)}.right{text-align:right}.num{text-align:right}
.meta{color:var(--ink-muted);font-size:13px;line-height:18px;margin-top:6px}
.cap{font-size:13px;line-height:18px;font-style:italic;color:var(--ink-muted)}
.ico{width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:square;vertical-align:-3px}
.ico.ok{stroke:var(--ok);stroke-width:2}.ico.bad{stroke:var(--red-pencil);stroke-linecap:butt}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ── стол и лист: поле подшивки 36 px, зоны 1–8 и А–Е, рамка 3 px ───────── */
.desk{padding:24px 16px;min-height:100vh}
.sheet{max-width:1440px;margin:0 auto;background:var(--sheet);padding:8px 8px 8px 36px}
.zones-top{display:flex;padding-left:18px;font-size:11px;line-height:16px;color:var(--ink-muted)}
.zones-top span{flex:1 1 0;text-align:center;border-left:1px solid var(--grid)}
.zones-top::after{content:"";border-left:1px solid var(--grid)}
.sheet-row{display:flex}
.zones-left{width:18px;flex:0 0 18px;display:flex;flex-direction:column;font-size:11px;color:var(--ink-muted)}
.zones-left span{flex:1 1 0;display:flex;align-items:center;justify-content:center;border-top:1px solid var(--grid)}
.frame{flex:1 1 auto;min-width:0;border:var(--stroke-frame) solid var(--ink);display:flex;min-height:calc(100vh - 88px)}

/* ── меню ─────────────────────────────────────────────────────────────── */
.side{flex:0 0 228px;padding:18px 14px;display:flex;flex-direction:column;gap:20px;align-self:flex-start;position:sticky;top:0;max-height:100vh;overflow-y:auto}
.brandmark{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-size:24px;line-height:28px;font-weight:700}
.brandmark:hover{color:var(--ink)}
.brandmark i{font-style:italic;font-weight:600}
.brandmark svg{flex-shrink:0}
.mk-edge{stroke:var(--mark-edge)}
.navgroup{display:flex;flex-direction:column}
.navgroup.main{border-top:1px solid var(--ink)}
.navgroup .gh{font-size:13px;font-style:italic;color:var(--ink-muted);padding:0 8px 4px;border-bottom:1px solid var(--ink)}
.side a.nav{display:flex;align-items:center;gap:8px;padding:8px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--hair)}
.side a.nav:hover{background:var(--hair)}
.side a.nav.on{background:var(--ink);color:var(--on-ink);font-weight:600}
.side .soon{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:6px 8px;color:var(--ink-muted);border-bottom:1px solid var(--hair)}
.side .soon small{font-size:12px;font-style:italic}
.side .foot{margin-top:8px;display:flex;flex-direction:column;gap:10px}
.side .me{border-top:1px solid var(--ink);padding:8px 8px 0;font-size:13px;line-height:18px}
.side .me b{display:block;font-weight:600}
.theme-toggle{font:inherit;font-size:14px;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 10px;background:transparent;color:var(--ink);border:1px solid var(--ink);cursor:pointer}
.theme-toggle .sun{display:none}
:root[data-theme="night"] .theme-toggle .sun{display:inline}
:root[data-theme="night"] .theme-toggle .moon{display:none}
main{flex:1 1 auto;min-width:0;padding:18px 24px 32px;border-left:1px solid var(--ink)}
.plain .frame{display:block;padding:18px 24px}
.plain .frame .pagehead .brandmark{margin-right:auto}

/* ── кнопки и поля ────────────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:1px solid var(--ink);background:var(--ink);color:var(--on-ink);font:inherit;font-weight:600;line-height:20px;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn:hover{color:var(--on-ink);text-decoration:underline}
.btn.sec{background:transparent;color:var(--ink);font-weight:400}
.btn.sec:hover{background:var(--hair);color:var(--ink)}
.btn.small{min-height:32px;padding:0 12px;font-size:14px}
.btn.on{background:var(--ink);color:var(--on-ink)}
.btn:disabled,button:disabled{background:transparent;color:var(--ink-muted);border:1px dashed var(--grid);cursor:not-allowed;text-decoration:none}
a.btn{display:inline-flex}
.linkbtn{font:inherit;background:none;border:0;padding:6px 0;min-height:32px;color:var(--link);text-decoration:underline;cursor:pointer}
.linkbtn.on{font-weight:700;text-decoration-thickness:2px}
input[type=text],input[type=password],input[type=search],input[type=date],select,textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--ink);background:var(--input);color:var(--ink);font:inherit;font-size:16px;line-height:22px}
input:disabled,textarea:disabled,select:disabled{border-style:dashed;border-color:var(--grid);color:var(--ink-muted)}
textarea{min-height:76px;resize:vertical}
::placeholder{color:var(--ink-muted);opacity:1}
label{display:block;font-size:13px;font-style:italic;color:var(--ink-muted);margin:12px 0 4px}
input[type=checkbox]{accent-color:var(--ink);width:16px;height:16px;vertical-align:-3px}
input[name=q]{width:100%}
.btns{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.btns .btn{flex:0 0 auto}
.row{display:flex;gap:12px;flex-wrap:wrap}.row>*{flex:1;min-width:220px}

/* ── блоки, таблицы (ведомость / спецификация) ───────────────────────── */
.card{border:1px solid var(--ink);background:var(--sheet);padding:16px;margin-bottom:16px;overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:14px;line-height:20px}
th,td{text-align:left;padding:6px 8px;border:1px solid var(--grid);vertical-align:top}
th{font-weight:600;border:1px solid var(--ink);border-bottom-width:var(--stroke-head);background:transparent}
.spec{border:var(--stroke-head) solid var(--ink)}
.spec th{text-align:center}
.spec .c{text-align:center}
.card table{border:var(--stroke-head) solid var(--ink)}
.flash{border:1px solid var(--ink);background:var(--input);padding:10px 12px;margin-bottom:16px}
.warn{color:var(--red-pencil);border:1px solid var(--red-pencil);padding:8px 12px;font-size:14px;line-height:20px;margin-top:10px}
.okline{color:var(--ok);font-size:14px;margin-top:10px}
details summary{cursor:pointer;color:var(--ink-muted);font-size:14px;font-style:italic}
pre.summary{white-space:pre-wrap;font:13px/18px var(--font-sans);background:var(--input);border:1px solid var(--grid);padding:12px;max-height:300px;overflow:auto}
.scroll{overflow-x:auto}

/* статусы и резиновые штампы */
.stamp{display:inline-block;transform:rotate(-3deg);border:2px solid var(--stamp);padding:2px;color:var(--stamp)}
.stamp b{display:block;border:1px solid var(--stamp);padding:2px 10px;font-weight:700;font-size:16px;line-height:20px;white-space:nowrap}
.stamp.bad{border-color:var(--red-pencil);color:var(--red-pencil)}.stamp.bad b{border-color:var(--red-pencil)}
.stamp.run{border-color:var(--ink);color:var(--ink);transform:none}.stamp.run b{border-color:var(--ink)}
.draft{display:inline-block;transform:rotate(-2deg);border:1.5px solid var(--red-pencil);color:var(--red-pencil);padding:1px 8px;font-weight:600;font-size:13px;white-space:nowrap}
.st{white-space:nowrap}.st.done{color:var(--stamp);font-weight:600}.st.ok{color:var(--ink)}.st.run{color:var(--ink);font-style:italic}.st.bad{color:var(--red-pencil);font-weight:600}
.badge{display:inline-block;padding:0 6px;border:1px solid var(--grid);font-size:12px}

/* ── список «Проекты и тендеры» ───────────────────────────────────────── */
.pagehead{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.pagehead h1{margin:0}
.tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.tools .search{flex:1 1 320px}
.seg{display:flex;border-top:1px solid var(--ink);border-left:1px solid var(--ink)}
.seg button{min-height:44px;padding:0 14px;border:0;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);background:transparent;font:inherit;color:var(--ink);cursor:pointer}
.seg button[aria-pressed=true]{background:var(--ink);color:var(--on-ink);font-weight:600}
.plist td.t a{font-weight:600}
.plist .sub{font-size:13px;line-height:18px;color:var(--ink-muted);margin-top:2px;overflow-wrap:anywhere}
.plist td{overflow-wrap:anywhere}
.plist .k{display:none}

/* ── страница проекта ─────────────────────────────────────────────────── */
.crumbs{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:13px;margin-bottom:18px}
.tblock{border:var(--stroke-frame) solid var(--ink);display:flex;flex-wrap:wrap;gap:1px;background:var(--ink);margin-bottom:26px}
.tblock>div{background:var(--sheet)}
.tblock .signs{flex:1 1 250px;overflow-x:auto}
.tblock .signs table{font-size:13px;line-height:18px;border:0}
.tblock .signs th{font-weight:400;font-style:italic;color:var(--ink-muted);text-align:left;padding:3px 6px;border:0;border-bottom:1px solid var(--ink);border-right:1px solid var(--grid)}
.tblock .signs td{padding:4px 6px;border:0;border-bottom:1px solid var(--grid);border-right:1px solid var(--grid)}
.tblock .signs td.r{font-style:italic;color:var(--ink-muted)}
.tblock .title{flex:3 1 360px;padding:10px 14px;display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:0}
.tblock .title h1{margin:0;overflow-wrap:anywhere}
.tblock .title .sub{font-size:14px;overflow-wrap:anywhere}
.tblock .cells{flex:1 1 200px;background:var(--ink);display:flex;flex-direction:column;gap:1px}
.tblock .cells .kv{display:flex;gap:1px}
.tblock .cells .kv>div{flex:1 1 0;background:var(--sheet);padding:3px 6px}
.tblock .cells .k{font-size:12px;line-height:16px;font-style:italic;color:var(--ink-muted)}
.tblock .cells .v{font-weight:600}
.tblock .cells .stampbox{flex:1 1 auto;background:var(--sheet);display:flex;align-items:center;justify-content:center;padding:10px}
.reshead{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px}
.reshead h2{margin:0}
.reshead form{display:inline}
.spec td.btncell{padding:4px 8px;white-space:nowrap}
.spec td.btncell .btn{min-height:40px}
section.blk{margin-bottom:26px}
.tabs{display:flex;flex-wrap:wrap;border-top:1px solid var(--ink);border-left:1px solid var(--ink);margin:0 0 14px;max-width:100%;width:max-content}
.tabs button{padding:8px 14px;border:0;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);background:transparent;color:var(--ink);font:inherit;cursor:pointer}
.tabs button[aria-selected=true]{background:var(--ink);color:var(--on-ink);font-weight:600}
.js .tabpanel[hidden]{display:none}
.askrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}
.answer-card{border:1px solid var(--ink);background:var(--input);margin-bottom:16px}
.answer-card .ahead{display:flex;flex-wrap:wrap;gap:1px;background:var(--ink);border-bottom:1px solid var(--ink);font-size:13px}
.answer-card .ahead>div{background:var(--sheet);padding:4px 10px}
.answer-card .ahead .w{flex:3 1 240px;font-weight:600}.answer-card .ahead .d{flex:1 1 120px;font-style:italic;color:var(--ink-muted)}
.answer-card .abody{padding:14px 16px 6px}
.answer-card .q{font-weight:600;margin-bottom:8px}
.answer{white-space:pre-wrap;font-size:15px;line-height:22px}
.answer-card .afoot{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;padding:4px 16px 10px;font-size:14px}
.answer-card .afoot .draft{margin-left:auto}
/* выноска SourceCheck: точка, наклонная линия, полка с «документ, стр.» */
.leaders{margin-top:10px;display:flex;flex-direction:column;gap:2px}
.leader{display:flex;flex-wrap:wrap;align-items:flex-start}
.leader .txt{flex:1 1 260px;padding-top:22px}
.leader svg.lead{flex:0 0 44px;width:44px;height:40px;color:var(--ink)}
.leader.bad svg.lead{color:var(--red-pencil)}
.leader .shelf{flex:0 1 320px;min-height:22px;margin-top:0;border-bottom:1px solid var(--ink);padding:0 4px;display:flex;align-items:flex-end;gap:6px;font-size:14px;line-height:20px;overflow-wrap:anywhere}
.leader.bad .shelf{border-bottom-color:var(--red-pencil)}
.leader .fix{flex:1 1 100%;color:var(--red-pencil);font-style:italic;font-size:14px;padding-top:4px}
form.fb{display:contents}
form.fb input[type=text]{flex:1 1 200px;width:auto;min-height:36px;padding:4px 10px;font-size:14px}
.fbnote{color:var(--ok);font-size:13px}
/* шкала выполнения */
.job{margin-top:12px}.jobhead{display:flex;justify-content:space-between;font-size:14px;font-weight:600}
.bar{height:2px;background:var(--grid);overflow:hidden;margin-top:8px}.bar>div{height:2px;background:var(--ink);transition:width .5s}
.bar.busy>div{width:30%;animation:slide 1.6s ease-in-out infinite}@keyframes slide{0%{margin-left:-30%}100%{margin-left:100%}}

/* страницы документа */
.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:12px}
.thumb{display:block;border:1px solid var(--grid);padding:8px;color:var(--ink);background:var(--sheet);text-decoration:none}
.thumb:hover{border-color:var(--ink)}.thumb img{width:100%;height:auto;background:var(--hair);min-height:120px;display:block}
.tp{font-weight:600;font-size:13px;margin-top:6px}.ts{font-size:12px;line-height:17px;color:var(--ink-muted);margin-top:4px;max-height:5.6em;overflow:hidden}
.pagebig{width:100%;height:auto;border:1px solid var(--grid);display:block}

/* голосовой ввод */
.btn.mic.on{background:var(--red-pencil);border-color:var(--red-pencil);color:var(--sheet)}
.micnote{font-size:13px;color:var(--ink-muted)}.micnote.bad{color:var(--red-pencil)}

/* «Активность», «Пользователи» */
tr.sig td{color:var(--red-pencil)}td.sigtext,.sigtext{color:var(--red-pencil);font-size:12px}.act table{font-size:13px}
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.filters>div{min-width:140px}

/* загрузка */
.drop{border:1px dashed var(--grid);background:var(--input);padding:28px 20px;text-align:center;margin-top:12px}
.drop.over{border:2px solid var(--ink)}
.drop .big{font-size:18px;font-weight:600;margin-bottom:6px}
.drop .btns{justify-content:center;margin:14px 0 0}
.picked{margin-top:10px;font-size:14px}

/* вход */
.login .frame{display:flex;flex-direction:column;justify-content:space-between;gap:32px;min-height:760px}
.login .top{display:flex;flex-wrap:wrap;gap:32px;padding:28px 28px 0}
.login .intro{flex:1 1 340px;display:flex;flex-direction:column;gap:20px}
.login .markrow{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.login .brandmark{font-size:36px;line-height:40px;gap:12px}
.login h1{font-size:44px;line-height:48px;margin:0;max-width:520px}
.login .lead{font-size:16px;line-height:24px;color:var(--ink-muted);max-width:460px;margin:0}
.login .mods{flex:1 1 380px;min-width:0}
.login .mods td.on{font-weight:600}.login .mods td.dev{color:var(--ink-muted);font-style:italic}
.login .formwrap{display:flex;justify-content:flex-end}
.login form{width:100%;max-width:620px;border-top:3px solid var(--ink);border-left:3px solid var(--ink);display:flex;flex-wrap:wrap;gap:1px;background:var(--ink)}
.login form>div{background:var(--sheet);padding:6px 14px 10px}
.login form .fh{flex:1 1 100%;padding:8px 14px;display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:4px}
.login form .fh h2{margin:0;font-size:22px;line-height:28px}
.login form .f{flex:1 1 200px}
.login form .f label{margin:0 0 4px}
.login form .go{flex:0 1 140px;display:flex;align-items:flex-end;padding:10px 14px}
.login form .go .btn{width:100%}
.login form .note{flex:1 1 100%;padding:6px 14px;font-size:13px;color:var(--ink-muted)}
.login form .err{flex:1 1 100%;padding:6px 14px;color:var(--red-pencil);font-weight:600}

/* ── «Тендеры»: отчёт мониторинга с галочками (задание 2026-11-02-3) ──────────────────────────────────────── */
.tintro{margin:0 0 12px;max-width:900px}
.tt-wrap{overflow:auto;max-height:calc(100vh - 230px);border:var(--stroke-head) solid var(--ink);background:var(--sheet)}
.tt{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;table-layout:fixed;font-size:13px;line-height:18px}
.tt th,.tt td{border:0;border-right:1px solid var(--grid);border-bottom:1px solid var(--grid);background:var(--sheet);padding:5px 7px;vertical-align:top;overflow-wrap:anywhere}
.tt th{position:sticky;top:0;z-index:2;border-bottom:var(--stroke-head) solid var(--ink);font-weight:600;text-align:center;vertical-align:bottom}
.tt .s0,.tt .s1,.tt .s2,.tt .s3{position:sticky;z-index:1}
.tt th.s0,.tt th.s1,.tt th.s2,.tt th.s3{z-index:3}
.tt .s0{left:0;width:44px;min-width:44px;max-width:44px}
.tt .s1{left:44px;width:112px;min-width:112px;max-width:112px}
.tt .s2{left:156px;width:96px;min-width:96px;max-width:96px}
.tt .s3{left:252px;width:300px;min-width:300px;max-width:300px;border-right:var(--stroke-head) solid var(--ink)}
.tt.done .s3{width:340px;min-width:340px;max-width:340px}
.tt td.c,.tt td.dc{text-align:center}
.tt td.nw{white-space:nowrap}
.tt tr.prio td{background:var(--row-prio)}
.tt tr.hot td{background:var(--row-hot)}
.tt tr.no td{color:var(--ink-muted)}
.tt tr.no td a{color:var(--ink-muted)}
.tt .it,.tcard .it{font-style:italic}
.tt .nt,.tcard .nt{color:var(--ink-muted);cursor:help;margin-left:2px}
.clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}
.clamp.open{display:block;-webkit-line-clamp:unset}
.tt td.lt .v,.tcard dd .v{white-space:pre-line}
button.more{font:inherit;font-size:12px;background:none;border:0;padding:2px 0;min-height:24px;color:var(--link);text-decoration:underline;cursor:pointer}
label.chk{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:44px;margin:0;padding:0 6px;font-size:13px;font-style:normal;color:var(--ink);cursor:pointer}
label.chk input{width:22px;height:22px;margin:0;cursor:pointer}
label.chk.off{cursor:not-allowed;color:var(--ink-muted)}
label.chk.off input{cursor:not-allowed}
.tt label.chk .lbl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dst{font-size:12px;line-height:16px;text-align:left;overflow-wrap:anywhere}
.dst .run{font-style:italic}.dst .bad{color:var(--red-pencil)}.dst .who{color:var(--ink-muted)}
.dst .linkbtn{min-height:24px;padding:0;font-size:12px}
input.tcom{min-height:32px;padding:4px 8px;font-size:14px;line-height:20px}
.decision-note{color:var(--red-pencil);font-weight:600}
.tcards{display:none}
.tcard{border:1px solid var(--ink);background:var(--sheet);padding:10px 12px;margin-bottom:12px;overflow-wrap:anywhere}
.tcard.prio{background:var(--row-prio)}.tcard.hot{background:var(--row-hot)}
.tcard.no{color:var(--ink-muted)}
.tc-h{display:flex;gap:8px;align-items:baseline;margin-bottom:6px}
.tc-h .tc-n{flex:0 0 auto;font-size:12px;color:var(--ink-muted)}
.tc-kv{margin:0;display:flex;flex-direction:column;gap:2px;font-size:14px;line-height:20px}
.tc-kv>div{display:flex;gap:8px}
.tc-kv dt{flex:0 0 112px;font-size:12px;font-style:italic;color:var(--ink-muted)}
.tc-kv dd{margin:0;flex:1 1 auto;min-width:0}
.tc-d{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;border-top:1px solid var(--grid);padding-top:6px}
.tc-d label.chk{border:1px solid var(--ink);padding:0 12px}
.tcard details{margin-top:6px}
.more-kv{margin-top:6px}
@media (max-width:699px){
  .tt-wrap{display:none}
  .tcards{display:block}
  .tabs{width:auto}
}

/* ── «Снабжение» (задание 2026-10-31-1, этап 2): объекты, рассылка, база поставщиков, предложения, сопоставление ── */
.subnav{display:flex;gap:18px;flex-wrap:wrap;margin:0 0 14px;font-size:14px;border-bottom:1px solid var(--grid);padding-bottom:6px}
.subnav a.on{font-weight:700;text-decoration-thickness:2px}
.bad{color:var(--red-pencil)}
.nw{white-space:nowrap}
.sup-kv{margin-bottom:20px}
.sup-kv th{font-weight:400;font-style:italic;color:var(--ink-muted);text-align:left;border-bottom-width:1px}
.sup-kv td{font-weight:600;width:72px}
.sup-wrap{overflow:auto;max-height:calc(100vh - 230px);border:var(--stroke-head) solid var(--ink);background:var(--sheet)}
.sup-wrap>table{border:0}
.sup-off{font-size:13px;line-height:18px;min-width:1400px}
.sup-off th{position:sticky;top:0;z-index:1;background:var(--sheet)}
.sup-off tr.minp td.mn{background:var(--row-prio);font-weight:600}
.sup-base input.bf,.ansrow .ansnum{width:100%;min-height:32px;padding:4px 8px;border:1px solid var(--ink);background:var(--input);color:var(--ink);font:inherit;font-size:14px;line-height:20px}
.sup-base input.bf[type=checkbox]{width:22px;height:22px;min-height:0}
.sup-base td{vertical-align:middle;position:relative}
input[type=email],input[type=file]{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--ink);background:var(--input);color:var(--ink);font:inherit;font-size:16px;line-height:22px}
.ansrow{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.ansrow .ansnum{width:110px}
.sup-letter th{width:110px;text-align:left;border-bottom-width:1px}
.reshead .btns form{display:inline}
@media (max-width:699px){.sup-off{min-width:1100px}.sup-kv th,.sup-kv td{display:block;width:auto}}

/* ── планшет и телефон ────────────────────────────────────────────────── */
@media (max-width:860px){
  .desk{padding:0}
  .sheet{padding:0}
  .zones-top,.zones-left{display:none}
  .frame{flex-direction:column;border-width:0;min-height:100vh}
  .side{flex:none;flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px;padding:12px 16px;border-right:0;border-bottom:3px solid var(--ink)}
  .brandmark{width:100%;font-size:20px}
  .navgroup,.navgroup.main{flex-direction:row;flex-wrap:wrap;border:0;gap:6px}
  .navgroup .gh{display:none}
  .side a.nav{border:1px solid var(--ink);padding:6px 10px}
  .side .soon{border:1px dashed var(--grid);padding:4px 8px;font-size:13px}
  .side .soon small{display:none}
  .side .foot{margin-top:6px;width:100%;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px}
  .side .me{border:0;padding:0}
  main{padding:16px 16px 40px;border-left:0}
  .side{position:static;max-height:none;align-self:auto;overflow:visible}
  h1{font-size:24px;line-height:28px}
  .login .frame{min-height:0;gap:20px}
  .login .top{padding:16px 16px 0;gap:20px}
  .login .brandmark{font-size:28px;width:auto}
  .login h1{font-size:30px;line-height:34px}
  .login form{border-left:0}
  .plist thead{display:none}
  .plist,.plist tbody,.plist tr,.plist td{display:block;width:100%}
  .plist tr{border-bottom:1px solid var(--ink);padding:8px 0}
  .plist td{border:0;padding:2px 8px}
  .plist td.n{display:none}
  .plist .k{display:inline;font-style:italic;color:var(--ink-muted);font-size:13px;margin-right:4px}
  .plist td.num,.plist td.c{text-align:left}
  .plist tr[hidden]{display:none}
}
@media (max-width:640px){
  .spec.res th:nth-child(2),.spec.res td:nth-child(2),.spec.res th:nth-child(4),.spec.res td:nth-child(4){display:none}
  .spec.res td.btncell .btn{min-height:40px;padding:0 10px}
  .tblock .title h1{font-size:22px;line-height:26px}
}
@media (max-width:480px){.btn{white-space:normal}.tabs{width:auto}.answer-card .afoot .draft{margin-left:0}}
