.box-calculator{width:min(1150px,96vw);max-width:96vw;padding:24px;max-height:94vh;border:1px solid #c5cbd2;border-radius:10px}.box-calculator form{display:block}.box-grid{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:16px;margin:12px 0}.box-grid label{display:flex;flex-direction:column;gap:6px}.box-grid label.check{flex-direction:row;align-items:center}.box-grid input,.box-grid select{width:100%;min-width:0}.box-grid input[type=checkbox]{width:auto}.box-calculator fieldset{border:1px solid #d5d9df;margin:20px 0;padding:16px}.box-calculator [hidden]{display:none}.box-calculator .form-actions,.box-order-actions{display:flex;gap:12px;flex-wrap:wrap}.box-order-actions h3,.box-order-actions p{width:100%}.box-edit{display:block;margin-top:8px}.box-views{display:flex;gap:12px;flex-wrap:wrap}.box-view{width:min(31%,320px);min-width:210px;max-height:290px}.box-face{fill:#f7f1e4;stroke:#285745;stroke-width:2}.box-view text{font:14px Arial,sans-serif;fill:#172c27}.box-sheet{break-inside:avoid;margin:20px 0}.box-sheet svg{max-height:480px;width:100%;border:1px solid #999}.box-sheet-bg{fill:#faf7ed}.box-cut{stroke:#444;stroke-width:2}.box-color-0{fill:#d5e7d9}.box-color-1{fill:#e2e4f3}.box-color-2{fill:#f0ddc6}.box-color-3{fill:#d8e8ec}.box-cut-label{fill:#111;font-family:Arial,sans-serif}.box-document{max-width:1100px;margin:24px auto;padding:24px;font:16px Arial,sans-serif;color:#182f29}.box-document table{width:100%;border-collapse:collapse;margin:20px 0}.box-document th,.box-document td{padding:10px;border-bottom:1px solid #ccc;text-align:left}.box-document header{display:flex;align-items:center;gap:20px}.box-document .box-line{border-top:1px solid #ccc;margin-top:28px;padding-top:16px}.box-document button{padding:10px 18px;margin:12px 12px 12px 0}.box-document a{color:#285745}.box-document .box-error{color:#a40000}.box-document .muted{color:#52635b}@media(max-width:700px){.box-grid{grid-template-columns:1fr 1fr}.box-view{width:100%}.box-document{padding:12px}}@media print{@page{size:A4;margin:12mm}.box-document{margin:0;padding:0;font-size:11px}.box-document .no-print{display:none}.box-view{min-width:0;width:31%;max-height:200px}.box-line{break-inside:avoid}.box-document th,.box-document td{padding:6px}}

@media print{.box-document.print-cut details.no-print{display:block}.box-document.print-cut .box-sheet{break-before:page}}

.box-batch-calculator{width:min(1500px,97vw)}.box-batch-grid{overflow-x:auto;margin:20px 0}.box-batch-table{width:100%;border-collapse:collapse;min-width:1050px}.box-batch-table th,.box-batch-table td{padding:10px 8px;border-bottom:1px solid #d5d9df;vertical-align:top}.box-batch-table td:first-child{width:36px}.box-batch-table td:nth-child(2){min-width:150px}.box-batch-table td:nth-child(8){min-width:165px}.box-batch-table label{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}.box-batch-table input[type=number]{width:100%;min-width:78px;max-width:130px}.box-batch-table select{max-width:155px}.box-batch-table .check{flex-direction:row;align-items:center}.box-batch-table summary{cursor:pointer;margin-bottom:10px}.box-batch-table [hidden]{display:none}.box-batch-stale{border-color:#bd6a20;color:#6a360e}#box-batch-state{margin:14px 0}.box-batch-calculator .form-actions{gap:14px;margin:18px 0}

.plywood-catalog{width:min(1400px,96vw)}.plywood-option{padding:8px 0;gap:10px}.plywood-selected{background:#edf8e9}.box-comparison{margin:20px 0}.box-comparison table{min-width:850px}[data-plywood-auto]{margin:12px 0}[data-plywood-auto] details{margin:12px 0}.box-batch-table td:nth-child(7){min-width:225px}

.box-price-grid{min-height:0}.box-price-grid table{min-width:1150px}.box-price-grid input{min-width:110px}.box-price-grid .form-actions{margin:0;gap:8px}.box-price-note{display:block;margin-top:6px;color:#536454}.box-price-review .panel button{margin:6px}

.rail-controls{margin-top:16px;padding-top:12px;border-top:1px solid #d5d9df}.rail-result{margin:28px 0}.rail-result table{width:100%;border-collapse:collapse;font-size:14px}.rail-result td,.rail-result th{padding:8px;border:1px solid #c9cecc;text-align:left}.rail-assembly,.rail-cutting{margin:28px 0;padding-top:18px;border-top:2px solid #355c4b}.rail-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:20px 0}.rail-panels article{padding:14px;border:1px solid #d0d7d1;border-radius:6px;break-inside:avoid}.rail-panels svg{display:block;width:100%;height:240px}.rail-panel{fill:#fcf7e9;stroke:#554b3d;stroke-width:2}.rail-frame{fill:#b7d7bb;stroke:#294e35;stroke-width:2}.rail-result svg text{font-family:Arial,sans-serif;fill:#102b20}.rail-pattern{margin:20px 0;padding:12px;border:1px solid #bfcac2;break-inside:avoid}.rail-pattern svg{width:100%;max-height:110px;display:block}.rail-offcut{fill:#ececec}.rail-segment{stroke:#31533a;stroke-width:8}.rail-tone-0{fill:#c4dfcb}.rail-tone-1{fill:#cbdce9}.rail-tone-2{fill:#ead8bf}.rail-tone-3{fill:#dfd2e9}.rail-mark{display:inline-block;margin:4px 12px 4px 0}.rail-section{margin:24px 0}.rail-production{margin-top:28px}
@media(max-width:700px){.rail-panels{grid-template-columns:1fr}.rail-result{overflow-x:auto}}
@media print{.rail-result{font-size:10px}.rail-assembly,.rail-cutting{break-before:page}.rail-panels{gap:10px}.rail-panels article{padding:8px}.rail-panels svg{height:155px}.rail-result h3{font-size:13px}.rail-result h4{font-size:11px}.rail-result td,.rail-result th{padding:5px}.rail-pattern{padding:8px;margin:10px 0}.rail-pattern svg{max-height:60px}.box-document.print-cut .rail-production.no-print{display:block}.box-document.print-cut .box-line{break-inside:auto}}

.rail-panel-labels{display:grid;gap:6px;margin:12px 0;font-size:14px;line-height:1.4}.rail-result td:first-child{overflow-wrap:anywhere;min-width:150px}.rail-mark{line-height:1.5}@media print{.rail-panel-labels{font-size:10px;gap:4px}.rail-result td:first-child{min-width:100px}}

.box-fittings{margin-top:18px;border-top:1px solid #d5d9df;padding-top:12px}.box-fittings fieldset{padding:10px;margin:12px 0}.box-fittings input{max-width:130px}.fittings-result{margin:28px 0;padding-top:18px;border-top:2px solid #355c4b}.fittings-warning{color:#875008}.fittings-result table{font-size:13px}.fittings-result th,.fittings-result td{padding:8px}@media print{.fittings-result{break-before:page}.fittings-result table{font-size:10px}.fittings-result td,.fittings-result th{padding:5px}}

.box-cut-label{font-weight:700}.rail-length{font-weight:700}.rail-cut-legend{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;font-size:16px;line-height:1.4}.rail-pattern svg{max-height:none;height:auto;min-height:65px}.cut-page{margin:24px 0}.cut-small-parts{margin-top:24px}.cut-small-parts table{font-size:15px}
.rail-panels .rail-panel-parts{table-layout:fixed;width:100%;margin:12px 0 0}
.rail-panels .rail-panel-parts th,.rail-panels .rail-panel-parts td{min-width:0;overflow-wrap:break-word;vertical-align:top}
.rail-panel-parts col:nth-child(1){width:47%}.rail-panel-parts col:nth-child(2){width:19%}.rail-panel-parts col:nth-child(3){width:14%}.rail-panel-parts col:nth-child(4){width:20%}
.rail-panel-parts td:nth-child(n+2){white-space:nowrap}
@media print{
 .box-document.print-cut>h1{font-size:17pt;line-height:1.2;margin:0 0 4mm;break-after:avoid}
 .box-document.print-cut .rail-result{margin:0}
 .box-document.print-cut .rail-result>h2{font-size:14pt;margin:0 0 3mm;break-after:avoid}
 .box-document.print-cut .rail-result>p{font-size:10pt;line-height:1.3;margin:0 0 4mm}
 .box-document.print-cut .rail-assembly{break-before:auto;margin:5mm 0;padding-top:3mm}
 .box-document.print-cut .rail-assembly>h3,.box-document.print-cut .rail-assembly>p{break-after:avoid}
 .box-document.print-cut .rail-panels{display:block;font-size:0;margin:4mm 0}
 .box-document.print-cut .rail-panels article{display:inline-block;vertical-align:top;box-sizing:border-box;width:calc(50% - 2mm);margin:0 4mm 4mm 0;font-size:10pt;break-inside:avoid;page-break-inside:avoid}
 .box-document.print-cut .rail-panels article:nth-child(even){margin-right:0}
 .box-document.print-cut .rail-panels h4{font-size:11pt;line-height:1.25;margin:0 0 3mm}
 .box-document.print-cut .rail-panels .rail-panel-parts{font-size:10pt}
 .box-document.print-cut .rail-result td,.box-document.print-cut .rail-result th{min-width:0;overflow-wrap:break-word}
 .box-document.print-cut .rail-panel-parts th,.box-document.print-cut .rail-panel-parts td{padding:2mm 1.2mm;line-height:1.25}
 .box-document.print-cut .rail-assembly>table{table-layout:fixed;font-size:10pt}
 .box-document.print-cut .rail-assembly-parts col:nth-child(1){width:20%}.box-document.print-cut .rail-assembly-parts col:nth-child(2){width:24%}.box-document.print-cut .rail-assembly-parts col:nth-child(3){width:24%}.box-document.print-cut .rail-assembly-parts col:nth-child(4){width:11%}.box-document.print-cut .rail-assembly-parts col:nth-child(5){width:10%}.box-document.print-cut .rail-assembly-parts col:nth-child(6){width:11%}
 .box-document.print-cut .rail-assembly-parts th,.box-document.print-cut .rail-assembly-parts td{box-sizing:border-box;padding:2mm 1mm}
 .box-document.print-cut .rail-assembly-parts th:nth-child(n+4){overflow-wrap:normal}
 .box-document.print-cut table thead{display:table-header-group}.box-document.print-cut table tr{break-inside:avoid}
 .box-document.print-cut .rail-cutting:has(.cut-pages){break-before:auto;margin:0;padding:0;border:0}
 .box-document.print-cut .rail-cutting:has(.cut-pages)>h2,.box-document.print-cut .rail-cutting:has(.cut-pages)>h3,.box-document.print-cut .rail-cutting:has(.cut-pages)>p,.box-document.print-cut .rail-cutting:has(.cut-pages)>.rail-section{display:none}
 .box-document.print-cut .cut-page{break-before:page;break-inside:avoid;page-break-inside:avoid;display:flex;flex-direction:column;gap:5mm;height:260mm;margin:0;padding:0}
 .box-document.print-cut .cut-page>.box-sheet,.box-document.print-cut .cut-page>.rail-pattern{break-before:auto;break-inside:avoid;box-sizing:border-box;flex:1 1 0;min-height:0;margin:0;padding:3mm;border:1px solid #aaa}
 .box-document.print-cut .box-sheet{display:flex;flex-direction:column}
 .box-document.print-cut .box-sheet h4,.box-document.print-cut .rail-pattern h4{font-size:12pt;line-height:1.25;margin:0 0 2mm}
 .box-document.print-cut .box-sheet svg{flex:1;min-height:0;width:100%;height:100%;max-height:112mm;border:0}
 .box-document.print-cut .rail-pattern-note{font-size:10pt;margin:0 0 3mm}
 .box-document.print-cut .rail-pattern svg{width:100%;height:auto;min-height:0;max-height:none;margin:0 0 3mm}
 .box-document.print-cut .rail-cut-legend{font-size:12pt;line-height:1.25;gap:2mm 4mm;margin:0;grid-template-columns:repeat(2,minmax(0,1fr))}
 .box-document.print-cut .cut-small-parts{break-before:page;font-size:12pt}.box-document.print-cut .cut-small-parts table{font-size:12pt}
}
