:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#e8ebef;background:#0c1118;font-synthesis:none;line-height:1.45}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:0}a{color:#76edca;text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin-top:0}.site-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px max(24px,calc((100vw - 1260px)/2));background:#111820;border-bottom:1px solid #25313b}.brand{display:flex;gap:12px;align-items:center;letter-spacing:.13em;font-size:13px}.brand-mark{background:#1e5048;border:1px solid #3b947e;border-radius:11px;padding:8px;color:#98f3d6;font-size:20px}.brand small{display:block;font-size:10px;color:#93a5ad;margin-top:2px}.site-header nav{display:flex;gap:24px}.site-header nav a{color:#bac5cf;font-size:13px}.header-status{font-size:11px;letter-spacing:.1em;color:#91b1a5;white-space:nowrap}.status-dot{display:inline-block;background:#62e6b7;width:7px;height:7px;border-radius:50%;margin-right:6px}.shell{max-width:1260px;margin:0 auto;padding:34px 24px 72px}.hero{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:30px}.eyebrow,.section-caption{font-size:11px;color:#77d9bd;font-weight:700;letter-spacing:.14em}.hero h1{font-size:clamp(38px,5vw,72px);line-height:1.05;letter-spacing:-.05em;margin:12px 0 15px;font-weight:750}.hero h1 em{font-style:normal;color:#6cf0bd}.lead{max-width:660px;color:#aab8c5;font-size:15px;margin:0}.hero-actions{display:flex;gap:8px;flex-wrap:wrap;max-width:380px;justify-content:flex-end}button{padding:10px 14px;border-radius:8px;font-weight:650;font-size:13px;transition:filter .15s}button:hover{filter:brightness(1.12)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #70eac0;outline-offset:2px}.primary{background:#6ae9bc;color:#092018}.secondary{color:#d7e0e5;background:#26323c;border:1px solid #3d4b56}.quiet{color:#a5b5c0;background:transparent}.disclaimer{background:#1b2c2e;border:1px solid #385f57;border-radius:10px;color:#c0d9d1;padding:13px 17px;font-size:13px;margin:0 0 18px}.panel{background:#141c25;border:1px solid #2b3a46;border-radius:16px;padding:22px;min-width:0}.project-panel{margin-bottom:18px}.project-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;margin-top:14px}.panel h2{font-size:23px;letter-spacing:-.025em;margin:6px 0 5px}.panel h3{font-size:16px;margin:0 0 8px}.panel-heading{display:flex;justify-content:space-between;gap:10px;align-items:start}.panel-heading p{color:#9ca9b6;font-size:13px}.count{background:#253c39;border-radius:12px;padding:8px 14px;color:#86eecb;font-size:22px;font-weight:700}.hint{color:#99a8b5;font-size:12px;line-height:1.55;margin:12px 0 0}.results{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:18px}.metric{background:#1a2530;border:1px solid #2c3d4b;border-radius:14px;padding:19px}.metric span,.metric small{display:block;color:#a8b8c3;font-size:10px;letter-spacing:.08em}.metric strong{display:block;font-size:clamp(24px,2.4vw,38px);letter-spacing:-.04em;margin:5px 0}.metric small{font-size:11px;letter-spacing:0}.metric.emphasized{background:#14342d;border-color:#2c886e}.metric.emphasized strong{color:#80eec7}.cols{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;margin-bottom:18px}.cols.lower{grid-template-columns:1fr 1fr}label{font-size:12px;color:#b4c2cc;font-weight:600;display:flex;flex-direction:column;gap:6px}.unit{font-weight:400;color:#778995}input,select{background:#0f171e;border:1px solid #3c4b57;color:#e7edf2;border-radius:8px;padding:10px 11px;width:100%;min-width:0}input::placeholder{color:#687d89}.inline-form{display:flex;gap:8px}.inline-form select{flex:1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:18px}.form-grid .wide{grid-column:1/-1}.form-actions{grid-column:1/-1}.unit-list{margin-top:12px}.unit-row{display:grid;grid-template-columns:minmax(0,1fr) 84px 52px 35px;gap:9px;align-items:center;background:#101922;border:1px solid #283744;padding:11px;border-radius:9px;margin-bottom:7px}.unit-main{min-width:0}.unit-main strong{display:block;font-size:13px}.unit-main small{display:block;color:#8698a4;font-size:11px;overflow-wrap:anywhere}.unit-row select{padding:8px}.remove{padding:9px 0;background:#342528;color:#ecacab}.disclosure{margin-top:16px;border-top:1px solid #2b3944;padding-top:13px}.disclosure summary{color:#83e4c2;font-size:13px;font-weight:600;cursor:pointer}.verdict{margin-top:18px;padding:12px 15px;background:#203e34;border:1px solid #356a54;color:#b9e5ce;border-radius:9px;font-size:13px}.verdict.warn{background:#412e26;border-color:#895343;color:#f4c9ad}.subsection{margin-top:24px}.phase-row{margin:10px 0}.phase-title{display:flex;justify-content:space-between;color:#b0bec7;font-size:12px;margin-bottom:5px}.bar{height:9px;background:#29333c;border-radius:30px;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,#4dbf9d,#96f1cd);border-radius:30px}.bar-fill.over{background:#ef946f}.source-row{border-bottom:1px solid #2a3843;padding:10px 0}.source-row strong{display:block;font-size:12px}.source-row small{display:block;color:#9dacb7;margin-top:4px;line-height:1.5}.source-row a{font-size:11px}.tag{display:inline-block;margin-left:5px;font-size:10px;background:#35404c;border-radius:4px;padding:2px 5px;color:#c4d1da}.bottom-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:26px}.bottom-actions span{color:#8edec3;font-size:13px}footer{border-top:1px solid #25313b;color:#8595a3;text-align:center;padding:30px 15px;font-size:12px}@media(max-width:1000px){.cols,.cols.lower{grid-template-columns:1fr}.hero{align-items:start}.results{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.site-header nav,.header-status{display:none}.hero{flex-direction:column}.hero-actions{justify-content:flex-start}.project-grid{grid-template-columns:1fr}.results{grid-template-columns:1fr 1fr}.metric{padding:13px}.metric strong{font-size:25px}.shell{padding:22px 13px}.panel{padding:16px}.form-grid{grid-template-columns:1fr}.inline-form{flex-wrap:wrap}.inline-form button{width:100%}}

/* V1.1: per-cabinet editing and PDF export */
.edit-unit{padding:8px 5px;font-size:11px;white-space:nowrap}.bottom-actions{flex-wrap:wrap;justify-content:flex-start}.bottom-actions span{margin-left:auto}button:disabled{opacity:.55;cursor:wait}@media(max-width:550px){.unit-row{grid-template-columns:minmax(0,1fr) 72px 45px 30px;gap:5px;padding:8px}.unit-row select{padding:6px}.edit-unit{padding:6px 3px}}
