/* Расклад · стиль «Чертёж»: лист замерщика. Тонкие чернильные линии, без теней и вложенных карточек. */
:root{
  --paper:#f7f8f6; --sheet:#fcfcfb; --ink:#1c2b4a; --ink2:#5a6782; --line:#c9d0de; --grid:#e6e9ef;
  --blue:#2450c8; --blue-bg:#e8edfb; --red:#c8462f; --ok:#1d7a4e; --warn:#a9650b; --cut:#dde5f8; --plank:#f3f5fa; --on-ink:#f7f8f6;
  --f-ui:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --f-mono:ui-monospace,"SF Mono","Cascadia Mono","Roboto Mono",Menlo,Consolas,monospace;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --paper:#10151f; --sheet:#151b28; --ink:#dfe6f5; --ink2:#8d9ab6; --line:#2f3a52; --grid:#1b2334;
  --blue:#7ea0ff; --blue-bg:#1d2a4d; --red:#ff8a73; --ok:#5cc792; --warn:#e0a24a; --cut:#26324f; --plank:#1a2236; --on-ink:#10151f; color-scheme:dark}}
:root[data-theme="dark"]{
  --paper:#10151f; --sheet:#151b28; --ink:#dfe6f5; --ink2:#8d9ab6; --line:#2f3a52; --grid:#1b2334;
  --blue:#7ea0ff; --blue-bg:#1d2a4d; --red:#ff8a73; --ok:#5cc792; --warn:#e0a24a; --cut:#26324f; --plank:#1a2236; --on-ink:#10151f; color-scheme:dark}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-ui);font-size:14px;line-height:1.45;
  background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:20px 20px;background-attachment:fixed}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.wrap{max-width:1240px;margin:0 auto;padding-inline:16px;padding-block:16px 96px}
header{display:flex;align-items:center;gap:16px;padding-block:6px 14px;border-bottom:2px solid var(--ink);flex-wrap:wrap}
.logo{font-family:var(--f-mono);font-weight:600;letter-spacing:.14em;font-size:15px;display:flex;align-items:center;gap:10px}
.logo svg{width:26px;height:26px}
.sub{color:var(--ink2);font-size:12px}
.hspace{flex:1}
.tbtn{border:1px solid var(--ink);background:var(--sheet);padding:5px 10px;font-family:var(--f-mono);font-size:12px;letter-spacing:.04em}
.tbtn:hover{background:var(--blue-bg)}
main{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;margin-top:18px;align-items:start}
.sheet{background:var(--sheet);border:1px solid var(--ink);min-width:0}
.sec{border-bottom:1px solid var(--ink)}
.sec:last-child{border-bottom:0}
.sec-h{display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid var(--line);font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink2)}
.sec-h b{color:var(--ink);font-weight:600}
.sec-h .r{margin-left:auto}
.sec-b{padding:14px}
.rtabs{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--ink)}
.rtab{border:0;border-right:1px solid var(--ink);background:var(--sheet);padding:8px 14px;font-family:var(--f-mono);font-size:12px;display:flex;align-items:center;gap:8px;max-width:100%}
.rtab span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:14ch}
.rtab.on{background:var(--ink);color:var(--on-ink)}
.rtab.off span{text-decoration:line-through;opacity:.7}
.rtab.add{color:var(--blue)}
.plan{padding:10px 14px 0}
.plan svg{width:100%;height:auto;display:block;max-height:380px}
.plan-empty{min-height:190px;display:grid;place-items:center;text-align:center;color:var(--ink2);padding:20px}
.plan-cap{display:flex;gap:16px;flex-wrap:wrap;padding:6px 14px 10px;font-size:11.5px;color:var(--ink2)}
.plan-cap .mono{margin-left:auto}
.lg{display:inline-flex;align-items:center;gap:6px}
.lg i{width:14px;height:8px;display:inline-block;border:1px solid var(--ink2)}
.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:14px 18px}
.fields.two{grid-template-columns:1fr 1fr}
.fld{min-width:0}
.fld label,.lbl{display:block;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2);margin-bottom:2px}
.fld input,.fld select{width:100%;border:0;border-bottom:1px solid var(--ink);background:transparent;padding:4px 0;font-family:var(--f-mono);font-size:16px;border-radius:0;min-width:0}
.fld select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink2) 50%),linear-gradient(135deg,var(--ink2) 50%,transparent 50%);background-position:calc(100% - 10px) 55%,calc(100% - 5px) 55%;background-size:5px 5px;background-repeat:no-repeat;padding-right:20px}
.fld select option{background:var(--sheet);color:var(--ink)}
.fld input:focus,.fld select:focus{border-bottom-color:var(--blue);outline:none;box-shadow:0 1px 0 var(--blue)}
.fld input:disabled{opacity:.5}
.fld input::placeholder{color:var(--ink2);opacity:.55}
.fld .hint{font-size:11px;color:var(--ink2);margin-top:3px}
.seg{display:flex;border:1px solid var(--ink);width:fit-content;max-width:100%;flex-wrap:wrap}
.seg button{border:0;border-right:1px solid var(--ink);background:var(--sheet);padding:6px 12px;font-size:13px;text-align:left}
.seg button:last-child{border-right:0}
.seg button small{display:block;font-size:10.5px;color:var(--ink2);line-height:1.2}
.seg button.on{background:var(--ink);color:var(--on-ink)}
.seg button.on small{color:var(--on-ink);opacity:.75}
.row{display:flex;gap:14px 18px;flex-wrap:wrap;align-items:flex-end}
.stack{display:grid;gap:14px}
.mats{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));border:1px solid var(--ink);border-right:0;border-bottom:0}
.mat{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--sheet);text-align:left;padding:8px 10px;min-width:0}
.mat b{display:block;font-weight:600;font-size:13px}
.mat span{font-size:11px;color:var(--ink2)}
.mat.on{background:var(--blue-bg);box-shadow:inset 3px 0 0 var(--blue)}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{border:1px solid var(--line);background:transparent;padding:2px 9px;font-size:12px;color:var(--ink2)}
.chip:hover{border-color:var(--ink);color:var(--ink)}
details{border-top:1px solid var(--line)}
details>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:10px 14px;font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink2)}
details>summary::-webkit-details-marker{display:none}
details>summary::before{content:"+";display:inline-grid;place-items:center;width:16px;height:16px;border:1px solid var(--ink2);font-size:12px;line-height:1;flex:none}
details[open]>summary::before{content:"−"}
details>summary .v{margin-left:auto;color:var(--ink);text-transform:none;letter-spacing:0;font-size:12px;text-align:right}
details>.dc{padding:4px 14px 16px;display:grid;gap:14px}
.box{border:1px solid var(--line);padding:12px;display:grid;gap:12px}
.box h4{margin:0;font-size:13px}
aside{position:sticky;top:12px;display:grid;gap:16px;min-width:0}
.tb{background:var(--sheet);border:1px solid var(--ink);min-width:0}
.big{padding:14px 16px;border-bottom:1px solid var(--ink)}
.big small{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink2)}
.big .n{font-family:var(--f-mono);font-size:64px;font-weight:600;line-height:1;color:var(--blue);margin-top:4px;word-break:break-word}
.big .n.s{font-size:40px}
.big .n.dash{color:var(--ink2)}
.big .d{font-size:12.5px;color:var(--ink2);margin-top:6px}
.tb table{width:100%;border-collapse:collapse;font-size:13px}
.tb td{padding:7px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.tb td:last-child{text-align:right;font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.stamp{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink)}
.stamp div{padding:6px 16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10.5px;color:var(--ink2);text-transform:uppercase;letter-spacing:.06em;min-width:0}
.stamp div:nth-child(2n){border-right:0}
.stamp b{display:block;font-family:var(--f-mono);font-weight:500;font-size:12.5px;color:var(--ink);text-transform:none;letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hint-list{padding:12px 16px;border-top:1px solid var(--ink);display:grid;gap:8px;font-size:12.5px}
.hint-list h5{margin:0;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink2)}
.hint-list ul{margin:0;padding-left:18px;display:grid;gap:4px}
.hint-list.warn h5{color:var(--warn)}
.hint-list.warn li::marker{color:var(--warn)}
.msgs{padding:0 16px 14px;color:var(--ink2);font-size:13px;display:grid;gap:2px}
.acts{display:grid;gap:8px;padding:14px 16px;border-top:1px solid var(--line)}
.btn{border:1px solid var(--ink);background:var(--sheet);padding:9px 12px;font-weight:500;text-align:center}
.btn:hover{background:var(--blue-bg)}
.btn.p{background:var(--ink);color:var(--on-ink)}
.btn.p:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.sm{padding:4px 10px;font-size:12px;font-weight:400}
.note{font-size:12px;color:var(--ink2);margin:0}
.foot{text-align:center;margin:0}
.switch{display:flex;align-items:center;gap:8px;font-size:13px;text-transform:none;letter-spacing:0;font-family:var(--f-ui);color:var(--ink)}
.switch input{accent-color:var(--blue);width:16px;height:16px;margin:0}
.link{border:0;background:transparent;color:var(--blue);padding:2px 0;text-decoration:underline;text-underline-offset:3px}
.link.rm:hover{color:var(--red)}
.link.rm{color:var(--ink2)}
.toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);background:var(--ink);color:var(--on-ink);padding:9px 14px;font-size:13px;max-width:calc(100vw - 32px);z-index:50}
.mbar{display:none}
@media (max-width:900px){
  main{grid-template-columns:1fr}
  aside{position:static}
  .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--ink);color:var(--on-ink);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));align-items:center;gap:14px}
  .mbar .n{font-family:var(--f-mono);font-size:30px;font-weight:600;line-height:1}
  .mbar span{font-size:12px;opacity:.85;min-width:0}
  .mbar a{margin-left:auto;color:var(--on-ink);border:1px solid var(--on-ink);padding:6px 12px;font-size:13px;text-decoration:none;flex:none}
  .big .n{font-size:52px}
}
@media (max-width:520px){
  .rtab{padding:8px 10px}
  .sec-b{padding:12px}
  .fld input,.fld select{font-size:18px}
  .seg button{padding:8px 10px}
  .plan svg text{font-size:inherit}
}
@media (prefers-reduced-motion:no-preference){.toast{animation:in .18s ease-out}@keyframes in{from{opacity:0;transform:translate(-50%,6px)}}}
#print-host{display:none}
@media print{body{background:#fff;color:#14203a}.wrap,.mbar,.toast{display:none!important}#print-host{display:block!important}}
