.quote-layout { display:grid; grid-template-columns:minmax(300px, 1fr) minmax(360px, 1.4fr); gap:1.5rem; align-items:start; }
.quote-layout fieldset { border:0; padding:0; margin:0; min-width:0; }
.quote-layout .form-group { margin-bottom:1rem; }
.quote-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.quote-grid[hidden] { display:none; }
.quote-layout details { margin:1rem 0; }
.quote-layout summary { cursor:pointer; margin-bottom:1rem; }
.quote-prices { margin:1.5rem 0; }
.quote-prices > div { padding:1rem; border:1px solid var(--border); border-radius:var(--radius); }
.quote-prices span { color:var(--muted-foreground); font-size:.85rem; }
.quote-prices strong { display:block; font-size:1.5rem; margin-top:.5rem; }
.quote-table { overflow-x:auto; }
.quote-table table { width:100%; border-collapse:collapse; }
.quote-table th, .quote-table td { padding:.75rem; text-align:right; border-bottom:1px solid var(--border); white-space:nowrap; }
.quote-table th:first-child, .quote-table td:first-child { text-align:left; }
#layoutPreview { max-width:100%; margin-top:1rem; background:white; border-radius:var(--radius); }
#quoteStatus { margin-top:1rem; }
#quoteStatus.error { color:var(--destructive); }
.cutting-settings { padding:1rem; border:1px solid var(--border); border-radius:var(--radius); }
.cutting-reference { margin:1rem 0; font-size:.85rem; }
.cutting-reference > div { display:flex; justify-content:space-between; gap:1rem; padding:.4rem 0; border-bottom:1px solid var(--border); }
.cutting-reference dt { color:var(--muted-foreground); }
.cutting-reference dd { margin:0; text-align:right; }
@media(max-width:850px) { .quote-layout { grid-template-columns:1fr; } }
@media(max-width:420px) { .quote-grid { grid-template-columns:1fr; } }
