.project-viewer{position:relative;min-width:0;min-height:360px;background:#eff1eb;border:1px solid #dde3df;border-radius:16px;overflow:hidden}
.project-viewer-canvas{position:relative;width:100%;height:clamp(360px,53vw,640px)}
.project-viewer-canvas canvas{display:block;width:100%;height:100%;touch-action:none;outline-offset:-5px}
.project-viewer-status{position:absolute;inset:0;display:grid;place-content:center;padding:32px;text-align:center;color:#455349;line-height:1.65;background:#eff1eb;margin:0}
.project-viewer-status[hidden]{display:none}
.project-specification{display:grid;gap:22px;min-width:0}
.spec-section{min-width:0;border-bottom:1px solid #e5e9e6;padding-bottom:20px}
.spec-section h3{margin:0 0 14px;font-size:15px;line-height:1.4;font-weight:750;color:inherit}
.spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;row-gap:14px;margin:0}
.spec-grid>div{min-width:0}
.spec-grid dt{font-size:12px;line-height:1.4;color:#65716a;margin-bottom:4px}
.spec-grid dd{margin:0;font-size:14px;line-height:1.5;font-weight:600;overflow-wrap:anywhere}
.spec-empty,.spec-coordinate-note{margin:0;color:#647168;font-size:13px;line-height:1.65}
.spec-table-scroll,.technical-table-scroll{overflow-x:auto;max-width:100%}
.spec-openings{width:100%;border-collapse:collapse;font-size:12px;text-align:left}
.spec-openings th,.spec-openings td{padding:12px 10px;border-bottom:1px solid #e5e9e6;vertical-align:top;line-height:1.5}
.spec-openings th{font-size:11px;font-weight:650;color:#536158;background:#f3f6f3}
.spec-openings td{min-width:76px}
.spec-openings td:first-child{min-width:150px}
.spec-openings small{display:block;color:#65716a;font-size:11px;line-height:1.5;margin-top:4px}
.technical-views{display:grid;gap:24px;min-width:0}
.technical-view{margin:0;background:#fff;color:#23342b;border:1px solid #dce4de;border-radius:12px;overflow:hidden;break-inside:avoid}
.technical-view figcaption{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:16px 20px;background:#f3f6f3;border-bottom:1px solid #e3e9e4}
.technical-view figcaption b{font-size:14px;letter-spacing:.02em}
.technical-view figcaption span{font-size:11px;color:#647368}
.technical-drawing{display:block;width:100%;height:auto;overflow:visible;background:#fff}
.technical-drawing line,.technical-drawing polyline,.technical-drawing polygon,.technical-drawing rect{stroke:#344b3e;stroke-width:1.7;fill:none}
.technical-drawing text{font:14px Arial,sans-serif;fill:#2c4536;stroke:none}
.technical-drawing .drawing-title{font-size:17px;font-weight:700}
.technical-drawing .drawing-note{font-size:13px;fill:#627267;paint-order:stroke;stroke:#fff;stroke-width:5px}
.technical-drawing .wall-face{fill:#f3f6f3;stroke-width:2.1}
.technical-drawing .extension-face{fill:#e5ece6;stroke-width:1.7}
.technical-drawing .roof-face{fill:#e9eeea;stroke-width:1.7}
.technical-drawing .roof-line{stroke:#263e2e;stroke-width:3.5}
.technical-drawing .ground-line{stroke:#7b8a7e;stroke-width:1.2}
.technical-drawing .opening-gate{fill:#dfe6e0;stroke-width:2}
.technical-drawing .opening-door{fill:#e6e9e3;stroke-width:2}
.technical-drawing .opening-window{fill:#dfedf0;stroke:#4c7580;stroke-width:2}
.technical-drawing .opening-detail{stroke:#839388;stroke-width:.8}
.technical-drawing .opening-label{font-size:14px;font-weight:bold;fill:#17492b;paint-order:stroke;stroke:#fff;stroke-width:4px}
.technical-drawing .dimension-guide{stroke:#bbc6bf;stroke-width:.75}
.technical-drawing .dimension-line,.technical-drawing .dimension-tick{stroke:#647d6a;stroke-width:1}
.technical-drawing .dimension-label{font-size:13px;fill:#365d40;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}
.technical-drawing .part-label{font-size:15px;font-weight:bold;fill:#5b7260;letter-spacing:1px}
.technical-drawing .carport-beam,.technical-drawing .carport-post{fill:#b8c7bb;stroke-width:1.1}
.technical-drawing .carport-screen{fill:#e4ebe4;stroke:#b0beb3;stroke-width:.6}
.technical-drawing .carport-outline{stroke:#65836c;stroke-width:1.6;stroke-dasharray:6 5}
.technical-drawing .carport-plan{fill:#f3f6ed;stroke-width:1.4}
.technical-drawing .roof-footprint{stroke:#829d86;stroke-dasharray:8 5;stroke-width:1.7;fill:none}
.technical-drawing .ridge-line{stroke:#69836c;stroke-dasharray:10 4 2 4;stroke-width:1.4}
.technical-drawing .fall-line{stroke:#64816b;stroke-width:1.4}
.technical-drawing .plan-opening{stroke:#617563;stroke-width:7}
.technical-drawing .plan-window{stroke:#6096a3;stroke-width:7}
.technical-drawing .front-label{font-weight:bold;font-size:16px;letter-spacing:2px}
.technical-caption,.technical-gaps{font-size:11px;line-height:1.6;color:#637268;margin:0;padding:0 20px 14px}
.technical-schedule{width:calc(100% - 40px);margin:0 20px 14px;border-collapse:collapse;font-size:11px;text-align:left}
.technical-schedule th,.technical-schedule td{padding:7px 10px;border:1px solid #dfe6df;font-variant-numeric:tabular-nums}
.technical-schedule thead{background:#f4f7f3;color:#5e7363}
.technical-gaps{padding-top:1px}
.technical-legend{font-size:12px;line-height:1.7;color:#627065;margin:0}
@media(max-width:680px){
 .spec-grid{grid-template-columns:1fr;row-gap:12px}
 .project-viewer,.project-viewer-canvas{min-height:300px;height:380px}
 .technical-view figcaption{padding:12px 14px}
 .technical-caption,.technical-gaps{padding-left:14px;padding-right:14px}
 .technical-schedule{width:calc(100% - 28px);margin-left:14px;margin-right:14px;font-size:10px}
 .technical-schedule th,.technical-schedule td{padding:6px}
}
@media print{
 .project-print .spec-section{margin:0 0 8px;padding-bottom:6px}
 .project-viewer{display:none!important}
 .project-specification{display:block;color:#182a20}
 .spec-section{margin:0 0 13px;padding:0 0 11px;break-inside:avoid}
 .spec-section h3{font-size:10pt;margin-bottom:8px}
 .spec-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 20px}
 .spec-grid dt{font-size:7pt;line-height:1.25;margin-bottom:2px}
 .spec-grid dd{font-size:8pt;line-height:1.25}
 .spec-openings{font-size:7pt;table-layout:fixed}
 .spec-openings th{font-size:6.5pt}
 .spec-openings th:first-child{width:24%}
 .spec-openings th,.spec-openings td{padding:6px 4px;min-width:0;overflow-wrap:anywhere}
 .spec-openings small{font-size:6.5pt;line-height:1.3}
 .spec-openings td:first-child{min-width:0}
 .spec-table-scroll,.technical-table-scroll{overflow:visible}
 .spec-coordinate-note,.spec-empty{font-size:8pt}
 .technical-views{display:block}
 .technical-view{margin:0 0 15px;border:1px solid #ccd5cd;border-radius:0;break-inside:avoid;page-break-inside:avoid}
 .technical-view figcaption{padding:9px 12px}
 .technical-view figcaption b{font-size:10pt}
 .technical-view figcaption span{font-size:8pt}
 .technical-drawing{width:100%;height:auto}
 .technical-caption,.technical-gaps{font-size:7pt;padding:0 12px 8px}
 .technical-schedule{font-size:7pt;width:calc(100% - 24px);margin:0 12px 8px}
 .technical-schedule th,.technical-schedule td{padding:4px 6px}
 .technical-legend{font-size:7pt}
 .technical-view,.spec-openings{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
@page{ @bottom-right{content:"Strona " counter(page) " / " counter(pages);font:8pt Arial,sans-serif;color:#637368} }
