@font-face{font-family:Inter;src:local('Inter')}*{box-sizing:border-box}body{margin:0;background:#f5f6f0;color:#233b32;font-family:Inter,'Segoe UI',sans-serif;font-size:14px;line-height:1.55}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:#23684e}button{border:1px solid #d5ded3;background:#fff;border-radius:10px;padding:10px 16px;color:#284936;font-weight:600;transition:background .15s}button:hover{background:#eef3e9}button.primary{background:#21523b;border-color:#21523b;color:white}button.primary:hover{background:#153d2a}button.gold{background:#eecb74;border-color:#eecb74;color:#243a28}button.ghost{background:transparent;border-color:transparent}button.small{padding:6px 10px;font-size:12px}.shell{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.sidebar{background:#183c2f;color:#e3eadf;position:fixed;inset:0 auto 0 0;width:232px;display:flex;flex-direction:column;padding:30px 20px;z-index:20}.brand{display:flex;align-items:center;gap:11px;letter-spacing:-.5px}.brand img{width:43px;height:43px}.brand strong{font-size:21px;line-height:1.1;color:white;display:block}.brand span{font-size:12px;color:#b6cbb9;letter-spacing:2.3px}.workspace-label{margin:34px 12px 12px;color:#89a998;font-size:10px;letter-spacing:1.8px;text-transform:uppercase}.nav{display:grid;gap:7px}.nav button{color:#c8dace;display:flex;gap:12px;align-items:center;border:0;border-radius:9px;background:transparent;text-align:left;padding:12px 14px}.nav button.active{color:white;background:#315441}.nav button svg{width:18px;height:18px;flex-shrink:0}.sidebar-bottom{margin-top:auto;padding-top:32px}.independent{border-top:1px solid #365545;padding:20px 10px 0;color:#a9c0b0;font-size:12px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#bfd88a;margin-right:7px}.sidebar-bottom button{color:#d7e5da;margin-top:15px}.main{grid-column:2;min-width:0}.topbar{height:82px;background:#ffffffa6;border-bottom:1px solid #e2e6dc;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 40px}.breadcrumb{font-size:13px;color:#78887b}.breadcrumb strong{color:#324d3e;font-weight:500}.top-actions{display:flex;align-items:center;gap:15px}.save-state{color:#738273;font-size:12px}.avatar{width:34px;height:34px;border-radius:50%;background:#e9eedf;color:#466240;display:grid;place-items:center;font-weight:700}.content{max-width:1460px;padding:35px 40px 60px;margin:auto}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:#7c8c65}.page-title{font-size:34px;letter-spacing:-1.1px;line-height:1.2;margin:9px 0 12px;font-weight:600}.subtitle{color:#7a8577;margin:0;font-size:14px;max-width:710px}.heading-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.badge{display:inline-flex;align-items:center;gap:6px;border:1px solid #d9e3cd;background:#eef4e7;color:#56743b;border-radius:40px;padding:5px 10px;font-size:11px;font-weight:600;white-space:nowrap}.badge.warn{background:#fff5de;border-color:#e9dcb7;color:#8b6721}.badge.dim{background:#f0f1ed;border-color:#e0e3db;color:#74816c}.steps{display:flex;background:white;border:1px solid #e1e6db;border-radius:14px;padding:8px;margin-bottom:28px}.step{flex:1;display:flex;align-items:center;gap:10px;border:0;background:transparent;color:#7d8876;font-size:12px;padding:12px}.step .num{width:26px;height:26px;display:grid;place-items:center;border:1px solid #dbe2d5;border-radius:50%;font-size:11px;flex-shrink:0}.step.active{background:#edf2e7;color:#254c35}.step.active .num{background:#264e38;color:white;border-color:#264e38}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:24px;align-items:start}.card{background:#fff;border:1px solid #e1e6dc;border-radius:15px;padding:25px;margin-bottom:22px;box-shadow:0 3px 12px #23402e03}.card-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.card h2{font-size:18px;font-weight:600;letter-spacing:-.3px;margin:0}.card h3{font-size:14px;margin:0 0 10px;font-weight:600}.muted{color:#7a8778;font-size:12px}.intro-card{background:#ecf1e5;border-color:#e0e8d5;display:grid;grid-template-columns:1.2fr .8fr;gap:20px;align-items:center;overflow:hidden;position:relative;min-height:175px}.intro-card h2{font-size:23px;line-height:1.25;margin:7px 0 10px;max-width:340px}.intro-card p{font-size:12px;color:#748366;margin:0}.roof-art{width:100%;max-height:155px}.upload{border:1.5px dashed #b2c1a3;border-radius:13px;min-height:172px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#fafcf7;padding:22px;text-align:center;cursor:pointer}.upload:hover,.upload.dragging{background:#f0f6e9;border-color:#587d4d}.upload-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#e9f0e1;margin-bottom:12px}.upload strong{font-size:14px;font-weight:600}.upload p{margin:5px 0 14px;color:#8a9581;font-size:12px}.upload label{cursor:pointer}.file-input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.upload .upload-cta{font-size:12px;background:#254e37;color:white;border-radius:8px;padding:8px 18px}.privacy{display:flex;gap:7px;color:#8b9585;font-size:10px;margin:12px 0 0;line-height:1.6}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label{font-size:12px;font-weight:600;color:#5b6f5a}.field input,.field select,.field textarea{border:1px solid #dce3d6;border-radius:8px;background:#fff;padding:10px 12px;min-height:42px;width:100%;color:#2d4937}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #a1bf85;border-color:transparent}.field textarea{min-height:90px;resize:vertical}.field small{color:#8a9682;font-size:10px}.field.wide{grid-column:1/-1}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.check{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:#65775e;margin:19px 0 0}.check input{accent-color:#285a3d;width:16px;height:16px;flex-shrink:0;margin-top:3px}.section-actions{display:flex;align-items:center;justify-content:space-between;margin-top:24px;gap:12px}.section-actions .primary{margin-left:auto}.aside{position:sticky;top:20px}.aside .card{padding:22px}.dossier-head{font-size:10px;letter-spacing:1.5px;color:#8b987f;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center}.dossier-name{font-size:18px;letter-spacing:-.3px;margin:13px 0 3px;font-weight:600;overflow-wrap:anywhere}.dossier-address{font-size:12px;color:#8b9781;min-height:35px}.stat{padding:17px 0;border-bottom:1px solid #edf0e7}.stat:last-child{border-bottom:0;padding-bottom:0}.stat .label{font-size:11px;color:#8b9780}.stat strong{display:block;font-size:24px;letter-spacing:-.6px;font-weight:500;margin-top:3px}.stat strong small{font-size:12px;font-weight:400;letter-spacing:0;color:#819173}.progress-item{display:flex;gap:9px;align-items:center;font-size:11px;color:#87917e;padding:7px 0}.progress-item .circle{width:16px;height:16px;border:1px solid #d6decb;border-radius:50%;display:grid;place-items:center;font-size:9px}.progress-item.ok{color:#3e6e39}.progress-item.ok .circle{background:#e6efdd;border-color:#e6efdd}.note-card{background:#eceee4;border:0;padding:20px}.note-card h3{font-size:12px;color:#6b7d53}.note-card p{font-size:11px;color:#83906e;margin:8px 0 0}.notice{background:#fff8e8;border:1px solid #ebdfbc;color:#8c7037;padding:13px 15px;border-radius:9px;font-size:12px;margin-bottom:18px}.notice.success{background:#edf5e8;border-color:#d4e5c8;color:#4e7143}.error{background:#ffefed;border:1px solid #e7c2bd;color:#a04438;padding:13px;border-radius:9px;font-size:12px;margin:14px 0}.evidence{border-top:1px solid #edf0e8;padding-top:13px;margin-top:16px;font-size:11px;color:#77856b}.evidence summary{cursor:pointer;color:#47633d;font-size:12px;font-weight:600}.evidence li{padding:5px 0}.file-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #eef1e8;font-size:12px;overflow-wrap:anywhere}.map{width:100%;height:350px;border:1px solid #dde4d4;border-radius:10px;background:#e9eee0}.map-empty{height:220px;border-radius:10px;background:repeating-linear-gradient(45deg,#f1f4eb,#f1f4eb 18px,#edf1e6 18px,#edf1e6 19px);display:flex;align-items:center;justify-content:center;text-align:center;color:#7b8b6b;padding:25px}.search-results{display:grid;gap:8px;margin:10px 0}.search-results button{text-align:left;font-weight:400;font-size:12px}.search-results small{display:block;color:#8a967d}.map-links{display:flex;gap:10px;margin-top:13px;flex-wrap:wrap}.map-links a{font-size:12px;padding:7px 12px;border:1px solid #d5decd;border-radius:8px;text-decoration:none}.compass{background:#f4f7ef;border-radius:12px;display:flex;align-items:center;gap:20px;padding:20px;margin-bottom:20px}.compass svg{width:70px;height:70px;flex-shrink:0}.compass p{font-size:12px;color:#7a8b6a;margin:0}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0}.metric{padding:20px;border:1px solid #e1e8d9;border-radius:12px;background:#fff}.metric span{font-size:11px;color:#89977b}.metric strong{display:block;font-size:26px;font-weight:500;letter-spacing:-.7px;margin-top:6px}.metric small{font-size:11px;color:#869576}.scenario-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:20px 0}.scenario{border:1px solid #dce5d3;border-radius:13px;background:white;padding:23px 20px;cursor:pointer;color:#244b32;text-align:left;font-weight:400;position:relative}.scenario.selected{border:2px solid #456d36;background:#f6f9f0;padding:22px 19px}.scenario .select-mark{position:absolute;right:15px;top:17px;width:17px;height:17px;border:1px solid #bac8ad;border-radius:50%}.scenario.selected .select-mark{background:#456d36;border:4px solid #dde9cf}.scenario h3{font-size:15px;margin:0 0 4px}.scenario p{font-size:11px;color:#889779;min-height:34px;margin:0 0 22px}.scenario .power{font-size:30px;font-weight:500;letter-spacing:-1px}.scenario .power small{font-size:12px;letter-spacing:0;color:#869575}.scenario .detail{font-size:11px;display:block;color:#8a987d;margin-bottom:20px}.scenario dl{font-size:11px;margin:0}.scenario dt{color:#829171}.scenario dd{margin:3px 0 13px;font-size:15px}.scenario .price{font-size:21px;font-weight:600;padding-top:15px;margin-top:10px;border-top:1px solid #e1e8d7}.chart{display:grid;grid-template-columns:repeat(12,1fr);gap:9px;align-items:end;height:165px;padding:10px 0}.bar-wrap{height:100%;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;gap:6px}.bar{background:#9fb37c;min-height:2px;width:100%;max-width:30px;border-radius:4px 4px 0 0}.bar-wrap span{font-size:9px;color:#929b86}.legend{font-size:11px;color:#819071}.quote-header{display:flex;justify-content:space-between;border-bottom:2px solid #2f543b;padding-bottom:24px;margin-bottom:22px;gap:20px}.quote-header h2{font-size:25px;margin:8px 0}.quote-header .brand strong{color:#244e35}.quote-header .brand span{color:#728b65}.quote-details{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:20px 0;font-size:12px}.quote-details strong{display:block;color:#567348;margin-bottom:5px}.quote-details p{margin:0;color:#87927e}.quote-table{border-collapse:collapse;width:100%;font-size:12px;margin:20px 0}.quote-table td,.quote-table th{text-align:left;padding:12px 0;border-bottom:1px solid #e3eadb}.quote-table td:last-child,.quote-table th:last-child{text-align:right}.quote-table th{font-size:10px;color:#8b977e;font-weight:500;text-transform:uppercase}.quote-table .total td{font-size:18px;color:#2c5338;font-weight:600;border-bottom:0}.quote-note{font-size:10px;color:#87957a;margin:15px 0;line-height:1.75}.archive-list{display:grid;gap:12px}.archive-item{background:white;border:1px solid #e0e7d8;border-radius:12px;padding:20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.archive-item h3{margin:0;font-size:15px}.archive-item p{font-size:12px;color:#859576;margin:6px 0 0}.empty{text-align:center;padding:50px 20px;color:#8a987b}.method p,.method li{color:#728165;font-size:13px}.method h3{margin-top:25px}.auth-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#f6f7f0}.auth-art{background:#193d2e;padding:65px;color:white;display:flex;flex-direction:column;justify-content:center}.auth-art h1{font-size:48px;letter-spacing:-2px;font-weight:500;line-height:1.15;max-width:450px;margin:60px 0 20px}.auth-art p{max-width:400px;color:#a9c0ab}.auth-art .roof-art{max-height:240px;max-width:450px;margin-top:30px}.auth-form{display:flex;align-items:center;justify-content:center;padding:35px}.auth-form .card{width:430px;padding:35px}.auth-form h2{font-size:26px;margin-bottom:12px}.auth-form .field{margin-top:18px}.auth-form .primary{width:100%;margin-top:25px}.loading{padding:15vh 30px;text-align:center;color:#61765a}#toast{display:none;position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:13px 22px;background:#203e2c;color:white;border-radius:10px;z-index:100;font-size:13px;max-width:90vw;box-shadow:0 7px 35px #0002}#toast.show{display:block}.busy-line{display:flex;align-items:center;gap:10px;margin:16px 0;color:#63834d;font-size:13px}.spinner{width:17px;height:17px;border:2px solid #cfdfbf;border-top-color:#3b6731;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.footnote{font-size:10px;color:#99a28f;text-align:center;margin-top:28px}.mobile-brand{display:none}.demo-banner{padding:12px 18px;background:#fff1cc;border:1px solid #e9d5a1;border-radius:10px;color:#8b6e2d;font-size:12px;margin-bottom:20px}.print-only{display:none}
@media(min-width:1550px){.content{padding-top:42px}.workspace{grid-template-columns:minmax(0,1fr) 310px;gap:28px}}
@media(max-width:1180px){.sidebar{width:190px;padding:25px 13px}.shell{grid-template-columns:190px 1fr}.topbar{padding:0 24px}.content{padding:28px 24px}.workspace{grid-template-columns:minmax(0,1fr) 235px;gap:17px}.scenario-grid{grid-template-columns:1fr}.scenario p{min-height:0;margin-bottom:10px}.scenario dl{display:grid;grid-template-columns:1fr 1fr}.step{gap:6px;padding:9px 6px;font-size:11px}}
@media(max-width:850px){.sidebar{width:78px;padding:25px 12px}.sidebar .brand div,.workspace-label,.nav button span,.sidebar-bottom{display:none}.sidebar .brand{justify-content:center}.nav{margin-top:45px}.nav button{padding:14px;justify-content:center}.shell{grid-template-columns:78px 1fr}.workspace{grid-template-columns:1fr}.aside{position:static;display:grid;grid-template-columns:1fr 1fr;gap:15px}.aside .note-card{display:none}.page-title{font-size:28px}.topbar{height:70px}.intro-card h2{font-size:21px}.auth-art{padding:35px}.auth-art h1{font-size:36px}}
@media(max-width:600px){.shell{display:block}.sidebar{position:fixed;top:auto;width:100%;height:66px;bottom:0;padding:5px 10px;z-index:40;background:#183c2f}.sidebar>.brand{display:none}.nav{margin:0;display:flex;justify-content:space-around}.nav button{flex-direction:column;gap:3px;font-size:9px;padding:6px 12px}.nav button span{display:block}.nav button svg{width:17px;height:17px}.content{padding:24px 16px 90px}.topbar{padding:0 17px;gap:8px;height:64px}.topbar .breadcrumb{font-size:11px}.top-actions{gap:7px}.top-actions button{font-size:11px;padding:8px 10px}.save-state{display:none}.avatar{display:none}.page-title{font-size:27px}.heading-row{align-items:flex-start;margin-bottom:22px}.heading-row>.badge{display:none}.subtitle{font-size:12px}.steps{gap:0;padding:5px;overflow:auto}.step{padding:8px 5px;flex-direction:column;gap:5px;font-size:10px;min-width:52px}.step .num{width:23px;height:23px}.card{padding:19px;border-radius:13px}.intro-card{min-height:160px;grid-template-columns:1.25fr .75fr;gap:5px}.intro-card h2{font-size:20px}.intro-card p{font-size:10px}.form-grid{gap:13px}.field input,.field select{font-size:14px;padding:9px}.field label{font-size:11px}.metrics{gap:8px}.metric{padding:13px}.metric strong{font-size:21px}.metric span{font-size:10px}.aside{grid-template-columns:1fr}.aside>.card:nth-child(2){display:none}.dossier-address{min-height:0}.aside .stat{display:inline-block;width:48%;vertical-align:top;border:0}.map{height:280px}.quote-header{flex-direction:column}.quote-details{gap:12px}.quote-table{font-size:11px}.auth-page{display:block}.auth-art{padding:25px}.auth-art h1{font-size:32px;margin:25px 0 12px}.auth-art p{font-size:12px}.auth-art .roof-art{display:none}.auth-form{padding:20px}.auth-form .card{padding:23px}.auth-form h2{font-size:23px}}
@media print{@page{size:A4;margin:14mm}body{background:white;font-size:11px}.sidebar,.topbar,.heading-row,.steps,.aside,.section-actions,.no-print,.footnote,#toast,.demo-banner{display:none!important}.shell,.main,.workspace{display:block}.content{padding:0;max-width:none}.card{border:0;box-shadow:none;padding:0;margin:0}.quote-header,.quote-details,.metrics,.quote-table tr,.quote-note{break-inside:avoid}.quote-header h2{font-size:24px}.quote-table{font-size:11px}.metric{padding:12px}.print-only{display:block}.quote-note{font-size:9px}.quote-table .total td{font-size:16px}a{color:inherit;text-decoration:none}.quote-header .brand img{width:38px;height:38px}}
