:root{--ink:#14221e;--muted:#5c6a65;--line:#dce4df;--paper:#fff;--bg:#f4f6f3;--green:#0c5c4d;--green2:#137b67;--lime:#dff57c;--orange:#e98a45;--shadow:0 14px 40px rgba(19,46,38,.09)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.shell{max-width:1180px;margin:auto;padding:32px 20px 56px}.topbar,.section-heading,.wizard-nav,.client-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar{margin-bottom:28px}.topbar h1{margin:0;font-size:clamp(1.45rem,3vw,2.2rem);letter-spacing:-.04em}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.14em;color:var(--green);margin:0 0 4px}.top-actions,.action-grid{display:flex;gap:10px;flex-wrap:wrap}.button{border:0;border-radius:10px;padding:11px 16px;background:var(--green);color:#fff;font:inherit;font-weight:750;cursor:pointer;transition:.2s}.button:hover{background:var(--green2);transform:translateY(-1px)}.button.ghost{background:transparent;color:var(--green);border:1px solid #b9ccc4}.button.secondary{background:var(--lime);color:#24321c}.text-button{border:0;background:transparent;color:var(--green);font:inherit;font-size:.86rem;font-weight:800;text-decoration:underline;cursor:pointer;padding:0}.quick-actions{display:flex;gap:18px;flex-wrap:wrap;margin:-7px 0 17px}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-bottom:18px}.step{border:1px solid var(--line);background:#eef2ef;padding:11px 9px;border-radius:11px;color:var(--muted);font:inherit;font-size:.85rem;font-weight:700;cursor:pointer}.step span{display:inline-grid;place-items:center;width:20px;height:20px;margin-right:6px;border-radius:50%;background:#d5ddd8;color:var(--ink);font-size:.72rem}.step.active{background:var(--green);color:#fff;border-color:var(--green)}.step.active span{background:var(--lime);color:var(--ink)}.panel{display:none;background:var(--paper);padding:clamp(20px,4vw,38px);border-radius:18px;box-shadow:var(--shadow);min-height:530px}.panel.active{display:block}.section-heading{align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:24px}.section-heading h2{font-size:clamp(1.28rem,2.3vw,1.75rem);letter-spacing:-.035em;margin:0}.section-heading>p{max-width:360px;margin:3px 0 0;color:var(--muted);font-size:.91rem}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.form-grid label{display:grid;gap:6px;font-size:.82rem;font-weight:760;color:#34443d}.form-grid .wide{grid-column:span 2}input,select,textarea{width:100%;border:1px solid #ccd7d1;border-radius:8px;padding:10px 11px;background:#fff;color:var(--ink);font:inherit;font-size:.96rem}input:focus,select:focus,textarea:focus{outline:3px solid rgba(122,199,164,.25);border-color:var(--green)}textarea{resize:vertical}.upload-card{background:#f0f8f4;border:1px dashed #8db3a5;padding:16px;border-radius:10px;margin-bottom:22px}.upload-label{display:inline-block;color:var(--green);font-weight:800;cursor:pointer}.upload-label input{display:none}.upload-card p{display:inline;margin-left:10px;color:var(--muted);font-size:.88rem}.table-wrap{border:1px solid var(--line);border-radius:10px;overflow:hidden}.consumption-table{border-collapse:collapse;width:100%}.consumption-table th{background:#f1f4f2;text-align:left;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}.consumption-table th,.consumption-table td{padding:8px 13px;border-bottom:1px solid var(--line)}.consumption-table tr:last-child td{border:0}.consumption-table input{max-width:210px;padding:7px}.inline-result{padding:12px 14px;background:#f5f7f5;border-radius:8px}.subheading{font-weight:800;border-left:4px solid var(--lime);padding-left:10px;margin:28px 0 15px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:26px}.metric,.price-item{padding:15px;background:#f5f8f6;border-radius:10px}.metric span,.price-item span{display:block;color:var(--muted);font-size:.77rem;font-weight:700}.metric strong,.price-item strong{display:block;font-size:1.2rem;margin-top:3px}.price-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:25px}.price-summary .highlight{background:var(--green);color:#fff}.price-summary .highlight span{color:#cae1d7}.review-list{display:grid;gap:10px}.review-item{display:flex;justify-content:space-between;gap:16px;padding:13px;border-bottom:1px solid var(--line)}.review-item small{color:var(--muted)}.wizard-nav{margin-top:18px}.wizard-nav span{font-size:.85rem;font-weight:700;color:var(--muted)}.hidden{display:none!important}.client-view,.contract-view{max-width:900px;margin:auto}.client-toolbar{margin-bottom:16px}.proposal{background:#fff;box-shadow:var(--shadow);border-radius:20px;overflow:hidden}.proposal-hero{background:linear-gradient(135deg,#0d5e4e,#0a3f36);color:#fff;padding:46px clamp(24px,6vw,64px)}.proposal-hero .eyebrow{color:var(--lime)}.proposal-hero h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.04;margin:6px 0 13px;letter-spacing:-.06em}.proposal-hero p{margin:0;color:#d1e2dc}.hero-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:22px;font-size:.88rem}.proposal-body{padding:clamp(24px,5vw,50px)}.proposal h2,.contract h2{font-size:1.2rem;margin:0 0 12px;letter-spacing:-.02em}.proposal-section{margin-top:33px}.proposal-section:first-child{margin-top:0}.summary-price{display:flex;align-items:end;justify-content:space-between;gap:22px;background:#eff7f1;padding:22px;border-radius:13px}.summary-price small{font-weight:800;color:var(--green);text-transform:uppercase;letter-spacing:.08em}.summary-price strong{display:block;font-size:clamp(1.8rem,4vw,2.8rem);letter-spacing:-.06em}.kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.kpi{border:1px solid var(--line);border-radius:11px;padding:16px}.kpi span{display:block;font-size:.75rem;color:var(--muted);font-weight:750}.kpi strong{display:block;margin-top:5px;font-size:1.08rem}.bar-chart{display:grid;gap:7px}.bar-row{display:grid;grid-template-columns:35px 1fr 1fr;gap:8px;align-items:center;font-size:.77rem}.bar{height:13px;border-radius:999px;background:#e3ebe7;overflow:hidden}.bar i{display:block;height:100%;background:var(--green);border-radius:inherit}.bar.generation i{background:var(--orange)}.system-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.system-card{padding:18px;border-radius:11px;background:#f7f8f7}.system-card strong,.system-card span{display:block}.system-card span{font-size:.88rem;color:var(--muted);margin-top:3px}.inclusions{columns:2;gap:30px;padding-left:20px}.inclusions li{margin-bottom:7px}.comparison-table{width:100%;border-collapse:collapse;font-size:.9rem}.comparison-table th,.comparison-table td{padding:11px 8px;border-bottom:1px solid var(--line);text-align:right}.comparison-table th:first-child,.comparison-table td:first-child{text-align:left}.payment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.payment-card{padding:16px;border:1px solid var(--line);border-radius:11px}.payment-card small{display:block;font-weight:800;color:var(--green);text-transform:uppercase;letter-spacing:.06em}.payment-card strong{display:block;font-size:1.2rem;margin-top:5px}.payment-card span{font-size:.8rem;color:var(--muted)}.proposal-footer{padding:25px clamp(24px,5vw,50px);background:#112823;color:#d4e3dc}.proposal-footer .contacts{display:flex;gap:20px;flex-wrap:wrap}.proposal-footer a,.contacts a{color:inherit;font-weight:800}.contract{background:#fff;padding:clamp(30px,6vw,65px);box-shadow:var(--shadow);border-radius:16px;max-width:860px;margin:auto}.contract h1{font-size:1.7rem;text-align:center}.contract p{margin:13px 0;text-align:justify}.signature{display:grid;grid-template-columns:1fr 1fr;gap:55px;margin-top:72px}.signature div{border-top:1px solid #333;text-align:center;padding-top:7px;font-size:.85rem}.signature-pad{margin-top:30px;border:1px dashed #8aa49a;border-radius:11px;padding:14px}.signature-pad p{margin:0 0 8px;font-size:.86rem;color:var(--muted)}.signature-pad canvas{display:block;width:100%;height:160px;background:#fbfcfb;border-radius:7px;touch-action:none}.signature-pad button{margin-top:8px}dialog{border:0;border-radius:15px;box-shadow:var(--shadow);max-width:390px}dialog::backdrop{background:rgba(0,0,0,.45)}dialog form{padding:10px}.contacts{display:flex;gap:14px;flex-wrap:wrap;font-size:1.1rem}body.dark{--ink:#edf5f0;--muted:#adc1b8;--line:#33483f;--paper:#17221e;--bg:#0d1512;--green:#79d7b8;--green2:#9ae6cd;--lime:#dff57c;--shadow:0 14px 40px rgba(0,0,0,.24)}body.dark input,body.dark select,body.dark textarea{background:#101a16;color:var(--ink);border-color:#41594f}body.dark .step,body.dark .metric,body.dark .price-item,body.dark .kpi,body.dark .system-card,body.dark .payment-card,body.dark .inline-result{background:#1e2c27}body.dark .consumption-table th{background:#1e2c27}body.dark .upload-card,body.dark .summary-price{background:#193127}body.dark .proposal,body.dark .contract{color:#14221e}body.dark .button.ghost{color:var(--green);border-color:#4e7164}
@media(max-width:720px){.shell{padding:20px 13px 36px}.topbar,.section-heading,.client-toolbar{align-items:flex-start;flex-direction:column}.top-actions{width:100%}.top-actions .button{flex:1}.steps{overflow:auto;display:flex;padding-bottom:3px}.step{white-space:nowrap}.panel{min-height:0;padding:21px 17px}.form-grid{grid-template-columns:1fr 1fr;gap:12px}.form-grid .wide{grid-column:span 2}.section-heading>p{margin-top:0}.metrics,.price-summary{grid-template-columns:1fr 1fr}.kpi-grid{grid-template-columns:1fr}.system-list{grid-template-columns:1fr}.inclusions{columns:1}.summary-price{align-items:flex-start;flex-direction:column}.signature{gap:45px;grid-template-columns:1fr}.bar-row{grid-template-columns:32px 1fr}.bar-row .bar.generation{grid-column:2}.no-mobile{display:none}}
.checkline{display:flex;align-items:flex-start;gap:.65rem;margin:1rem 0;font-size:.92rem;line-height:1.4}.checkline input{width:auto;margin-top:.2rem}.cloud-status{font-size:.78rem;color:var(--muted);align-self:center;max-width:12rem}
@media print{body{background:#fff}.shell{max-width:none;padding:0}.no-print,.topbar,.steps,.wizard-nav{display:none!important}.projector-view,.client-view,.contract-view{display:block!important}.projector-view{display:none!important}.client-view.hidden,.contract-view.hidden{display:none!important}.proposal,.contract{box-shadow:none;border-radius:0}.proposal{max-width:none}.proposal-hero{padding:28px}.proposal-body{padding:28px}.client-toolbar{display:none!important}}
