/* Инструменты заказчика torgkey.ru: калькулятор НМЦК, проверка по ПП 1875, планер закупок, бланки. Вид «Паспорт изделия»: лист с сеткой чертежа,
   итог расчёта в штампе, как основная надпись на чертеже; план как спецификация ЕСКД; бланк как лист А4 на сетке. Цвета из style.css, зелёного нет. */
:root{--amber:#8A5300;--amber-soft:#FFF3DC;--err-soft:#FDECEA}
.t-head{padding:14px 0 26px;max-width:860px}
.t-head .lead{max-width:44em}
.t-box{background-color:#fff;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:14px 14px;
  border:1.5px solid var(--ink);border-radius:10px;padding:26px 28px 28px;margin:0 0 48px}
.t-box input{font-variant-numeric:tabular-nums}
.t-box [hidden]{display:none!important}
.t-box ::placeholder{color:#8A93A3;opacity:1}
.t-subj{max-width:720px;margin-bottom:8px}
.t-row{position:relative;border:0;border-top:2px solid var(--ink);margin:22px 0 0;padding:14px 0 6px;min-width:0}
.t-row legend{float:left;width:100%;font-weight:700;font-size:18px;letter-spacing:-.01em;padding:0 0 12px;color:var(--ink)}
.t-grid{clear:both;display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1.2fr) 110px 130px;gap:14px}
.t-prs{display:grid;gap:10px;margin-top:14px}
.t-pr{display:grid;grid-template-columns:minmax(0,1fr) 190px 32px;gap:14px;align-items:end}
.t-pr.far .t-num input{border-color:var(--err);box-shadow:0 0 0 3px var(--err-soft)}
.t-x{width:32px;height:44px;border:0;background:none;color:var(--muted);font-size:24px;line-height:1;cursor:pointer;border-radius:6px}
.t-x:hover{color:var(--err);background:var(--err-soft)}
.t-xr{position:absolute;right:0;top:10px}
.t-link{border:0;background:none;padding:6px 0;font:600 15px Geologica,sans-serif;color:var(--blue);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.t-add{margin-top:22px}
.t-kv{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:16px 0 0;border:1px solid var(--rule);border-radius:8px;background:#fff;overflow:hidden}
.t-kv div{padding:10px 14px;border-left:1px solid var(--rule)}
.t-kv div:first-child{border-left:0}
.t-kv dt{font-size:13px;color:var(--muted)}
.t-kv dd{margin:2px 0 0;font-weight:600;font-size:17px;white-space:nowrap}
.t-kv .bad dd,.t-st .bad{color:var(--err)}
.t-kv .sum{background:var(--blue-soft)}
.t-hint p{margin:10px 0 0;font-size:15px}
.t-m,.t-pos{border-left:4px solid var(--blue);background:var(--blue-soft);border-radius:0 8px 8px 0;padding:10px 14px}
.t-m.m1,.t-pos.m1{border-color:var(--err);background:var(--err-soft)}
.t-m.m2,.t-pos.m2{border-color:var(--amber);background:var(--amber-soft)}
.t-m.soon,.t-pos.soon{border-color:var(--muted);background:var(--field)}
.t-n{color:var(--muted);font-size:15px}
.t-cat{background:#fff;border:1px dashed var(--rule);border-radius:8px;padding:10px 14px}
.t-cat a{color:var(--blue)}
/* итог: штамп как основная надпись чертежа */
.t-stamp{margin:30px 0 0;display:flex;justify-content:flex-end}
.t-st{border-collapse:collapse;background:#fff;border:2px solid var(--ink);width:min(100%,640px);font-size:14px}
.t-st th,.t-st td{border:1px solid var(--ink);padding:8px 12px;text-align:left;vertical-align:middle}
.t-st th{font-weight:500;color:var(--muted);white-space:nowrap}
.t-st td{font-weight:600}
.t-big{font-size:30px;font-weight:800;letter-spacing:-.02em;white-space:nowrap}
.t-warn{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:6px}
.t-warn li{padding:8px 12px 8px 14px;border-left:4px solid var(--err);background:var(--err-soft);border-radius:0 6px 6px 0;font-size:15px}
.t-warn:empty{display:none}
.t-docf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:26px;padding-top:18px;border-top:1px solid var(--rule)}
.t-acts{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;margin-top:18px}
.t-note{margin:14px 0 0;font-weight:600}
.t-f{margin:10px 0 16px;padding:14px 18px;background:var(--field);border-left:4px solid var(--blue);border-radius:0 8px 8px 0}
.t-f p{margin:6px 0}
.t-check li{margin:6px 0}
/* проверка по ПП 1875 */
.t-q{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end;max-width:820px}
.t-ex{margin:12px 0 0;font-size:14px;color:var(--muted)}
.t-ex a{color:var(--blue)}
.t-sug{margin-top:16px;max-width:820px;background:#fff;border:1px solid var(--rule);border-radius:8px;padding:6px 0}
.t-sug ul{list-style:none;margin:0;padding:0}
.t-sug button{display:grid;gap:2px;width:100%;text-align:left;border:0;background:none;padding:9px 16px;cursor:pointer;font:400 15px Geologica,sans-serif;color:var(--ink)}
.t-sug button:hover,.t-sug button:focus-visible{background:var(--blue-soft)}
.t-sug button span{color:var(--muted);font-size:13px}
.t-sug-h{margin:8px 16px 2px;font-size:13px;font-weight:600;color:var(--muted)}
.t-res h3{font-size:20px;margin:26px 0 10px}
.t-code{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;margin-top:24px;padding-bottom:12px;border-bottom:2px solid var(--ink)}
.t-code-c{margin:0;font-size:32px;font-weight:800;letter-spacing:-.02em}
.t-code-n{margin:0;color:var(--muted);max-width:60ch}
.t-pos{margin:0 0 10px}
.t-pos p{margin:4px 0}
.t-pos-h{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}
.t-pos-h b{font-size:17px}
.t-pos-h span{font-size:14px;color:var(--muted)}
.t-pos.m0{border-color:var(--ink);background:#fff}
.t-part{margin:6px 0 10px;background:#fff;border:1px solid var(--rule);border-radius:8px;padding:10px 14px}
.t-part summary{cursor:pointer;font-weight:600}
.t-part ul{margin:8px 0 0;padding-left:18px;font-size:14px}
.t-part li{margin:4px 0}
.t-ex5,.t-note2{background:#fff;border:1.5px solid var(--ink);border-radius:8px;padding:14px 16px;margin:14px 0 0}
.t-note2 p{margin:4px 0}
.t-note2 a{color:var(--blue)}
.t-exf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:10px 0 0}
.t-exr{margin:12px 0 6px;padding-left:18px}
.t-exr li{margin:4px 0}
.t-vid{margin:14px 0 0}
.t-vid-h{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;margin:0 0 10px}
.t-vid-h a{font-weight:700;font-size:18px;color:var(--ink)}
.t-vid-h span{color:var(--muted);font-size:14px}
.t-cta{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 0}
.t-src{margin:18px 0 0;font-size:13px;color:var(--muted)}
.t-list{margin:10px 0;border-top:1px solid var(--rule);padding-top:10px}
.t-list summary{cursor:pointer;font-weight:600;padding:4px 0}
.t-tbl{font-size:13.5px}
.t-tbl td:first-child{white-space:nowrap}
@media (max-width:960px){.t-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.t-name{grid-column:1/-1}.t-kv{grid-template-columns:repeat(2,minmax(0,1fr))}
  .t-kv div:nth-child(3){border-left:0}.t-kv div:nth-child(n+3){border-top:1px solid var(--rule)}}
@media (max-width:640px){.t-box{padding:18px 16px 20px;border-radius:8px;margin-left:-8px;margin-right:-8px}
  .t-pr{grid-template-columns:minmax(0,1fr) 120px;gap:8px 10px}.t-pr .t-x{grid-column:2;justify-self:end;height:32px}
  .t-kv dd{font-size:15px;white-space:normal}.t-stamp{justify-content:stretch}.t-st,.t-st tbody{display:block;width:100%}.t-st tr{display:grid;grid-template-columns:minmax(0,.45fr) minmax(0,.55fr)}.t-big{font-size:24px}
  .t-docf,.t-exf,.t-q{grid-template-columns:minmax(0,1fr)}.t-code-c{font-size:26px}.t-acts .btn-main,.t-acts .btn-line{width:100%}}
/* планер: строки как спецификация, шапка столбцов на ПК */
.t-box select{font:400 16px Geologica,sans-serif;padding:11px 12px;border:1px solid var(--rule);border-radius:6px;background:#fff;color:var(--ink);width:100%}
.t-box select:focus{border-color:var(--blue);outline:0;box-shadow:0 0 0 3px var(--blue-soft)}
.p-top{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:end;margin-bottom:22px}
.p-year{width:150px}
.p-top .t-n{margin:0 0 10px;max-width:46ch}
.p-head,.p-row{display:grid;grid-template-columns:34px minmax(0,1fr) 150px 60px 80px 76px 118px 124px 28px;gap:10px;align-items:end}
.p-head{border-bottom:2px solid var(--ink);padding:0 0 8px;font-size:13px;color:var(--muted)}
.p-head span:nth-child(n+5){text-align:left}
.p-head span:nth-child(8){text-align:right}
.p-row{border-bottom:1px solid var(--rule);padding:12px 0 10px;position:relative}
.p-row>.f>span:first-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.p-n{align-self:center;font-weight:700;font-size:17px;text-align:center;border-right:1px solid var(--rule);padding:10px 0}
.p-name{position:relative}
.p-sum{margin:0;text-align:right;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;align-self:center;font-size:16px}
.p-sum span{display:none}
.p-x{align-self:center}
.p-note{grid-column:2/-1}
.p-note p{margin:8px 0 0;font-size:14.5px}
.p-m{border-left:4px solid var(--blue);background:var(--blue-soft);border-radius:0 6px 6px 0;padding:6px 12px}
.p-m.m1{border-color:var(--err);background:var(--err-soft)}
.p-m.m2{border-color:var(--amber);background:var(--amber-soft)}
.p-m a{color:var(--blue)}
.p-w{color:#333B4A}
.p-sug{position:absolute;left:0;right:0;top:100%;z-index:30;margin-top:4px;background:#fff;border:1px solid var(--ink);border-radius:8px;max-height:340px;overflow:auto;padding:4px 0}
.p-sug button{display:grid;gap:2px;width:100%;text-align:left;border:0;background:none;padding:8px 14px;cursor:pointer;font:400 15px Geologica,sans-serif;color:var(--ink)}
.p-sug button:hover,.p-sug button:focus-visible{background:var(--blue-soft)}
.p-sug button span{color:var(--muted);font-size:13px}
/* сроки: ведомость этапов */
.s-box h2{margin:0 0 6px;font-size:26px}
.s-f{margin-bottom:18px}
.s-g{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);gap:14px;margin-top:16px;max-width:900px}
.s-msp{display:flex;gap:10px;align-items:center;margin-top:14px;font-size:15px;cursor:pointer}
.s-msp input{width:20px;height:20px;accent-color:var(--blue)}
.s-tbl{border-collapse:collapse;background:#fff;width:100%;font-size:15px;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.s-tbl th{text-align:left;font-size:13px;font-weight:500;color:var(--muted);padding:8px 12px;border-bottom:1px solid var(--ink)}
.s-tbl td{padding:10px 12px;border-bottom:1px solid var(--rule);vertical-align:top}
.s-tbl .s-n{width:34px;font-weight:700;color:var(--muted)}
.s-tbl .s-d{font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.s-tbl .s-l{color:var(--muted);font-size:14px}
.s-sum{margin:14px 0 0;font-size:16px}
.s-sum a{color:var(--blue)}
.s-res .t-m{margin-top:12px}
/* бланки: форма слева, лист А4 справа на сетке, как чертёж на столе */
.b-box{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:32px;align-items:start}
.b-fs{border:0;border-top:2px solid var(--ink);margin:0 0 18px;padding:12px 0 4px;min-width:0}
.b-fs legend{float:left;width:100%;font-weight:700;font-size:17px;padding:0 0 10px}
.b-g{clear:both;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.b-wide{grid-column:1/-1}
.b-g textarea,.b-it textarea{resize:vertical}
.b-kind{margin:0 0 18px}
.b-items{clear:both;display:grid;gap:12px}
.b-it{background:#fff;border:1px solid var(--rule);border-radius:8px;padding:12px 14px;display:grid;gap:10px}
.b-it-h{display:flex;justify-content:space-between;align-items:center;min-height:32px}
.b-it-h .t-x{height:32px}
.b-it-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}
.b-it-a{display:flex;flex-wrap:wrap;gap:10px}
.b-it-a .btn-line{width:auto;margin-top:12px}
.b-sheet-w{position:sticky;top:84px}
.b-sheet-h{margin:0 0 8px;font-size:13px;color:var(--muted)}
.b-sheet{background:#fff;color:#111;font:11.5px/1.45 Arial,"Liberation Sans",Helvetica,sans-serif;padding:8% 6% 8% 9%;min-height:560px;max-height:calc(100vh - 130px);overflow:auto;
  border:1px solid #C9CFDA;box-shadow:5px 5px 0 -1px #fff,5px 5px 0 0 #C9CFDA,10px 10px 0 -1px #fff,10px 10px 0 0 #DDE2EA;margin-right:10px}
.d-p{margin:0 0 .45em}
.d-p.c{text-align:center}.d-p.rt{text-align:right}.d-p.b{font-weight:700}.d-p.sm{font-size:10px}.d-p.lg{font-size:14px}.d-p.it{font-style:italic}
.d-p.ind{margin-left:54%}
.d-e{color:#9AA3B2;letter-spacing:-.5px}
.d-v{background:var(--blue-soft);border-radius:2px}
.d-t{border-collapse:collapse;width:100%;margin:.4em 0 .8em;font-size:10.5px}
.d-t th,.d-t td{border:1px solid #111;padding:3px 5px;text-align:left;vertical-align:top}
.d-t th{font-weight:700}
.d-t td.r{text-align:right;white-space:nowrap}
/* хаб бланков: документы в порядке работы, лист с загнутым углом */
.bl-list{list-style:none;margin:0 0 48px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.bl-doc{position:relative;display:grid;align-content:start;gap:10px;height:100%;min-height:230px;padding:20px 20px 22px;text-decoration:none;color:var(--ink);
  background:#fff;border:1.5px solid var(--ink);border-radius:2px;
  background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:14px 14px}
.bl-doc::after{content:"";position:absolute;top:-1.5px;right:-1.5px;width:30px;height:30px;border-left:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);
  background:linear-gradient(to top right,var(--field) calc(50% - 1px),var(--ink) calc(50% - 1px) calc(50% + .5px),var(--paper) calc(50% + .5px))}
.bl-n{display:inline-grid;place-items:center;width:34px;height:34px;border:1.5px solid var(--ink);font-weight:800;font-size:17px}
.bl-doc b{font-size:19px;line-height:1.25}
.bl-doc span:last-child{color:var(--muted);font-size:15px}
.bl-doc:hover b,.bl-doc:focus-visible b{color:var(--blue)}
.bl-doc:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
@media (max-width:1180px){.b-box{grid-template-columns:minmax(0,1fr)}.b-sheet-w{position:static}.b-sheet{max-height:none}.bl-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:960px){.p-head{display:none}
  .p-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px;padding:16px 0 12px}
  .p-row>.f>span:first-child{position:static;width:auto;height:auto;clip:auto}
  .p-n{grid-column:1/-1;text-align:left;border:0;padding:0;font-size:15px}.p-n::before{content:"Строка "}
  .p-name{grid-column:1/-1}.p-code{grid-column:1/3}.p-unit{grid-column:3}.p-qty{grid-column:4}.p-q{grid-column:1/2}.p-pr{grid-column:2/4}
  .p-sum{grid-column:4;text-align:left;align-self:end;padding-bottom:12px}.p-sum span{display:block;font-size:13px;font-weight:400;color:var(--muted)}
  .p-x{position:absolute;right:0;top:8px}.p-note{grid-column:1/-1}
  .s-g{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.s-g .f:first-child{grid-column:1/-1}}
@media (max-width:640px){.p-code{grid-column:1/-1}.p-unit{grid-column:1/3}.p-qty{grid-column:3/5}.p-q{grid-column:1/3}.p-pr{grid-column:3/5}.p-sum{grid-column:1/-1}
  .s-g,.b-g{grid-template-columns:minmax(0,1fr)}.s-tbl{font-size:14px}.s-tbl th:nth-child(4),.s-tbl td.s-l{display:none}.s-tbl td{padding:9px 8px}
  .b-sheet{font-size:10px;padding:7% 5%;min-height:0;margin-right:10px}.d-p.ind{margin-left:40%}.bl-list{grid-template-columns:minmax(0,1fr)}.bl-doc{min-height:0}
  .b-it-a .btn-line{width:100%}.b-it-g{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.b-it-g .f:first-child{grid-column:1/-1}}
@media print{.t-acts,.t-add,.t-x,.t-link,.t-cat,.b-form,.b-sheet-h{display:none}.b-box{display:block}.b-sheet{max-height:none;box-shadow:none;border:0}}
/* Телефон: кнопка «Спросить консультанта» (.chat, fixed) не садится на поле ввода. Поле в фокусе прокручивается выше неё, а пока поле в фокусе, кнопка скрыта */
@media (max-width:640px){html{scroll-padding-bottom:84px}body:has(.t-box :is(input,textarea,select):focus) .chat,body:has(.b-form :is(input,textarea,select):focus) .chat{opacity:0;visibility:hidden;pointer-events:none}}
