@font-face { font-family:iskrit-instrument; src:url('/fonts/osifont.woff2?v=1') format('woff2'); font-display:swap; }
.instrument { --body:iskrit-instrument,sans-serif; --cond:iskrit-instrument,sans-serif; --disp:iskrit-instrument,sans-serif; --mono:iskrit-instrument,monospace; font-family:var(--body); }
/* Шапка инструмента в одну строку, одинаковая на компьютере и телефоне. */
.instrument .topbar { position:sticky; }
.instrument .topbar .actions { display:flex; gap:6px; flex:0 0 auto; margin:0; }
.instrument .topbar .brand { min-width:0; }
.instrument .topbar .brand .caption { display:none; }
.instrument .topbar .askbtn { display:inline-flex; width:38px; min-height:38px; height:38px; padding:0; }
.instrument .topbar .askbtn .lbl { display:none; }
.instrument .topbar .askbtn .ab-ic { display:inline-block; }
.instrument .topbar .iskrit-vopros { order:3!important; width:38px; height:38px; min-height:38px; padding:0; }
.instrument-menu { position:relative; }
/* Внутри меню обратная связь обычной строкой с подписью, как поиск и тема */
.instrument .topbar .instrument-menu-list .askbtn { width:100%; height:auto; min-height:38px; justify-content:center; }
.instrument .topbar .instrument-menu-list .askbtn .lbl { display:inline; }
.instrument .topbar .instrument-menu-list .askbtn .ab-ic { display:none; }
.instrument .instrument-menu > summary { display:flex; width:38px; height:38px; min-height:38px; padding:0; list-style:none; font-size:18px; }
.instrument-menu > summary::-webkit-details-marker { display:none; }
.instrument-menu-list { position:absolute; right:0; top:44px; width:min(300px,calc(100vw - 32px)); max-height:75vh; overflow:auto; padding:10px; border:1px solid var(--ink); background:var(--paper,#E8E9EB);  }
.instrument .instrument-menu-list .toolnav { display:none; }
/* На узком экране разделы строкой под шапкой, как на всём сайте */
@media (max-width:900px) {
  .instrument .topbar { flex-wrap:wrap; row-gap:0; }
}
.instrument .instrument-menu-list > :is(a,button,select) { display:flex; width:100%; margin-top:6px; min-height:38px; height:auto; }
.instrument .instrument-menu-list .alltools { display:none; }
.instrument .instrument-menu-list :is([data-palette-open],[data-theme-toggle]) { width:100%; }
.instrument .instrument-menu-list :is([data-palette-open],[data-theme-toggle])::before { content:none; }
.instrument .instrument-menu-list :is([data-palette-open],[data-theme-toggle]) .lbl { position:static; width:auto; height:auto; clip:auto; }
.instrument h1 { overflow-wrap:anywhere; }
.instrument #instrument-calcs > summary { cursor:pointer; font-size:13px; }
.instrument #instrument-calcs[open] > summary { margin-bottom:12px; }
.instrument .card > summary { cursor:pointer; }
.instrument .card > summary h2 { display:inline; }
.instrument .card[open] > summary { margin-bottom:10px; }
.instrument #calcbox input { min-width:0!important; max-width:100%; }
.instrument #calcbox td { overflow-wrap:anywhere; }
.instrument #fileLine,.instrument .err { overflow-wrap:anywhere; }
.instrument [hidden] { display:none!important; }
.instrument #verdict.verdict:has(> .num, > div > .num) { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.instrument #verdict.verdict:has(> .num, > div > .num) > div { min-width:0; padding:10px 8px; }
/* Подписи и подсказки чёрным: серый текст на сером фоне не читается */
:root:not([data-theme="blueprint"]) .instrument { --muted:#333; --grey:#333; --grey2:#333; }
@media (min-width:901px) {
  /* Те же размеры, что в шапке витрины */
  .instrument .topbar > .brand { min-width:103px; }
  .instrument .topbar .actions :is(.icobtn,.langsel,.iskrit-vopros,.askbtn) { height:34px; min-height:34px; }
  .instrument .topbar .askbtn, .instrument .topbar .iskrit-vopros { width:34px; }
  .instrument .instrument-menu { display:inline-flex; }
  .instrument .instrument-menu > summary { display:none; }
  .instrument .instrument-menu-list { position:static; display:flex; align-items:center; gap:6px; width:auto; max-height:none; overflow:visible; padding:0; border:0; background:none; }
  .instrument .instrument-menu-list > :is(a,button,select,label) { width:auto; margin-top:0; }
  /* Порядок кнопок как на витрине: выбор языка последним */
  .instrument .instrument-menu-list > .langsel { order:9; }
  /* Ссылки страницы схемы стоят в меню только на узком экране: на компьютере они под заголовком */
  .instrument .instrument-menu-list > a:not(.icobtn,.go) { display:none; }
  /* Широкий экран: кнопка по своему тексту, а не на всю колонку */
  :root .instrument :is(.btns,.nv-files,#nvBuild,.nv-project-actions) { grid-template-columns:repeat(auto-fit,minmax(110px,220px)); }
  .instrument #svgbox svg { max-width:1000px; height:auto; }
}
@media(max-width:640px) {
  .instrument .topbar .brand > a { min-height:38px; }
  /* Кнопки строкой поровну: одиночная кнопка в строке не остаётся */
  .instrument .btns { display:flex; flex-wrap:wrap; }
  .instrument div[style*="display:flex"]:has(> .go) > :is(.go,button) { flex:1 1 30%; min-width:0; justify-content:center; text-align:center; white-space:normal; }
  .instrument div[style*="display:flex"]:has(> :nth-child(4):last-child) > :is(.go,button) { flex-basis:40%; }
  .instrument > .wrap .actions.no-print { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .instrument > .wrap .actions.no-print .btn { min-width:0; white-space:normal; justify-content:center; text-align:center; }
  /* Примеры ВЛК и переходы из объёмов рядом: столбиком они занимали экран */
  .instrument aside > button[id^="nmDemo"] { display:inline-flex; width:calc(33.33% - 5px)!important; margin:0 4px 6px 0!important; vertical-align:top; white-space:normal; font-size:11px; padding:6px; }
  .instrument #vozkaHint,.instrument #aktHint { display:none; }
  .instrument div:has(> #vozkaBtn),.instrument div:has(> #aktBtn) { display:inline-flex!important; width:calc(50% - 5px); margin-top:8px!important; vertical-align:top; }
  .instrument :is(#vozkaBtn,#aktBtn) { width:100%; white-space:normal; font-size:11.5px; padding:8px 6px; }
  .instrument .btns > :is(button,a,label,.go) { flex:1 1 30%; min-width:0; justify-content:center; text-align:center; white-space:normal; }
  .instrument .btns:has(> :nth-child(4):last-child) > :is(button,a,label,.go) { flex-basis:40%; }
  :root body.instrument h1 { font-size:17px!important; margin:12px 20px 0!important; }
  .instrument .layout,.instrument .wrap { padding:12px; gap:10px; }
  .instrument .card { padding:10px; min-width:0; }
  .instrument .go { padding:8px 10px; font-size:12px; }
  .instrument .btns { gap:6px; }
  .instrument .btns:has(.lab-actions) > input { width:100%; min-width:0; }
  .instrument .lab-actions { width:100%; }
  .instrument .lab-actions .go { flex:1; justify-content:center; }
  .instrument #verdict.verdict:has(> .num, > div > .num) { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .instrument #verdict.verdict:has(> .num, > div > .num) > div { padding:8px; }
  .instrument #calcbox tr { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px; border-top:1px solid var(--ink); padding:6px 0; }
  .instrument #calcbox td { padding:3px 0; border:0; }
  .instrument #calcbox td:last-child { grid-column:1/-1; white-space:normal!important; }
  .instrument .instrument-result-head { align-items:center; gap:8px; flex-wrap:wrap; }
  .instrument .instrument-result-head .go { white-space:nowrap; }
  .instrument .btns .go { padding-left:6px; padding-right:6px; font-size:11.5px; }
  /* Таблицы с объединёнными шапками и календарь смен остаются таблицей: строка сжата, вбок листается только широкий календарь */
  .instrument .card table:not(.instrument-table) :is(th,td) { padding:3px; font-size:11px; }
  /* ВЛК: кнопка стоит в строке с видом карты */
  .instrument .newm { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:0 6px; align-items:start; }
  .instrument .newm > input[type=text] { grid-column:1 / -1; }
  .instrument .instrument-table,.instrument .instrument-table tbody { display:block; width:100%; }
  .instrument .instrument-table thead { display:none; }
  .instrument .instrument-table tr { display:block; border-top:1px solid var(--ink); padding:6px 0; }
  .instrument .instrument-table td { display:grid; grid-template-columns:minmax(70px,30%) minmax(0,1fr); gap:8px; border:0; padding:3px 0; overflow-wrap:anywhere; white-space:normal; text-align:left; }
  .instrument .instrument-table td::before { content:attr(data-label); font-weight:700; }
  .instrument #calcbox :is(#ic-req,#ic-blankfields) { display:grid!important; grid-template-columns:1fr 1fr; }
  .instrument #calcbox :is(#ic-req,#ic-blankfields)[style*="display: none"] { display:none!important; }
  .instrument #calcbox :is(#ic-org,#ic-addr) { grid-column:1/-1; }
}
@media print {
  html:has(body.instrument),body.instrument { background:#fff!important; }
  .instrument .instrument-table tr[hidden] { display:table-row!important; }
  .instrument .instrument-table,.instrument .instrument-table tbody { display:table-row-group; }
  .instrument .instrument-table { display:table; }
  .instrument .instrument-table thead { display:table-header-group; }
  .instrument .instrument-table tr { display:table-row; }
  .instrument .instrument-table td { display:table-cell; }
  .instrument .instrument-table td::before { content:none; }
}
/* Шапка продукта одна на всех его страницах: шрифт сайта, имя и меню на одной линии */
:root[data-produkt] .topbar { font-family: var(--draft); }
:root[data-produkt] .topbar .brand { display: flex; align-items: center; }
/* Рабочие экраны продуктов: шрифт сайта, крупнее и без абзацев пояснений. Раскрой не трогаем */
:root[data-produkt]:not([data-produkt="raskroy"]) .instrument { --body:var(--draft); --cond:var(--draft); --disp:var(--draft); --mono:var(--draft); }
:root[data-produkt]:not([data-produkt="raskroy"]) .instrument .card > p.sub { display:none; }
@media (min-width:1200px) {
  :root[data-produkt]:not([data-produkt="raskroy"]) body.instrument > :not(.topbar):not(.sitefoot):not(script):not(style):not(link) { zoom:1.15; }
}
/* Большой монитор: экран не мельчит, как и вход продукта */
@media (min-width:1800px) {
  :root[data-produkt]:not([data-produkt="raskroy"]) body.instrument > :not(.topbar):not(.sitefoot):not(script):not(style):not(link) { zoom:1.3; }
}
@media (min-width:2300px) {
  :root[data-produkt]:not([data-produkt="raskroy"]) body.instrument > :not(.topbar):not(.sitefoot):not(script):not(style):not(link) { zoom:1.5; }
}
/* Широкий экран: слева ввод, справа результат. Менять и смотреть можно, не листая */
@media (min-width:1700px) {
  :root[data-produkt]:not([data-produkt="raskroy"]) .layout:has(> main) { max-width:none; }
  :root[data-produkt]:not([data-produkt="raskroy"]) main:has(> #editor):has(> #res) { display:grid!important; grid-template-columns:minmax(0,2fr) minmax(0,3fr); gap:16px; align-items:start; }
  :root[data-produkt]:not([data-produkt="raskroy"]) main > #editor { grid-column:1; grid-row:1 / span 4; }
  :root[data-produkt]:not([data-produkt="raskroy"]) main > #res, :root[data-produkt]:not([data-produkt="raskroy"]) main > #stub { grid-column:2; grid-row:1 / span 4; order:0; }
  :root[data-produkt]:not([data-produkt="raskroy"]) main > #err, :root[data-produkt]:not([data-produkt="raskroy"]) main > #note { grid-column:1 / -1; }
  :root[data-produkt]:not([data-produkt="raskroy"]) .layout:has(> #formCard):has(> #res) { max-width:none; grid-template-columns:minmax(0,2fr) minmax(0,3fr); }
  :root[data-produkt]:not([data-produkt="raskroy"]) .layout > .card:not(#res), :root[data-produkt]:not([data-produkt="raskroy"]) .layout > #formCard { grid-column:1; }
  :root[data-produkt]:not([data-produkt="raskroy"]) .layout > #res { grid-column:2; grid-row:1 / span 8; }
  :root[data-produkt]:not([data-produkt="raskroy"]) .layout > #err { grid-column:1 / -1; }
}
/* Длинное имя продукта умещается в строке шапки на телефоне */
@media (max-width:480px) { :root[data-produkt] .topbar .brand { font-size:14px; letter-spacing:.04em!important; } }
:root[data-produkt]:not([data-produkt="raskroy"]) input[type=file]::file-selector-button { font: inherit; border: 1px solid var(--ink); background: #fff; color: var(--ink); padding: 6px 10px; margin-right: 8px; cursor: pointer; }
/* Телефон: посчитанное сверху, ввод под ним. Пример и готовый результат видны без прокрутки формы */
@media (max-width:900px) { :root[data-produkt]:not([data-produkt="raskroy"]) .layout:has(> #formCard):has(> #res) > #res { order:-1; } }
/* Тёмная тема: чернила белые, а вкладки и поля на рабочих экранах белые в разметке. Без этого белое на белом */
:root[data-theme="blueprint"][data-produkt]:not([data-produkt="raskroy"]) :is(.tabs, .tabs button) { background:#161616; }
:root[data-theme="blueprint"][data-produkt]:not([data-produkt="raskroy"]) .tabs button.on { background:var(--ink); color:#0E0E0E; }
:root[data-theme="blueprint"][data-produkt]:not([data-produkt="raskroy"]) .tabs button.on .n { color:#0E0E0E; }
:root[data-theme="blueprint"][data-produkt]:not([data-produkt="raskroy"]) select { background:#161616; color:var(--ink); }
:root[data-theme="blueprint"][data-produkt]:not([data-produkt="raskroy"]) :is(input:not([type=checkbox], [type=radio], [type=file]), textarea, .rowbtn, .layer-more, .warnbox, .scheme-controls button, .column-controls button) { background:#161616; color:var(--ink); }
:root[data-theme="blueprint"][data-produkt]:not([data-produkt="raskroy"]) .badge.under { background:#5A5A5A; color:#fff; }
:root[data-theme="blueprint"][data-produkt]:not([data-produkt="raskroy"]) :is(.err, #idSection, #labSection, .id-row-more, .point-more, .ks-pos-more, .nk-pos-more, .nv-row-more, .lab-rowmore) { background:#161616; color:var(--ink); }
:root[data-theme="blueprint"][data-produkt]:not([data-produkt="raskroy"]) :is(.note, .warn, .kto, .go.danger, .survey-import, .gran-menu, #idFiles > div, #resultFiles > div, .id-actionmenu > div, #labFiles > .bar, #vTable tbody td:first-child) { background:#161616; }
:root[data-theme="blueprint"][data-produkt]:not([data-produkt="raskroy"]) .note { color:var(--ink); }
:root[data-theme="blueprint"][data-produkt]:not([data-produkt="raskroy"]) .secnav { background:var(--paper); }
:root[data-theme="blueprint"][data-produkt]:not([data-produkt="raskroy"]) .lvl.l2 { background:#5A5A5A; }
:root[data-theme="blueprint"][data-produkt]:not([data-produkt="raskroy"]) .verdict .r { color:var(--ink); }
/* Протокол это лист бумаги: фон белый, чернила тёмные */
:root[data-theme="blueprint"] .instrument .protokol { --ink:#1A1A1A; color:#1A1A1A; }
:root[data-theme="blueprint"][data-produkt]:not([data-produkt="raskroy"]) :is(#layers .rowbtn, .column-controls select) { background:#161616 !important; color:var(--ink) !important; }
/* Рабочий экран продукта: меню закрыто и на компьютере, цена живёт в пункте меню «Цена» */
@media (min-width:901px) {
  :root[data-produkt]:not([data-produkt="raskroy"]) .instrument .instrument-menu > summary { display:flex; cursor:pointer; }
  :root[data-produkt]:not([data-produkt="raskroy"]) .instrument .instrument-menu-list { position:absolute; right:0; top:44px; display:block; width:280px; padding:10px; border:1px solid var(--ink); background:var(--paper); }
  :root[data-produkt]:not([data-produkt="raskroy"]) .instrument .instrument-menu-list > :is(a,button,select,label) { display:flex; width:100%; margin-top:6px; }
}
:root[data-produkt]:not([data-produkt="raskroy"]) .iskrit-tarif { white-space:nowrap; }
/* Заголовок рабочего экрана тихий: на экране работа, а не название страницы */
:root[data-produkt]:not([data-produkt="raskroy"]) .instrument > h1 { margin-top:8px !important; font-size:13px !important; font-weight:400 !important; }
/* Кнопки ведомости над строками: на длинной ведомости главная кнопка не уезжает за экран */
.instrument .posknopki { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:0 0 10px; }
.instrument .posknopki > div { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:0; }
.instrument .posdob { margin-top:6px; }
.instrument .faylknopka { display:inline-flex; align-items:center; min-height:32px; padding:4px 10px; border:1px solid var(--ink); background:transparent; color:var(--ink); font-size:12px; cursor:pointer; }
/* Заголовок карточки повторял заголовок страницы */
:root[data-produkt]:not([data-produkt="raskroy"]) #formCard:has(#poslist) > h2:first-child { display:none; }
:root[data-produkt]:not([data-produkt="raskroy"]) #res > .noprint:first-child { margin-bottom:10px; }
/* Компьютер: ведомость читается таблицей, а не сотней рамок вокруг чисел */
@media (min-width:901px) {
  :root[data-produkt]:not([data-produkt="raskroy"]) .colhead, :root[data-produkt]:not([data-produkt="raskroy"]) #poslist .pos { gap:0; }
  :root[data-produkt]:not([data-produkt="raskroy"]) .colhead { margin:0; padding:0 10px 4px 0; font-size:12px; text-transform:none; letter-spacing:0; color:var(--ink); }
  :root[data-produkt]:not([data-produkt="raskroy"]) .colhead span { padding:0 6px; }
  :root[data-produkt]:not([data-produkt="raskroy"]) #poslist { max-height:min(58vh,560px); overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); }
  :root[data-produkt]:not([data-produkt="raskroy"]) #poslist::-webkit-scrollbar { width:10px; }
  :root[data-produkt]:not([data-produkt="raskroy"]) #poslist::-webkit-scrollbar-thumb { background:#9A9A9A; }
  :root[data-produkt]:not([data-produkt="raskroy"]) #poslist .pos { margin:0; padding:0; align-items:stretch; border-top:0; border-bottom:1px solid var(--soft); }
  :root[data-produkt]:not([data-produkt="raskroy"]) #poslist .pos:last-child { border-bottom:0; }
  :root[data-produkt]:not([data-produkt="raskroy"]) #poslist .pos :is(input,textarea,select) { width:100%; height:30px; min-height:30px; padding:4px 6px; border:0; border-right:1px solid var(--soft); background:transparent; font-size:13px; line-height:22px; resize:none; }
  :root[data-produkt]:not([data-produkt="raskroy"]) #poslist .pos textarea { field-sizing:fixed; overflow:hidden; white-space:nowrap; }
  :root[data-produkt]:not([data-produkt="raskroy"]) #poslist .pos textarea:focus { position:relative; z-index:2; field-sizing:content; height:auto; max-height:170px; white-space:normal; }
  :root[data-produkt]:not([data-produkt="raskroy"]) #poslist .pos :is(input,textarea):focus { outline:2px solid var(--blue); outline-offset:-2px; background:var(--paper); }
  :root[data-produkt]:not([data-produkt="raskroy"]) #poslist .pos .x { width:100%; height:30px; min-height:30px; border:0; background:transparent; color:var(--ink); }
  :root[data-produkt]:not([data-produkt="raskroy"]) .tiles:has(> :nth-child(6):last-child) { grid-template-columns:repeat(3,minmax(0,1fr)); }
  :root[data-produkt]:not([data-produkt="raskroy"]) .tiles:has(> :nth-child(5):last-child) { grid-template-columns:repeat(5,minmax(0,1fr)); }
  :root[data-produkt]:not([data-produkt="raskroy"]) .tile .v { white-space:nowrap; }
  :root[data-produkt]:not([data-produkt="raskroy"]) .dog { grid-template-columns:repeat(auto-fit,minmax(0,240px)); }
}
/* Колонка: подписи столбцов только над первым слоем, кнопки одной строкой */
@media (min-width:901px) {
  :root[data-produkt]:not([data-produkt="raskroy"]) #layers tr { padding:2px 0; border-top:0; }
  :root[data-produkt]:not([data-produkt="raskroy"]) #layers tr:not(:first-child) td::before { content:none; }
  :root[data-produkt]:not([data-produkt="raskroy"]) #layers :is(input,select) { height:32px; }
  :root[data-produkt]:not([data-produkt="raskroy"]) #layers .rowbtn, :root[data-produkt]:not([data-produkt="raskroy"]) #layers .layer-more { height:32px; }
  :root[data-produkt]:not([data-produkt="raskroy"]) #layerActions { display:flex; flex-wrap:wrap; gap:6px; }
  :root[data-produkt]:not([data-produkt="raskroy"]) #layerActions .go { flex:0 0 auto; padding:8px 12px; }
}
/* Исполнительная схема на ноутбуке: выбор слева, схема справа, листать не нужно */
@media (min-width:1280px) {
  :root[data-produkt]:not([data-produkt="raskroy"]) .layout:has(> #formCard #picker) { max-width:none; grid-template-columns:minmax(0,2fr) minmax(0,3fr); }
  :root[data-produkt]:not([data-produkt="raskroy"]) .layout:has(> #formCard #picker) > .card:not(#res), :root[data-produkt]:not([data-produkt="raskroy"]) .layout:has(> #formCard #picker) > #formCard { grid-column:1; }
  :root[data-produkt]:not([data-produkt="raskroy"]) .layout:has(> #formCard #picker) > #res { grid-column:2; grid-row:1 / span 8; }
  :root[data-produkt]:not([data-produkt="raskroy"]) .layout:has(> #formCard #picker) > #err { grid-column:1 / -1; }
  :root[data-produkt]:not([data-produkt="raskroy"]) .ctiles { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
/* Ввод и результат рядом уже на ноутбуке, список проектов узкий */
@media (min-width:1280px) {
  :root[data-produkt]:not([data-produkt="raskroy"]) .layout:has(> main > #editor) { max-width:none; grid-template-columns:220px minmax(0,1fr); }
  :root[data-produkt]:not([data-produkt="raskroy"]) main:has(> #editor):has(> #res) { display:grid!important; grid-template-columns:minmax(0,2fr) minmax(0,3fr); gap:16px; align-items:start; }
  :root[data-produkt]:not([data-produkt="raskroy"]) main > #editor { grid-column:1; grid-row:1 / span 4; }
  :root[data-produkt]:not([data-produkt="raskroy"]) main > #res, :root[data-produkt]:not([data-produkt="raskroy"]) main > #stub { grid-column:2; grid-row:1 / span 4; order:0; }
  :root[data-produkt]:not([data-produkt="raskroy"]) main > #err, :root[data-produkt]:not([data-produkt="raskroy"]) main > #note { grid-column:1 / -1; }
}
/* Заголовки свёрнутых разделов тише рабочих полей */
:root[data-produkt]:not([data-produkt="raskroy"]) .instrument details > summary:not(.go) { font-size:13px; }
/* Телефон: плитки итогов парами, а не столбиком на весь экран; «+ позиция» последней строкой ведомости */
@media (max-width:760px) {
  :root[data-produkt]:not([data-produkt="raskroy"]) .tiles { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
  :root[data-produkt]:not([data-produkt="raskroy"]) .tile { min-width:0; }
  :root[data-produkt]:not([data-produkt="raskroy"]) .tiles > :last-child:nth-child(odd) { grid-column:1 / -1; }
  :root[data-produkt]:not([data-produkt="raskroy"]) .instrument .posdob { width:100%; justify-content:center; }
  /* Ряд кнопок: кнопка, оставшаяся одна на строке, дотягивается до края; в сетке из двух колонок встаёт на всю строку */
  :root[data-produkt]:not([data-produkt="raskroy"]) .instrument :is(.bar, .res-eshche, .res-niz, .oglav, .posknopki, .fajl-knopki) > :is(.go, .lnk-knopka, button, select.poisk) { flex-grow:1; justify-content:center; }
  :root[data-produkt]:not([data-produkt="raskroy"]) .instrument :is(#ic-reqsave, #nkClear, #tplBtn:not(#manualImports *), .storona > .bar > .go) { grid-column:1 / -1; justify-content:center; }
}
/* Телефон: шапка в один ряд, сумма в плитке в одну строку */
@media (max-width:480px) {
  :root[data-produkt]:not([data-produkt="raskroy"]) .instrument .topbar .brand, :root[data-produkt]:not([data-produkt="raskroy"]) .instrument .topbar .brand > a { font-size:12.5px; letter-spacing:.02em!important; }
  :root[data-produkt]:not([data-produkt="raskroy"]) .instrument .topbar .actions { gap:4px; }
  :root[data-produkt]:not([data-produkt="raskroy"]) .instrument .instrument-menu > summary { width:44px; height:44px; min-height:44px; }
  :root[data-produkt]:not([data-produkt="raskroy"]) .tile .v { font-size:clamp(14px,4.4vw,19px); white-space:normal; overflow-wrap:anywhere; }
}
/* На бумагу идёт итог, а не форма ввода */
@media print {
  :root[data-produkt]:not([data-produkt="raskroy"]) #formCard:has(#poslist) { display:none !important; }
  :root[data-produkt]:not([data-produkt="raskroy"]) .instrument > h1 { margin-top:0 !important; }
}
@media (max-width:480px) {
  :root[data-produkt]:not([data-produkt="raskroy"]) .instrument .topbar { padding-left:12px; padding-right:12px; }
  :root[data-produkt]:not([data-produkt="raskroy"]) .instrument .znak-pref { display:none; }
}
/* Уравнивание: заголовок того же вида, что на остальных экранах */
:root[data-produkt]:not([data-produkt="raskroy"]) .ur-golova { padding-top:8px; padding-bottom:0; }
:root[data-produkt]:not([data-produkt="raskroy"]) .ur-golova h1 { font-family:inherit; font-size:13px; font-weight:400; }
:root[data-produkt]:not([data-produkt="raskroy"]) .ur-pod { display:none; }
/* Самый узкий телефон: поля шапки уже, меню рабочего экрана остаётся одной строкой */
@media (max-width:345px) { :root[data-produkt]:not([data-produkt="raskroy"]) .instrument .topbar { padding-left:6px; padding-right:6px; } }
