@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#173e39;--muted:#74817c;--green:#214f43;--lime:#d8ed9d;--bg:#f6f7f2;--line:#e2e7df}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:15px}h1,h2,h3,.brand{font-family:Manrope,sans-serif}h1{font-size:34px;letter-spacing:-1.2px;margin:0 0 10px}h2{font-size:22px;letter-spacing:-.5px}h3{font-size:17px}p{line-height:1.6}button,input,select,textarea{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);padding:12px 17px;font-weight:600}button:hover{filter:brightness(.96)}button:focus-visible,a:focus-visible{outline:3px solid #88b664;outline-offset:3px}a{color:inherit}aside{position:fixed;width:244px;inset:0 auto 0 0;padding:32px 22px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column}.brand{display:flex;gap:9px;align-items:center;font-size:21px;font-weight:800;text-decoration:none}.bot{background:var(--green);color:var(--lime);border-radius:9px;padding:4px 9px}.dot{color:#b4cf7b;font-size:10px}aside>small{font-size:10px;letter-spacing:1.8px;color:var(--muted);margin:45px 10px 16px}nav{display:grid;gap:9px}nav button{text-align:left;background:transparent;border:0;color:#6b7b73}nav button.active{background:#edf3e5;color:var(--green)}.aside-bottom{margin-top:auto}.helper{padding:19px 16px;background:#f5f7ed;border-radius:12px;font-size:13px;font-weight:700}.helper p{font-weight:400;color:var(--muted);font-size:12px}.helper button{font-size:12px;width:100%}.aside-bottom>p{font-size:13px;padding:14px 9px 0}.aside-bottom small{display:block;padding:5px 25px;color:var(--muted);font-size:10px}main{margin-left:244px}header{height:86px;display:flex;justify-content:space-between;align-items:center;padding:0 44px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.badge,.pill{font-size:11px;padding:7px 11px;border-radius:20px;background:#edf3e5;color:var(--green)}#app{padding:38px 44px;max-width:1500px;margin:auto}.muted{color:var(--muted)}.row{display:flex;align-items:center;justify-content:space-between;gap:16px}.primary{background:var(--green);border-color:var(--green);color:white}.hero{margin:28px 0;min-height:228px;background:var(--green);border-radius:17px;color:white;display:grid;grid-template-columns:1.2fr 1fr;overflow:hidden}.hero-copy{padding:33px 36px}.hero h2{font-size:29px;max-width:390px;margin:10px 0}.hero p{color:#ceded1;font-size:13px;max-width:370px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px}.hero button{background:var(--lime);border:0;color:var(--green)}.blueprint{position:relative;min-height:220px;background:linear-gradient(90deg,transparent 98%,#ffffff09 98%),linear-gradient(transparent 98%,#ffffff09 98%);background-size:24px 24px;display:flex;align-items:center;justify-content:center}.blueprint svg{width:90%;height:220px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:30px}.stat,.card,.panel{background:white;border:1px solid var(--line);border-radius:13px;padding:23px}.stat strong{font-size:29px;display:block;margin:12px 0 7px}.stat small{color:var(--muted);font-size:11px}.section-title{margin:23px 0 16px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{padding:0;overflow:hidden}.card-top{height:110px;padding:18px;background:#e6ede1;position:relative}.card-top .symbol{font-size:46px;float:right;opacity:.5}.card-top .pill{background:#fff}.card-body{padding:20px}.card h3{margin:0 0 7px}.card p{font-size:12px;margin:5px 0;color:var(--muted)}.card button{margin-top:18px;width:100%;font-size:12px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:26px}.step{padding:17px 0;display:flex;gap:12px;font-size:12px}.step b{background:#eaf0dd;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;flex-shrink:0}.step span{display:block;color:var(--muted);font-size:11px;margin-top:5px}label{display:block;font-weight:600;font-size:13px;margin:16px 0 7px}input,select,textarea{width:100%;padding:12px;border:1px solid #d5ddd3;border-radius:8px;background:#fff;color:var(--ink)}textarea{min-height:100px;resize:vertical}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.formgrid label{margin-top:0}.map{border:0;border-radius:12px;width:100%;height:280px;background:#e5eadf}.notice{padding:13px 16px;background:#f2f5e8;border-radius:8px;font-size:12px;line-height:1.6;margin:15px 0}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.wide{max-width:900px}.split{display:grid;grid-template-columns:1.15fr 1fr;gap:24px}.supplier{margin:12px 0;padding:17px;border:1px solid var(--line);border-radius:10px}.supplier.selected{border:2px solid var(--green);background:#f5f8ee}table{border-collapse:collapse;width:100%;margin-top:20px;font-size:13px}th,td{text-align:left;padding:12px 6px;border-bottom:1px solid var(--line)}td input{padding:8px;min-width:60px}th{font-size:10px;text-transform:uppercase;color:var(--muted)}.total{text-align:right;font-size:28px;margin:25px 0}.plan{padding:28px}.plan .price{font-size:36px;margin:20px 0}.plan ul{padding-left:18px;color:var(--muted);font-size:13px;line-height:2.2}.plan button{width:100%}dialog{border:0;border-radius:16px;width:min(600px,94vw);padding:30px;box-shadow:0 30px 100px #1235}dialog::backdrop{background:#112d2570}#toast{position:fixed;bottom:26px;right:28px;background:var(--green);color:white;padding:15px 22px;border-radius:10px;display:none;max-width:90vw}.empty{padding:45px;text-align:center}.photo{height:90px;border-radius:8px;max-width:130px;object-fit:cover;margin:8px}.progress{display:flex;gap:8px;margin:24px 0}.progress span{height:5px;flex:1;background:#e0e7d9;border-radius:6px}.progress .done{background:#588864}.link{border:0;background:transparent;font-size:12px;padding:6px}.estimate-preview{color:#192f29}.estimate-preview .total{border-top:2px solid #214f43;padding-top:20px}.tag{font-size:11px;color:#7c6140;background:#f6eedf;padding:5px 8px;border-radius:5px}@media(max-width:1000px){aside{width:200px;padding:25px 15px}main{margin-left:200px}#app{padding:28px}header{padding:0 28px}.cards{grid-template-columns:1fr 1fr}.hero{grid-template-columns:1fr}.blueprint{display:none}.split{grid-template-columns:1fr}}@media(max-width:650px){aside{position:static;width:100%;padding:18px}.brand{font-size:19px}aside>small,.aside-bottom{display:none}nav{display:flex;overflow:auto;margin-top:16px;gap:4px}nav button{white-space:nowrap;font-size:12px;padding:10px}main{margin:0}header{height:55px;padding:0 20px;font-size:10px}#app{padding:25px 18px}h1{font-size:27px}.row{align-items:flex-start}.row>button{font-size:12px;white-space:nowrap}.stats{gap:8px}.stat{padding:14px}.stat strong{font-size:24px}.stat small{font-size:10px}.cards,.steps,.formgrid{grid-template-columns:1fr}.hero-copy{padding:26px}.hero h2{font-size:26px}.badge{font-size:9px}table{font-size:11px}th,td{padding:8px 2px}.panel{padding:18px}}@media print{aside,header,.actions,button,.notice,.badge{display:none!important}main{margin:0}#app{padding:0}.panel{border:0}body{background:white}.estimate-preview{display:block}dialog{position:static;display:block;box-shadow:none;width:100%;max-height:none}body:has(dialog[open]) main{display:none}}
