:root{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;color:#1d1d1f;background:#f5f5f7;color-scheme:light;--blue:#0071e3;--line:rgba(0,0,0,.09);--muted:#6e6e73;--card:#fff;--shadow:0 10px 35px rgba(0,0,0,.055)}
*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}
header{align-items:center;background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(22px);border-bottom:1px solid var(--line);display:flex;gap:34px;padding:14px max(24px,calc((100vw - 1500px)/2));position:sticky;top:0;z-index:20}header a{color:var(--blue);font-size:14px;font-weight:600;text-decoration:none}header span{color:#86868b;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}header .client-preview-link{margin-left:auto}h1{font-size:24px;letter-spacing:-.025em;margin:2px 0 0}
main{margin:22px auto 50px;max-width:1500px;padding:0 20px}.cards{display:grid;gap:18px}.technical-settings{align-items:center;background:rgba(255,255,255,.82);border:1px solid rgba(0,0,0,.06);border-radius:16px;box-shadow:var(--shadow);display:flex;flex-wrap:wrap;gap:12px 26px;margin-bottom:18px;padding:15px 18px}.technical-settings label{align-items:center;display:flex;font-size:12px;font-weight:600;gap:9px}.technical-settings label:first-child{flex:1 1 480px}.technical-settings input[type=text],.technical-settings label:first-child input{background:#f7f7f9;border:1px solid rgba(0,0,0,.1);border-radius:10px;flex:1;min-width:230px;outline:none;padding:9px 11px}.technical-settings input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,113,227,.12)}.technical-settings small{color:var(--muted);flex-basis:100%;font-size:11px}
.dimension-toolbar{align-items:center;background:rgba(255,255,255,.92);border:1px solid rgba(0,0,0,.06);border-radius:15px;box-shadow:0 8px 28px rgba(0,0,0,.045);display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px;position:sticky;top:78px;z-index:12}.dimension-toolbar>span{color:var(--muted);font-size:12px;margin-right:auto}.dimension-toolbar>button,.dimension-modes button{background:#f2f2f7;border:0;border-radius:9px;color:#2c2c2e;cursor:pointer;min-height:32px;padding:6px 10px}.dimension-toolbar>button:hover,.dimension-modes button:hover{background:#e8e8ed}.dimension-modes{align-items:center;display:flex;flex-wrap:wrap;gap:5px;margin-left:4px}.dimension-modes button.active{background:#1d1d1f;color:#fff}.dimension-modes .icon-tool{font-size:17px;height:32px;min-width:34px;padding:4px}.dimension-modes .danger-tool{color:#c5221f}.dimension-modes .confirm-tool{background:var(--blue);color:#fff}.dimension-modes button[data-mode="erase"].active{background:#c5221f;color:#fff}.global-symbol-palette{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.1);display:grid;flex-basis:100%;gap:6px;grid-template-columns:repeat(7,minmax(90px,1fr));padding:8px}.global-symbol-palette[hidden]{display:none}.global-symbol-palette button{align-items:center;background:#f7f7f9;border:1px solid transparent;border-radius:9px;color:#3a3a3c;cursor:pointer;display:flex;gap:6px;justify-content:center;min-height:42px;padding:6px}.global-symbol-palette button:hover{background:#edf6ff;border-color:#a8d4fb;color:#0066cc}.global-symbol-palette svg{height:22px;width:30px}.global-symbol-palette span{font-size:10px}
.cards figure{background:var(--card);border:1px solid rgba(0,0,0,.055);border-radius:18px;box-shadow:var(--shadow);margin:0;overflow:hidden;transition:border-color .15s,box-shadow .15s}.cards figure.active-drawing{border-color:rgba(0,113,227,.5);box-shadow:0 0 0 3px rgba(0,113,227,.1),var(--shadow)}.cards img{display:block;height:auto;width:100%}.native-view-grid{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.native-view{min-height:420px;position:relative}.native-view-axonometry{grid-column:1;min-height:620px}.native-view-axonometry:not(.has-details){grid-column:1/-1}.native-view figcaption{font-size:14px;font-weight:650;letter-spacing:-.01em;padding:16px 18px 2px;text-align:center}.native-view-viewport{height:380px;position:relative}.native-view-axonometry .native-view-viewport{height:570px}.drawing-symbol-layer{inset:0;pointer-events:none;position:absolute;z-index:4}.drawing-symbol{background:#edf6ff;border:1px solid #8ac5f7;border-radius:9px;color:#0066cc;height:36px;pointer-events:auto;position:absolute;transform:translate(-50%,-50%);width:44px}.drawing-symbol svg{height:24px;width:32px}
.dimension-overlay{height:100%;inset:0;overflow:visible;pointer-events:none;position:absolute;width:100%}.dimension-overlay line{pointer-events:stroke;stroke:#171717;stroke-width:1}.dimension-overlay .dimension-witness{pointer-events:none;stroke:#8e8e93;stroke-width:.7}.dimension-overlay text{fill:#111;font-size:11px;font-weight:600;paint-order:stroke;pointer-events:all;stroke:#fff;stroke-width:3px}.dimension-overlay.adding-dimension{cursor:crosshair;pointer-events:all}.dimension-overlay .dimension-draggable line,.dimension-overlay .dimension-draggable text{cursor:grab}.dimension-overlay .dimension-draggable:active line,.dimension-overlay .dimension-draggable:active text{cursor:grabbing}.dimension-overlay .dimension-group[data-dimension-id^="selected-"] line{stroke:var(--blue);stroke-width:1.35}.dimension-overlay .dimension-group[data-dimension-id^="selected-"] .dimension-witness{stroke:#73b8f5;stroke-width:.7}.dimension-overlay .dimension-group[data-dimension-id^="selected-"] text{fill:#075e9f}.dimension-overlay .dimension-group:hover line{stroke:#ff3b30}.dimension-overlay .dimension-group:hover text{fill:#c5221f}
.pin-selected-dimensions{background:var(--blue);border:0;border-radius:50%;bottom:14px;box-shadow:0 5px 16px rgba(0,113,227,.3);color:#fff;cursor:pointer;font-size:18px;font-weight:700;height:38px;padding:0;position:absolute;right:14px;width:38px;z-index:3}.pin-selected-dimensions[hidden]{display:none}.clear-view-dimensions{background:rgba(242,242,247,.9);border:0;border-radius:9px;color:#6e6e73;cursor:pointer;font-size:16px;height:30px;position:absolute;right:14px;top:12px;width:32px;z-index:3}.clear-view-dimensions:hover{background:#ffe9e8;color:#c5221f}.floor-dimension-target{background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:9px;bottom:14px;color:#3a3a3c;cursor:pointer;font-size:11px;padding:7px 9px;position:absolute;left:14px;z-index:3}.floor-dimension-target[hidden]{display:none}.reset-camera{background:rgba(242,242,247,.92);border:0;border-radius:9px;bottom:14px;cursor:pointer;padding:8px 11px;position:absolute;right:14px}
.detail-panel{background:var(--card);border:1px solid rgba(0,0,0,.055);border-radius:18px;box-shadow:var(--shadow);display:flex;flex-direction:column;min-height:620px;overflow:hidden;padding:18px}.detail-panel-heading{align-items:center;display:flex;justify-content:space-between}.detail-panel-heading span{color:#86868b;font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.detail-panel-heading h2{font-size:19px;margin:3px 0}.detail-panel-heading button{background:var(--blue);border:0;border-radius:50%;color:#fff;cursor:pointer;font-size:24px;height:34px;line-height:30px;width:34px}.detail-list{display:grid;gap:10px;margin:16px 0;min-height:240px}.detail-empty{align-items:center;background:#f7f7f9;border:1px dashed rgba(0,0,0,.12);border-radius:14px;color:var(--muted);display:flex;flex-direction:column;justify-content:center;min-height:220px;padding:24px;text-align:center}.detail-empty strong{color:#3a3a3c;margin-bottom:5px}.detail-empty span{font-size:12px;max-width:230px}.detail-card{background:#f7f7f9;border-radius:14px;display:grid;grid-template-columns:1fr 30px;overflow:hidden;padding:10px}.detail-card input{background:transparent;border:0;font-weight:650;outline:none}.detail-card button{background:transparent;border:0;color:#8e8e93;cursor:pointer;font-size:19px}.detail-preview{align-items:center;background:#fff;border-radius:10px;color:#8e8e93;display:flex;grid-column:1/-1;height:150px;justify-content:center;margin-top:8px}.symbol-tray{border-top:1px solid var(--line);display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:auto;padding-top:14px}.symbol-tray>strong{font-size:12px;grid-column:1/-1;margin-bottom:2px}.symbol-chip{align-items:center;background:#f7f7f9;border:1px solid transparent;border-radius:10px;color:#3a3a3c;cursor:pointer;display:flex;gap:7px;min-height:38px;padding:6px 8px;text-align:left}.symbol-chip:hover,.symbol-chip.selected{background:#edf6ff;border-color:#a8d4fb;color:#0066cc}.symbol-chip span{font-family:monospace;font-size:15px;min-width:28px;text-align:center}.symbol-chip small{font-size:10px}
.production{background:#fff;border:1px solid rgba(0,0,0,.055);border-radius:18px;box-shadow:var(--shadow);margin-top:18px;overflow:auto;padding:18px}h2{font-size:15px;margin:3px 0 10px}table{border-collapse:separate;border-spacing:0;font-size:11px;min-width:760px;width:100%}th,td{border-bottom:1px solid #ececef;padding:7px 8px;text-align:left;white-space:nowrap}th{background:#f7f7f9;color:#6e6e73;font-size:10px;font-weight:650;position:sticky;top:0}tbody tr:hover{background:#fafafa}.accessory{border-bottom:1px solid #ececef;display:flex;font-size:11px;justify-content:space-between;padding:8px}.accessory strong[contenteditable=true]{border-bottom:1px dashed #c7c7cc;cursor:text;min-width:220px;outline:none}.accessory strong[contenteditable=true]:focus{background:#fffbe6;border-bottom-color:#111}.accessory-add{border:1px solid var(--line);border-radius:11px;margin:0 0 10px;padding:9px}.accessory-add summary{cursor:pointer;font-size:12px;font-weight:650}.accessory-add #technical-accessory-editor{align-items:center;display:grid;gap:6px;grid-template-columns:1fr 1fr 2fr 100px 2fr auto;margin-top:8px}.accessory-add h3{display:none}.accessory-add input,.accessory-add select,.accessory-add button{min-height:30px}.accessory-add .accessory-group-preview,.accessory-add .accessory-form-error{font-size:12px;grid-column:1/-1}.accessory-form-error{color:#b42318}.manual-badge{background:#fff3cd;border-radius:10px;color:#7a5700;font-size:10px;font-style:normal;margin-left:8px;padding:2px 5px;text-transform:uppercase}.accessory button{margin-left:10px}#error{background:#fff0f0;border:1px solid #d33;border-radius:14px;color:#922;margin:40px auto;max-width:700px;padding:20px}
.dimension-modes svg,.clear-view-dimensions svg{fill:none;height:18px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7;width:18px}.symbol-chip svg{flex:0 0 auto;height:24px;width:32px}.detail-preview{position:relative}.detail-symbol{align-items:center;background:#edf6ff;border:1px solid #a8d4fb;border-radius:9px;color:#0066cc;display:flex;height:34px;justify-content:center;margin:4px;padding:4px;width:42px}.detail-symbol svg{height:24px;width:32px}
@media(max-width:900px){.dimension-toolbar{align-items:flex-start;flex-wrap:wrap;position:static}.dimension-toolbar>span{flex-basis:100%}.native-view-grid{grid-template-columns:1fr}.native-view-axonometry{grid-column:auto}.detail-panel{min-height:500px}}@media(max-width:700px){header{align-items:flex-start;flex-direction:column;gap:8px;padding:12px 14px}main{margin-top:10px;padding:0 8px}.production{padding:10px}.technical-settings label:first-child{align-items:flex-start;flex-direction:column}.technical-settings input[type=text]{min-width:100%;width:100%}.symbol-tray{grid-template-columns:1fr}.accessory-add #technical-accessory-editor{grid-template-columns:1fr}}

/* Unified documentation annotations */
.dimension-modes button[data-mode]{height:34px;min-width:38px;padding:6px 9px}.global-symbol-palette button{font-size:11px;font-weight:650;min-height:38px;padding:7px 10px}.global-symbol-palette button.active{background:#edf6ff;border-color:#a8d4fb;color:#0066cc}.drawing-symbol,.drawing-note{background:rgba(255,255,255,.96);border:1px solid #8ac5f7;border-radius:7px;box-shadow:0 3px 10px rgba(0,0,0,.08);color:#0066cc;cursor:grab;font-size:11px;font-weight:700;height:auto;max-width:180px;min-height:29px;padding:5px 9px;pointer-events:auto;position:absolute;transform:translate(-50%,-50%);white-space:nowrap;width:auto}.drawing-note{border-color:#c7c7cc;color:#3a3a3c;font-weight:600}.drawing-symbol:active,.drawing-note:active{cursor:grabbing}.detail-card textarea{background:#fff;border:1px solid var(--line);border-radius:9px;font:inherit;min-height:64px;padding:9px;resize:vertical;width:100%}.detail-card.active-detail{box-shadow:0 0 0 2px rgba(0,113,227,.2)}.detail-annotation-layer{inset:0;pointer-events:none;position:absolute;z-index:5}.detail-symbol{background:rgba(255,255,255,.96);border:1px solid #a8d4fb;border-radius:7px;color:#0066cc;cursor:grab;font-size:10px;font-weight:700;height:auto;margin:0;padding:5px 8px;pointer-events:auto;position:absolute;transform:translate(-50%,-50%);white-space:nowrap;width:auto}

/* v0.30 — układanie wymiarów i wygląd rzutów */
.layout-tools{align-items:center;border-top:1px solid var(--line);display:flex;flex-basis:100%;flex-wrap:wrap;gap:8px 12px;padding-top:8px}
.layout-tools>button{background:#f2f2f7;border:0;border-radius:9px;color:#2c2c2e;cursor:pointer;min-height:32px;padding:6px 11px}.layout-tools>button:hover{background:#e8e8ed}
.layout-tools .arrange-tool{background:var(--blue);color:#fff;font-weight:600}.layout-tools .arrange-tool:hover{background:#0062c4}
.auto-toggle{align-items:center;color:#3a3a3c;display:flex;font-size:12px;gap:6px}
.appearance-modes{background:#ececf0;border-radius:9px;display:flex;gap:2px;margin-left:auto;padding:3px}.appearance-modes button{background:transparent;border:0;border-radius:7px;color:#3a3a3c;cursor:pointer;font-size:12px;font-weight:600;padding:5px 10px}.appearance-modes button[aria-checked=true]{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.14);color:#1d1d1f}
.appearance-legend{display:flex;flex-wrap:wrap;gap:10px}.appearance-legend span{align-items:center;color:var(--muted);display:flex;font-size:11px;gap:5px}.appearance-legend i{border:1px solid rgba(0,0,0,.25);border-radius:3px;display:inline-block;height:11px;width:14px}
.dimension-overlay .dimension-line{stroke:#1d1d1f;stroke-width:.9}.dimension-overlay .dimension-tick{stroke:#1d1d1f;stroke-width:1.3}
.dimension-overlay .dimension-hit{pointer-events:stroke;stroke:transparent;stroke-width:12}
.dimension-overlay .dimension-group text{fill:#111;font-size:11px;font-variant-numeric:tabular-nums;font-weight:600;paint-order:stroke;stroke:#fff;stroke-width:3px}
.dimension-overlay .dimension-auto .dimension-line,.dimension-overlay .dimension-auto .dimension-tick{stroke:#3a3a3c}
.dimension-overlay .dimension-group:hover .dimension-line,.dimension-overlay .dimension-group:hover .dimension-tick{stroke:var(--blue)}.dimension-overlay .dimension-group:hover text{fill:#0058b0}
body[data-appearance=print] .dimension-overlay .dimension-line,body[data-appearance=print] .dimension-overlay .dimension-tick{stroke:#000}
@media print{
  body>header,.dimension-toolbar,.technical-settings,.pin-selected-dimensions,.clear-view-dimensions,.floor-dimension-target,.reset-camera,.accessory-add{display:none!important}
  :root{background:#fff}main{margin:0;max-width:none;padding:0}.cards figure,.production{border:1px solid #bbb;box-shadow:none;break-inside:avoid}
  .native-view-grid{gap:8px}
}
/* v0.31 — menu z podpisami, opisy z liniami odniesienia, pełny ekran */
.dimension-modes{gap:4px 6px}.dimension-modes button{align-items:center;display:inline-flex;flex-direction:column;gap:2px;justify-content:center;min-width:46px}
.dimension-modes .tool-label{color:#6e6e73;font-size:9.5px;font-weight:600;letter-spacing:.01em;line-height:1;white-space:nowrap}.dimension-modes button.active .tool-label,.dimension-modes .confirm-tool .tool-label{color:#fff}
.dimension-modes .tool-group{color:#a1a1a6;font-size:9px;font-weight:700;letter-spacing:.08em;margin:0 0 0 10px;text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg)}
body.hide-tool-labels .dimension-modes .tool-label,body.hide-tool-labels .dimension-modes .tool-group{display:none}
.dimension-modes .labels-toggle{align-items:center;color:#6e6e73;display:flex;font-size:11px;gap:4px;margin-left:auto}
.annotation-leaders{height:100%;inset:0;overflow:visible;pointer-events:none;position:absolute;width:100%}.annotation-leaders line{stroke:#0066cc;stroke-width:1}
body[data-appearance=print] .annotation-leaders line{stroke:#000}
.annotation-dot{background:#0066cc;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #0066cc;cursor:move;height:10px;pointer-events:auto;position:absolute;transform:translate(-50%,-50%);width:10px;z-index:6}
body[data-appearance=print] .annotation-dot{background:#000;box-shadow:0 0 0 1px #000}
.annotation-label{align-items:center;display:inline-flex;gap:4px;z-index:6}.annotation-label.annotation-left{transform:translate(0,-50%)}.annotation-label.annotation-right{transform:translate(-100%,-50%)}
.annotation-remove{background:transparent;border:0;border-radius:50%;color:#8e8e93;cursor:pointer;font-size:14px;height:18px;line-height:16px;opacity:0;padding:0;width:18px}.annotation-label:hover .annotation-remove{opacity:1}.annotation-remove:hover{background:#ffe9e8;color:#c5221f}
body[data-appearance=print] .drawing-note,body[data-appearance=print] .drawing-symbol{border-color:#000;color:#000}
.fullscreen-view{background:rgba(242,242,247,.92);border:0;border-radius:9px;cursor:pointer;font-size:15px;height:30px;left:14px;position:absolute;top:12px;width:32px;z-index:3}.fullscreen-view:hover{background:#e8e8ed}
.native-view:fullscreen{background:#fff;border-radius:0;display:flex;flex-direction:column;padding:12px}.native-view:fullscreen .native-view-viewport{flex:1;height:auto}
.dimension-overlay .carcass-outline{fill:none;stroke:#6e6e73;stroke-dasharray:5 4;stroke-width:1}
@media print{.fullscreen-view,.annotation-remove{display:none!important}}
/* v0.32 — wydruk / PDF karty korpusu (A4 poziomo) */
.print-tools{align-items:center;display:flex;gap:8px;margin-left:12px}.print-tools select{border:1px solid var(--line);border-radius:8px;font-size:12px;padding:6px 8px}
.print-button{background:#1d1d1f;border:0;border-radius:9px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 14px}.print-button:hover{background:#000}
#print-sheet{display:none}
.print-page.carpenter-page>.pdf-body{overflow:visible}
/* 24.10 (Etap 0 / B): długa wartość (lista szuflad) zawija się w kartce, nie wychodzi poza prawą krawędź */
.print-page .carpenter-sheet .carpenter-table{table-layout:auto;width:100%}.print-page .carpenter-sheet .carpenter-table td{overflow-wrap:anywhere;white-space:normal!important}
/* margines 0 — przeglądarka nie dopisuje wtedy adresu strony, tytułu i daty (marginesy robi .print-page) */
@page{size:A4 landscape;margin:0}
@page a3{size:A3 landscape;margin:0}
@media print{
  body.printing>*:not(#print-sheet){display:none!important}
  body.printing{background:#fff}
  body.printing #print-sheet{display:block}
  /* v0.86: dół 11 mm — miejsce na stopkę z logo (wcześniej logo zasłaniało ostatnie wiersze formatek) */
  .print-page{box-sizing:border-box;break-after:page;display:flex;flex-direction:column;height:209mm;overflow:hidden;padding:7mm 9mm 11mm;page-break-after:always;width:297mm}
  .print-page:last-child{break-after:auto;page-break-after:auto}
  /* v0.96g: rzuty ścian na A3 — strona nazwana, reszta PDF zostaje na A4 */
  .print-page.paper-a3{height:296mm;page:a3;width:420mm}
  /* 24.10 (Etap 0 / B): ustalenia dla stolarza dzielone pomiarem na kartki (carpenterPages) — bez ucinania; przepełnienie łapie overflowingPages */
  .print-page.carpenter-page{overflow:visible}
  .print-header{align-items:baseline;border-bottom:1pt solid #000;display:flex;gap:4mm;justify-content:space-between;margin-bottom:2.5mm;padding-bottom:1mm}
  .print-title{align-items:baseline;display:flex;gap:3mm;min-width:0}.print-title span{color:#555;font-size:8.5pt}.print-title strong{font-size:12pt}
  .print-meta{align-items:baseline;display:flex;gap:4mm;white-space:nowrap}.print-meta span{color:#222;font-size:8.5pt}.print-meta b{font-weight:600}.print-page-number{color:#555}
  .print-grid{display:grid;flex:1;gap:3mm;min-height:0}
  .print-drawings-4 .print-grid,.print-drawings-3 .print-grid{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
  .print-drawings-2 .print-grid,.print-drawings-1 .print-grid{grid-template-columns:1fr 1fr;grid-template-rows:1fr}
  .print-cell{border:.6pt solid #bbb;display:flex;flex-direction:column;min-height:0;padding:1.5mm}
  .print-cell figcaption{font-size:8pt;font-weight:700;margin-bottom:1mm;text-align:center}
  .print-view{align-self:center;margin:0;max-height:100%;max-width:100%;overflow:hidden;position:relative;flex:1 1 auto;width:auto;height:auto;min-height:0}
  .print-drawings .print-view{height:100%}
  .print-view-inner{position:absolute}.print-view-inner img{display:block;height:100%;width:100%}
  .print-view-inner .dimension-overlay,.print-view-inner .drawing-symbol-layer{inset:0;position:absolute}
  .print-view .annotation-remove,.print-view .fullscreen-view{display:none}
  .print-footer{align-items:center;display:flex;font-size:7pt;justify-content:space-between;margin-top:2mm}.print-footer .appearance-legend span{color:#333;font-size:7pt}
  .print-summary-grid{display:grid;flex:1;gap:5mm;grid-template-columns:38% 1fr;min-height:0}
  .print-side .print-cell{height:95mm}.print-side .print-view{height:100%}
  /* v0.86: --fit (1 → 0.78) zmniejsza listy, gdy się nie mieszczą (fitSummaryPages); długie nazwy się zawijają */
  .print-lists{font-size:calc(7.5pt * var(--fit, 1));overflow:hidden}.print-lists h3,.print-side h3{font-size:8.5pt;margin:2.5mm 0 1mm;text-transform:uppercase}
  .print-lists table{font-size:calc(7pt * var(--fit, 1));min-width:0;width:100%}.print-lists th,.print-lists td{padding:calc(1mm * var(--fit, 1)) 1.5mm}.print-lists th{background:#eee;position:static}
  .print-lists td:first-child{overflow-wrap:anywhere;white-space:normal;word-break:break-word}
  .print-steps{margin:0;padding-left:5mm}.print-steps li{margin-bottom:.8mm}.print-details{font-size:7.5pt;margin:0;padding-left:4mm}
}@media print{.print-view .dimension-overlay line,.print-view .dimension-overlay polygon,.print-view .annotation-leaders line{vector-effect:non-scaling-stroke}}@media print{
  .print-view{flex:1 1 auto;height:auto;margin:0;min-height:0;overflow:hidden;position:relative;width:100%}
  .print-drawings .print-view{height:100%}
  .print-view-svg{display:block;height:100%;width:100%}
  .print-view-svg .dimension-overlay{overflow:visible;position:static}
  .print-view-svg .drawing-symbol-layer{position:relative}
  .print-side .print-cell{height:105mm}.print-side .print-view{height:100%}
  .print-location{border:.6pt solid #bbb;margin:3mm 0 0;padding:1.5mm}
  .print-location figcaption{font-size:8pt;font-weight:700;margin-bottom:1mm;text-align:center}
  .print-location-plan svg{border:0;border-radius:0;display:block;height:auto;max-height:60mm;width:100%}
  /* v0.96: kolumna z rysunkami nie rozpycha kartki — wiersz siatki = wysokość kartki; aksonometria oddaje miejsce
     położeniu i słojom (fitSummaryPages przenosi słoje na kartkę „cd.”, gdy dalej się nie mieszczą) */
  .print-summary-grid{grid-template-rows:minmax(0,1fr)}
  .print-side{display:flex;flex-direction:column;min-height:0;overflow:hidden}
  .print-side .print-cell{flex:1 1 105mm;height:auto;max-height:105mm;min-height:60mm}
  .print-side .print-location{flex:none}
  .print-side .print-location-plan svg{max-height:52mm}
  .print-continued .print-grain{break-inside:avoid;margin:0 0 3mm}
  .print-continued .print-grain .print-location-plan svg{max-height:70mm}
}
/* v0.33 — układ karty: rzuty + panel akcesoriów */
.technical-layout{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) 320px;margin-top:18px}
.accessory-sidebar{background:#fff;border:1px solid rgba(0,0,0,.055);border-radius:18px;box-shadow:var(--shadow);max-height:calc(100vh - 110px);overflow:auto;padding:16px;position:sticky;top:90px}
.accessory-sidebar h2{font-size:15px;margin:0 0 10px}.accessory-sidebar h3{color:#6e6e73;font-size:11px;font-weight:700;letter-spacing:.06em;margin:16px 0 6px;text-transform:uppercase}
.accessory-sidebar .accessory{font-size:12px;padding:7px 2px}.accessory-sidebar .accessory strong[contenteditable=true]{min-width:0}
.accessory-sidebar .accessory-add #technical-accessory-editor{grid-template-columns:1fr}
.accessory-sidebar table{font-size:11px;min-width:0}.accessory-sidebar th,.accessory-sidebar td{padding:5px 4px;white-space:normal}
.sidebar-hint{color:var(--muted);font-size:11px;margin:6px 0 0}
@media(max-width:1100px){.technical-layout{grid-template-columns:1fr}.accessory-sidebar{max-height:none;position:static}}
@media print{.technical-layout{display:block}.accessory-sidebar{display:none}}
/* v0.34 — nowe menu (poziome grupy), dymek nowego pomiaru, szczeliny frontów */
.dimension-toolbar{flex-direction:column;align-items:stretch;gap:8px}
.dimension-toolbar .toolbar-help{color:var(--muted);font-size:11.5px}
.dimension-modes{align-items:flex-end;display:flex;flex-wrap:wrap;gap:6px 18px;margin:0}
.tool-group-box{display:flex;flex-direction:column;gap:4px}
.tool-group-title{color:#86868b;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.tool-group-title.inline{align-self:center}.tool-group-title.push{margin-left:auto}
.tool-group-row{display:flex;gap:4px}
.dimension-modes .tool{align-items:center;background:#f2f2f7;border:0;border-radius:9px;color:#2c2c2e;cursor:pointer;display:inline-flex;flex-direction:row;gap:6px;min-height:34px;min-width:0;padding:6px 11px}
.dimension-modes .tool:hover{background:#e8e8ed}.dimension-modes .tool.active{background:#1d1d1f;color:#fff}
.dimension-modes .tool svg{fill:none;height:17px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7;width:17px}
.dimension-modes .tool .tool-label{color:inherit;font-size:12px;font-weight:600;letter-spacing:0}
body.hide-tool-labels .dimension-modes .tool .tool-label,body.hide-tool-labels .tool-group-title{display:none}
.dimension-modes .tool-group,.dimension-modes>.tool-group{display:none}
.dimension-modes .labels-toggle{align-self:center;margin-left:auto}
.layout-tools{gap:8px}.layout-tools>button{font-size:12px;font-weight:600}
.clear-menu{position:relative}.clear-menu summary{align-items:center;background:#f2f2f7;border-radius:9px;cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:6px;list-style:none;min-height:32px;padding:6px 11px}
.clear-menu summary::-webkit-details-marker{display:none}.clear-menu summary svg{fill:none;height:15px;stroke:currentColor;stroke-width:1.7;width:15px}
.clear-menu[open]>button{background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 10px 30px rgba(0,0,0,.12);cursor:pointer;display:block;font-size:12px;left:0;margin-top:4px;padding:8px 12px;position:absolute;text-align:left;white-space:nowrap;z-index:30}
.clear-menu[open]>button+button{margin-top:44px}.clear-menu .danger{color:#c5221f}
#print-slot .print-tools{margin-left:4px}
.pending-chip{align-items:center;background:#fff;border:1px solid #8ac5f7;border-radius:10px;box-shadow:0 6px 18px rgba(0,0,0,.14);display:flex;gap:6px;padding:4px 5px 4px 9px;position:absolute;z-index:8}
.pending-chip[hidden]{display:none}.pending-value{color:#0066cc;font-size:12px;font-variant-numeric:tabular-nums;font-weight:700}
.pending-add{background:var(--blue);border:0;border-radius:7px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:4px 9px}
.pending-level{background:#fff;border:1px solid #d2d2d7;border-radius:7px;color:#1d1d1f;cursor:pointer;font-size:12px;padding:3px 8px}.pending-level:hover{border-color:var(--blue);color:var(--blue)}.pending-level[hidden],.pending-add[hidden]{display:none}
.pending-cancel{background:#f2f2f7;border:0;border-radius:7px;color:#6e6e73;cursor:pointer;font-size:14px;line-height:1;padding:4px 8px}
.dimension-overlay .dimension-pending .dimension-line{stroke:#0066cc;stroke-dasharray:4 3}.dimension-overlay .dimension-pending text{fill:#0066cc}
.dimension-overlay .dimension-gap .dimension-line,.dimension-overlay .dimension-gap .dimension-tick{stroke:#c2410c}
.dimension-overlay .dimension-gap .dimension-witness{stroke:#e8a17a;stroke-dasharray:2 2}
.dimension-overlay .dimension-gap text{fill:#b4380a;font-style:italic}
body[data-appearance=print] .dimension-overlay .dimension-gap .dimension-line{stroke:#000;stroke-dasharray:3 2}
body[data-appearance=print] .dimension-overlay .dimension-gap text{fill:#000}
.dimension-toolbar{flex-wrap:nowrap}
.layout-tools{flex-basis:auto;width:100%}

/* v0.35 — opisy szczelin (poziome, z odnośnikiem), kontur szuflad za frontami, detale jak w CAD, kamera aksonometrii */
.dimension-overlay .dimension-callout .dimension-leader{stroke:#c2410c;stroke-width:1}
.dimension-overlay .dimension-callout .dimension-dot{fill:#c2410c;stroke:none}
.dimension-overlay .dimension-callout text{fill:#b4380a;font-style:normal;font-weight:600}
.dimension-overlay .dimension-callout .dimension-tick{display:none}
body[data-appearance=print] .dimension-overlay .dimension-callout .dimension-leader{stroke:#000}
body[data-appearance=print] .dimension-overlay .dimension-callout .dimension-dot{fill:#000}
body[data-appearance=print] .dimension-overlay .dimension-callout text{fill:#000}
.dimension-overlay .drawer-outline{fill:rgba(0,102,204,.07);stroke:#0066cc;stroke-dasharray:6 3;stroke-width:1.1}
body[data-appearance=print] .dimension-overlay .drawer-outline{fill:rgba(0,0,0,.04);stroke:#000}
.detail-circle{aspect-ratio:1;border:1.6px dashed #c2410c;border-radius:50%;box-sizing:border-box;pointer-events:none;position:absolute;transform:translateY(-50%)}
.detail-circle-tag{background:#fff;border:1px solid #c2410c;border-radius:4px;color:#b4380a;font:600 11px/1.2 system-ui,sans-serif;left:86%;padding:1px 5px;position:absolute;top:-4px;white-space:nowrap}
body[data-tool=erase] .detail-circle{cursor:pointer;pointer-events:auto}
body[data-tool=erase] .detail-circle:hover{border-color:#d70015;background:rgba(215,0,21,.06)}
body[data-appearance=print] .detail-circle{border-color:#000}
body[data-appearance=print] .detail-circle-tag{border-color:#000;color:#000}
.detail-center-marker{background:#c2410c;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #c2410c;height:8px;pointer-events:none;position:absolute;transform:translate(-50%,-50%);width:8px}
body[data-tool=detail] .native-view-viewport{cursor:crosshair}
.detail-circle-list{display:flex;flex-direction:column;gap:10px}
.detail-circle-card{display:flex;flex-direction:column;gap:6px;padding:10px}
.detail-circle-head{align-items:center;display:flex;gap:6px}
.detail-circle-head input{flex:1;min-width:0}
.detail-circle-head button{background:none;border:0;color:#6e6e73;cursor:pointer;font-size:18px;line-height:1}
.detail-circle-number{align-items:center;border:1.6px solid #c2410c;border-radius:50%;color:#b4380a;display:inline-flex;flex:none;font-weight:700;height:22px;justify-content:center;width:22px}
.detail-zoom{aspect-ratio:1;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:10px;overflow:hidden}
.detail-zoom svg{display:block;height:100%;width:100%}
.reset-axonometry{background:rgba(255,255,255,.92);border:1px solid rgba(0,0,0,.12);border-radius:8px;bottom:10px;cursor:pointer;font:500 12px system-ui,sans-serif;padding:4px 9px;position:absolute;right:10px;z-index:5}
.reset-axonometry:hover{background:#fff;border-color:#0066cc;color:#0066cc}
.print-detail-grid{display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}
.print-detail{break-inside:avoid;margin:0}
.print-detail figcaption{font-size:9px;margin-bottom:2px}
.print-detail .print-view{aspect-ratio:1;max-width:150px;width:100%;border:1px solid #999;border-radius:50%;overflow:hidden}
.print-detail .print-view svg{height:100%;width:100%}
@media print{.reset-axonometry{display:none}}
/* v0.36 — nagłówek wydruku w jednej linii (bez wersalików), małe wymiary front/szuflada wewnątrz rysunku */
@media print{.print-header span,.print-header strong{letter-spacing:0!important;text-transform:none!important}.print-header{font-family:inherit}}
.dimension-overlay .dimension-gap.dimension-group text{font-style:normal}
/* v0.37 — opis montażu na karcie (do poprawienia przed wydrukiem) */
.assembly-editor{border-top:1px solid rgba(0,0,0,.08);margin-top:14px;padding-top:12px}
.assembly-editor h3{align-items:center;display:flex;gap:8px;margin:0 0 8px}
.assembly-badge{background:#eef2f7;border-radius:999px;color:#555;font-size:11px;font-weight:500;padding:2px 8px}
.assembly-badge.manual{background:#fff1e6;color:#b4380a}
.assembly-steps{display:flex;flex-direction:column;gap:6px;margin:0;padding-left:20px}
.assembly-steps li{align-items:flex-start;display:flex;gap:4px}
.assembly-steps li::marker{color:#6e6e73;font-size:12px}
.assembly-steps textarea{border:1px solid transparent;border-radius:6px;flex:1;font:13px/1.4 inherit;font-family:inherit;min-width:0;overflow:hidden;padding:3px 6px;resize:none}
.assembly-steps textarea:hover{border-color:rgba(0,0,0,.12)}
.assembly-steps textarea:focus{border-color:#0066cc;outline:none}
.assembly-steps button{background:none;border:0;color:#9a9aa0;cursor:pointer;font-size:16px;line-height:1;padding:4px}
.assembly-steps button:hover{color:#d70015}
.assembly-actions{display:flex;gap:8px;margin-top:8px}
.assembly-actions button{background:#f2f2f5;border:0;border-radius:8px;cursor:pointer;font-size:12px;padding:5px 10px}
.assembly-actions button:hover{background:#e6e6eb}
.sidebar-hint.warning{color:#b4380a}
/* v0.38 — przełącznik korpusów w nagłówku karty */
.cabinet-switcher{align-items:center;display:flex;gap:6px;margin-left:18px}
.cabinet-switcher a{align-items:center;background:#f2f2f5;border-radius:8px;color:#1d1d1f;display:inline-flex;font-size:18px;height:30px;justify-content:center;text-decoration:none;width:30px}
.cabinet-switcher a:hover{background:#e3e3e8}
.cabinet-switcher a.disabled{opacity:.3;pointer-events:none}
.cabinet-switcher select{border:1px solid rgba(0,0,0,.15);border-radius:8px;font-size:13px;padding:5px 8px}
.cabinet-switcher span{color:#6e6e73;font-size:12px}
@media print{.cabinet-switcher{display:none}}
/* v0.38 — formatki według materiału, długość prowadnicy */
.parts-by-material .material-title th{background:#eef2f7;color:#1d1d1f;font-size:12px;font-weight:700;padding:7px 8px;text-align:left}
.parts-by-material tbody.material-group+tbody.material-group .material-title th{border-top:10px solid #fff}
@media print{.parts-by-material .material-title th{background:#e9e9e9;font-size:8pt;padding:1.2mm 1.5mm}.parts-by-material tbody.material-group{break-inside:avoid}}
.accessory .slide-length{align-items:center;color:#6e6e73;display:inline-flex;font-size:12px;gap:4px;white-space:nowrap}
.accessory .slide-length input{border:1px solid rgba(0,0,0,.15);border-radius:6px;font-size:12px;padding:2px 4px;width:58px}
/* v0.39 — fronty i blendy */
.front-roles{border-top:1px solid rgba(0,0,0,.08);margin-top:14px;padding-top:12px}
.front-roles h3{margin:0 0 8px}
.front-role-list{display:flex;flex-direction:column;gap:6px}
.front-role{align-items:center;display:flex;font-size:12px;gap:8px;justify-content:space-between}
.front-role span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.front-role select{border:1px solid rgba(0,0,0,.15);border-radius:6px;font-size:12px;padding:2px 4px}
.front-role.manual select{border-color:#c2410c}
@media print{.front-roles{display:none}}
/* v0.41 — zarys puszek zawiasów, przełącznik szuflad i zawiasów na rzucie frontów */
.dimension-overlay .drawer-mount-note{font:500 9px Manrope,Arial,sans-serif;fill:#6b7064;paint-order:stroke;stroke:rgba(255,255,255,.85);stroke-width:2.6px;stroke-linejoin:round;pointer-events:none}
body[data-appearance=print] .dimension-overlay .drawer-mount-note{fill:#333}
.dimension-overlay .hinge-outline{fill:rgba(0,102,204,.1);stroke:#0066cc;stroke-dasharray:3 2;stroke-width:1}
body[data-appearance=print] .dimension-overlay .hinge-outline{fill:rgba(0,0,0,.05);stroke:#000}
.front-details-toggle{align-items:center;background:rgba(255,255,255,.92);border:1px solid rgba(0,0,0,.12);border-radius:8px;cursor:pointer;display:inline-flex;font-size:12px;gap:4px;padding:3px 8px;position:absolute;right:10px;top:10px;z-index:5}
@media print{.front-details-toggle{display:none}}
/* v0.42 — przełącznik wymiarów zawiasów w pasku ustawień */
.technical-settings .hinge-toggle{align-items:center;cursor:pointer;display:inline-flex;gap:6px}
/* v0.44 — porządek na karcie: druk w nagłówku, jeden rząd ustawień, pomoc pod „?”, puste detale ukryte */
header{gap:18px}
header>#back{order:-3}header>div:has(#title){order:-2}header .cabinet-switcher{margin-left:6px;order:-1}
header>a:not(#back){font-size:13px;order:1}
header>a[href*="kontrola"]{margin-left:auto}
header .client-preview-link{margin-left:0}
#print-slot{order:2;padding-left:10px;border-left:1px solid var(--line)}
#print-slot .print-tools{margin-left:0}
#print-slot .print-button{box-shadow:0 4px 14px rgba(0,0,0,.15)}
.technical-settings{display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:flex-start;padding:10px 16px}
.technical-settings>label{align-items:center;display:inline-flex;font-size:13px;gap:8px}
.technical-settings .tool-group-title.inline{margin-right:2px}
/* v0.96g: AGD w korpusie */
.appliance-picker{font-size:13px;position:relative}
.appliance-picker>summary{border:1px solid #e1e2dc;border-radius:999px;color:#55595f;cursor:pointer;list-style:none;padding:5px 12px}
.appliance-picker>summary::-webkit-details-marker{display:none}
.appliance-picker[open]>summary{background:#f2f3ef}
.appliance-panel{background:#fff;border:1px solid #ecece7;border-radius:12px;box-shadow:0 10px 30px rgba(30,32,36,.08);display:flex;flex-direction:column;gap:4px;left:auto;padding:10px 14px;position:absolute;right:0;text-align:left;top:calc(100% + 6px);width:min(440px,92vw);z-index:30}
/* v0.96g: wiersz = przełącznik po lewej + pola wymiarów (wcześniej etykiety rozciągały się na całą szerokość — „rozsypany” panel) */
.appliance-panel label{flex:none!important;justify-content:flex-start!important;margin:0!important;width:auto!important}
.appliance-row{align-items:center;display:flex;flex-wrap:wrap;gap:4px 10px;justify-content:flex-start;padding:3px 0}
.appliance-row>label:first-child{align-items:center;cursor:pointer;display:inline-flex!important;gap:8px;min-width:210px}
.appliance-row>label:first-child input{margin:0}
.appliance-row.on>label:first-child{color:#2c2f33;font-weight:600}
.appliance-size{color:#7a7d76;font-size:12px}
.appliance-size input{border:1px solid #e1e2dc;border-radius:8px;font:inherit;padding:3px 6px;width:64px}
.appliance-panel .sidebar-hint{margin:4px 0 0}
.arrange-button{align-items:center;display:inline-flex;flex-direction:column;line-height:1.1}
.arrange-button small{color:var(--muted);font-size:9.5px;font-weight:500;margin-top:1px}
.toolbar-help-menu{margin-left:6px;position:relative}
.toolbar-help-menu>summary{align-items:center;background:#f2f2f5;border-radius:50%;color:#1d1d1f;cursor:pointer;display:inline-flex;font-size:13px;font-weight:700;height:26px;justify-content:center;list-style:none;width:26px}
.toolbar-help-menu>summary::-webkit-details-marker{display:none}
.toolbar-help-menu[open]>summary{background:#1d1d1f;color:#fff}
.toolbar-help-menu>div{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 40px rgba(0,0,0,.14);font-size:12.5px;padding:12px 14px;position:absolute;right:0;top:34px;width:340px;z-index:30}
.toolbar-help-menu ul{margin:6px 0 0;padding-left:18px}.toolbar-help-menu li{margin:4px 0}
.toolbar-help-menu kbd{background:#f2f2f5;border:1px solid rgba(0,0,0,.12);border-radius:4px;font:600 11px ui-monospace,monospace;padding:0 4px}
.detail-panel[hidden]{display:none!important}
/* v0.45 — zawiasy Z1/Z2, znacznik zapisu, status i lista korpusów, podgląd wydruku, ikony oznaczeń, pełny ekran */
.dimension-overlay .dimension-marker circle{fill:#fff;stroke:#0066cc;stroke-width:1.2}
.dimension-overlay .dimension-marker text{fill:#0066cc;font:700 9.5px system-ui,sans-serif;stroke:none}
.dimension-overlay .dimension-marker .marker-leader{stroke:#0066cc;stroke-width:1}
body[data-appearance=print] .dimension-overlay .dimension-marker circle,body[data-appearance=print] .dimension-overlay .dimension-marker .marker-leader{stroke:#000}
body[data-appearance=print] .dimension-overlay .dimension-marker text{fill:#000}
.mount-tables{display:flex;flex-direction:column;gap:10px}
.hinge-table caption{caption-side:top;color:#1d1d1f;font-size:12px;font-weight:700;padding:2px 0 6px;text-align:left}
.hinge-badge{border:1.4px solid #0066cc;border-radius:999px;color:#0066cc;display:inline-block;font-size:11px;font-weight:700;padding:0 6px}
.save-status{color:var(--muted);font-size:12px;font-weight:600;letter-spacing:0;order:1;text-transform:none;white-space:nowrap}
.save-status[data-state=saving]{color:#b26a00}
.save-status[data-state=saved]{color:#1e8e3e}
.save-status[data-state=error]{color:#d70015}
header>span.save-status{font-size:12px;letter-spacing:0;text-transform:none}
.review-toggle,.cabinet-list-button{background:#f2f2f5;border:0;border-radius:8px;cursor:pointer;font-size:12px;font-weight:600;padding:6px 10px}
.review-toggle[data-ready=true]{background:#e6f4ea;color:#1e8e3e}
.cabinet-list-button:hover,.review-toggle:hover{filter:brightness(.96)}
dialog.cabinet-list-dialog,dialog.print-preview-dialog{border:0;border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.25);padding:0}
dialog.cabinet-list-dialog::backdrop,dialog.print-preview-dialog::backdrop{background:rgba(29,29,31,.35);backdrop-filter:blur(3px)}
dialog.cabinet-list-dialog{max-height:80vh;width:min(920px,94vw)}
.cabinet-list-head{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:18px;padding:16px 20px}
.cabinet-list-head>div:first-child{display:flex;flex-direction:column}.cabinet-list-head strong{font-size:17px}.cabinet-list-head span{color:var(--muted);font-size:12px}
.cabinet-list-progress{background:#eef0f3;border-radius:99px;flex:1;height:8px;overflow:hidden}.cabinet-list-progress i{background:#1e8e3e;display:block;height:100%}
.dialog-close{background:#f2f2f5;border:0;border-radius:50%;cursor:pointer;font-size:18px;height:30px;width:30px}
.cabinet-list-filters{display:flex;gap:6px;padding:12px 20px 4px}
.cabinet-list-filters button{background:#f2f2f5;border:0;border-radius:99px;cursor:pointer;font-size:12px;padding:5px 12px}.cabinet-list-filters button.active{background:#1d1d1f;color:#fff}
.cabinet-list-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));overflow:auto;padding:12px 20px 20px}
.cabinet-list-card{border:1px solid var(--line);border-left:4px solid #f0b400;border-radius:12px;color:#1d1d1f;display:flex;flex-direction:column;gap:2px;padding:10px 12px;text-decoration:none}
.cabinet-list-card:hover{box-shadow:0 6px 18px rgba(0,0,0,.08)}
.cabinet-list-card.ready{border-left-color:#1e8e3e}.cabinet-list-card.current{outline:2px solid #0066cc}
.cabinet-list-card b{font-size:18px}.cabinet-list-card .kind,.cabinet-list-card .size{color:var(--muted);font-size:12px}
.cabinet-list-card .status{font-size:11px;font-weight:700;margin-top:4px}.cabinet-list-card.ready .status{color:#1e8e3e}.cabinet-list-card:not(.ready) .status{color:#b26a00}
dialog.print-preview-dialog{height:92vh;width:min(1280px,96vw)}
.print-preview-bar{align-items:center;background:#fff;border-bottom:1px solid var(--line);display:flex;gap:10px;padding:12px 18px;position:sticky;top:0;z-index:2}
.print-preview-bar strong{flex:1;font-size:15px}
.print-preview-bar select{border:1px solid var(--line);border-radius:8px;font-size:12px;padding:6px 8px}
.print-preview-bar .secondary{background:#f2f2f5;border:0;border-radius:9px;cursor:pointer;font-weight:600;padding:8px 14px}
/* 0.96.463: podpowiedź obok „Drukuj / zapisz PDF” (Chromium, kartki poziome) — jak .k-hint, w jednej linii */
.print-preview-bar .k-hint{color:#6e6e73;font-size:12px;line-height:1.3;margin:0;white-space:nowrap}
@media (max-width:820px){.print-preview-bar .k-hint{display:none}}
.print-preview{background:#e8e8ed;min-height:calc(100% - 60px);padding:22px}
.print-preview #print-sheet{display:flex!important;flex-wrap:wrap;gap:22px;justify-content:center}
.print-preview .print-page{background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.15);zoom:.5}
.symbol-icon{display:inline-flex;height:18px;width:24px}.symbol-icon svg{height:100%;width:100%}
.drawing-symbol.icon-only{padding:2px 4px}
.drawing-symbol .symbol-icon{color:#0066cc}
body[data-appearance=print] .drawing-symbol .symbol-icon{color:#000}
.global-symbol-palette button{align-items:center;display:inline-flex;gap:6px}
.symbol-legend{align-items:center;display:flex;flex-wrap:wrap;font-size:11px;gap:4px 12px}
.symbol-legend>span{align-items:center;display:inline-flex;gap:4px}
.native-view:fullscreen .native-view-viewport{aspect-ratio:auto;flex:1;height:auto;min-height:0}
@media print{
  .hinge-table caption{font-size:8pt;padding:0 0 1mm}
  .hinge-badge{border-color:#000;color:#000;font-size:7pt}
  .symbol-legend{font-size:7pt;gap:1mm 3mm}.symbol-legend .symbol-icon{height:4mm;width:5mm}
  .save-status,.review-toggle,.cabinet-list-button{display:none}
}/* v0.45 — nagłówek bez łamania przycisków */
header{flex-wrap:nowrap;gap:14px}
header a,header button,header select,.cabinet-switcher span,#print-slot .print-button{white-space:nowrap}
header>a:not(#back){font-size:12.5px}
header #back{font-size:13px}
.cabinet-switcher{gap:5px}
#print-slot .print-button{padding:8px 12px}
@media(max-width:1350px){header>a[href*="review"],header .client-preview-link{display:none}}
header h1{white-space:nowrap}

/* v0.46 — miniatura położenia korpusu */
.location-box{border-bottom:1px solid var(--line);margin-bottom:12px;padding-bottom:12px}
.location-box h3{font-size:13px;margin:0 0 8px}
.location-link{display:block}
.location-thumb{background:#fafafa;border:1px solid var(--line);border-radius:12px;display:block;width:100%}
.location-thumb .thumb-wall{fill:#c9cbd1}
.location-thumb .thumb-cabinet{fill:#f3e8d4;stroke:#9aa3ad;stroke-width:.6}
.location-thumb .thumb-cabinet.hanging{fill:rgba(214,228,243,.55);stroke-dasharray:2 1.5}
.location-thumb .thumb-cabinet.current{fill:#0066cc;stroke:#003e7a}
.location-thumb .thumb-label{fill:#fff;font:700 10px system-ui,sans-serif;paint-order:stroke;stroke:#003e7a;stroke-width:2px}
/* 0.96.333: położenie na rzucie ściany (także na wydruku karty korpusu) */
.wall-thumb .thumb-wall-face{fill:#f6f6f2;stroke:#c9cbc2;stroke-width:1}
.wall-thumb .thumb-opening{fill:#e6ebee;stroke:#c3cbd0;stroke-width:.8}
.wall-thumb .thumb-floor{stroke:#8a8d85;stroke-width:1.2}
.wall-thumb .thumb-name{fill:#3a3a3c;font:700 10px system-ui,sans-serif;paint-order:stroke;stroke:#fff;stroke-width:3px}
.location-walls{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.location-walls a{color:#0066cc;font-size:12px;font-weight:700;text-decoration:none}
@media print{.location-box{display:none}}
/* v0.59: karta tylko do oglądania (klient) i osadzona w widoku 3D */
body.read-only .technical-settings,body.read-only .dimension-toolbar,body.read-only .review-toggle,body.read-only .cabinet-list-button,body.read-only .save-status,body.read-only .accessory-add,body.read-only #technical-accessory-editor,body.read-only .assembly-actions,body.read-only .annotation-remove,body.read-only .clear-menu,body.read-only .front-roles,body.read-only .pending-chip,body.read-only .refresh-trigger,body.read-only header>a[href*="kontrola"]{display:none!important}
body.read-only textarea,body.read-only [contenteditable]{pointer-events:none}
body.embedded>header{display:none}body.embedded main{padding-top:8px}
/* v0.64: lista formatek na karcie — zwarta (nie na całą szerokość), kolumny jak na głównej liście */
.parts-by-material{max-width:820px;table-layout:fixed;width:100%}
.parts-by-material th:nth-child(1){width:auto}.parts-by-material th:nth-child(2),.parts-by-material th:nth-child(4){width:78px}
.parts-by-material th:nth-child(3),.parts-by-material th:nth-child(5){width:50px}.parts-by-material th:nth-child(6),.parts-by-material th:nth-child(7){width:52px}.parts-by-material th:nth-child(8){width:180px}
.parts-by-material th:nth-child(2),.parts-by-material th:nth-child(4),.parts-by-material th:nth-child(6),.parts-by-material th:nth-child(7),.parts-by-material .col-height_mm,.parts-by-material .col-width_mm,.parts-by-material .col-quantity,.parts-by-material .col-thickness_mm{text-align:right;font-variant-numeric:tabular-nums}
.parts-by-material th:nth-child(3),.parts-by-material th:nth-child(5),.parts-by-material .col-edge_h,.parts-by-material .col-edge_w{text-align:center;color:#6e6e73}
.parts-by-material td,.parts-by-material th{padding:5px 8px;font-size:12px}
/* prawa kolumna karty: przewija się razem ze stroną (bez „zjeżdżania i zatrzymywania”) */
.accessory-sidebar{max-height:none;position:static}
/* v0.67: przejście słoi na karcie korpusu */
.grain-mini{margin:4px 0 8px}.grain-mini svg{display:block;width:100%}
.grain-box a{color:#0071e3;font-size:12px;font-weight:600;text-decoration:none}
.link-button{background:none;border:0;color:#c4170c;cursor:pointer;font-size:12px;padding:0}
.grain-svg .g-fill rect{fill:#f3e6cf}.grain-svg .g-front{fill:none;stroke:#5a4630;stroke-width:1.2}.grain-svg .g-bad{stroke:#d70015;stroke-width:2}.grain-svg .g-lines path{fill:none;stroke:#a87c4a;stroke-opacity:.6;stroke-width:1}.grain-svg text{fill:#1c1c1e;font-family:-apple-system,"Segoe UI",sans-serif}.grain-svg .g-name{font-weight:700}.grain-svg .g-title{font-size:12px;font-weight:700}.grain-svg .g-arrow{fill:none;stroke:#d70015;stroke-width:1.6}
/* v0.68: wymiary jak w PRO100 — cienkie czarne linie 1 px, ukośne kreski, prosty czytelny tekst bez pogrubienia */
.dimension-overlay .dimension-line,.dimension-overlay .dimension-auto .dimension-line{stroke:#000;stroke-width:1;shape-rendering:crispEdges}
.dimension-overlay .dimension-witness,.dimension-overlay .dimension-auto .dimension-witness{stroke:#000;stroke-width:1;stroke-opacity:.55;shape-rendering:crispEdges}
.dimension-overlay .dimension-tick,.dimension-overlay .dimension-auto .dimension-tick{stroke:#000;stroke-width:1.1;stroke-linecap:square}
.dimension-overlay .dimension-group text{fill:#000;font:400 12px Arial,"Segoe UI",Helvetica,sans-serif;letter-spacing:.1px;stroke:#fff;stroke-width:2.5px;paint-order:stroke;text-rendering:geometricPrecision}
.dimension-overlay .dimension-snap-guide{stroke:#00a050;stroke-width:1;stroke-dasharray:5 3;pointer-events:none;shape-rendering:crispEdges}
.dimension-overlay .dimension-group:hover .dimension-line,.dimension-overlay .dimension-group:hover .dimension-tick,.dimension-overlay .dimension-group:hover .dimension-witness{stroke:#0058d0;stroke-opacity:1}.dimension-overlay .dimension-group:hover text{fill:#0058d0}
.dimension-overlay .dimension-gap .dimension-line,.dimension-overlay .dimension-gap .dimension-tick{stroke:#c2410c}

/* v0.69: opis formatki do wpisania na karcie korpusu */
.parts-by-material .part-note-input{background:transparent;border:1px solid transparent;border-radius:6px;font:inherit;padding:2px 6px;width:100%;min-width:140px}
.parts-by-material tr:hover .part-note-input{border-color:#e5e5ea}.parts-by-material .part-note-input:focus{background:#fff;border-color:#0071e3;outline:none}
.parts-by-material .part-note-input::placeholder{color:#c7c7cc}
/* v0.69: półki — stała: pełny kwadracik, ruchoma: kółko (kołek); niewidoczne pole do kliknięcia */
.dimension-overlay .marker-shelf rect{fill:#1d1d1f;stroke:none}
.dimension-overlay .marker-shelf circle{fill:#fff;stroke:#1d1d1f;stroke-width:1.2}
.dimension-overlay .marker-shelf .marker-hit{fill:transparent!important;stroke:none!important;pointer-events:all}
.dimension-overlay .marker-shelf.clickable{cursor:pointer;pointer-events:all}
.dimension-overlay .marker-shelf.clickable:hover rect{fill:#0071e3}.dimension-overlay .marker-shelf.clickable:hover circle:not(.marker-hit){stroke:#0071e3}

/* v0.74: nagłówek kartki zawsze na całą szerokość, tytuł do lewej w jednym wierszu (w PDF projektu łamał się na środku) */
.print-page > .print-header{align-items:baseline!important;display:flex!important;gap:4mm!important;justify-content:space-between!important;text-align:left;width:100%}
.print-page > .print-header .print-title{align-items:baseline;display:flex;flex:1 1 auto;flex-wrap:nowrap;gap:3mm;justify-content:flex-start;min-width:0;text-align:left}
.print-page > .print-header .print-title span{flex:0 0 auto;white-space:nowrap}
.print-page > .print-header .print-title strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.print-page > .print-header .print-meta{flex:0 0 auto;margin-left:auto}

/* v0.74: druk z zakładki „Rysunki korpusów” (widok osadzony) — pasek nad rysunkami */
.embedded-print-bar{align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;display:flex;gap:12px;justify-content:space-between;margin:0 0 10px;padding:8px 12px}
.embedded-print-bar strong{font-size:14px}
.embedded-print-bar .print-tools{margin-left:0}
.print-tools .secondary-print{background:#fff;border:1px solid #1d1d1f;color:#1d1d1f}
@media print{.embedded-print-bar{display:none!important}}

/* v0.75: uwagi dla stolarza — na ekranie (panel karty) i na wydruku (wypełniają resztę kartki pod formatkami) */
.carpenter-notes{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}
.carpenter-notes h3{font-size:13px;margin:0 0 6px}
.carpenter-notes textarea{border:1px solid #d1d1d6;border-radius:8px;box-sizing:border-box;font:inherit;font-size:13px;line-height:1.4;min-height:80px;padding:7px 9px;resize:vertical;width:100%}
.carpenter-notes textarea:focus{border-color:#0071e3;outline:none}
.print-lists{display:flex;flex-direction:column}
.print-carpenter-notes{display:flex;flex:1;flex-direction:column;min-height:28mm}
.print-notes-text p{border-bottom:.4pt solid #bbb;font-size:8pt;margin:0;padding:1mm 0}
.print-notes-lines{background:repeating-linear-gradient(transparent 0 6.5mm,#bbb 6.5mm calc(6.5mm + .4pt));flex:1;min-height:13mm}

/* v0.79: formatka nie zamawiac na karcie korpusu */
.parts-by-material tr.no-order td{color:#aeaeb2;text-decoration:line-through}.parts-by-material tr.no-order td:last-child{text-decoration:none}.no-order-tag{color:#c2410c;font-size:.85em;text-decoration:none!important}

/* v0.83: kratka „Jest” (formatki i akcesoria na karcie) + czytelniejszy wydruk list karty */
.check-box{align-items:center;background:#fff;border:1.5px solid #8e8e93;border-radius:5px;color:#1f7a3a;display:inline-flex;font:700 13px/1 -apple-system,"Segoe UI",sans-serif;height:20px;justify-content:center;padding:0;vertical-align:middle;width:20px}
button.check-box{cursor:pointer}.check-box.on{background:#e8f6ec;border-color:#1f7a3a}
.parts-by-material th:nth-child(9),.parts-by-material .col-check{text-align:center;width:46px}
.parts-by-material th:nth-child(8){width:auto}
.accessory-sidebar .accessory{align-items:center;display:flex;gap:8px}.accessory-sidebar .accessory .check-box{flex:none}
.accessory-checklist th:nth-child(2),.accessory-checklist .col-quantity{text-align:center;width:14mm}.accessory-checklist th:nth-child(3),.accessory-checklist .col-check{text-align:center;width:12mm}
@media print{
  .print-lists{font-size:calc(9pt * var(--fit, 1))}
  .print-lists h3,.print-side h3{font-size:9.5pt}
  .print-lists h3{font-size:calc(9.5pt * var(--fit, 1))}
  .print-lists table{font-size:calc(9pt * var(--fit, 1))}
  .print-lists th,.print-lists td{padding:calc(1.1mm * var(--fit, 1)) 1.4mm}
  .print-lists .parts-by-material td.col-name{font-weight:600;overflow-wrap:anywhere;white-space:normal;word-break:break-word}
  .parts-by-material .material-title th{font-size:calc(9pt * var(--fit, 1))}
  .check-box{border:1pt solid #333;border-radius:1.5pt;height:3.6mm;width:3.6mm}
  .parts-by-material th:nth-child(9),.parts-by-material .col-check{width:10mm}
}
/* v0.83: kartka „cd.” — formatki i akcesoria na pełnej szerokości */
.print-continued .print-lists-full{flex:1;min-height:0;overflow:hidden}
.print-continued .print-lists-full table{max-width:none}.print-continued .print-lists-full table{max-width:210mm}

/* v0.83: wysokie, wąskie korpusy (słupki, szafy) — trzy wysokie rysunki obok siebie zamiast małych w kwadratowych ramkach */
.native-view-grid.tall-cabinet{grid-template-columns:repeat(3,minmax(0,1fr))}
.native-view-grid.tall-cabinet .native-view-viewport{height:min(78vh,860px)}
.native-view-grid.tall-cabinet .native-view-top{grid-column:auto}
.native-view-grid.tall-cabinet .native-view-top .native-view-viewport{height:560px}.native-view-grid.tall-cabinet .native-view-axonometry{grid-column:span 2}@media(max-width:1300px){.native-view-grid.tall-cabinet .native-view-axonometry{grid-column:1/-1}}@media(max-width:900px){.native-view-grid.tall-cabinet .native-view-axonometry{grid-column:auto}}
.native-view-grid.tall-cabinet .native-view-axonometry .native-view-viewport{height:min(78vh,860px)}
@media(max-width:1300px){.native-view-grid.tall-cabinet{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.native-view-grid.tall-cabinet{grid-template-columns:1fr}.native-view-grid.tall-cabinet .native-view-viewport{height:min(80vh,760px)}}
/* v0.86: notatka o drążkach w akcesoriach karty */
.accessory-checklist .col-note{font-size:.9em;color:#5a5a60;font-style:italic}

/* v0.86: półka bez oznaczenia (rodzaj nieznany) — tylko projektant, blady kwadrat do kliknięcia */
.dimension-overlay .marker-shelf rect.marker-shelf-empty{fill:#fff;stroke:#a1a1a6;stroke-width:1;stroke-dasharray:1.5 1.5}
.dimension-overlay .marker-shelf.clickable:hover rect.marker-shelf-empty{fill:#fff;stroke:#0071e3}
@media print{.dimension-overlay .marker-shelf rect.marker-shelf-empty{display:none}}

/* v0.86: narzędzia edycji jako pionowa paleta przypięta z lewej (jak w Photoshopie) — nie zasłaniają rysunku */
@media (min-width:1100px){
  body:not(.read-only):not(.printing) main{padding-left:164px}
  body:not(.read-only):not(.printing) .dimension-toolbar{align-items:stretch;flex-direction:column;flex-wrap:nowrap;gap:10px;left:10px;max-height:calc(100vh - 130px);overflow:auto;padding:10px 8px;position:fixed!important;top:110px;width:142px;z-index:30}
  body:not(.read-only):not(.printing) .dimension-toolbar .dimension-modes,
  body:not(.read-only):not(.printing) .dimension-toolbar .layout-tools{align-items:stretch;display:flex;flex-direction:column;flex-wrap:nowrap;gap:8px}
  body:not(.read-only):not(.printing) .dimension-toolbar .tool-group-box{gap:3px}
  body:not(.read-only):not(.printing) .dimension-toolbar .tool-group-row{flex-direction:column;gap:3px}
  body:not(.read-only):not(.printing) .dimension-toolbar .dimension-modes button,
  body:not(.read-only):not(.printing) .dimension-toolbar .layout-tools button{flex-direction:row;font-size:12px;gap:6px;justify-content:flex-start;min-width:0;padding:5px 7px;text-align:left;white-space:normal;line-height:1.2;width:100%}
  body:not(.read-only):not(.printing) .dimension-toolbar .layout-tools label{font-size:12px}
  body:not(.read-only):not(.printing) .dimension-toolbar .tool-group-title.inline{align-self:flex-start;margin:4px 0 0}
  body:not(.read-only):not(.printing) .dimension-toolbar .tool-group-title.push{margin-left:0}
  body:not(.read-only):not(.printing) .dimension-toolbar .appearance-modes{flex-direction:column}
  body:not(.read-only):not(.printing) .dimension-toolbar .toolbar-help-menu{align-self:flex-start}
}
/* v0.86: otwieranie frontów na karcie korpusu (jak na rzutach) */
.dimension-overlay .marker-opening rect{fill:#fff;stroke:#0071e3;stroke-width:1.3}
.dimension-overlay .marker-opening{color:#0058b0}
.dimension-overlay .marker-opening-servo rect{stroke:#c77700}.dimension-overlay .marker-opening-servo{color:#a35f00}
@media print{.dimension-overlay .marker-opening rect{stroke:#000}.dimension-overlay .marker-opening{color:#000}}

/* v0.87 — „Duży rysunek”: ta sama karta powiększona skalą, narzędzia po lewej dostępne */
.enlarged-backdrop{position:fixed;top:0;right:0;bottom:0;z-index:25;display:flex;align-items:center;justify-content:center;background:rgba(244,245,247,.97)}
.enlarged-holder{position:relative;flex:0 0 auto}
figure.is-enlarged{position:absolute;left:0;top:0;margin:0;background:#fff;box-shadow:0 12px 40px rgba(15,23,42,.18);border-radius:10px}
figure.is-enlarged .fullscreen-view{background:#2b3440;color:#fff}
body.has-enlarged-drawing .dimension-toolbar{z-index:40!important}

/* v0.87 — kartki „Rysunki CNC” (dokumentacja) */
.cnc-print-page .pdf-body{display:flex;flex-direction:column;gap:6mm}
.cnc-print-drawing{position:relative;width:100%;max-height:185mm;margin:0 auto;background:#fff}
.cnc-print-drawing img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.cnc-print-drawing svg{position:absolute;inset:0;width:100%;height:100%}
/* 27.10 (v6396, bez flagi): rysunek zacięcia (svg.skos-cnc) w druku jest w normalnym przepływie, nie nakłada się na tabelę (przy position:absolute holder miał wysokość 0).
   Szerokość/wysokość zostają z atrybutu style z cnc.js (width:100%;height:auto) — rysunek zmieści się dzięki max-height (viewBox centruje treść). */
.cnc-print-drawing svg.skos-cnc{position:static;max-height:90mm;margin:0 auto}
/* ...i stopka .cnc-print-foot nie wypada poza kartkę: rysunek (holder z aspect-ratio) może się zwęzić, gdy tabela jest wysoka (poprzednio min-height:auto trzymał go na pełnej wysokości, stopka była ucięta o 13 px). Holder z rysunkiem zacięcia ma własną wysokość (max 90 mm) i się nie zwęża. */
.cnc-print-drawing{min-height:0}
.cnc-print-drawing:has(>svg.skos-cnc){flex-shrink:0}
/* 27.10 (v6398, rb_cnc_pion_v6398): rysunek w położeniu montażowym — stojący element na kartce PIONOWEJ (A4 210×297), pochylony na poziomej; wysokość rysunku mieści się z tabelą i stopką */
.cnc-print-drawing svg.skos-cnc.skos-pion-v{max-height:172mm}
.cnc-print-drawing svg.skos-cnc.skos-pion-h{max-height:130mm}
@page cncpion{size:A4 portrait;margin:0}
@media print{.print-page.cnc-pion{height:296mm;page:cncpion;width:210mm}}
.print-page.cnc-pion .pdf-body,.print-page.cnc-pion-h .pdf-body{gap:3mm}
.print-page.cnc-pion .cnc-arcs :is(td,th),.print-page.cnc-pion-h .cnc-arcs :is(td,th){overflow-wrap:anywhere;white-space:normal!important}
.print-page.cnc-pion-h .cnc-arcs :is(td,th){padding-bottom:.4mm;padding-top:.4mm}
.print-page.cnc-pion .cnc-arcs,.print-page.cnc-pion-h .cnc-arcs{min-width:0}
.print-page.cnc-pion .cnc-arcs :is(th,td):first-child,.print-page.cnc-pion-h .cnc-arcs :is(th,td):first-child{white-space:nowrap!important}
.cnc-print-page .cnc-names{font-size:9.5pt;margin:0 0 2mm;color:#2c2f33}
.cnc-print-page .cnc-facts{display:grid;grid-template-columns:repeat(4,auto);justify-content:start;gap:2mm 8mm;margin:0;font-size:10pt}
.cnc-print-page .cnc-facts dt{font-size:7.5pt;color:#666;text-transform:uppercase}.cnc-print-page .cnc-facts dd{margin:0;font-weight:600}
.cnc-print-page .cnc-note{grid-column:1/-1}
.cnc-print-page .cnc-arcs{border-collapse:collapse;font-size:9.5pt}.cnc-print-page .cnc-arcs th{font-size:7.5pt;color:#666;text-align:left;padding:1mm 5mm 1mm 0}.cnc-print-page .cnc-arcs td{padding:1mm 5mm 1mm 0;font-weight:600}
.cnc-print-foot{font-size:8pt;color:#666;margin:0}
body.cnc-page #print-sheet{display:none}

/* v0.89: karta korpusu jak czytelna instrukcja — jedna czcionka, trzy wielkości (tytuł 11 pt, tekst 8 pt, etykiety 7 pt),
   równe kolumny liczb, materiał jako ciemny pasek (nie wygląda jak formatka), jedna linia pod każdym wierszem. */
@media print{
  .print-page,.print-page *{font-family:"Segoe UI","Noto Sans","Helvetica Neue",Arial,sans-serif!important}
  .print-page .print-view-svg text,.print-page .dimension-overlay text{font-family:Arial,"Segoe UI",Helvetica,sans-serif!important}
  .print-page>.print-header{border-bottom:1pt solid #2f3a46;margin-bottom:3mm;padding-bottom:1.2mm}
  .print-page>.print-header .print-title span,.print-page>.print-header .print-meta span{color:#5b6672;font-size:8pt;font-weight:400}
  .print-page>.print-header .print-title strong{color:#1f2933;font-size:11pt;font-weight:700}
  .print-page>.print-header .print-meta .print-page-number{color:#8a939c}
  .print-page .print-cell figcaption,.print-page .print-location figcaption{color:#1f2933;font-size:7pt;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
  .print-page .print-footer,.print-page .print-footer span{color:#5b6672;font-size:7pt}
  .print-page .print-lists{font-size:calc(8pt * var(--fit, 1));gap:3mm}
  .print-page .print-lists .print-block{break-inside:avoid}
  .print-page .print-lists .print-block>h3,.print-page .print-lists .print-carpenter-notes>h3,.print-page .print-side>h3{border-left:2pt solid #2f3a46;color:#1f2933;font-size:8pt;font-weight:700;letter-spacing:.06em;line-height:1.2;margin:0 0 1.5mm;padding-left:2mm;text-transform:uppercase}
  /* montaż: krok = numer w kółku, temat, tekst */
  .print-page .print-steps{counter-reset:step;display:flex;flex-direction:column;gap:1mm;list-style:none;margin:0;padding:0}
  .print-page .print-steps li{align-items:baseline;background:#f4f5f7;border-radius:1.2mm;counter-increment:step;display:grid;gap:2.4mm;grid-template-columns:4.6mm 20mm 1fr;line-height:1.35;margin:0;padding:1.2mm 2mm}
  .print-page .print-steps li::before{align-self:start;background:#2f3a46;border-radius:50%;color:#fff;content:counter(step);font-size:7pt;font-weight:700;height:4.6mm;line-height:4.6mm;text-align:center;width:4.6mm}
  .print-page .print-step-topic{color:#5b6672;font-size:7pt;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
  .print-page .print-step-text{color:#1f2933}.print-page .print-step-text b{font-weight:700;white-space:nowrap}
  /* wymiary montażowe */
  .print-page .print-mount{display:flex;flex-direction:column;gap:1.5mm}
  .print-page .print-mount-cards{display:grid;gap:1.5mm;grid-template-columns:repeat(auto-fill,minmax(60mm,1fr))}
  .print-page .print-mount-card{border:.6pt solid #cfd4da;border-radius:1.2mm;display:grid;gap:.3mm 2.4mm;grid-template-columns:auto 1fr;padding:1.3mm 2.2mm}
  .print-page .print-mount-value{align-self:center;color:#1f2933;font-size:11pt;font-variant-numeric:tabular-nums;font-weight:700;grid-row:span 2;white-space:nowrap}
  .print-page .print-mount-name{color:#1f2933;font-weight:600;line-height:1.25}
  .print-page .print-mount-ref{color:#5b6672;font-size:7pt}.print-page .print-mount-ref i{color:#8a939c;font-style:normal}
  /* tabele: nagłówek kolumn jako mała etykieta, jedna cienka linia pod każdym wierszem, bez pasów zebry */
  .print-page .print-lists table{border-collapse:collapse;font-size:calc(8pt * var(--fit, 1));width:100%}
  .print-page .print-lists th,.print-page .print-lists td{background:none!important;border:0;border-bottom:.4pt solid #dfe3e7;color:#1f2933;font-size:calc(8pt * var(--fit, 1));font-weight:400;line-height:1.25;padding:calc(1mm * var(--fit, 1)) 1.2mm;vertical-align:middle}
  .print-page .print-lists thead th{border-bottom:.8pt solid #2f3a46;color:#5b6672;font-size:7pt;font-weight:700;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}
  .print-page .print-lists .parts-by-material{max-width:none;table-layout:fixed}
  .print-page .print-lists .parts-by-material td.col-name{font-weight:400!important;overflow-wrap:break-word;word-break:normal}
  .print-page .print-lists .parts-by-material th:nth-child(2),.print-page .print-lists .parts-by-material th:nth-child(4){width:12mm}
  .print-page .print-lists .parts-by-material th:nth-child(3),.print-page .print-lists .parts-by-material th:nth-child(5){width:10mm}
  .print-page .print-lists .parts-by-material th:nth-child(6),.print-page .print-lists .parts-by-material th:nth-child(7){width:9mm}
  .print-page .print-lists .parts-by-material th:nth-child(8){width:24mm}
  .print-page .print-lists .parts-by-material th:nth-child(9){width:9mm}
  .print-page .print-lists .parts-by-material td:nth-child(n+2):nth-child(-n+7){font-variant-numeric:tabular-nums;text-align:center!important;white-space:nowrap}
  .print-page .print-lists .parts-by-material thead th:nth-child(n+2):nth-child(-n+7),.print-page .print-lists .parts-by-material th:nth-child(9),.print-page .print-lists .parts-by-material td.col-check{text-align:center!important}
  .print-page .print-lists .parts-by-material td.col-edge_h,.print-page .print-lists .parts-by-material td.col-edge_w{color:#5b6672}
  .print-page .print-lists .parts-by-material td.col-description{color:#5b6672}
  /* materiał: ciemny pasek nad grupą — od razu widać, że to nagłówek, a nie formatka */
  .print-page .print-lists .parts-by-material tr.material-title th{background:#e6e9ed!important;border:0;border-top:2mm solid #fff;color:#1f2933;font-size:7.5pt;font-weight:700;letter-spacing:.03em;padding:1mm 2mm;text-align:left;text-transform:none}
  .print-page .print-lists .parts-by-material tbody.material-group:first-of-type tr.material-title th{border-top:0}
  /* akcesoria do skompletowania: bez powtórzonego nagłówka */
  .print-page .print-lists .accessory-checklist{table-layout:fixed}
  .print-page .print-lists .accessory-checklist td.col-quantity{color:#5b6672;text-align:right!important;white-space:nowrap;width:14mm}
  .print-page .print-lists .accessory-checklist td.col-check{text-align:center!important;width:9mm}
  .print-page .print-lists .accessory-checklist tr:first-child td{border-top:.8pt solid #2f3a46}
  .print-page .print-lists .accessory-checklist td.col-note{color:#5b6672;font-size:7pt;font-style:italic}
  .print-page .print-lists .hinge-table caption{color:#1f2933;font-size:8pt;font-weight:600;text-align:left}
  .print-page .check-box{border:.8pt solid #5b6672;border-radius:1pt;height:3.4mm;width:3.4mm}
  /* uwagi dla stolarza */
  .print-page .print-carpenter-notes{border:.6pt solid #cfd4da;border-radius:1.2mm;flex:none;min-height:0;padding:1.6mm 2.4mm 1mm}
  .print-page .print-carpenter-notes .print-notes-text p{border-bottom:0;padding:.4mm 0;color:#1f2933;font-size:8pt;font-weight:600}
  .print-page .print-carpenter-notes .print-notes-lines{background:repeating-linear-gradient(transparent 0 6.5mm,#d5d9de 6.5mm calc(6.5mm + .4pt))}
  .print-page .print-cell,.print-page .print-location{border-color:#cfd4da;border-radius:1.2mm}
  /* kartka „cd.”: formatki w zwartej kolumnie, akcesoria obok dostają więcej miejsca */
  .print-page .print-lists-full.print-lists-two{align-items:start;display:grid;gap:8mm;grid-template-columns:minmax(0,165mm) minmax(0,1fr)}
  .print-page .print-lists-full table{max-width:none!important}
}

/* v0.96: formatki w zwartym stylu (kratka, czytelna nazwa, okleina jako mini rysunek) — ekran i druk */
table.parts-by-material.parts-clean th.col-check,table.parts-by-material.parts-clean td.col-check{text-align:center;width:40px}
table.parts-by-material.parts-clean th.col-name{width:auto;text-align:left}
table.parts-by-material.parts-clean th.col-height_mm,table.parts-by-material.parts-clean th.col-width_mm{width:64px;text-align:right}
table.parts-by-material.parts-clean th.col-thickness_mm,table.parts-by-material.parts-clean th.col-quantity{width:44px;text-align:right}
table.parts-by-material.parts-clean th.col-edge,table.parts-by-material.parts-clean td.col-edge{text-align:center;width:62px}
table.parts-by-material.parts-clean th.col-description{width:180px;text-align:left}
table.parts-by-material.parts-clean thead th{color:#8a8f86;font-size:11px;font-weight:600;letter-spacing:.02em;border-bottom:1px solid #e3e5df}
table.parts-by-material.parts-clean td{border-bottom:1px solid #f0f1ed}
table.parts-by-material.parts-clean td.col-quantity{font-weight:700}
table.parts-by-material.parts-clean td.col-description{color:#6b7068}
table.parts-by-material.parts-clean .material-title th{background:none;border-bottom:1px solid #2c2f33;font-size:12px;padding:12px 8px 4px}
table.parts-by-material.parts-clean .material-title th span{color:#8a8f86;font-weight:500;margin-left:6px}
.edge-icon{display:inline-block;vertical-align:middle}
.accessory-checklist td.col-check{text-align:center;width:12mm}
@media print{
  .print-page .print-lists table.parts-by-material.parts-clean th.col-check,.print-page .print-lists table.parts-by-material.parts-clean td.col-check{width:7mm}
  .print-page .print-lists table.parts-by-material.parts-clean th.col-name{width:auto}
  .print-page .print-lists table.parts-by-material.parts-clean th.col-height_mm,.print-page .print-lists table.parts-by-material.parts-clean th.col-width_mm{width:11mm}
  .print-page .print-lists table.parts-by-material.parts-clean th.col-thickness_mm,.print-page .print-lists table.parts-by-material.parts-clean th.col-quantity{width:8mm}
  .print-page .print-lists table.parts-by-material.parts-clean th.col-edge{width:12mm}
  .print-page .print-lists table.parts-by-material.parts-clean th.col-description{width:22mm}
  .print-page .print-lists table.parts-by-material.parts-clean td.col-name,.print-page .print-lists table.parts-by-material.parts-clean th.col-name{text-align:left!important;white-space:normal}
  .print-page .print-lists table.parts-by-material.parts-clean td.col-description{text-align:left!important;white-space:normal}
  .print-page .print-lists table.parts-by-material.parts-clean tr.material-title th{background:none!important;border-top:2.5mm solid transparent;border-bottom:.6pt solid #2c2f33;padding:.6mm 1mm}
  .print-page .print-lists table.parts-by-material.parts-clean tr.material-title th span{color:#8a8f86;font-weight:500}
  .print-page .print-lists table.parts-by-material.parts-clean thead th{color:#8a8f86;font-weight:600}
  .print-page .print-lists table.parts-by-material.parts-clean td{border-bottom:.3pt solid #e6e7e3}
  .print-page .print-lists table.parts-by-material.parts-clean td.col-quantity{font-weight:700}
}@media print{
  .print-page .print-lists table.parts-by-material.parts-clean th.col-edge{padding-right:2mm;width:14mm}
  .print-page .print-lists table.parts-by-material.parts-clean th.col-description,.print-page .print-lists table.parts-by-material.parts-clean td.col-description{padding-left:2mm}
  .print-page .print-lists .accessory-checklist td.col-name{text-align:left!important}
}
@media print{html body .print-page table.parts-by-material.accessory-checklist td.col-name.col-name:nth-child(n){text-align:left!important}}

/* v0.96b: kratka „jest” na końcu wiersza, dyskretna (ekran i druk) */
table.parts-by-material.parts-clean .check-box,table.accessory-checklist .check-box{border-color:#d3d6cf!important;border-width:1px!important;height:14px!important;width:14px!important;opacity:.85}
table.parts-by-material.parts-clean th.col-check,table.parts-by-material.parts-clean td.col-check{text-align:right;width:28px}
@media print{
  html body .print-page table.parts-by-material.parts-clean td.col-check,html body .print-page table.accessory-checklist td.col-check{text-align:right!important;width:6mm}
  html body .print-page table.parts-by-material.parts-clean .check-box,html body .print-page table.accessory-checklist .check-box{border:.5pt solid #c9ccc4!important;height:2.6mm!important;width:2.6mm!important}
}
@media print{html body .print-page .print-lists table.parts-by-material.parts-clean thead th.col-description.col-description:nth-child(n){text-align:left!important;padding-left:2mm}}

/* v0.96b: strona opisowa — jednolite nagłówki bloków z ikoną, formatki bez wiersza nagłówków */
html body .print-block > h3.print-block-title,html body .print-page .print-block > h3.print-block-title{align-items:center;background:none!important;border:0!important;border-bottom:.6pt solid #2c2f33!important;box-shadow:none!important;color:#1f2329;display:flex;font-size:10.5pt;font-weight:700;gap:2mm;letter-spacing:0;margin:0 0 1.6mm;padding:0 0 1mm!important;text-transform:none}
html body .print-block > h3.print-block-title::before,html body .print-page .print-block > h3.print-block-title::before{content:none!important;display:none!important}
.print-block-title .print-block-icon{color:#71766a;display:inline-flex;line-height:0}
.print-block-title .print-block-meta{color:#8a8f86;font-size:8pt;font-weight:500;margin-left:auto}
html body .print-page .print-block{margin-bottom:4mm}
table.parts-by-material.parts-clean{border-collapse:collapse;table-layout:fixed;width:100%}
table.parts-by-material.parts-clean td.col-name{text-align:left!important;width:auto}
table.parts-by-material.parts-clean td.col-dims{font-variant-numeric:tabular-nums;text-align:right!important;white-space:nowrap;width:120px}
table.parts-by-material.parts-clean td.col-quantity{font-weight:700;text-align:right!important;width:34px}
table.parts-by-material.parts-clean td.col-edge{text-align:center!important;width:44px}
table.parts-by-material.parts-clean td.col-description{color:#6b7068;text-align:left!important;width:150px}
table.parts-by-material.parts-clean .material-title th{align-items:center;background:none!important;border:0!important;color:#2c2f33;font-size:11px;font-weight:600;padding:8px 0 3px!important;text-align:left}
table.parts-by-material.parts-clean .material-title th b{font-weight:600}
table.parts-by-material.parts-clean .material-title th span{color:#8a8f86;font-weight:400;margin-left:0}
.material-swatch{border:1px solid rgba(0,0,0,.18);border-radius:2px;display:inline-block;height:9px;margin-right:6px;vertical-align:-1px;width:9px}
.material-swatch.tone-board{background:#efe9df}.material-swatch.tone-front{background:#a9b6c4}.material-swatch.tone-hdf{background:#d9cbb4}.material-swatch.tone-glass{background:linear-gradient(135deg,#dfe8ee,#b9c9d4)}.material-swatch.tone-top{background:#b9a283}
@media print{
  html body .print-page .print-lists table.parts-by-material.parts-clean td.col-name.col-name:nth-child(n){font-weight:500!important;text-align:left!important;white-space:normal}
  html body .print-page .print-lists table.parts-by-material.parts-clean td.col-dims.col-dims:nth-child(n){text-align:right!important;width:30mm}
  html body .print-page .print-lists table.parts-by-material.parts-clean td.col-quantity.col-quantity:nth-child(n){text-align:right!important;width:8mm}
  html body .print-page .print-lists table.parts-by-material.parts-clean td.col-edge.col-edge:nth-child(n){text-align:center!important;width:11mm}
  html body .print-page .print-lists table.parts-by-material.parts-clean td.col-description.col-description:nth-child(n){padding-left:2mm;text-align:left!important;width:24mm}
  html body .print-page .print-lists table.parts-by-material.parts-clean td.col-check.col-check:nth-child(n){width:5mm}
  html body .print-page .print-lists table.parts-by-material.parts-clean tr.material-title th{border:0!important;border-top:1.6mm solid transparent!important;padding:.4mm 0 .5mm!important;font-size:8pt}
  html body .print-page .print-lists table.parts-by-material.parts-clean tbody.material-group:first-of-type tr.material-title th{border-top:0!important}
  html body .print-page .print-lists table.parts-by-material.parts-clean td{border-bottom:.3pt solid #e9eae6}
  .material-swatch{height:2.4mm;width:2.4mm;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
/* v0.96c: szerokości z treści — nazwa dostaje resztę miejsca, liczby i ikony wąsko */
html body table.parts-by-material.parts-clean,html body .print-page .print-lists table.parts-by-material.parts-clean{table-layout:auto!important;width:100%}
html body table.parts-by-material.parts-clean td.col-dims.col-dims:nth-child(n),html body table.parts-by-material.parts-clean td.col-quantity.col-quantity:nth-child(n),html body table.parts-by-material.parts-clean td.col-edge.col-edge:nth-child(n),html body table.parts-by-material.parts-clean td.col-check.col-check:nth-child(n){white-space:nowrap;width:1%}
html body table.parts-by-material.parts-clean td.col-dims.col-dims:nth-child(n){padding-right:4mm}
html body table.parts-by-material.parts-clean td.col-edge.col-edge:nth-child(n){padding:0 3mm}
html body table.parts-by-material.parts-clean td.col-description.col-description:nth-child(n){width:22%}
html body table.parts-by-material.parts-clean td.col-name.col-name:nth-child(n){white-space:nowrap}
html body .print-page .print-block-checklist table.accessory-checklist{border-top:0!important}
html body .print-page .print-block-checklist table.accessory-checklist tr:first-child td{border-top:0!important}

/* v0.96c: formatki i akcesoria na karcie korpusu — styl listy formatek (nagłówek kolumn, pasek grupy, pasy wierszy), ekran i druk */
table.rz-parts{border-collapse:collapse;font-size:12px;max-width:860px;table-layout:auto;width:100%}
table.rz-parts th,table.rz-parts td{border:0;padding:5px 8px;text-align:center;vertical-align:middle;white-space:nowrap}
table.rz-parts thead th{border-bottom:1px solid #2c2f33;color:#8a8f86;font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
table.rz-parts th.col-name,table.rz-parts td.col-name,table.rz-parts th.col-description,table.rz-parts td.col-description{text-align:left}
table.rz-parts td.col-name{width:99%;white-space:normal}
table.rz-parts td.col-description{color:#6b7068;min-width:90px;white-space:normal}
table.rz-parts td.col-height_mm,table.rz-parts td.col-width_mm,table.rz-parts td.col-thickness_mm,table.rz-parts td.col-quantity{font-variant-numeric:tabular-nums}
table.rz-parts td.col-quantity{font-weight:700}
table.rz-parts tr.material-title th{background:#f2f3ef;color:#1f2329;font-size:12px;font-weight:700;letter-spacing:0;padding:6px 8px;text-align:left;text-transform:none}
table.rz-parts tbody.material-group+tbody.material-group tr.material-title th{border-top:10px solid #fff}
table.rz-parts tbody td{border-bottom:1px solid #ecede9}
table.rz-parts tbody tr:nth-child(odd):not(.material-title) td{background:#f8f8f6}
table.rz-parts .edge-icon{display:inline-block;vertical-align:middle}
table.rz-parts .check-box{border:1px solid #c9ccc4!important;border-radius:3px;height:14px!important;width:14px!important}
table.rz-parts tr.no-order td{color:#aeaeb2;text-decoration:line-through}
table.rz-parts .part-note-input{background:transparent;border:1px solid transparent;border-radius:6px;font:inherit;min-width:120px;padding:2px 6px;width:100%}
table.rz-parts tr:hover .part-note-input{border-color:#e5e5ea}
table.rz-parts td.col-note{color:#6b7068;font-size:11px;font-style:italic;text-align:left;white-space:normal}
@media print{
  html body .print-page table.rz-parts{font-size:8pt;max-width:none;width:100%}
  html body .print-page table.rz-parts th,html body .print-page table.rz-parts td{padding:.9mm 1.4mm!important}
  html body .print-page table.rz-parts thead th{border-bottom:.6pt solid #2c2f33!important;font-size:6.8pt}
  html body .print-page table.rz-parts tr.material-title th{background:#f2f3ef!important;font-size:8pt;padding:1mm 1.4mm!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  html body .print-page table.rz-parts tbody.material-group+tbody.material-group tr.material-title th{border-top:2mm solid #fff!important}
  html body .print-page table.rz-parts tbody td{border-bottom:.3pt solid #e6e7e3!important}
  html body .print-page table.rz-parts tbody tr:nth-child(odd):not(.material-title) td{background:#f8f8f6!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  html body .print-page table.rz-parts .check-box{border:.5pt solid #9a9e96!important;height:2.8mm!important;width:2.8mm!important}
  html body .print-page table.rz-parts tbody.material-group{break-inside:auto}
  html body .print-page table.rz-parts tr{break-inside:avoid}
}

/* ===== v0.96d: Studio — karta korpusu w stylu rozpiski (Manrope, oliwka, minimalnie); tylko ekran, wydruk bez zmian ===== */
/* Manrope: statyczne wagi (PDF: prawdziwy font zamiast Type 3), rollback: work/kopie-wgran/2026-10-29-jakosc-pdf-fonty-przed */@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/manrope-latin-ext-400.woff2') format('woff2');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}@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/manrope-latin-ext-500.woff2') format('woff2');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}@font-face{font-family:'Manrope';font-style:normal;font-weight:550;font-display:swap;src:url('fonts/manrope-latin-ext-550.woff2') format('woff2');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}@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/manrope-latin-ext-600.woff2') format('woff2');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}@font-face{font-family:'Manrope';font-style:normal;font-weight:650;font-display:swap;src:url('fonts/manrope-latin-ext-650.woff2') format('woff2');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}@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/manrope-latin-ext-700.woff2') format('woff2');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}
/* Manrope: statyczne wagi (PDF: prawdziwy font zamiast Type 3), rollback: work/kopie-wgran/2026-10-29-jakosc-pdf-fonty-przed */@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/manrope-latin-400.woff2') format('woff2');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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/manrope-latin-500.woff2') format('woff2');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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Manrope';font-style:normal;font-weight:550;font-display:swap;src:url('fonts/manrope-latin-550.woff2') format('woff2');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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/manrope-latin-600.woff2') format('woff2');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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Manrope';font-style:normal;font-weight:650;font-display:swap;src:url('fonts/manrope-latin-650.woff2') format('woff2');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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/manrope-latin-700.woff2') format('woff2');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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@media screen{
  :root{--blue:#7b8070;--olive:#7b8070;--olive-soft:#f2f3ef;--ink:#2c2f33;--muted:#8a8f86;--line:#ebece6;font-family:'Manrope',-apple-system,'Segoe UI',sans-serif;color:var(--ink);background:#f6f6f3}
  html,body{background:#f6f6f3}
  /* górne paski: płasko, bez cieni, cienka linia */
  .technical-settings,.embedded-print-bar{background:#fff!important;border:1px solid var(--line)!important;border-radius:12px!important;box-shadow:none!important}
  .technical-settings{padding:8px 14px!important;gap:8px 20px!important}
  .technical-settings label{font-size:12px;font-weight:500;color:var(--ink)}
  .technical-settings select,.embedded-print-bar select{background:#f7f7f4;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:12px;padding:4px 8px}
  .tool-group-title{color:var(--muted)!important;font-size:10px!important;font-weight:600!important;letter-spacing:.08em!important}
  .embedded-print-bar{padding:6px 12px!important}
  .embedded-print-bar strong{font-size:13px;font-weight:700}
  .print-tools button{border-radius:8px!important;font:600 12px 'Manrope',sans-serif!important}
  /* lewy pasek narzędzi: przyciski tekstowe, bez szarych pól */
  body:not(.read-only):not(.printing) .dimension-toolbar{background:#fff!important;border:1px solid var(--line)!important;border-radius:12px!important;box-shadow:none!important;padding:10px 6px!important}
  .dimension-toolbar>button,.dimension-modes button,.layout-tools button,.global-symbol-palette button{background:transparent!important;border:0!important;border-radius:8px!important;color:var(--ink)!important;font:500 12px 'Manrope',sans-serif!important;justify-content:flex-start;min-height:28px!important;padding:5px 8px!important;text-align:left}
  .dimension-toolbar>button:hover,.dimension-modes button:hover,.layout-tools button:hover,.global-symbol-palette button:hover{background:var(--olive-soft)!important}
  .dimension-modes button.active,.dimension-modes button[aria-pressed=true],.layout-tools button[aria-pressed=true]{background:var(--ink)!important;color:#fff!important}
  /* karty rysunków */
  .cards figure,.native-view-card,.detail-panel{border:1px solid var(--line)!important;border-radius:14px!important;box-shadow:none!important}
  .native-view-card.selected,.cards figure.selected{border-color:#c9cdbb!important;box-shadow:0 0 0 2px var(--olive-soft)!important}
  /* prawa kolumna: szersza, jedna skala pisma */
  .technical-layout{grid-template-columns:minmax(0,1fr) 400px!important}
  .accessory-sidebar{border:1px solid var(--line)!important;border-radius:14px!important;box-shadow:none!important;font-size:12.5px;padding:16px 18px!important}
  .accessory-sidebar h2{font-size:14px!important;font-weight:700;margin:18px 0 8px!important}
  .accessory-sidebar h3,.accessory-sidebar .location-box h3{color:var(--muted)!important;font-size:10.5px!important;font-weight:600!important;letter-spacing:.08em!important;margin:18px 0 8px!important;text-transform:uppercase}
  .accessory-sidebar .sidebar-hint{color:var(--muted);font-size:11.5px;line-height:1.45}
  .accessory-sidebar a{color:var(--olive)}
  .accessory-sidebar .accessory{align-items:center;border-bottom:1px solid var(--line);display:grid!important;font-size:12.5px;gap:4px 10px;grid-template-columns:18px minmax(0,1fr) auto;padding:8px 0!important}
  .accessory-sidebar .accessory strong{font-size:12.5px;font-weight:600;line-height:1.35;min-width:0;text-align:left}
  .accessory-sidebar .accessory>span:last-of-type{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
  .accessory-sidebar .accessory .slide-length{color:var(--muted);font-size:11.5px;grid-column:2/4;grid-row:2}
  .accessory-sidebar .accessory .slide-length input{border:1px solid var(--line);border-radius:6px;font:inherit;padding:2px 4px;width:58px}
  .accessory-sidebar .accessory .check-box{border:1px solid #c9ccc4!important;border-radius:4px}
  .assembly-steps{gap:4px!important;padding-left:18px!important}
  .assembly-steps li::marker{color:var(--muted);font-size:12px}
  .assembly-steps textarea{font:12.5px/1.45 'Manrope',sans-serif!important}
  .assembly-actions button{background:#f6f6f3!important;font:500 12px 'Manrope',sans-serif!important}
  .assembly-badge{background:var(--olive-soft)!important;color:var(--olive)!important;font-size:10.5px!important}
  .front-role{font-size:12px}.front-role select{background:#f7f7f4;border:1px solid var(--line);border-radius:6px;font:inherit;font-size:11.5px}
  .ui-map-levels button{font:500 11.5px 'Manrope',sans-serif}
  .production{border:1px solid var(--line)!important;border-radius:14px!important;box-shadow:none!important}
  .production h2{font-size:14px;font-weight:700}
}
/* v0.96d: wymiary montażowe — ikona „skąd dokąd”, nazwa, wymiar (ekran) */
table.mount-list{border-collapse:collapse;width:100%}
table.mount-list td{border-bottom:1px solid #ebece6;padding:7px 4px;vertical-align:middle}
table.mount-list td.mount-icon{width:38px}
table.mount-list .mount-svg{display:block}
table.mount-list td.mount-name b{display:block;font-size:12.5px;font-weight:600;line-height:1.35}
table.mount-list td.mount-name small{color:#8a8f86;display:block;font-size:11px;margin-top:1px}
table.mount-list td.mount-value{font-size:14px;font-variant-numeric:tabular-nums;font-weight:700;text-align:right;white-space:nowrap}
.accessory-sidebar .hinge-table{font-size:12px}
/* v0.96d: formatki — wąska nazwa z mini rysunkiem obrzeża, kreski obrzeża za wymiarem */
table.rz-parts td.col-name{white-space:nowrap!important;width:auto!important}
table.rz-parts td.col-name .edge-icon{margin-right:7px;vertical-align:-1px}
table.rz-parts td.col-description{width:99%!important}
table.rz-parts .edge-mark,table.pdf-parts .edge-mark,.pl-legend .edge-mark{color:#2c2f33;display:inline-block;margin-left:3px;vertical-align:1px}
@media print{
  html body .print-page table.rz-parts td.col-name{white-space:nowrap!important;width:auto!important}
  html body .print-page table.rz-parts td.col-description{width:99%!important}
  html body .print-page table.rz-parts .edge-mark{height:2.2mm;width:2.4mm}
  html body .print-page table.rz-parts td.col-name .edge-icon{height:2.6mm;margin-right:1.6mm;width:4.6mm}
  .print-page .print-mount-card:has(.print-mount-icon){grid-template-columns:auto auto 1fr}
  .print-page .print-mount-icon{align-self:center;grid-row:span 2}
  .print-page .print-mount-icon svg{display:block;height:7mm;width:9mm}
}

/* ===== v0.96e: formatki — każda rzecz w swojej kolumnie, szerokości minimalne i stałe (nazwy krótkie jak na etykietach) ===== */
html body table.rz-parts.rz-parts-v3{table-layout:fixed!important;width:auto!important;max-width:none}
table.rz-parts-v3 th.col-name{width:200px}
table.rz-parts-v3 th.col-height_mm,table.rz-parts-v3 th.col-width_mm{width:48px}
table.rz-parts-v3 th.col-edge_h,table.rz-parts-v3 th.col-edge_w{width:22px}
table.rz-parts-v3 th.col-thickness_mm,table.rz-parts-v3 th.col-quantity{width:38px}
table.rz-parts-v3 th.col-description{width:190px}
table.rz-parts-v3 th.col-check{width:40px}
html body table.rz-parts-v3 td.col-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap!important;width:auto!important}
html body table.rz-parts-v3 td.col-name .edge-icon{margin-right:14px!important;vertical-align:-1px}
html body table.rz-parts-v3 td.col-description{width:auto!important}
table.rz-parts-v3 td.col-height_mm,table.rz-parts-v3 td.col-width_mm{padding-right:2px!important;text-align:right!important}
table.rz-parts-v3 td.col-edge_h,table.rz-parts-v3 td.col-edge_w{padding-left:3px!important;padding-right:6px!important;text-align:left!important}
table.rz-parts-v3 td.col-edge_h .edge-mark,table.rz-parts-v3 td.col-edge_w .edge-mark{margin-left:0}
table.rz-parts-v3 th.col-height_mm,table.rz-parts-v3 th.col-width_mm{text-align:right!important;padding-right:2px!important}
@media print{
  html body .print-page table.rz-parts.rz-parts-v3{table-layout:fixed!important;width:auto!important}
  html body .print-page table.rz-parts-v3 th.col-name{width:40mm}
  html body .print-page table.rz-parts-v3 th.col-height_mm,html body .print-page table.rz-parts-v3 th.col-width_mm{width:10mm}
  html body .print-page table.rz-parts-v3 th.col-edge_h,html body .print-page table.rz-parts-v3 th.col-edge_w{width:5mm}
  html body .print-page table.rz-parts-v3 th.col-thickness_mm,html body .print-page table.rz-parts-v3 th.col-quantity{width:8mm}
  html body .print-page table.rz-parts-v3 th.col-description{width:32mm}
  html body .print-page table.rz-parts-v3 th.col-check{width:8mm}
  html body .print-page table.rz-parts-v3 td.col-name{white-space:nowrap!important}
  html body .print-page table.rz-parts-v3 td.col-name .edge-icon{margin-right:2.8mm!important}
  html body .print-page table.rz-parts-v3 td.col-height_mm,html body .print-page table.rz-parts-v3 td.col-width_mm{padding-right:.4mm!important;text-align:right!important}
  html body .print-page table.rz-parts-v3 td.col-edge_h,html body .print-page table.rz-parts-v3 td.col-edge_w{padding-left:.6mm!important;padding-right:1mm!important;text-align:left!important}
}
/* prawa kolumna: bez kratki „Jest” — nazwa | ilość, pod spodem prowadnica */
@media screen{
  .accessory-sidebar .accessory{grid-template-columns:minmax(0,1fr) auto!important}
  .accessory-sidebar .accessory .slide-length{grid-column:1/3!important}
  table.mount-list td.mount-icon{width:50px}
}

/* v0.96e: stały układ kolumn wymaga podanej szerokości tabeli (przy „auto” przeglądarka rozkłada miejsce po swojemu) */
html body table.rz-parts.rz-parts-v3{width:606px!important}
@media print{
  html body .print-page table.rz-parts.rz-parts-v3{width:126mm!important}
}

/* v0.96g: przejście słoi przy formatce na karcie korpusu */
.rz-parts .grain-tag{display:inline-block;background:#f3e6cf;border-radius:4px;color:#5a4630;font-size:.92em;font-weight:600;padding:0 5px;white-space:nowrap}
.rz-parts td.col-description .part-note-input{margin-left:4px}
table.rz-parts.rz-accessories td.col-name{white-space:normal!important;width:auto!important}table.rz-parts.rz-accessories td.col-description,table.rz-parts.rz-accessories th.col-description{min-width:0;white-space:normal;width:34%}
table.rz-parts.rz-accessories .acc-note{color:#7a7f76;display:block;font-size:.88em;font-style:italic;margin-top:1px}
@media (min-width:1100px){body:not(.read-only):not(.printing) .dimension-toolbar{left:max(10px,calc((100vw - 1500px) / 2 + 2px))!important}}
.print-opening-legend{align-items:center;display:inline-flex;flex-wrap:wrap;gap:4px 10px}.print-opening-legend .opening-legend-item{align-items:center;display:inline-flex;gap:3px}.print-opening-legend svg{color:#1f6fd1;height:12px;width:12px}

/* v0.96g: kontrola rysunku korpusu (tylko ekran projektanta) */
@media screen{
  .drawing-check{margin-top:14px;padding:12px 14px;border:1px solid #e3e5dc;border-radius:12px;background:#fafbf7}
  .drawing-check h3{margin:0 0 6px}
  .drawing-check ul{margin:0;padding-left:16px;font-size:12.5px;line-height:1.5}
  .drawing-check-missing{color:#8a5a22}
  .drawing-check-extra{color:#55595f}
  .drawing-check-ok{margin:0;font-size:12.5px;color:#6c7454}
}
@media print{.drawing-check{display:none}}
/* v0.96g: karta korpusu u klienta na telefonie — tylko rysunki, jeden pod drugim na całą szerokość; bez paneli, druku i formatek */
@media screen and (max-width:820px){
  body.read-only .technical-layout{display:block!important;width:100%!important}
  body.read-only .native-view-grid,body.read-only .native-view-grid.tall-cabinet{display:flex!important;flex-direction:column;gap:12px;width:100%!important}
  body.read-only .native-view-grid>.native-view{width:100%!important;margin:0}
  body.read-only .native-view-grid>.native-view .native-view-viewport{height:min(110vw,520px)!important;width:100%!important}
  body.read-only .accessory-sidebar,body.read-only .embedded-print-bar,body.read-only .production,body.read-only .technical-settings,body.read-only .detail-panel,body.read-only .fullscreen-view{display:none!important}
  body.read-only main,body.read-only #cards{max-width:100%!important;overflow-x:hidden;padding-left:6px!important;padding-right:6px!important}
}.phone-snapshot{display:block;pointer-events:none;user-select:none}
/* v0.96g: kontrola korpusu w panelu (wysuwana) + pasek nad rysunkami: nazwa · edycja · zatwierdzenie · druk */
@media screen{
  .cabinet-control{background:#fafbf7;border:1px solid #e3e5dc;border-radius:12px;margin:0 0 14px;padding:10px 12px}
  .cabinet-control.has-issues{background:#fbf6ea;border-color:#ecdcb2}
  .cabinet-control summary{cursor:pointer;font-weight:700;font-size:13px}
  .cabinet-control-list{list-style:none;margin:8px 0;padding:0;display:flex;flex-direction:column;gap:4px}
  .cabinet-control-list li{border-radius:8px;cursor:pointer;font-size:12.5px;line-height:1.45;padding:6px 8px}
  .cabinet-control-list li:hover,.cabinet-control-list li.active{background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.08)}
  .cabinet-control-list .lvl{border-radius:5px;font-size:10px;font-weight:700;margin-right:6px;padding:1px 5px;text-transform:uppercase;background:#f1e3c0;color:#8a5a22}
  .cabinet-control-list li.lvl-error .lvl{background:#f6d5d1;color:#a3261b}
  .cabinet-control-list li.lvl-info .lvl{background:#e9ecdf;color:#55595f}
  .cabinet-control a{font-size:12.5px}
  .embedded-print-bar{align-items:center;display:flex;flex-wrap:wrap;gap:10px 14px}
  .embedded-print-bar .bar-edit{align-items:center;display:flex;flex-direction:row!important;gap:4px;margin:0}
  .embedded-print-bar .bar-edit>.tool-group-title,.embedded-print-bar .bar-edit>span:first-child{display:none}
  .embedded-print-bar .bar-edit button{padding:5px 9px}
  .embedded-print-bar .review-toggle{border:1px solid #c9ceb8;border-radius:999px;background:#fff;cursor:pointer;font:600 12.5px Manrope,sans-serif;padding:6px 12px}
  .embedded-print-bar .review-toggle[data-ready=true]{background:#e9ecdf;border-color:#9ca383;color:#4e5640}
  .embedded-print-bar .print-tools{margin-left:auto}
}@media screen{
  .embedded-print-bar .bar-edit button{align-items:center;background:#fff;border:1px solid #e3e5dc;border-radius:999px;display:inline-flex;flex-direction:row!important;font:600 12.5px Manrope,sans-serif;gap:5px;height:auto!important;min-height:0!important;min-width:0!important;padding:5px 11px!important;width:auto!important}
  .embedded-print-bar .bar-edit button svg,.embedded-print-bar .bar-edit button i,.embedded-print-bar .bar-edit button .tool-icon{height:14px!important;width:14px!important;font-size:13px!important}
  .embedded-print-bar .bar-edit button.active,.embedded-print-bar .bar-edit button[aria-pressed=true]{background:#55595f;border-color:#55595f;color:#fff}
}
/* v0.96g: kursor-gumka przy włączonej gumce (karty korpusów i rzuty ścian; technical.css ładują obie strony).
   Ostrze gumki w lewym dolnym rogu — tam jest „punkt” klikania. */
body[data-tool="erase"] .native-view-viewport,body[data-tool="erase"] .native-view-viewport *,
body[data-tool="erase"] .wall-viewport,body[data-tool="erase"] .wall-viewport *,
body[data-tool="erase"] .dimension-overlay,body[data-tool="erase"] .dimension-overlay *{
  cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Cg transform='rotate(-40 14 14)'%3E%3Crect x='5' y='9' width='18' height='10' rx='2.5' fill='%23ffffff' stroke='%232c2f33' stroke-width='1.6'/%3E%3Crect x='5' y='9' width='7' height='10' rx='2.5' fill='%23e9a4a0' stroke='%232c2f33' stroke-width='1.6'/%3E%3C/g%3E%3C/svg%3E") 6 22,crosshair!important;
}
/* v0.96g: front względem wieńca — etykieta w ramce („front ↓ −3”) i lupa (powiększenie ×4 przy 1–9 mm) */
.dimension-overlay .dimension-callout-pill{fill:#eaf3de;stroke:#6c7454;stroke-width:.7}
.dimension-overlay .dimension-callout.dimension-gap text{fill:#27500a;font-weight:600}
.dimension-overlay .dimension-callout.dimension-gap .dimension-leader{stroke:#6c7454}
.dimension-overlay .dimension-callout.dimension-gap .dimension-dot{fill:#6c7454}
.dimension-overlay .drawing-lens{pointer-events:none}
.dimension-overlay .drawing-lens-back{fill:#fff}
.dimension-overlay .drawing-lens-ring{fill:none;stroke:#6c7454;stroke-width:1.4}
.dimension-overlay .drawing-lens-spot{fill:none;stroke:#6c7454;stroke-width:1.2}
.dimension-overlay .drawing-lens-leader{stroke:#6c7454;stroke-width:1}
body[data-appearance=print] .dimension-overlay .dimension-callout-pill,.print-page .dimension-overlay .dimension-callout-pill{fill:#fff;stroke:#000}
body[data-appearance=print] .dimension-overlay .dimension-callout.dimension-gap text,.print-page .dimension-callout.dimension-gap text{fill:#000}
body[data-appearance=print] .dimension-overlay .drawing-lens-ring,body[data-appearance=print] .dimension-overlay .drawing-lens-spot,body[data-appearance=print] .dimension-overlay .drawing-lens-leader{stroke:#000}.dimension-overlay .drawing-lens-body{fill:#f1efe8;stroke:#888780;stroke-width:1}
.dimension-overlay .drawing-lens-front{fill:#c0dd97;stroke:#6c7454;stroke-width:1}
.dimension-overlay .drawing-lens-ext{stroke:#2c2f33;stroke-width:.8;stroke-dasharray:3 2}
.dimension-overlay .drawing-lens-dim{stroke:#2c2f33;stroke-width:1}
.dimension-overlay .drawing-lens-value{fill:#27500a;font:700 13px Manrope,sans-serif}
body[data-appearance=print] .dimension-overlay .drawing-lens-front{fill:#ddd;stroke:#000}
body[data-appearance=print] .dimension-overlay .drawing-lens-value{fill:#000}
/* v0.97: „Rysunki korpusów” w widoku projektu — pasek jak nagłówek dokumentacji technicznej */
@media screen{
  .embedded-doc-bar .cabinet-switcher{margin-left:0}
  .embedded-doc-bar>a[href*="kontrola"]{color:#55595f;font-size:12.5px;font-weight:600;text-decoration:none;white-space:nowrap}
  .embedded-doc-bar>a[href*="kontrola"]:hover{color:#2c2f33}
  .embedded-doc-bar .save-status{order:0}
  .embedded-doc-bar .review-toggle{border:1px solid #c9ceb8;border-radius:999px;background:#fff;font:600 12.5px Manrope,sans-serif;padding:6px 12px}
  .embedded-doc-bar .review-toggle[data-ready=true]{background:#e9ecdf;border-color:#9ca383;color:#4e5640}
  /* ukryte formatki — lista pod „Edycja” */
  .hidden-parts-box{border-top:1px solid #ecece7;display:grid;gap:5px;margin-top:6px;padding-top:8px}
  .hidden-parts-box[hidden]{display:none}
  .hidden-parts-head{color:#7b8070;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
  .hidden-parts-list{display:flex;flex-direction:column;gap:4px}
  .hidden-part-chip{background:#f3f4ee;border:0;border-radius:8px;color:#55595f;cursor:pointer;font:600 11.5px Manrope,sans-serif;overflow:hidden;padding:4px 8px;text-align:left;text-overflow:ellipsis;white-space:nowrap}
  .hidden-part-chip:hover{background:#e9ecdf;color:#2c2f33}
  .hidden-parts-all{background:none;border:0;color:#6c7454;cursor:pointer;font:600 11.5px Manrope,sans-serif;padding:2px 0;text-align:left}
  body[data-tool="hide"] .native-view-viewport{cursor:crosshair}

  /* v0.97: prawy panel — osobne karty w stałej kolejności: kontrola, opis montażu, uwagi dla stolarza, akcesoria,
     wymiary montażowe, słoje, reszta; kontrola rysunku na samym dole */
  body:not(.read-only) .accessory-sidebar{background:transparent!important;border:0!important;box-shadow:none!important;display:flex;flex-direction:column;gap:10px;padding:0 2px 12px!important}
  body:not(.read-only) .accessory-sidebar>*{order:7;margin:0!important}
  body:not(.read-only) .accessory-sidebar>.cabinet-control{order:1}
  body:not(.read-only) .accessory-sidebar>.assembly-editor{order:2}
  body:not(.read-only) .accessory-sidebar>.carpenter-notes{order:3}
  body:not(.read-only) .accessory-sidebar>.accessories-card{order:4}
  body:not(.read-only) .accessory-sidebar>.parts-card{order:5}
  body:not(.read-only) .accessory-sidebar>#mount-summary{order:6}
  body:not(.read-only) .accessory-sidebar>.grain-box{order:6}
  /* lista formatek w wąskiej kolumnie — zwarta tabela, przewijana w poziomie, gdy trzeba */
  body:not(.read-only) .parts-card #parts{max-width:100%;overflow-x:auto}
  body:not(.read-only) .parts-card table{font-size:11.5px;min-width:0!important;width:100%}
  body:not(.read-only) .parts-card th,body:not(.read-only) .parts-card td{padding:4px 5px!important;white-space:nowrap}
  body:not(.read-only) .parts-card td:first-child{white-space:normal;word-break:break-word}
  body:not(.read-only) .parts-card h2,body:not(.read-only) .parts-card caption{font-size:12px}
  html body:not(.read-only) .parts-card table.rz-parts{max-width:100%!important;min-width:0!important;width:100%!important}
  html body:not(.read-only) .parts-card table.rz-parts th:not(.col-name):not(.col-description){width:auto!important}
  html body:not(.read-only) .parts-card table.rz-parts th.col-name{width:108px!important}
  html body:not(.read-only) .parts-card table.rz-parts th.col-description{width:68px!important}
  html body:not(.read-only) .parts-card table.rz-parts td.col-name,html body:not(.read-only) .parts-card table.rz-parts td.col-description{min-width:0!important;overflow:hidden;text-overflow:ellipsis}
  html body:not(.read-only) .parts-card table.rz-parts td.col-name .edge-icon{margin-right:5px!important}
  html body:not(.read-only) .parts-card table.rz-parts td.col-name{overflow-wrap:anywhere;white-space:normal!important}
  html body:not(.read-only) .parts-card table.rz-parts .part-note-input{box-sizing:border-box;margin-left:0!important;min-width:0!important;width:100%!important}
  .production[hidden]{display:none!important}
  @media (min-width:1300px){body:not(.read-only) .technical-layout{grid-template-columns:minmax(0,1fr) 400px!important}}
  body:not(.read-only) .accessory-sidebar>.drawing-check{order:20}
  body:not(.read-only) .accessory-sidebar>section,body:not(.read-only) .accessory-sidebar>#mount-summary,body:not(.read-only) .accessory-sidebar>details:not(.cabinet-control){background:#fff;border:1px solid #e6e7e1;border-radius:14px;padding:12px 14px!important}
  body:not(.read-only) .accessory-sidebar>section>h2,body:not(.read-only) .accessory-sidebar>section>h3,body:not(.read-only) .accessory-sidebar>#mount-summary>h3{align-items:center;color:#2c2f33!important;display:flex;font:700 12px Manrope,sans-serif!important;gap:8px;letter-spacing:.04em!important;margin:0 0 8px!important;text-transform:uppercase}
  body:not(.read-only) .accessory-sidebar>section>h2::before,body:not(.read-only) .accessory-sidebar>section>h3::before,body:not(.read-only) .accessory-sidebar>#mount-summary>h3::before{background:#9ca383;border-radius:2px;content:'';height:12px;width:3px}
  body:not(.read-only) .accessory-sidebar>.accessories-card{border-color:#d9dccb;background:#fbfbf7}
  body:not(.read-only) .accessory-sidebar>.drawing-check{background:#f7f7f4}
  /* położenie w pomieszczeniu + korpusy — pod rysunkami */
  body:not(.read-only) .technical-layout>.accessory-sidebar{grid-column:2;grid-row:1 / span 2}
  body:not(.read-only) .technical-layout>.native-view-grid{grid-column:1;grid-row:1}
  .technical-layout>.location-under{background:#fff;border:1px solid #e6e7e1;border-radius:14px;display:grid;gap:8px 18px;grid-column:1;grid-row:2;grid-template-columns:minmax(220px,360px) 1fr;padding:12px 14px}
  .technical-layout>.location-under>h3{grid-column:1 / -1;margin:0}
  .technical-layout>.location-under>.location-walls{grid-column:1}

  /* v0.97: paleta narzędzi jak w programach graficznych — grafitowy pasek, ikony, oliwkowy aktywny */
  body:not(.read-only):not(.printing) .dimension-toolbar{background:#2c2f33!important;border:0!important;border-radius:14px!important;box-shadow:0 10px 30px rgba(20,22,25,.18)!important;color:#d9dbd3;padding:10px 7px!important;scrollbar-color:#55595f transparent;scrollbar-width:thin}
  body:not(.read-only):not(.printing) .dimension-toolbar .tool-group-title{color:#8e9288!important;font:700 9.5px Manrope,sans-serif!important;letter-spacing:.1em!important;padding:0 6px}
  body:not(.read-only):not(.printing) .dimension-toolbar .tool-group-box+.tool-group-box,body:not(.read-only):not(.printing) .dimension-toolbar .layout-tools{border-top:1px solid #3d4045!important;padding-top:8px}
  body:not(.read-only):not(.printing) .dimension-toolbar .dimension-modes button,body:not(.read-only):not(.printing) .dimension-toolbar .layout-tools button,body:not(.read-only):not(.printing) .dimension-toolbar>button{background:transparent!important;border-radius:9px!important;color:#d9dbd3!important;font:500 12px Manrope,sans-serif!important;min-height:30px!important;transition:background .12s}
  body:not(.read-only):not(.printing) .dimension-toolbar .dimension-modes button:hover,body:not(.read-only):not(.printing) .dimension-toolbar .layout-tools button:hover,body:not(.read-only):not(.printing) .dimension-toolbar>button:hover{background:#3b3e44!important;color:#fff!important}
  body:not(.read-only):not(.printing) .dimension-toolbar .dimension-modes button.active,body:not(.read-only):not(.printing) .dimension-toolbar .layout-tools button[aria-pressed=true],body:not(.read-only):not(.printing) .dimension-toolbar .layout-tools button.active{background:#9ca383!important;color:#1f2124!important}
  body:not(.read-only):not(.printing) .dimension-toolbar svg{opacity:.95}
  body:not(.read-only):not(.printing) .dimension-toolbar label,body:not(.read-only):not(.printing) .dimension-toolbar .labels-toggle,body:not(.read-only):not(.printing) .dimension-toolbar .toolbar-help,body:not(.read-only):not(.printing) .dimension-toolbar small,body:not(.read-only):not(.printing) .dimension-toolbar span:not(.tool-label):not(.tool-group-title){color:#a9aca4!important}
  body:not(.read-only):not(.printing) .dimension-toolbar input[type=checkbox]{accent-color:#9ca383}
  body:not(.read-only):not(.printing) .dimension-toolbar .appearance-modes{background:#24272b!important;border-radius:10px!important;padding:3px!important}
  body:not(.read-only):not(.printing) .dimension-toolbar .hidden-parts-box{border-top-color:#3d4045}
  body:not(.read-only):not(.printing) .dimension-toolbar .hidden-parts-head{color:#8e9288}
  body:not(.read-only):not(.printing) .dimension-toolbar .hidden-part-chip{background:#3b3e44;color:#e4e6de}
  body:not(.read-only):not(.printing) .dimension-toolbar .hidden-part-chip:hover{background:#9ca383;color:#1f2124}
  body:not(.read-only):not(.printing) .dimension-toolbar .hidden-parts-all{color:#c6cab4}
  /* bez podpisów — sama kolumna ikon (jak pasek narzędzi Photoshopa) */
  body.hide-tool-labels:not(.read-only):not(.printing) .dimension-toolbar{width:58px!important}
  body.hide-tool-labels:not(.read-only):not(.printing) .dimension-toolbar .dimension-modes button{justify-content:center!important;padding:6px!important}
  /* kontrola: odhaczanie */
  .cabinet-control-list li{align-items:flex-start;display:flex;gap:8px}
  .cabinet-control-list .control-check{accent-color:#6c7454;cursor:pointer;flex:none;margin:3px 0 0}
  .cabinet-control-list li.done .control-text{opacity:.45;text-decoration:line-through}
}/* v0.97: Rysunki korpusów — szerokie miejsce do pracy (jak Rzuty ścian): u góry duży „Przód bez frontów” + „Same fronty”,
   pod spodem bok, widok z góry i aksonometria. Tylko ekran (wydruk ma własny układ). */
@media screen and (min-width:1100px){
  body .native-view-grid,body .native-view-grid.tall-cabinet{grid-template-columns:repeat(12,minmax(0,1fr))!important}
  /* v0.97b: trzy wiersze — przód bez frontów | same fronty; bok z frontem | widok z góry; aksonometria na całą szerokość */
  body .native-view-grid>.native-view{grid-column:span 6!important;min-height:0}
  body .native-view-grid>.native-view-axonometry{grid-column:1/-1!important}
  body .native-view-grid:not(:has(>.native-view-fronts:not([hidden])))>.native-view-front{grid-column:1/-1!important}
  body .native-view-grid>.native-view-front .native-view-viewport,
  body .native-view-grid>.native-view-fronts .native-view-viewport{height:min(80vh,900px)!important}
  body .native-view-grid>.native-view-side .native-view-viewport,
  body .native-view-grid>.native-view-top .native-view-viewport{height:min(65vh,680px)!important}
  body .native-view-grid>.native-view-axonometry .native-view-viewport{height:min(80vh,860px)!important}
}

/* 0.96.254: dopisek przy liczbie wymiaru — numer korpusu w kółku / słowo (blenda, odstęp, do frontu); dwuklik w wymiar ukrywa */
.dimension-overlay .dimension-group text.dimension-note-word{fill:#6b7078;font-size:10px;font-weight:400;letter-spacing:0}
.dimension-overlay .dimension-group .dimension-note-pill{fill:#fff;stroke:#8f9674;stroke-width:.9}
.dimension-overlay .dimension-group text.dimension-note-text{fill:#4b5320;font-size:8.5px;font-weight:700;stroke:none;letter-spacing:0}

/* 0.96.408 (Paweł): WSPÓLNY UKŁAD RYSUNKÓW (workspace.css) — „Rysunki korpusów” jak „Rzuty ścian”:
   pasek korpusów u góry | kolumna narzędzi · rysunki · inspektor (prawy panel) | pływający pasek na dole rysunku.
   Stare paski nad rysunkiem i ciemny panel narzędzi zdjęte (technical.js przenosi elementy, nie kopiuje). Tylko ekran. */
@media screen{
  body.tech-page{--tech-strip:40px;background:#f6f6f2}
  html body.tech-page main,html body.tech-page:not(.read-only):not(.printing) main{margin:0;max-width:none;padding:0} /* dawny lewy margines 164 px był na ciemny panel */
  body.tech-page:not(.embedded)>header{position:static}
  /* pasek korpusów (strony) — przyklejony u góry; po prawej druk */
  html body.tech-page .ws-pages{position:sticky;top:0;z-index:15;min-height:var(--tech-strip);font-family:'Manrope',sans-serif}
  html body.tech-page .ws-pages .ws-pages-right{position:sticky;right:0;background:#fff;box-shadow:-14px 0 12px #fff;z-index:2}
  html body.tech-page .ws-pages .tech-nav-seg{margin:0 8px 0 2px;flex:none}
  html body.tech-page .ws-pages .ws-seg button{box-shadow:none}
  html body.tech-page .ws-pages .ws-seg button[aria-checked="true"]{box-shadow:0 1px 2px rgba(0,0,0,.08)}
  .ws-pages .print-tools{margin:0;gap:6px}
  .ws-pages .print-tools select{border:0;background:var(--ws-soft);border-radius:8px;color:var(--ws-ink2);font:600 12px Manrope,sans-serif;padding:5px 8px}
  /* „Podgląd wydruku” — obrys; „Drukuj” — grafitowy (jak w makiecie) */
  html body.tech-page .ws-pages .print-tools .print-button{background:#fff;border:0;border-radius:8px!important;box-shadow:inset 0 0 0 1px #d6d8cf;color:var(--ws-ink);font:600 12px/1.2 Manrope,sans-serif!important;padding:6px 12px}
  html body.tech-page .ws-pages .print-tools .print-button.secondary-print{background:var(--ws-ink);box-shadow:none;color:#fff}

  /* obszar roboczy */
  .tech-ws{min-height:calc(100vh - var(--tech-strip))}
  .tech-ws.no-rail{grid-template-columns:minmax(0,1fr) 288px}
  .tech-ws.no-rail .ws-rail{display:none}
  .tech-ws .ws-rail,.tech-ws .ws-insp{top:var(--tech-strip);max-height:calc(100vh - var(--tech-strip))}
  .tech-ws .ws-rail{z-index:8;height:calc(100vh - var(--tech-strip))} /* 0.96.409: na całą wysokość — dół kolumny (Przywróć / Wyczyść / Pomoc) przy dolnej krawędzi jak na rzutach; (Paweł): jak na rzutach ścian — menu wysuwane są fixed, więc kolumna może przewijać */
  .tech-ws .ws-rail .ws-tool span{white-space:nowrap}
  body.hide-tool-labels .tech-ws .ws-tool span{display:none}
  body.hide-tool-labels .tech-ws .ws-tool{padding:8px 0}
  .tech-ws .ws-canvas{padding:0 0 76px;min-height:calc(100vh - var(--tech-strip));background:#fbfbf9}
  /* róg rysunku: tytuł · dane korpusu · chipy; przyklejony, żeby nie uciekał przy przewijaniu */
  .tech-ws .ws-canvas-head{position:sticky;top:var(--tech-strip);left:auto;right:auto;padding:8px 14px;z-index:6;background:rgba(251,251,249,.94);backdrop-filter:blur(6px);pointer-events:auto;flex-wrap:wrap}
  .tech-ws .ws-canvas-head .ws-chip{font-family:'Manrope',sans-serif}
  html body.tech-page .ws-canvas-head .ws-chip{border-radius:999px;padding:4px 10px;background:var(--ws-soft);color:var(--ws-ink2);font:600 11.5px/1.2 'Manrope',sans-serif;text-decoration:none}
  html body.tech-page .ws-canvas-head .ws-chip:hover{background:var(--ws-soft2)}
  html body.tech-page .ws-canvas-head .ws-chip.is-ok,html body.tech-page .ws-canvas-head .review-toggle[data-ready=true]{background:#e4ead6;color:#4f5c33}
  .tech-ws .ws-canvas-head .save-status{font-size:11.5px;margin-left:4px;order:0}
  /* pływający pasek na dole: ‹ Korpus 1 · 1 / 19 › — na wysokości okna, wyśrodkowany względem rysunków */
  .tech-ws .ws-dock{position:fixed;bottom:14px;left:calc(58px + (100vw - 58px - 288px) / 2)}
  .tech-ws.no-rail .ws-dock{left:calc((100vw - 288px) / 2)}
  .tech-ws .ws-dock a.ws-ico{text-decoration:none;color:var(--ws-ink2)}
  .tech-ws .ws-dock a.ws-ico:not([href]){opacity:.35;pointer-events:none}
  .tech-ws .ws-dock .tech-dock-label{min-width:130px;padding:0 6px}

  /* rysunki: bez ciężkich ramek kart — lekki podpis widoku nad rysunkiem */
  html body.tech-page .cards{display:block;padding:4px 14px 0}
  html body.tech-page .technical-layout{display:block!important;margin-top:0;grid-template-columns:none!important}
  html body.tech-page .native-view-grid{gap:8px 26px}
  html body.tech-page .cards figure{background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}
  html body.tech-page .cards figure.active-drawing,html body.tech-page .cards figure.selected{border:0!important;box-shadow:none!important}
  html body.tech-page .native-view figcaption{display:flex;align-items:center;gap:6px;padding:6px 2px 0;text-align:left;font:700 10.5px/1.2 'Manrope',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--ws-mute)}
  html body.tech-page .native-view.active-drawing figcaption{color:var(--ws-ink)}
  html body.tech-page .native-view.active-drawing figcaption::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--ws-ok)}
  html body.tech-page .native-view-viewport{background:#fff;border-radius:10px;box-shadow:0 0 0 1px var(--ws-line)}
  html body.tech-page .production{margin:18px 20px 40px}

  /* kolumna narzędzi: wysuwane menu (Wyczyść, Pomoc) obok ikony */
  .tech-ws .ws-rail .tech-pop-menu{position:relative}
  .tech-ws .ws-rail .tech-pop-menu>summary{list-style:none}
  .tech-ws .ws-rail .tech-pop-menu>summary::-webkit-details-marker{display:none}
  .tech-ws .ws-rail .tech-pop-menu>summary.ws-tool{height:auto;min-height:0;padding:6px 0 4px;background:none;border-radius:8px;font:600 9.5px/1.15 'Manrope',sans-serif;color:var(--ws-ink2)}
  .tech-ws .ws-rail .tech-pop-menu[open]>summary.ws-tool{background:var(--ws-soft2);color:var(--ws-ink)}
  .tech-ws .ws-rail .tech-pop{position:absolute;left:calc(100% + 10px);right:auto;top:auto;bottom:0;z-index:40;display:flex;flex-direction:column;gap:2px;min-width:230px;background:#fff;border:1px solid var(--ws-line);border-radius:12px;box-shadow:0 14px 40px rgba(0,0,0,.14);padding:6px;font:500 12.5px 'Manrope',sans-serif;color:var(--ws-ink)}
  .tech-ws .ws-rail .tech-pop button{border:0;border-radius:8px;background:none;cursor:pointer;font:inherit;padding:7px 10px;text-align:left;color:inherit}
  .tech-ws .ws-rail .tech-pop button:hover{background:var(--ws-soft)}
  .tech-ws .ws-rail .tech-pop button.danger{color:#c5221f}
  .tech-ws .ws-rail .tech-pop.tech-help{display:block;width:340px;padding:12px 14px}
  .tech-help ul{margin:6px 0 0;padding-left:18px}.tech-help li{margin:4px 0}
  .tech-help kbd{background:var(--ws-soft);border:1px solid rgba(0,0,0,.12);border-radius:4px;font:600 11px ui-monospace,monospace;padding:0 4px;position:static;color:var(--ws-ink)}

  /* inspektor: sekcje w stałej kolejności (order), pojemnik #accessory-sidebar „znika” (display:contents) */
  html body.tech-page .ws-insp{display:flex;flex-direction:column;font-family:'Manrope',sans-serif;color:var(--ws-ink)}
  html body.tech-page .ws-insp>*{flex:none}
  html body.tech-page .ws-insp .accessory-sidebar{display:contents!important}
  html body.tech-page .ws-insp .ws-sec{flex:none;order:30;background:transparent;border:0;border-bottom:1px solid var(--ws-line);border-radius:0;margin:0!important;padding:10px 12px!important;box-shadow:none}
  html body.tech-page .ws-insp .accessory-sidebar>.ws-sec{background:transparent;border:0;border-bottom:1px solid var(--ws-line);border-radius:0;padding:10px 12px!important}
  html body.tech-page .ws-insp .ws-sec>summary{font:700 10.5px/1.2 'Manrope',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--ws-mute);cursor:pointer;margin:0 0 6px;display:flex;align-items:center;justify-content:space-between;gap:8px}
  html body.tech-page .ws-insp .ws-sec:not([open])>summary{margin-bottom:0}
  html body.tech-page .ws-insp .ws-sec.cabinet-control.has-issues{background:#fbf6ea}
  html body.tech-page .ws-insp .ws-sec.cabinet-control.has-issues>summary{color:#8a5a22}
  html body.tech-page .ws-insp .tech-sec-layers{order:1}html body.tech-page .ws-insp .tech-sec-body{order:2}html body.tech-page .ws-insp .tech-sec-look{order:3}
  html body.tech-page .ws-insp .cabinet-control{order:10}html body.tech-page .ws-insp .drawing-check{order:11}
  html body.tech-page .ws-insp .assembly-editor{order:12}html body.tech-page .ws-insp .carpenter-notes{order:13}
  html body.tech-page .ws-insp .accessories-card{order:14}html body.tech-page .ws-insp .parts-card{order:15}
  html body.tech-page .ws-insp #mount-summary{order:16}html body.tech-page .ws-insp .front-roles{order:17}
  html body.tech-page .ws-insp .location-box{order:18}html body.tech-page .ws-insp .grain-box{order:19}
  html body.tech-page .ws-insp .ws-sec.tech-plain{padding-top:6px!important}
  html body.tech-page .ws-insp .front-roles>details>summary{font:700 10.5px/1.2 'Manrope',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--ws-mute);cursor:pointer}
  html body.tech-page .ws-insp .ws-layer.tech-stack{flex-direction:column;align-items:stretch;gap:4px;cursor:default;padding:4px}
  html body.tech-page .ws-insp .ws-layer.tech-stack select{margin:0;width:100%;max-width:none}
  html body.tech-page .ws-insp .ws-layer select{font-family:'Manrope',sans-serif}
  html body.tech-page .ws-insp .ws-layer:has(select){cursor:default}
  /* AGD w korpusie: lista rozwija się w panelu (nie jako okno obok) */
  html body.tech-page .ws-insp .appliance-picker{margin-top:6px}
  html body.tech-page .ws-insp .appliance-picker>summary{border-radius:8px;padding:5px 9px;font:500 12.5px 'Manrope',sans-serif}
  html body.tech-page .ws-insp .appliance-panel{position:static;width:auto;box-shadow:none;border:0;padding:6px 0 0}
  html body.tech-page .ws-insp .appliance-row>label:first-child{min-width:0}
  /* wygląd (Jak model 3D / Kolor / Druk cz-b) jako przełącznik segmentowy na całą szerokość */
  html body.tech-page .ws-insp .appearance-modes{display:flex;width:100%;margin:0;padding:2px;background:var(--ws-soft);border-radius:8px}
  html body.tech-page .ws-insp .appearance-modes button{flex:1;padding:4px 4px;border-radius:6px;background:none;color:var(--ws-mute);font:600 11.5px/1.2 'Manrope',sans-serif;box-shadow:none}
  html body.tech-page .ws-insp .appearance-modes button[aria-checked="true"]{background:#fff;color:var(--ws-ink);box-shadow:0 1px 2px rgba(0,0,0,.08)}
  html body.tech-page .ws-insp .appearance-legend{margin-top:8px}
  /* ukryte formatki (przywracanie) — w sekcji „Warstwy / widoki” */
  html body.tech-page .ws-insp .hidden-parts-box{margin-top:6px}
  /* tabele i listy w wąskim panelu */
  html body.tech-page .ws-insp .parts-card #parts{max-width:100%;overflow-x:auto}
  html body.tech-page .ws-insp table{min-width:0}
  html body.tech-page .ws-insp .location-box .ui-map{max-width:100%}
  html body.tech-page .ws-insp .location-box svg{max-width:100%;height:auto}
}
/* 0.96.409 (Paweł): rysunki w skali wydruku (rozmiar ramki liczy technical.js) — obszar rysunków przewija się sam (pionowo i poziomo),
   rysunki jeden pod drugim albo dwa obok siebie tylko wtedy, gdy oba mieszczą się w pełnym rozmiarze (flex-wrap) */
@media screen and (min-width:861px){
  html body.tech-page .tech-ws{height:calc(100vh - var(--tech-strip));min-height:0}
  html body.tech-page .tech-ws .ws-canvas{height:calc(100vh - var(--tech-strip));min-height:0;overflow:auto;padding-bottom:84px}
  html body.tech-page .tech-ws .ws-canvas>.cards{min-width:min-content}
  html body.tech-page .native-view-grid{display:flex;flex-wrap:wrap;align-items:flex-start;gap:18px 26px;grid-template-columns:none}
  html body.tech-page .native-view-grid>.native-view{flex:0 0 auto;width:max-content;max-width:none;min-width:0;grid-column:auto;grid-row:auto}
  html body.tech-page .native-view-grid>.native-view .native-view-viewport{min-height:0;max-height:none}
  html body.tech-page .native-view-grid>.native-view.is-enlarged{width:auto}
  /* 0.96.410 (Paweł): ramka okna = granica wydruku (viewport w środku ma rozmiar logiczny i jest skalowany transformem z technical.js) */
  html body.tech-page .tech-frame{position:relative;overflow:hidden;background:#fff;outline:1px solid #8f9580;outline-offset:0;border-radius:0;flex:none}
  html body.tech-page .tech-frame>.native-view-viewport{position:absolute;left:0;top:0;border-radius:0;box-shadow:none;margin:0}
  html body.tech-page .tech-frame.is-out{outline:2px dashed #c5221f}
  html body.tech-page .tech-frame.is-out::after{content:'poza wydrukiem';position:absolute;right:6px;top:6px;z-index:20;background:#c5221f;color:#fff;font:600 10px/1 Manrope,sans-serif;padding:3px 7px;border-radius:4px;pointer-events:none}
  html body.tech-page .native-view-grid>.native-view-axonometry{width:min(100%,760px)}
  html body.tech-page .native-view-grid>.native-view-axonometry .native-view-viewport{width:100%}
}
/* telefon: klient — jak dotąd tylko rysunki jeden pod drugim (bez pasków, panelu i narzędzi) */
@media screen and (max-width:860px){
  .tech-ws .ws-dock{display:none}
  body.read-only .ws-insp,body.read-only .ws-pages,body.read-only .ws-canvas-head{display:none!important}
  .tech-ws .ws-canvas{padding-bottom:12px}
  .tech-ws .ws-canvas-head{position:static}
}
@media print{.tech-ws .ws-rail,.tech-ws .ws-insp,.tech-ws .ws-dock,.ws-pages,.tech-ws .ws-canvas-head{display:none!important}.tech-ws{display:block}}
/* V2 (19.10): „Rysunki korpusów” z listą korpusów w prawym panelu (body.tech-v2; wyłącznik rb_rzuty_v6027 / rb_rysunki_v6027 = '0' → stary układ) */
body.tech-v2 #ws-pages .ws-pg,body.tech-v2 #ws-pages .ws-grp{display:none}
.tech-list-sec .tech-note{color:#6e7076;font-size:12px;margin:4px 0 8px;line-height:1.35}
.tech-list{display:flex;flex-direction:column;gap:4px;max-height:42vh;overflow:auto;padding-bottom:6px}
.tech-lg{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#6e7076;padding:8px 2px 2px}
.tech-li{display:flex;align-items:center;gap:6px;border:1px solid rgba(0,0,0,.12);border-radius:10px;background:#fff;padding:2px 4px 2px 2px}
.tech-li.on{background:rgba(123,128,112,.12);border-color:#7b8070}
.tech-li-main{flex:1;min-width:0;text-align:left;background:transparent;border:0;min-height:44px;padding:4px 8px;cursor:pointer;font:inherit;color:#2c2f33}
.tech-li-main b{display:block;font-size:13px;white-space:normal;line-height:1.25}
.tech-st{display:block;font-size:12px;color:#6e7076}.tech-st.ok{color:#56663f;font-weight:700}
.tech-pdf{display:inline-flex;flex-direction:column;align-items:center;gap:2px;min-width:64px;min-height:46px;border:0;background:transparent;cursor:pointer;padding:2px 4px;border-radius:9px;font:inherit}
.tech-pdf:disabled{cursor:default;opacity:.7}
.tech-pdf .sw{width:42px;height:24px;border-radius:12px;background:#c9cbc4;position:relative}
.tech-pdf .sw:after{content:'';position:absolute;left:2px;top:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.3)}
.tech-pdf[aria-checked=true] .sw{background:#8a9a6e}.tech-pdf[aria-checked=true] .sw:after{left:20px}
.tech-pdf em{font-style:normal;font-size:10.5px;font-weight:700;color:#6e7076;white-space:nowrap}
.tech-pdf[aria-checked=true] em{color:#56663f}
.tech-list-foot{font-size:12.5px;font-weight:600;padding:6px 2px 2px;color:#2c2f33}
body.tech-v2 .ws-rail .ws-tool{min-height:56px}
body.tech-v2 .ws-rail .ws-tool svg{width:28px;height:28px}
html body.tech-page .ws-insp .tech-list-sec{order:0}

/* 28.10 (rb_wymiary_wnetrza_v6413; klasa body.wnetrza-v6413 ustawiana w technical.js, wyłącznik = flaga) — Rysunki korpusów w tym samym schemacie linii co rzuty ścian: wymiary szczelin / odstępów (dimension-gap) = cienka kreskowana oliwka zamiast pomarańczowo-czerwonej, linie wiodące bez czerwieni,
   zarys szuflad (drawer-outline) = cienka ciągła brązowa linia zamiast niebieskiej przerywanej ramki. W druku cz-b rozróżnia rodzaj linii (kreskowana = odstępy, ciągła = szuflady), nie kolor. Czerwień zostaje wyłącznie dla ostrzeżeń Kontroli (inne selektory). */
body.wnetrza-v6413 .dimension-overlay .dimension-gap:not(.dimension-callout) :is(.dimension-line,.dimension-tick,.dimension-tick-perp,.dimension-endcap){stroke:#5f6f3f!important;stroke-dasharray:4 3!important;stroke-width:.8px!important}
body.wnetrza-v6413 .dimension-overlay .dimension-gap:not(.dimension-callout) .dimension-witness{stroke:#7c8a5b!important;stroke-dasharray:2 2!important;stroke-width:.6px!important}
body.wnetrza-v6413 .dimension-overlay .dimension-gap.dimension-group text{fill:#3b4724!important;font-style:normal!important}
body.wnetrza-v6413 .dimension-overlay .dimension-callout :is(.dimension-leader,.dimension-leader-k27){stroke:#5f6f3f!important;stroke-width:.9px!important}
body.wnetrza-v6413 .dimension-overlay .dimension-callout .dimension-dot{fill:#5f6f3f!important}
body.wnetrza-v6413 .dimension-overlay .drawer-outline{fill:rgba(107,74,31,.04);stroke:#6b4a1f;stroke-dasharray:none;stroke-width:1}
body.wnetrza-v6413[data-appearance=print] .dimension-overlay .dimension-gap:not(.dimension-callout) :is(.dimension-line,.dimension-tick,.dimension-tick-perp,.dimension-endcap,.dimension-witness){stroke:#2f3a1c!important}
body.wnetrza-v6413[data-appearance=print] .dimension-overlay .dimension-gap.dimension-group text,body.wnetrza-v6413[data-appearance=print] .dimension-overlay .dimension-callout .dimension-leader{fill:#000!important}
body.wnetrza-v6413[data-appearance=print] .dimension-overlay .dimension-callout :is(.dimension-leader,.dimension-leader-k27){stroke:#000!important}
body.wnetrza-v6413[data-appearance=print] .dimension-overlay .dimension-callout .dimension-dot{fill:#000!important}
body.wnetrza-v6413[data-appearance=print] .dimension-overlay .drawer-outline{fill:rgba(0,0,0,.03);stroke:#000;stroke-width:.8}