:root{color-scheme:light;--bg: #f7f4ee;--surface: #fffdfa;--surface-strong: #f0eee8;--ink: #1d2523;--muted: #68716d;--line: #d9d5ca;--green: #274c43;--green-soft: #dce8e2;--clay: #d9824b;--blue: #426a8c;--red: #9b3b37;--shadow: 0 16px 40px rgba(29, 37, 35, .08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg);color:var(--ink)}button,input,select{font:inherit}button,.file-button,.tab{min-height:38px;border:1px solid var(--line);border-radius:8px;padding:0 14px;background:var(--surface);color:var(--ink)}button{cursor:pointer}button:hover,.file-button:hover,.tab:hover{border-color:var(--green)}.primary{border-color:var(--green);background:var(--green);color:#fff}.secondary{background:var(--green-soft);border-color:#b9cfc6;color:var(--green)}.shell{min-height:100vh;display:grid;grid-template-columns:220px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;padding:18px 14px;border-right:1px solid var(--line);background:#ebe7dd}.brand{display:flex;gap:10px;align-items:center;margin-bottom:26px}.brand strong,.brand span{display:block}.brand span,.topbar p,.badge{color:var(--muted);font-size:.82rem}.tabs{display:grid;gap:8px}.tab{display:inline-flex;align-items:center;width:100%;text-align:left;text-decoration:none;background:transparent}.tab.is-active{background:var(--surface);border-color:var(--green);color:var(--green);box-shadow:var(--shadow)}.workspace{min-width:0;padding:22px}.topbar{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:18px}h1,h2,h3,p{margin:0}h1{font-size:1.45rem;line-height:1.2}h2{font-size:1rem}h3{margin-top:18px;margin-bottom:8px;font-size:.9rem}.top-actions,.panel-heading,.backup-grid{display:flex;gap:10px;align-items:center}.panel-heading{justify-content:space-between;margin-bottom:14px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.metric{min-height:86px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.metric span{display:block;color:var(--muted);font-size:.8rem}.metric strong{display:block;margin-top:8px;font-size:1.45rem;line-height:1.1}.split{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(360px,1.15fr);gap:16px;align-items:start}.panel{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);padding:16px}.full-width{margin-top:16px}.form-grid,.line-grid,.asset-form,.stacked-form,.production-list{display:grid;gap:12px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.line-grid,.asset-form{grid-template-columns:repeat(5,minmax(0,1fr))}.span-two{grid-column:1/-1}label{display:grid;gap:6px;color:var(--muted);font-size:.82rem}input,select{min-height:38px;width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:0 10px}input:focus,select:focus,button:focus-visible,.file-button:focus-within,.tab:focus-visible{outline:3px solid rgba(66,106,140,.25);outline-offset:1px}.badge{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface-strong);white-space:nowrap}.result-empty{display:grid;min-height:260px;place-items:center;color:var(--muted);border:1px dashed var(--line);border-radius:8px}.prep-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.prep-tile{padding:12px;border-radius:8px;background:var(--surface-strong)}.prep-tile span{display:block;color:var(--muted);font-size:.78rem}.material-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.material-list li,.production-row{display:grid;gap:10px;align-items:center}.material-list li{grid-template-columns:minmax(0,1fr) auto;border-bottom:1px solid var(--line);padding:7px 0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{color:var(--muted);font-size:.78rem;font-weight:650;text-transform:uppercase}.production-row{grid-template-columns:minmax(160px,1.2fr) repeat(5,auto);padding:12px;border:1px solid var(--line);border-radius:8px;background:#fbfaf6}.production-row strong,.production-row span{display:block}.production-row span{color:var(--muted);font-size:.82rem}.file-button{position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.file-button input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.backup-preview{min-height:260px;max-height:520px;overflow:auto;padding:14px;border-radius:8px;background:#1d2523;color:#f7f4ee;font-size:.82rem}.warning{color:var(--red)}recipe-vector-workbench,rms-vector-workbench{display:block}.calculator-shell{min-height:100vh;padding:clamp(18px,4vw,52px)}.calculator-header,.calculator-workspace{width:min(1480px,100%);margin-inline:auto}.calculator-header{display:grid;grid-template-columns:minmax(190px,.35fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:start;margin-bottom:28px}.calculator-brand{display:inline-flex;align-items:center;gap:12px;width:fit-content;color:var(--ink);text-decoration:none}.calculator-brand span{display:grid;gap:2px}.calculator-brand strong{color:var(--green);font-size:1rem}.calculator-brand small,.calculator-heading>p{color:var(--muted)}.calculator-heading{display:grid;gap:8px;max-width:760px}.calculator-heading h1,.calculator-heading p{margin:0}.calculator-heading h1{color:var(--green);font-size:clamp(1.65rem,4vw,2.5rem);line-height:1.1}.calculator-heading .calculator-eyebrow{color:var(--clay);font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.calculator-heading .calculator-status{margin-top:4px;font-size:.8rem}.calculator-workspace{padding:clamp(14px,2.5vw,28px);border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:var(--shadow)}@media(max-width:980px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line)}.tabs,.metric-grid,.split,.form-grid,.line-grid,.asset-form,.prep-grid{grid-template-columns:1fr}.tabs{display:flex;overflow-x:auto}.tab{min-width:110px;text-align:center;justify-content:center}.topbar,.production-row{align-items:stretch;grid-template-columns:1fr}.topbar{flex-direction:column}.calculator-header{grid-template-columns:1fr}}
