:root{--ink:#10272b;--ink2:#1b3a3f;--paper:#f4f2ec;--card:#fff;--orange:#e87722;--yellow:#f0bd3c;--blue:#477b8a;--muted:#65767a;--line:#d7dedc;--good:#24845b;--bad:#bb4a3a;--shadow:0 16px 42px rgba(16,39,43,.11)}*{box-sizing:border-box}html{font-family:Inter,"Segoe UI",Arial,sans-serif;background:var(--paper);color:var(--ink)}body{margin:0;min-width:320px}.topbar{height:68px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-size:22px;font-weight:800}.brand b{font-size:11px;background:var(--orange);padding:4px 6px;border-radius:4px;vertical-align:middle}.brand-mark{font-size:34px;color:var(--orange);line-height:1}.top-actions{display:flex;gap:8px}.topbar button,.topbar select{height:40px;border-radius:8px;border:1px solid #496166;padding:0 14px;font:inherit;font-weight:700}.topbar select,.ghost{background:#17353a;color:#fff}.primary{background:var(--orange);color:#fff;border-color:var(--orange)!important}.app-shell{display:grid;grid-template-columns:minmax(340px,440px) 1fr;max-width:1700px;margin:auto;min-height:calc(100vh - 110px)}.panel{background:#fff;border-inline-end:1px solid var(--line)}.controls{padding:26px 24px 36px}.panel-head,.viewer-toolbar,.card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.eyebrow{font-size:11px;letter-spacing:.13em;font-weight:800;color:var(--orange)}h1{font-size:26px;margin:6px 0 0}h2{font-size:17px;margin:0}.status{background:#dff4e9;color:var(--good);font-size:11px;padding:6px 8px;border-radius:20px;font-weight:800}.notice{margin:18px 0;background:#fff6e7;border-inline-start:4px solid var(--yellow);padding:12px 14px;font-size:13px;line-height:1.55;color:#644a1e}section section{border-top:1px solid var(--line);padding-top:20px;margin-top:22px}.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;background:#edf1ef;padding:4px;border-radius:10px;margin:14px 0}.segmented button,.view-tabs button{border:0;background:transparent;padding:9px 5px;border-radius:7px;color:var(--muted);font-weight:700;cursor:pointer}.segmented button.active,.view-tabs button.active{background:#fff;color:var(--ink);box-shadow:0 2px 8px #cad3d0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}label{display:grid;gap:7px;font-size:13px;color:#40575b;font-weight:650}input,select{width:100%;height:42px;border:1px solid #bdc9c6;border-radius:8px;padding:0 10px;background:#fff;color:var(--ink);font-size:15px}.unit{position:relative}.unit input{padding-inline-end:54px}.unit small{position:absolute;inset-inline-end:10px;top:13px;color:#78898c;font-size:12px}.calculate{width:100%;height:52px;margin-top:24px;border:0;border-radius:10px;background:var(--orange);color:#fff;font-size:16px;font-weight:800;box-shadow:0 8px 20px rgba(232,119,34,.25);cursor:pointer}.workspace{padding:26px;background:linear-gradient(135deg,#eef1ed 0%,#f7f5ef 100%)}.viewer-card,.result-card,.metrics article{background:var(--card);border:1px solid #dfe5e2;border-radius:14px;box-shadow:var(--shadow)}.viewer-card{overflow:hidden}.viewer-toolbar{padding:18px 20px;border-bottom:1px solid var(--line);align-items:center}.viewer-toolbar h2{font-size:20px;margin-top:4px}.view-tabs{display:flex;background:#edf1ef;padding:4px;border-radius:9px}.view-tabs button{min-width:66px}canvas{display:block;width:100%;height:clamp(320px,43vw,560px);background:linear-gradient(#f9faf7,#e8eeeb)}.legend{display:flex;gap:22px;padding:12px 20px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.legend span{display:flex;align-items:center;gap:7px}.legend i{width:18px;height:5px;border-radius:3px}.orange{background:var(--orange)}.yellow{background:var(--yellow)}.blue{background:var(--blue)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}.metrics article{padding:16px 18px;box-shadow:none}.metrics span{display:block;font-size:12px;color:var(--muted);margin-bottom:8px}.metrics strong{font-size:27px}.metrics small{margin-inline-start:5px;color:var(--muted)}.metrics .accent{background:var(--ink);color:#fff}.metrics .accent span,.metrics .accent small{color:#b9c9ca}.results-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.result-card{padding:18px;box-shadow:none}.result-card.full{grid-column:1/-1}.card-title{align-items:center;margin-bottom:12px}.badge{font-size:11px;padding:5px 9px;border-radius:15px;background:#e7eeec;color:var(--muted);font-weight:800}.badge.good{background:#def4e8;color:var(--good)}.badge.bad{background:#fae2dd;color:var(--bad)}.badge.warning{background:#fff0ce;color:#8c6310}.check{display:grid;grid-template-columns:1fr auto;gap:4px;padding:11px 0;border-bottom:1px solid #edf0ef}.check:last-child{border-bottom:0}.check span{font-size:13px}.check small{grid-column:1/-1;color:var(--muted)}.check b.good{color:var(--good)}.check b.bad{color:var(--bad)}table{width:100%;border-collapse:collapse;font-size:13px}td{padding:10px 4px;border-bottom:1px solid #edf0ef}td:last-child{text-align:end;font-weight:800}.text-btn{border:0;background:none;color:var(--orange);font-weight:800;cursor:pointer}.warnings{margin:0;padding-inline-start:22px;color:#56696c;font-size:13px;line-height:1.7}footer{min-height:42px;background:var(--ink);color:#afc0c2;display:flex;justify-content:space-between;align-items:center;padding:8px 24px;font-size:11px}@media(max-width:1000px){.app-shell{grid-template-columns:1fr}.panel{border:0}.workspace{padding:16px}.metrics{grid-template-columns:1fr 1fr}}@media(max-width:620px){.topbar{padding:0 12px}.brand{font-size:18px}.top-actions .ghost{display:none}.top-actions button,.top-actions select{padding:0 8px}.controls{padding:20px 16px}.form-grid{grid-template-columns:1fr}.workspace{padding:10px}.viewer-toolbar{display:grid}.metrics,.results-grid{grid-template-columns:1fr}.result-card.full{grid-column:auto}.legend{flex-wrap:wrap}footer{display:grid;gap:6px}.metrics strong{font-size:24px}}@media print{.topbar,.controls,.view-tabs,.text-btn,.calculate,footer{display:none!important}.app-shell{display:block}.workspace{padding:0;background:#fff}.viewer-card,.result-card,.metrics article{box-shadow:none;break-inside:avoid}canvas{height:430px}.results-grid{grid-template-columns:1fr 1fr}}
