[data-sod-editor] { --sod-border:#cbd7ce; --sod-green:#285640; color:#20392c; max-width:1120px; margin-inline:auto; }
[data-sod-editor] * { box-sizing:border-box; }
[data-sod-editor] [hidden] { display:none!important; }
[data-sod-editor] fieldset, [data-sod-editor] details, [data-calculator-result].sod-result { min-width:0; border:1px solid var(--sod-border); border-radius:16px; padding:clamp(16px,3vw,28px); margin-block:20px; background:#fff; }
[data-sod-editor] legend { font-weight:700; padding-inline:8px; }
.sod-bed-tools { display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between; margin-bottom:20px; }
.sod-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 20px; }
.sod-field { display:grid; grid-row:span 3; grid-template-rows:subgrid; gap:8px; min-width:0; margin:0 0 12px; }
.sod-field > span { font-weight:650; align-self:end; }
.sod-field small { color:#566a5d; font-size:.875em; line-height:1.45; }
[data-sod-editor] input, [data-sod-editor] select { min-width:0; max-width:100%; width:100%; min-height:46px; border:1px solid #9faf9f; border-radius:8px; padding:10px 12px; background:white; color:#20392c; font:inherit; }
[data-sod-editor] button { min-height:44px; padding:10px 16px; border:1px solid #9faf9f; border-radius:9px; font:inherit; background:#f4f8f4; color:#285640; cursor:pointer; }
[data-sod-editor] button:hover { background:#e4efe5; color:#20392c; }
[data-sod-editor] :focus-visible { outline:3px solid #3675bf; outline-offset:3px; }
[data-sod-editor] :disabled { opacity:.55; cursor:default; }
[data-sod-editor] [aria-invalid=true] { border:2px solid #ac3333; }
[data-sod-editor] [data-error] { color:#9d2828; }
[data-sod-editor] summary { cursor:pointer; font-weight:700; padding-block:8px; }
.sod-orders { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.sod-orders section { border-radius:12px; background:#f0f5ee; padding:18px; min-width:0; }
.sod-result h2 { font-size:clamp(1.65rem,4vw,2.5rem); margin-top:0; }
.sod-result svg { display:block; width:100%; max-height:48px; }
.sod-result li { margin-block:8px; }
.sod-actions { display:flex; flex-wrap:wrap; gap:12px; }
@media (max-width:480px) { .sod-fields,.sod-orders { grid-template-columns:minmax(0,1fr); } }
@supports not (grid-template-rows:subgrid) { .sod-fields { grid-template-columns:minmax(0,1fr); } .sod-field { grid-template-rows:auto auto auto; } }
@media print { [data-sod-editor] button, [data-sod-editor] select, [data-sod-editor] details { display:none; } .sod-result { break-inside:avoid; } }
[data-sod-editor] p { margin-block:10px; line-height:1.55; }
.sod-orders h3 { margin:0 0 8px; }
[data-sod-editor] [data-print-report] { display:none; }
@media print { [data-sod-editor]>:not([data-print-report]) { display:none!important; } [data-sod-editor] [data-print-report] { display:block; white-space:pre-wrap; font:12pt/1.5 sans-serif; color:#000; } }

.sod-orders dl { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px 12px; margin-bottom:0; }
.sod-orders dd { margin:0; text-align:right; overflow-wrap:anywhere; }
.sod-check { display:flex; align-items:center; gap:12px; }
[data-sod-editor] .sod-check input { width:22px; min-height:22px; flex:none; }
