/* Rzuty ścian (v0.46) — w stylu karty korpusu */
.walls-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:10px 18px;justify-content:space-between;padding:10px 12px;position:sticky;top:76px;z-index:10}
.walls-tabs{display:flex;flex-wrap:wrap;gap:6px}
.walls-tabs button{background:#f2f2f5;border:0;border-radius:9px;cursor:pointer;font-size:13px;font-weight:600;padding:8px 14px}
.walls-tabs button[aria-selected=true]{background:#1d1d1f;color:#fff}
.walls-options{align-items:center;display:flex;gap:14px}
.walls-toggle{align-items:center;cursor:pointer;display:inline-flex;font-size:13px;gap:6px}
.walls-layout{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) 340px;margin-top:18px}
.wall-view{background:#fff;border-radius:18px;box-shadow:var(--shadow);margin:0;padding:14px}
.wall-view figcaption{font-size:14px;font-weight:700;margin-bottom:8px;text-align:center}
.wall-viewport{height:calc(100vh - 250px);min-height:520px}
.walls-sidebar{background:#fff;border:1px solid rgba(0,0,0,.055);border-radius:18px;box-shadow:var(--shadow);max-height:calc(100vh - 180px);overflow:auto;padding:16px;position:sticky;top:150px}
.walls-sidebar h3{font-size:13px;margin:14px 0 8px}.walls-sidebar h3:first-child{margin-top:0}
.wall-cabinets{display:flex;flex-wrap:wrap;gap:6px}
.wall-cabinet{background:#f2f2f5;border-radius:999px;color:#1d1d1f;display:inline-block;font-size:12px;font-weight:700;margin:2px 4px 2px 0;padding:4px 10px;text-decoration:none}
.wall-cabinet:hover{background:#0066cc;color:#fff}
.walls-table{border-collapse:collapse;font-size:12px;width:100%}.walls-table th{color:var(--muted);font-weight:600;text-align:left}.walls-table td,.walls-table th{border-bottom:1px solid var(--line);padding:6px 4px;vertical-align:middle}
.walls-table .link{background:none;border:0;color:#0066cc;cursor:pointer;font-weight:700;padding:0}
.dimension-overlay .marker-pill rect{fill:#1d1d1f;stroke:#fff;stroke-width:1.5}
.dimension-overlay .marker-pill text{fill:#fff;font:700 11px system-ui,sans-serif;stroke:none}
.dimension-overlay .marker-icon circle{fill:#fff;stroke:#c2410c;stroke-width:1.4}
.dimension-overlay .marker-icon svg{color:#c2410c}
.dimension-overlay .marker-count{fill:#c2410c;font:700 10px system-ui,sans-serif;stroke:#fff;stroke-width:3px;paint-order:stroke}
body[data-appearance=print] .dimension-overlay .marker-pill rect{fill:#fff;stroke:#000}
body[data-appearance=print] .dimension-overlay .marker-pill text{fill:#000}
body[data-appearance=print] .dimension-overlay .marker-icon circle{stroke:#000}body[data-appearance=print] .dimension-overlay .marker-icon svg{color:#000}
@media(max-width:1100px){.walls-layout{grid-template-columns:1fr}.walls-sidebar{max-height:none;position:static}}
.walls-layout{grid-template-columns:minmax(0,1fr) 380px}
.walls-table{min-width:0!important;table-layout:fixed}
.walls-table td{overflow-wrap:anywhere}
.walls-table .icon-col{width:30px}
/* v0.47: narzędzia rzutów (jak na karcie korpusu), szafki górne przerywane, łączenia blatów, numery przyłączy */
.walls-toggle[hidden],.plan-levels[hidden]{display:none}
.walls-tools{margin-top:10px;position:static!important}
/* v0.55: narzędzia w przyklejonym pasku (pod wyborem rzutu) — zawsze pod ręką */
.walls-toolbar .walls-tools{background:transparent;border:0;border-top:1px solid #ececef;border-radius:0;box-shadow:none;flex-basis:100%;margin:0;padding:8px 0 0}
.walls-toolbar .walls-tools .dimension-modes{gap:6px 14px}
.walls-toolbar .walls-tools .tool-group-title{font-size:9px}
.walls-toolbar .walls-tools .arrange-button small{display:none}
.walls-sidebar{top:250px}
.walls-table td{white-space:normal}
.walls-table .wall-cabinets{gap:2px}
.walls-tools .dimension-modes{flex-wrap:wrap}
.wall-viewport{position:relative}
.wall-viewport .drawing-symbol-layer{inset:0;pointer-events:none;position:absolute;z-index:3}
.wall-viewport .drawing-symbol-layer>*:not(svg){pointer-events:auto}
body[data-tool=part] .wall-viewport,body[data-tool=series] .wall-viewport,body[data-tool=note] .wall-viewport,body[data-tool=symbol] .wall-viewport{cursor:crosshair}
.walls-sidebar>select{font-size:13px;padding:6px 8px;width:100%}
.section-cabinets{display:grid;gap:4px 10px;grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}
.section-cabinet{align-items:center;cursor:pointer;display:flex;font-size:13px;font-weight:700;gap:6px}
.walls-sidebar h3 .link{background:none;border:0;color:#0066cc;cursor:pointer;font-size:12px;font-weight:600;margin-left:6px;padding:0}
.section-extras{grid-template-columns:1fr 1fr}.section-extras .section-cabinet{font-weight:600}
.section-cabinet small{color:var(--muted);font-weight:500}
.walls-table select{font-size:12px;max-width:100%}
.dimension-overlay .hanging-outline{fill:rgba(0,102,204,.04);stroke:#0066cc;stroke-dasharray:6 4;stroke-width:1.3}
.dimension-overlay .marker-pill.marker-hanging rect{fill:#fff;stroke:#0066cc;stroke-dasharray:4 3}
.dimension-overlay .marker-pill.marker-hanging text{fill:#0066cc}
.dimension-overlay .marker-pill.marker-joint rect{fill:#fff7ed;stroke:#c2410c}
.dimension-overlay .marker-pill.marker-joint text{fill:#c2410c}
.dimension-overlay .joint-seam{fill:none;stroke:#c2410c;stroke-dasharray:7 4;stroke-width:2.4}
body[data-appearance=print] .dimension-overlay .joint-seam{stroke:#000}
.dimension-overlay .marker-number{fill:#c2410c;font:700 11px system-ui,sans-serif;stroke:#fff;stroke-width:3px;paint-order:stroke}
body[data-appearance=print] .dimension-overlay .hanging-outline{fill:none;stroke:#000}
body[data-appearance=print] .dimension-overlay .marker-pill.marker-hanging rect,body[data-appearance=print] .dimension-overlay .marker-pill.marker-joint rect{fill:#fff;stroke:#000}
body[data-appearance=print] .dimension-overlay .marker-pill.marker-hanging text,body[data-appearance=print] .dimension-overlay .marker-pill.marker-joint text,body[data-appearance=print] .dimension-overlay .marker-number{fill:#000}
@media print{
  /* v0.96g: rysunek na całą szerokość kartki, tabele (przyłącza, okna, wnętrza, oznaczenia, uwagi) pod nim w kolumnach */
  .walls-print-grid{display:grid;flex:1;gap:3mm;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;min-height:0}
  .walls-print-view{border:.4pt solid #d4d4d0;height:100%;min-height:0;padding:1mm}
  .walls-print-view svg{height:100%;width:100%}
  .walls-print-view svg.drawing-info-icon{height:4mm;width:4mm}
  .walls-print-side{column-count:3;column-gap:6mm;font-size:8pt;max-height:62mm;overflow:hidden}
  .walls-print-side>*{break-inside:avoid}
  .walls-print-side h3{break-after:avoid}
  .walls-print-side .walls-notes-print{column-span:none}
  .walls-print-notes{height:14mm!important}
  .walls-print-side h3{font-size:8.5pt;margin:0 0 1.5mm}
  .walls-print-side h3:not(:first-child){margin-top:4mm}
  .walls-print-side p{margin:0}
  .walls-print-side table{border-collapse:collapse;font-size:7.5pt;min-width:0;width:100%}
  .walls-print-side td,.walls-print-side th{border-bottom:.4pt solid #ccc;padding:.8mm 1mm;text-align:left}
  /* 0.96.228: nic nie wychodzi poza swoją kolumnę — stały układ tabel i zawijanie długich opisów */
  .walls-print-side table{table-layout:fixed}
  .walls-print-side td,.walls-print-side th{overflow-wrap:anywhere;white-space:normal}
  .walls-print-block{break-inside:avoid}
  .walls-utility-table tr:first-child>:nth-child(1){width:6mm}.walls-utility-table tr:first-child>:nth-child(2){width:8mm}
  .walls-utility-table tr:first-child>:nth-child(4){width:20mm}.walls-utility-table tr:first-child>:nth-child(5){width:14mm}
  /* 0.96.229: strona ściany — trzy stałe bloki zamiast kolumn gazetowych (tabela nie przelewa się do sąsiedniej kolumny) */
  /* 0.96.274 (B16): mniejsze marginesy kartki rzutów (6 / 7 mm zamiast 7 / 9 / 11) i ściana też z kolumną obok —
     rysunek ściany jest ograniczony wysokością, więc pasek pod nim zabierał mu ok. 20% wielkości */
  .walls-print-page{padding:6mm 7mm 6mm}
  .walls-print-page.is-wall .walls-print-grid{grid-template-columns:minmax(0,1fr) 52mm;grid-template-rows:minmax(0,1fr)}
  .walls-print-page.is-wall .walls-print-side.walls-side-blocks{display:block;max-height:none}
  .walls-print-page.is-wall .walls-side-blocks>*{margin-bottom:4mm}
  .walls-print-page.is-wall .walls-print-side table{font-size:6.5pt}
  .walls-print-page.is-wall .walls-utility-table tr:first-child>:nth-child(4){width:14mm}.walls-print-page.is-wall .walls-utility-table tr:first-child>:nth-child(5){width:9mm}
  .walls-print-page.is-wall .walls-side-blocks .walls-print-notes{height:30mm!important}
  /* 0.96.270 (B16): rzut z góry — tabela ścian i uwagi w kolumnie 64 mm obok rysunku, rysunek na całą wysokość */
  .walls-print-page.is-plan .walls-print-grid{grid-template-columns:minmax(0,1fr) 52mm;grid-template-rows:minmax(0,1fr)}
  .drawing-info{font-size:11px}
  .walls-print-page.is-plan .walls-print-side{column-count:1;max-height:none}
  .walls-print-page.is-plan .walls-print-side table{font-size:7pt}
  /* 0.96.268 (B16): dwa bloki (Przyłącza | Oznaczenia i Uwagi), pasek najwyżej 34 mm — rysunek ściany ok. 20% większy */
  .walls-print-side.walls-side-blocks{align-items:start;column-count:auto;display:grid;gap:6mm;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);max-height:34mm}
  .walls-side-blocks>.walls-notes-print{grid-column:2;margin-top:0}
  .walls-side-blocks>.walls-notes-print:only-child{grid-column:1 / -1}
  .walls-side-blocks .walls-print-notes{height:11mm!important}
  .walls-side-blocks h3:not(:first-child){margin-top:3mm}
  .walls-print-side .symbol-icon{height:3.5mm;width:4.5mm}
  .walls-print-notes{border:.4pt solid #ccc;height:40mm}
  .walls-print-view .annotation-remove{display:none}
  .walls-toolbar,.walls-tools,.walls-layout{display:none!important}
}
.walls-options .print-button{margin-left:6px}
/* v0.54: opcje rzutu w nagłówku rysunku (tytuł po lewej, opcje po prawej) */
.walls-actions{align-items:center;display:flex;gap:8px}
.wall-view-head{align-items:center;border-bottom:1px solid #ececef;display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:space-between;margin:-2px 0 10px;padding-bottom:10px}
.wall-view-head figcaption{flex:1 1 260px;margin:0!important;text-align:left!important}
.wall-view-head .walls-options{flex-wrap:wrap;gap:10px;justify-content:flex-end}
.wall-view-head .appearance-modes button{font-size:12px}
/* v0.52: panel klienta — tylko oglądanie */
body.read-only .walls-tools,body.read-only .walls-pdf-link,body.read-only .save-status,body.read-only header #back,body.read-only .pending-add,body.read-only .annotation-remove,body.read-only .refresh-trigger{display:none!important}
body.read-only .annotation-dot,body.read-only .annotation-label{pointer-events:none}
body.read-only>header{display:none}body.read-only main{margin-top:8px}body.read-only .walls-toolbar{top:0}
@media (max-width:820px){.walls-toolbar{position:static}.walls-layout{grid-template-columns:1fr!important}.wall-viewport{height:62vh;min-height:360px}.walls-sidebar{position:static!important;max-height:none}}
.walls-pdf-link{border:1px solid #0066cc;border-radius:9px;color:#0066cc;font-size:13px;font-weight:600;padding:7px 12px;text-decoration:none;white-space:nowrap}
/* v0.59: osadzony w widoku 3D */
body.embedded>header{display:none}body.embedded main{margin-top:6px}body.embedded .walls-toolbar{top:0}

/* v0.61: znak zawiasu na rzutach ścian */
.marker-hinge rect{fill:#8e8e93;stroke:#3a3a3c;stroke-width:.8}.marker-hinge circle{fill:#c7c7cc;stroke:#3a3a3c;stroke-width:.8}

.client-off{display:none!important}

/* v0.66: przyłącza czytelniej — kolor wg rodzaju (woda niebieska, prąd żółty, gaz czerwony, wentylacja szara, odpływ granatowy) */
.dimension-overlay .marker-icon.util-water circle{fill:#e3f1ff;stroke:#0a6fd6}.dimension-overlay .marker-icon.util-water svg,.dimension-overlay .marker-icon.util-water .marker-number{color:#0a6fd6;fill:#0a6fd6}
.dimension-overlay .marker-icon.util-drain circle{fill:#e6e9f5;stroke:#2c3e8f}.dimension-overlay .marker-icon.util-drain svg,.dimension-overlay .marker-icon.util-drain .marker-number{color:#2c3e8f;fill:#2c3e8f}
.dimension-overlay .marker-icon.util-socket circle,.dimension-overlay .marker-icon.util-switch circle,.dimension-overlay .marker-icon.util-light circle{fill:#fff6cc;stroke:#b07800}
.dimension-overlay .marker-icon.util-socket svg,.dimension-overlay .marker-icon.util-switch svg,.dimension-overlay .marker-icon.util-light svg,.dimension-overlay .marker-icon.util-socket .marker-number,.dimension-overlay .marker-icon.util-switch .marker-number,.dimension-overlay .marker-icon.util-light .marker-number{color:#8a5d00;fill:#8a5d00}
.dimension-overlay .marker-icon.util-gas circle{fill:#ffe6e3;stroke:#c4170c}.dimension-overlay .marker-icon.util-gas svg,.dimension-overlay .marker-icon.util-gas .marker-number{color:#c4170c;fill:#c4170c}
.dimension-overlay .marker-icon.util-vent circle{fill:#eef0f2;stroke:#5c6670}.dimension-overlay .marker-icon.util-vent svg,.dimension-overlay .marker-icon.util-vent .marker-number{color:#4a535c;fill:#4a535c}
.dimension-overlay .marker-number{font-size:10.5px}
/* LED — żółta etykieta przy oświetleniu */
.dimension-overlay .marker-pill.marker-led rect{fill:#ffd60a;stroke:#b08900}.dimension-overlay .marker-pill.marker-led text{fill:#3a2e00;font-weight:800}
body[data-appearance=print] .dimension-overlay .marker-icon circle{fill:#fff}
.walls-suggestion{background:#fff8e1;border:1px solid #f0d58a;border-radius:8px;color:#6b4f00;font-size:12px;font-weight:600;margin:0 0 8px;padding:6px 9px}

/* v0.69: oznaczenia korpusów delikatniej — biała etykieta, cienka ramka, ciemny tekst */
.dimension-overlay .marker-pill rect{fill:rgba(255,255,255,.94);stroke:#2c2c2e;stroke-width:.9}
.dimension-overlay .marker-pill text{fill:#1d1d1f;font:600 11px Arial,"Segoe UI",sans-serif;letter-spacing:.2px;stroke:none}
.dimension-overlay .marker-pill.active rect{fill:#0071e3;stroke:#0071e3}.dimension-overlay .marker-pill.active text{fill:#fff}
/* LED: znak światła (opis w legendzie obok rysunku) */
.dimension-overlay .marker-light circle{fill:#fff3b0;stroke:#a87b00;stroke-width:1.1}
.dimension-overlay .marker-light .marker-ray{stroke:#a87b00;stroke-linecap:round;stroke-width:1.1}
body[data-appearance=print] .dimension-overlay .marker-light circle{fill:#fff;stroke:#000}body[data-appearance=print] .dimension-overlay .marker-light .marker-ray{stroke:#000}

/* v0.69: panel „Oznaczenia” (z opisami) + „Uwagi” — ekran i wydruk */
.walls-notes{background:#fafafa;border:1px solid var(--line);border-radius:12px;margin:0 0 14px;padding:10px 12px}
.walls-notes h3{font-size:12px;margin:0 0 6px;text-transform:uppercase;letter-spacing:.04em;color:#6e6e73}
.walls-notes h3:not(:first-child){margin-top:12px}
.walls-legend{display:grid;gap:6px}
.walls-legend-row{align-items:flex-start;display:grid;gap:8px;grid-template-columns:22px minmax(0,1fr)}
.walls-legend-icon{display:block;height:20px;width:22px;color:#1d1d1f}.walls-legend-icon svg{height:100%;width:100%}
.walls-legend-row strong{display:block;font-size:12.5px}
.walls-note-input{border:1px solid #e5e5ea;border-radius:7px;font:inherit;font-size:12.5px;margin-top:3px;padding:4px 7px;width:100%}
.walls-note-input:focus,.walls-note-area:focus{border-color:#0071e3;outline:none}
.walls-note-area{border:1px solid #e5e5ea;border-radius:8px;font:inherit;font-size:13px;line-height:1.4;min-height:90px;padding:7px 9px;resize:vertical;width:100%}
.walls-notes .sidebar-hint{margin:6px 0 0}
.walls-notes-print{background:none;border:0;border-radius:0;margin:4mm 0 0;padding:0}
.walls-notes-print h3{color:#000;font-size:8.5pt;letter-spacing:0;text-transform:none;margin:0 0 1.5mm}
.walls-notes-print .walls-legend{gap:1.2mm}
.walls-notes-print .walls-legend-row{grid-template-columns:5mm minmax(0,1fr);gap:2mm}
.walls-notes-print .walls-legend-icon{height:4.5mm;width:5mm}
.walls-notes-print .walls-legend-row strong{display:inline;font-size:8pt}
.walls-notes-print .walls-legend-row span{font-size:8pt}
.walls-note-text{font-size:8.5pt;line-height:1.35;white-space:pre-wrap}
.walls-notes-print .walls-print-notes{background:repeating-linear-gradient(transparent 0 6.5mm,#bbb 6.5mm calc(6.5mm + .4pt));border:0;height:52mm}
/* 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.72: szafki górne na rzucie z góry — wyraźna niebieska ramka z delikatnym wypełnieniem (widać je nad dolnymi) */
.dimension-overlay .hanging-outline{fill:rgba(10,111,214,.13);stroke:#0a6fd6;stroke-dasharray:8 4;stroke-width:2}
body[data-appearance=print] .dimension-overlay .hanging-outline{fill:rgba(0,0,0,.06);stroke:#000;stroke-width:1.6}
/* etykieta korpusu: ikona rodzaju + numer, pod spodem krótki opis (rzut z góry) */
.dimension-overlay .marker-tag rect{fill:rgba(255,255,255,.96);stroke:#2c2c2e;stroke-width:.9}
.dimension-overlay .marker-tag text{fill:#1d1d1f;font:600 11px Arial,"Segoe UI",sans-serif;stroke:none}
.dimension-overlay .marker-tag .tag-icon{color:#1d1d1f}
.dimension-overlay .marker-tag .tag-caption{fill:#3a3a3c;font:500 10px Arial,"Segoe UI",sans-serif;paint-order:stroke;stroke:#fff;stroke-width:3px}
.dimension-overlay .marker-tag.marker-hanging rect{fill:#eef5ff;stroke:#0a6fd6;stroke-width:1.2}
.dimension-overlay .marker-tag.marker-hanging text:not(.tag-caption){fill:#0a5fb8}.dimension-overlay .marker-tag.marker-hanging .tag-icon{color:#0a6fd6}
.dimension-overlay .marker-tag.marker-hanging .tag-caption{fill:#0a5fb8}
.dimension-overlay .marker-tag.active rect{fill:#0071e3;stroke:#0071e3}.dimension-overlay .marker-tag.active text:not(.tag-caption){fill:#fff}.dimension-overlay .marker-tag.active .tag-icon{color:#fff}
body[data-appearance=print] .dimension-overlay .marker-tag.marker-hanging rect{fill:#fff;stroke:#000;stroke-dasharray:3 2}
body[data-appearance=print] .dimension-overlay .marker-tag.marker-hanging text,body[data-appearance=print] .dimension-overlay .marker-tag.marker-hanging .tag-icon{fill:#000;color:#000}
.walls-legend-type{font-size:12.5px}.walls-notes-print .walls-legend-type{font-size:8pt}

/* v0.73: podpis korpusu — przesuwanie, linia do korpusu, menu położenia; ukryte przyłącza; przełącznik ikon */
.dimension-overlay .marker-tag.movable{cursor:grab;pointer-events:all}.dimension-overlay .marker-tag.movable:active{cursor:grabbing}
.dimension-overlay .marker-tag.movable:hover rect{stroke:#0071e3;stroke-width:1.4}
.dimension-overlay .marker-leader-line{stroke:#2c2c2e;stroke-width:.9}.dimension-overlay .marker-leader-dot{fill:#2c2c2e;stroke:none}
.dimension-overlay .marker-leader-line.marker-hanging{stroke:#0a6fd6}.dimension-overlay .marker-leader-dot.marker-hanging{fill:#0a6fd6}
body[data-appearance=print] .dimension-overlay .marker-leader-line{stroke:#000}body[data-appearance=print] .dimension-overlay .marker-leader-dot{fill:#000}
.label-menu{align-items:center;background:#fff;border:1px solid #d1d1d6;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.14);display:flex;font-size:12px;gap:4px;padding:5px 6px;position:absolute;z-index:30}
.label-menu[hidden]{display:none}
.label-menu strong{margin-right:4px}
.label-menu button{background:#f2f2f7;border:1px solid transparent;border-radius:7px;cursor:pointer;font:inherit;padding:4px 9px}
.label-menu button.on{background:#0071e3;color:#fff}.label-menu span{color:#6e6e73;padding:0 4px}.label-menu span.on{color:#0071e3;font-weight:600}
.label-menu .label-menu-close{background:none;color:#8e8e93;font-size:15px;padding:2px 6px}
.walls-notes-head{align-items:center;display:flex;gap:8px;justify-content:space-between}
.walls-icons-toggle{background:#f2f2f7;border:1px solid #d1d1d6;border-radius:7px;color:#3a3a3c;cursor:pointer;font-family:inherit;font-size:11px;font-weight:600;letter-spacing:0;padding:3px 8px;text-transform:none}
.walls-icons-toggle.on{background:#e8f1fd;border-color:#9cc3f5;color:#0058b0}
.util-eye{background:none;border:0;cursor:pointer;font-size:14px;opacity:.75;padding:0 2px}.util-eye:hover{opacity:1}.util-eye.off{opacity:.5}
.walls-table tr.util-hidden td{color:#aeaeb2;text-decoration:line-through}.walls-table tr.util-hidden td:last-child,.walls-table tr.util-hidden td:first-child{text-decoration:none}

/* v0.83: telefon/tablet (klient) — rzut w rozmiarze projektanta, przewijany palcem */
.wall-view-scroll{-webkit-overflow-scrolling:touch;max-width:100%;overflow:auto}
.wall-view-scroll .wall-viewport,.wall-view-scroll canvas{touch-action:pan-x pan-y pinch-zoom}
.wall-scroll-hint{margin:6px 4px 0}
@media print{.wall-scroll-hint{display:none}}.walls-layout>*,.walls-drawing,.walls-drawing>.native-view{min-width:0}
@media (max-width:820px){.walls-drawing>.native-view.wall-view-scroll{max-width:calc(100vw - 32px)}}

/* 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: teczka dokumentacji na rzutach — „＋ Do dokumentacji” / „✓ W dokumentacji · pozycja N” */
.folder-row{display:flex;justify-content:flex-end;margin:0 0 6px}
.folder-box{align-items:center;display:flex;flex-wrap:wrap;gap:8px;font-size:13px}
.folder-add{background:#0071e3;border:0;border-radius:8px;color:#fff;cursor:pointer;font:inherit;font-weight:600;padding:6px 12px}
.folder-in{background:#e8f5ec;border-radius:8px;color:#1b7a3a;font-weight:600;padding:5px 10px}
.folder-remove{background:none;border:0;color:#d70015;cursor:pointer;font:inherit;font-size:12px}
.folder-open{color:#0071e3;font-size:12px;text-decoration:none}
body.printing .folder-row,.walls-print .folder-row{display:none}
/* v0.86: narzędzia edycji rzutów jako pionowa paleta z lewej — pasek u góry zostaje tylko z wyborem rzutu i drukiem */
@media (min-width:1100px){
  body.walls-page:not(.read-only):not(.printing) main{padding-left:164px}
  body.walls-page:not(.read-only):not(.printing) .walls-toolbar .walls-tools{background:rgba(255,255,255,.96)!important;border:1px solid rgba(0,0,0,.06)!important;border-radius:15px!important;box-shadow:0 8px 28px rgba(0,0,0,.06)!important;display:flex;flex-basis:auto;flex-direction:column;gap:10px;left:10px;max-height:calc(100vh - 130px);overflow:auto;padding:10px 8px!important;position:fixed!important;top:110px;width:142px;z-index:30}
  body.walls-page:not(.read-only):not(.printing) .walls-tools .dimension-modes{align-items:stretch;flex-direction:column;flex-wrap:nowrap;gap:8px}
  body.walls-page:not(.read-only):not(.printing) .walls-tools .tool-group-box{gap:3px}
  body.walls-page:not(.read-only):not(.printing) .walls-tools .tool-group-row{flex-direction:column;gap:3px}
  body.walls-page:not(.read-only):not(.printing) .walls-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%}
}
/* v0.86: przełączniki rzutu w grupach: Ściany · Korpusy · Fronty · Blendy · Przyłącza / kolizje · Akcesoria */
.walls-group{align-items:center;border:1px solid rgba(0,0,0,.08);border-radius:9px;display:inline-flex;gap:10px;padding:3px 9px 3px 7px}
.walls-group[hidden]{display:none}
.walls-group-title{color:#8a8a8e;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.wall-view-head .walls-options{gap:8px}
/* v0.86: otwieranie frontów na rzucie */
.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}
body[data-appearance=print] .dimension-overlay .marker-opening rect{stroke:#000}body[data-appearance=print] .dimension-overlay .marker-opening{color:#000}

/* v0.86: warstwy rzutu — 6 kafelków w stałych miejscach (ikona + nazwa, pod spodem przełączniki); nic nie przeskakuje */
.wall-view-head .walls-options{flex:1 1 100%;justify-content:space-between}
.walls-layers{display:grid;flex:1 1 100%;gap:6px;grid-template-columns:repeat(6,minmax(0,1fr));order:3}
.walls-layers[hidden]{display:none}
.walls-layers.compact{display:flex;flex:0 1 auto;order:1}
.walls-layers .walls-group{align-items:stretch;background:#f7f8fa;border:1px solid #ececf0;border-radius:10px;display:flex;flex-direction:column;gap:5px;min-height:66px;padding:7px 9px}
.walls-layers .walls-group[hidden]{display:none}
.walls-layers .walls-group-title{align-items:center;color:#3a3a3c;display:flex;font-size:10.5px;gap:5px;letter-spacing:.03em}
.walls-layers .walls-group-title svg{color:#0071e3;flex:0 0 auto;height:16px;width:16px}
.walls-group-items{display:flex;flex-direction:column;gap:3px}
.walls-layers .walls-toggle{font-size:12px;line-height:1.25}
.walls-layers .walls-toggle.is-off{color:#aeaeb2;cursor:not-allowed}
.walls-layers .walls-toggle[hidden]{display:none}
.wall-view-head .plan-levels{order:1}.wall-view-head .appearance-modes:not(.plan-levels){margin-left:auto;order:2}
@media (max-width:900px){.walls-layers{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* v0.87 — układ zabudowy i role ścian (Rzut z góry → Ściany) */
.wall-layout-v087{display:grid;gap:6px;margin:0 0 10px;padding:8px 10px;border:1px solid #e6e9ee;border-radius:10px;background:#fafbfc;font-size:12px}
.wall-layout-detected-v087{color:#3f4a57;font-weight:600}
.wall-layout-v087 label{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;color:#4b5563}
.wall-layout-v087 select{font:inherit;font-size:12px;padding:3px 6px;border:1px solid #d9dee5;border-radius:7px;background:#fff;max-width:150px}
.wall-roles-v087{display:grid;gap:4px;padding-top:4px;border-top:1px solid #eef1f4}
.wall-roles-v087 label.is-skipped span{color:#a8b0bb;text-decoration:line-through}
/* 0.96.214: „Ściany” po ludzku — lista ścian + „Do poprawy w PRO100” */
.walls-overview-v214{display:grid;gap:10px;margin:0 0 10px;font-size:12.5px}
.walls-list-v214{display:grid;gap:6px}
.wall-row-v214{display:grid;gap:6px;padding:9px 10px;border:1px solid #e6e7e1;border-radius:12px;background:#fff}
.wall-row-v214.is-off{background:#f6f6f4;opacity:.75}
.wall-row-head-v214{align-items:center;display:flex;flex-wrap:wrap;gap:6px 10px}
.wall-row-head-v214 .link,.wall-row-head-v214 b{font-size:13.5px;font-weight:700}
.wall-row-size-v214{color:#6e726a}
.wall-row-toggle-v214{align-items:center;color:#2c2f33;display:flex;gap:4px;margin-left:auto;white-space:nowrap}
.wall-row-toggle-v214 input{accent-color:#6c7454}
.wall-row-empty-v214{color:#8a8d91;font-size:12px}
.walls-problems-v214{display:grid;gap:6px;padding:10px;border:1px solid #e9c9a6;border-radius:12px;background:#fdf6ee}
.walls-problems-v214>strong{color:#8a5a22;font-size:12.5px}
.walls-problem-v214{line-height:1.45}
.walls-problem-v214 em{color:#6c7454;display:block;font-style:normal;font-weight:650;margin-top:2px}
.walls-ok-v214{color:#4e7a3a;font-weight:650;margin:0}
.walls-more-v214>summary{color:#6c7454;cursor:pointer;font-size:12px;font-weight:650;margin:0 0 8px}

/* v0.87 — ukryte ręcznie */
.walls-tools .hidden-toggle-v087,.walls-tools .hidden-restore-v087{font:inherit;font-size:12px;padding:5px 9px;border:1px solid #e3e7ec;border-radius:8px;background:#fff;color:#2b3440;cursor:pointer;text-align:left}
.walls-tools .hidden-toggle-v087.active{background:#2b3440;border-color:#2b3440;color:#fff}
.walls-tools .hidden-toggle-v087:disabled,.walls-tools .hidden-restore-v087:disabled{opacity:.45;cursor:default}
body[data-tool="hide"] #wall-viewport{cursor:not-allowed}

/* 0.96.399: litery ścian na rzucie z góry — grafitowe kółko także na wydruku */
.dimension-overlay .marker-pin.plan-wall-name circle{fill:#2c2f33;stroke:#fff;stroke-width:1.4}
.dimension-overlay .marker-pin.plan-wall-name text{fill:#fff;font:700 10px Manrope,system-ui,sans-serif}
