.tool-layout{grid-template-columns:minmax(0,1fr);gap:2rem;margin-top:1.5rem;margin-bottom:3rem;display:grid}@media (width>=992px){.tool-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start}}.form-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:1.5rem;padding:1.5rem}.form-section-title{font-family:var(--font-serif);color:var(--color-ink);border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:.5rem;font-size:1.25rem;display:flex}.form-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;display:grid}.form-group{flex-direction:column;gap:.35rem;min-width:0;display:flex}.form-group label{color:var(--color-text);justify-content:space-between;align-items:center;font-size:.9rem;font-weight:600;display:flex}.form-group .help-text{color:var(--color-text-muted);font-size:.8rem;line-height:1.35}.input-with-unit{border:1px solid var(--color-border-dark);border-radius:var(--radius-sm);background:var(--color-surface);align-items:stretch;min-width:0;transition:border-color .15s,box-shadow .15s;display:flex}.input-with-unit:focus-within{border-color:var(--color-ink);box-shadow:0 0 0 3px #214d6326}.input-with-unit input,.input-with-unit select{color:var(--color-text);background:0 0;border:none;flex:1;width:100%;min-width:0;min-height:44px;padding:.65rem .75rem;font-size:1rem}.input-with-unit input:focus,.input-with-unit select:focus{outline:none}.input-unit-badge{background:var(--color-surface-subtle);border-left:1px solid var(--color-border);color:var(--color-text-muted);user-select:none;align-items:center;padding:0 .75rem;font-size:.85rem;font-weight:500;display:flex}.input-unit-select{background:var(--color-surface-subtle);border:none;border-left:1px solid var(--color-border);color:var(--color-text);cursor:pointer;padding:0 .5rem;font-size:.85rem;font-weight:500;flex:none!important;width:auto!important}input[aria-invalid=true],.input-with-unit[data-invalid=true]{background-color:var(--color-error-bg);border-color:var(--color-error-text)!important}.field-error-message{color:var(--color-error-text);margin-top:.2rem;font-size:.8rem;font-weight:500}.window-card{background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:1.25rem;padding:1.25rem;position:relative}.window-card-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.window-card-title{font-family:var(--font-serif);color:var(--color-ink);font-size:1.1rem;font-weight:700}.window-card-actions{gap:.5rem;display:flex}.btn-icon{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;background:0 0;align-items:center;gap:.25rem;padding:.35rem .5rem;font-size:.8rem;display:inline-flex}.btn-icon:hover{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-dark)}.btn-icon-danger:hover{background:var(--color-error-bg);color:var(--color-error-text);border-color:var(--color-error-border)}.presets-bar{background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.75rem 1rem;display:flex}.presets-label{color:var(--color-text-muted);font-size:.85rem;font-weight:600}.btn-preset{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;color:var(--color-ink);padding:.3rem .65rem;font-size:.825rem;font-weight:500}.btn-preset:hover{background:var(--color-ink-light);border-color:var(--color-ink)}.results-panel{position:sticky;top:1.5rem}.tool-layout>*,.window-card,.form-section,.results-panel{min-width:0}@media (width<=600px){.form-grid{grid-template-columns:minmax(0,1fr)}.form-section-title,.window-card-header{flex-wrap:wrap;gap:.75rem}.schematic-card>div:first-child>div:last-child{flex-wrap:wrap;gap:.5rem!important}.results-panel{position:static}}.results-dirty-alert{background:var(--color-warning-bg);border:1px solid var(--color-warning-border);color:var(--color-warning-text);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.hero-metric-card{background:var(--color-ink);color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:1.5rem;padding:1.5rem}.hero-metric-title{text-transform:uppercase;letter-spacing:.05em;color:#d4e4ec;margin-bottom:.35rem;font-size:.85rem}.hero-metric-value{font-size:clamp(2rem,5vw,2.75rem);font-family:var(--font-serif);color:#fff;font-weight:700;line-height:1.1}.hero-metric-sub{color:#e2ecf1;margin-top:.5rem;font-size:.95rem}.metrics-grid{border-top:1px solid #fff3;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1rem;padding-top:1rem;display:grid}.metric-item{flex-direction:column;display:flex}.metric-item-label{color:#c0d6e2;font-size:.75rem}.metric-item-val{color:#fff;font-size:1.1rem;font-weight:600}.cost-card{background:var(--color-terracotta-light);border:1px solid var(--color-terracotta);border-radius:var(--radius-md);margin-bottom:1.5rem;padding:1.25rem}.cost-card-title{color:var(--color-terracotta);text-transform:uppercase;margin-bottom:.25rem;font-size:.85rem;font-weight:600}.cost-card-amount{font-size:1.75rem;font-family:var(--font-serif);color:var(--color-terracotta);font-weight:700}.schematic-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-top:2rem;padding:1.5rem}.schematic-svg-container{border:1px dashed var(--color-border-dark);border-radius:var(--radius-sm);background:#fcfbf8;justify-content:center;width:100%;padding:1rem;display:flex;overflow-x:auto}.schematic-svg-container svg{max-width:100%;height:auto}.comparator-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin:1.5rem 0;display:grid}.comparison-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.5rem;position:relative}.comparison-card.best-cost{border-color:var(--color-terracotta);box-shadow:0 0 0 2px var(--color-terracotta)}.comparison-badge{background:var(--color-terracotta);color:#fff;text-transform:uppercase;border-radius:var(--radius-full);padding:.2rem .6rem;font-size:.75rem;font-weight:700;position:absolute;top:-12px;right:1rem}
