@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--navy:#10243c;--navy2:#19334e;--ink:#1a2c40;--muted:#65758a;--line:#dce4ec;--bg:#f3f6fa;--teal:#007f73;--mint:#50e2c5;--blue:#1765c5;--white:#fff;--warn:#9d620a;--red:#b63e46;font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{outline-offset:3px}button{cursor:pointer}a{color:var(--blue)}button{border:1px solid var(--line);background:white;border-radius:8px;padding:10px 15px;color:var(--ink);font-weight:600;font-size:.875rem;display:inline-flex;align-items:center;justify-content:center;gap:8px}button:hover{border-color:#92a5ba;background:#f6f9fc}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--teal);border-color:var(--teal);color:white}button.primary:hover{background:#00675e}button.dark{background:var(--navy);border-color:var(--navy);color:white}button.quiet{border-color:transparent;background:transparent}button.danger{color:var(--red)}button.small{padding:6px 10px;font-size:.8125rem}svg.icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.sidebar{width:246px;position:fixed;inset:0 auto 0 0;background:var(--navy);color:#becbd9;display:flex;flex-direction:column;z-index:30;padding:26px 16px 16px;overflow:auto}.brand{display:flex;align-items:center;gap:12px;margin:0 10px 30px;color:white}.brandmark{font:bold 25px Manrope,sans-serif;background:var(--mint);color:var(--navy);width:39px;height:42px;display:grid;place-items:center;border-radius:9px 9px 9px 1px}.brand strong{font:800 20px Manrope,sans-serif;letter-spacing:1.5px;display:block}.brand small{font-size:11px;letter-spacing:3.4px;color:#a8c1d1;display:block;margin-top:3px}.nav-label{font-size:.69rem;text-transform:uppercase;letter-spacing:1.8px;font-weight:700;margin:22px 14px 10px;color:#92a9be}.nav-item{width:100%;border:0;background:transparent;color:#bfcddd;justify-content:flex-start;padding:11px 13px;font-size:.86rem;font-weight:500;text-align:left;border-radius:7px;margin-bottom:3px;gap:11px}.nav-item:hover{background:#1c3652;color:white;border:0}.nav-item.active{background:#28455f;color:white;box-shadow:inset 3px 0 var(--mint)}.nav-item.active svg{color:var(--mint)}.side-bottom{margin-top:auto;border-top:1px solid #294157;padding:18px 10px 0;font-size:.75rem;line-height:1.6;color:#94abc0}.side-bottom strong{color:#dbe7f1;font-weight:500}.shell{margin-left:246px}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(255,255,255,.95);padding:0 34px;gap:20px}.breadcrumb{font-size:.875rem;color:var(--muted);display:flex;align-items:center;gap:12px}.breadcrumb b{font-weight:600;color:var(--ink)}.top-actions{display:flex;align-items:center;gap:16px}.badge{display:inline-flex;align-items:center;gap:6px;border:1px solid #cce7df;border-radius:5px;background:#eff9f5;color:#167661;font-weight:600;font-size:.75rem;padding:5px 8px}.badge.preview{background:#f8f4e9;border-color:#eee2bf;color:#866221}.avatar{width:34px;height:34px;border-radius:50%;background:#e9eff5;color:#36536d;display:grid;place-items:center;font-weight:700;font-size:.75rem}.content{padding:28px 34px 45px;max-width:1700px;margin:auto}.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.eyebrow{color:var(--teal);font-size:.71rem;font-weight:700;letter-spacing:1.7px;text-transform:uppercase;margin-bottom:8px}h1{font:750 28px/1.25 Manrope,system-ui,sans-serif;letter-spacing:-.7px;margin:0 0 8px}h2{font:750 18px Manrope,sans-serif;letter-spacing:-.3px;margin:0 0 16px}h3{font:700 15px Manrope,sans-serif;margin:0 0 12px}p{line-height:1.6;margin:0 0 16px}.subtle{color:var(--muted);font-size:.875rem;margin:0;line-height:1.6}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.project-strip{background:#fff;border:1px solid var(--line);border-radius:10px;padding:13px 18px;display:flex;gap:18px;align-items:center;margin-bottom:20px}.project-strip>svg{color:var(--teal)}.project-strip .fields{display:grid;grid-template-columns:repeat(3,1fr);width:100%;gap:16px}.project-strip label{display:block;font-size:.7rem;color:var(--muted);margin-bottom:4px}.project-strip input{border:0;padding:0;background:transparent;height:auto;box-shadow:none;font-size:.875rem;font-weight:600;width:100%;border-radius:0}.workspace{display:grid;grid-template-columns:minmax(310px,390px) minmax(0,1fr);gap:22px;align-items:start}.panel{background:white;border:1px solid var(--line);border-radius:11px;overflow:hidden}.panel-head{padding:17px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-head h2{margin:0;font-size:.95rem}.panel-body{padding:22px}.input-tabs,.result-tabs{display:flex;gap:0;border-bottom:1px solid var(--line);padding:0 13px;overflow:auto;background:white}.input-tabs button,.result-tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;padding:13px 10px;white-space:nowrap;background:none;color:var(--muted);font-size:.81rem;font-weight:500}.input-tabs button.active,.result-tabs button.active{color:var(--teal);border-bottom-color:var(--teal);font-weight:700}.form-scroll{max-height:calc(100vh - 330px);min-height:340px;overflow:auto;scrollbar-width:thin}.form-section{padding:0 19px;border-bottom:1px solid #e7edf2}.form-section:last-child{border-bottom:0}.form-section summary{font-size:.825rem;font-weight:700;padding:16px 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}.form-section summary:after{content:'+';font-size:18px;font-weight:400;color:#70879c}.form-section[open] summary:after{content:'−'}.form-section .section-content{padding:0 0 17px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{min-width:0}.field.full{grid-column:1/-1}.field label{display:block;font-size:.78rem;font-weight:500;color:#4c5f74;margin-bottom:6px}.control{position:relative}.control .unit{position:absolute;right:11px;top:12px;font-size:.73rem;color:#7a8b9d;pointer-events:none}.control:has(.unit) input{padding-right:55px}input,select,textarea{border:1px solid #d8e1ea;background:#fff;border-radius:6px;color:var(--ink);width:100%;padding:10px 11px;min-height:41px;font-size:.875rem;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--teal);outline:2px solid #b8e1d9;outline-offset:1px}input:invalid:not(:placeholder-shown){border-color:#d78181}input[type=checkbox]{width:16px;min-height:16px;accent-color:var(--teal)}input[type=range]{accent-color:var(--teal);padding:0}input[type=color]{padding:2px}.check{display:flex;gap:9px;align-items:center;font-size:.83rem;color:#456079;padding:5px 0}.check label{margin:0}.hint{font-size:.75rem;color:#76869a;line-height:1.5;margin:9px 0 0}.form-footer{border-top:1px solid var(--line);padding:15px 18px;display:flex;align-items:center;gap:12px;background:#fcfdfe}.form-footer .primary{flex:1;padding:12px}.result-column{min-width:0}.result-topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.result-topline span{font-size:.72rem;color:var(--muted)}.result-hero{background:var(--navy);color:white;border-radius:10px;padding:25px 26px 23px;position:relative;overflow:hidden}.result-hero .hero-label{font-size:.73rem;letter-spacing:1.5px;text-transform:uppercase;color:#b9d0df}.main-metric{display:flex;align-items:baseline;gap:10px;margin:14px 0 20px}.main-metric strong{font:650 48px/1 Manrope,sans-serif;letter-spacing:-2px}.main-metric span{color:#aed0de;font-size:18px}.hero-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;border-top:1px solid #365066;padding-top:18px}.hero-metrics small{display:block;color:#adc4d4;font-size:.72rem;margin-bottom:5px}.hero-metrics b{font:600 18px Manrope,sans-serif}.hero-metrics em{font-style:normal;color:#aec5d5;font-size:.72rem;margin-left:5px}.result-content{padding:20px}.result-card{background:white;border:1px solid var(--line);border-radius:10px;margin-top:18px;padding:20px}.result-card h3{display:flex;align-items:center;gap:8px}.result-card h3 svg{color:var(--teal)}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.metric{border:1px solid #e3eaf0;border-radius:8px;padding:14px;background:#fafcfe}.metric small{font-size:.73rem;color:var(--muted);display:block;margin-bottom:7px}.metric b{font:700 19px Manrope,sans-serif}.metric em{font-size:.72rem;color:var(--muted);font-style:normal;display:block;margin-top:4px}.bars{display:grid;gap:14px}.bar-top{display:flex;justify-content:space-between;font-size:.78rem;margin-bottom:7px;gap:12px}.bar-top span{color:#617387}.bar-track{height:6px;background:#edf2f6;border-radius:4px;overflow:hidden}.bar-fill{height:100%;border-radius:4px;background:var(--teal)}.bar:nth-child(2n) .bar-fill{background:#4982be}.bar:nth-child(3n) .bar-fill{background:#86a8c3}.result-note{border-left:3px solid #e4bb61;padding:11px 13px;background:#fffbf2;font-size:.78rem;line-height:1.6;color:#7d663f;margin-top:18px;border-radius:0 6px 6px 0}.result-note.info{border-left-color:#56b6ae;background:#eff9f7;color:#386d68}.result-note.error{border-left-color:var(--red);background:#fff3f3;color:var(--red)}.equation{background:#f0f5f8;padding:14px;border-radius:7px;font-family:ui-monospace,monospace;font-size:.81rem;line-height:1.8;white-space:pre-wrap}.empty{padding:55px 24px;text-align:center;color:var(--muted)}.empty svg{width:40px;height:40px;margin-bottom:15px;color:#80a99f}.empty h2{color:var(--ink)}.empty p{font-size:.85rem;max-width:420px;margin:0 auto 20px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.83rem}th{text-align:left;font-size:.7rem;text-transform:uppercase;letter-spacing:.7px;color:#6d8195;background:#f6f9fb;padding:13px 15px;white-space:nowrap}td{padding:13px 15px;border-bottom:1px solid #e6edf2;vertical-align:top}tr:last-child td{border-bottom:0}td.num{text-align:right;font-variant-numeric:tabular-nums}td small{color:var(--muted)}.equipment{display:flex;gap:17px;align-items:center}.equipment-icon{background:#edf6f4;color:var(--teal);width:66px;height:66px;display:grid;place-items:center;border-radius:10px}.equipment-icon svg{width:32px;height:32px}.equipment h3{font-size:18px;margin:0 0 4px}.equipment p{font-size:.8rem;margin:0;color:var(--muted)}.equipment-meta{display:flex;gap:22px;margin-top:18px;border-top:1px solid var(--line);padding-top:15px;flex-wrap:wrap}.equipment-meta small{display:block;font-size:.7rem;color:var(--muted);margin-bottom:5px}.equipment-meta strong{font-size:.875rem}.footer{display:flex;justify-content:space-between;gap:15px;font-size:.7rem;color:#7f91a3;margin-top:20px}.footer .calc-state{color:var(--teal)}.toolbar{display:flex;gap:12px;margin-bottom:20px;align-items:center;flex-wrap:wrap}.toolbar input{max-width:340px}.toolbar select{width:auto;max-width:240px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.module-card{border:1px solid var(--line);background:white;border-radius:10px;padding:24px;cursor:pointer;text-align:left;display:block;transition:transform .2s,border-color .2s}.module-card:hover{transform:translateY(-3px);border-color:#8fb9af}.module-card svg{width:27px;height:27px;color:var(--teal);margin-bottom:20px}.module-card h2{margin-bottom:8px}.module-card p{color:var(--muted);font-weight:400;font-size:.85rem;margin:0;line-height:1.6}.module-card small{display:block;color:var(--teal);margin-top:22px;font-size:.75rem}.overview-band{display:flex;justify-content:space-between;gap:20px;margin-bottom:26px;background:var(--navy);color:white;border-radius:12px;padding:28px 30px}.overview-band h2{font-size:23px;margin-bottom:9px}.overview-band p{color:#b9ccda;font-size:.875rem;margin:0}.overview-band strong{font:600 36px Manrope,sans-serif}.overview-band small{display:block;font-size:.72rem;color:#b9ccda}.overview-stat{text-align:center;min-width:100px;align-self:center}.mobile-menu{display:none}.split-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.section-title{display:flex;justify-content:space-between;align-items:center;margin:25px 0 16px}.section-title h2{margin:0}dialog{border:1px solid var(--line);border-radius:13px;padding:0;width:600px;max-width:calc(100% - 30px);max-height:90vh;box-shadow:0 25px 100px #10243c45;color:var(--ink)}dialog::backdrop{background:#0a203a80;backdrop-filter:blur(3px)}.dialog-head{padding:20px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.dialog-head h2{margin:0}.dialog-body{padding:24px}.dialog-actions{padding:16px 24px;display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line)}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(100px);background:var(--navy);color:#fff;padding:13px 24px;border-radius:9px;z-index:100;box-shadow:0 4px 30px #0002;transition:transform .2s;font-size:.875rem;max-width:90vw}#toast.show{transform:translateX(-50%) translateY(0)}.skip{position:fixed;left:0;top:-100px;background:white;padding:12px;z-index:100}.skip:focus{top:0}.flow{display:flex;align-items:center;gap:5px;overflow:auto;padding:8px 0}.flow-stage{min-width:80px;flex:1;background:#eaf4f2;border:1px solid #c4ddd7;border-radius:6px;text-align:center;padding:13px 7px;font-size:.73rem;color:#236d63}.flow-stage b{display:block;margin-bottom:6px}.flow-sep{color:#8495a5}.chart{width:100%;height:auto;display:block}.chart text{font:12px 'DM Sans',sans-serif;fill:#6a8196}.canvas-wrap{overflow:auto;border:1px solid var(--line);border-radius:9px;background:white}.project-canvas{min-width:850px;height:500px;position:relative;background-image:radial-gradient(#cfdae5 1px,transparent 1px);background-size:20px 20px;touch-action:none}.project-node{position:absolute;width:180px;background:white;border:1px solid #b6cbc5;border-top:3px solid var(--teal);border-radius:7px;padding:12px;cursor:grab;box-shadow:0 4px 12px #16364c12;user-select:none;font-size:.82rem}.project-node b{display:block;margin:7px 0}.project-node small{color:var(--muted);display:block}.project-node .node-actions{display:flex;justify-content:flex-end;gap:5px}.project-node .node-actions button{font-size:11px;padding:3px 6px}.project-node.selected{outline:3px solid #84cbbd}.connections{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.connections path{fill:none;stroke:#68aaa0;stroke-width:2}.manual{max-width:900px}.manual p,.manual li{font-size:.875rem;line-height:1.8}.manual h2{margin-top:26px}.manual h3{margin-top:24px}.pill{display:inline-flex;padding:4px 8px;border-radius:4px;font-size:.69rem;background:#edf3f7;color:#47647e}.recess{background:#f6f9fb;padding:14px;border-radius:8px;margin-bottom:12px}.recess h3{font-size:.8rem}.chart-tools{display:flex;gap:8px;margin-bottom:15px}.schematic-3d{transform:perspective(900px) rotateX(14deg) rotateY(-16deg);transform-origin:center;min-height:180px;align-items:stretch;padding:30px 20px}.schematic-3d .flow-stage{box-shadow:7px 7px 0 #b8cbd3;min-width:70px;padding-top:40px}.status-stale{color:#9d620a!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#print-area{display:none}.privacy-label{font-size:.75rem;color:var(--muted)}.inline-stats{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;background:#f1f7f6;margin-bottom:12px;border-radius:6px;font-size:.76rem;color:#40746a}.theme-dark{--bg:#122233;--white:#172b40;--ink:#e1eaf3;--muted:#9eafc0;--line:#35495b}.theme-dark .panel,.theme-dark .result-card,.theme-dark .module-card,.theme-dark .project-strip,.theme-dark .topbar,.theme-dark .input-tabs,.theme-dark .result-tabs{background:#1a2e43}.theme-dark input,.theme-dark select,.theme-dark textarea,.theme-dark button:not(.primary):not(.nav-item):not(.dark){background:#20374e;color:#e1eaf3;border-color:#3e5369}.theme-dark .form-footer,.theme-dark .metric,.theme-dark .equation,.theme-dark th,.theme-dark .recess{background:#20374e}.theme-dark .field label{color:#a9bed0}.theme-dark .project-node{color:#1a2c40}
@media(min-width:1500px){.workspace{grid-template-columns:410px minmax(0,1fr)}.form-scroll{max-height:calc(100vh - 335px)}}@media(max-width:1200px){.sidebar{width:218px;padding-inline:10px}.shell{margin-left:218px}.content{padding:24px}.topbar{padding:0 24px}.workspace{grid-template-columns:330px minmax(0,1fr);gap:16px}.metric-grid{grid-template-columns:1fr 1fr}.page-head{align-items:flex-start}.page-head .actions{justify-content:flex-end}.main-metric strong{font-size:42px}.cards{grid-template-columns:1fr 1fr}.hero-metrics b{font-size:16px}}@media(max-width:950px){.sidebar{width:205px}.shell{margin-left:205px}.workspace{grid-template-columns:1fr}.form-scroll{max-height:none;min-height:0}.result-column{margin-top:5px}.page-head{flex-direction:column}.page-head .actions{justify-content:flex-start}.topbar{height:64px}.top-actions .badge{display:none}.project-strip .fields{grid-template-columns:1fr}.project-strip{align-items:flex-start}.project-strip input{border-bottom:1px solid #e6edf2;padding-bottom:5px}.cards{grid-template-columns:1fr 1fr}}@media(max-width:650px){.sidebar{transform:translateX(-100%);width:246px;transition:transform .2s}.sidebar.open{transform:translateX(0);box-shadow:0 0 0 100vmax #00132666}.shell{margin-left:0}.mobile-menu{display:inline-flex}.content{padding:20px 16px}.topbar{padding:0 16px}.breadcrumb{font-size:.8rem;gap:6px}.breadcrumb>span{display:none}.top-actions{gap:8px}.page-head{gap:10px}h1{font-size:25px}.page-head .actions button{padding:8px 10px}.cards,.split-2{grid-template-columns:1fr}.overview-band{padding:24px}.overview-stat{display:none}.panel-body,.result-content,.result-card{padding:17px}.result-hero{padding:23px}.hero-metrics{gap:10px}.hero-metrics b{font-size:15px}.hero-metrics em{display:block;margin:4px 0 0}.metric-grid{grid-template-columns:1fr 1fr}.metric b{font-size:18px}.footer{flex-direction:column;gap:5px}.field-grid{gap:12px}.toolbar input,.toolbar select{max-width:none;width:100%}.project-strip{padding:14px}.toolbar{gap:8px}.project-strip .fields{gap:10px}}@media print{body{background:white;color:black;font-size:10pt}#app,#dialog,#toast,.skip{display:none!important}#print-area{display:block!important}#print-area h1{font-size:24pt}#print-area h2{font-size:14pt;margin-top:20pt}#print-area p{font-size:10pt}#print-area .print-head{display:flex;justify-content:space-between;border-bottom:3px solid #007f73;padding-bottom:16pt;margin-bottom:20pt}#print-area table{font-size:9pt}#print-area td,#print-area th{padding:7pt}#print-area .result-hero{background:#10243c!important;print-color-adjust:exact;color:white!important}#print-area .result-card{break-inside:avoid}#print-area .actions{display:none}@page{size:A4;margin:15mm}}

@media(min-width:951px){.form-scroll{max-height:calc(100vh - 480px);min-height:180px}}
.field label{font-size:.875rem}.panel-head h2{display:flex;align-items:center;gap:7px}.input-tabs button,.result-tabs button{font-size:.875rem}.field.full.check label{font-size:.875rem}.control .unit{max-width:50px;overflow:hidden}.metric small{font-size:.8125rem}.hero-metrics small{font-size:.8125rem}
@media(max-width:650px){.comparison-pickers{grid-template-columns:1fr!important}}
