#calculator{--blue:#1a1f6e;--blue2:#2e3192;--orange:#f58220;--ink:#17205c;--muted:#6b7280;--pale:#bfdbfe}
#calculator *{box-sizing:border-box}
#calculator{margin:0;background:#fff;color:var(--ink);font-family:"Punarvi Calculator Outfit",Arial,sans-serif}
#calculator button,#calculator input,#calculator select{font:inherit}
#calculator button{cursor:pointer}
#calculator [hidden]{display:none!important}
#calculator .page{max-width:1060px;margin:auto;padding:32px 24px 40px}
#calculator .topline{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;margin-bottom:34px}
#calculator .brand{font-weight:800;letter-spacing:.04em}
#calculator .sample{color:#87500f;background:#fff3e6;border-radius:20px;padding:7px 12px;font-weight:600}
#calculator .heading{text-align:center;max-width:760px;margin:0 auto 34px}
#calculator .eyebrow{display:inline-block;padding:7px 17px;background:#fff0e4;color:#e9750c;font-size:12px;letter-spacing:.12em;font-weight:600;border-radius:20px}
#calculator .calculator-heading{font-size:46px;line-height:1.14;letter-spacing:-.035em;margin:16px 0 12px;font-weight:800}
#calculator .calculator-heading span{color:var(--orange)}
#calculator .intro{color:var(--muted);font-size:17px;line-height:1.5;margin:0 auto;max-width:650px}
#calculator .property{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin:28px 0 0}
#calculator .property button{border:1px solid #d9dcec;background:#fff;color:#4b526c;border-radius:24px;padding:11px 24px;font-size:14px;font-weight:600;min-height:44px}
#calculator .property button[aria-selected=true]{background:var(--blue);border-color:var(--blue);color:#fff}
#calculator .calculator{background:linear-gradient(120deg,#222171,var(--blue2));color:#fff;border-radius:18px;padding:36px 40px 24px;box-shadow:0 20px 38px #1a1f6e18}
#calculator .calc-title{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #ffffff24;padding-bottom:21px;margin-bottom:26px}
#calculator .calc-title h2{font-size:20px;line-height:1.3;margin:0;font-weight:700}
#calculator .calc-title p{color:var(--pale);font-size:13px;line-height:1.4;margin:6px 0 0}
#calculator .step-tag{color:#ffe3c1;background:#ffffff12;padding:7px 11px;border-radius:15px;white-space:nowrap;font-size:12px}
#calculator .grid{display:grid;grid-template-columns:1fr 1fr;gap:44px}
#calculator .label{display:block;color:var(--pale);font-size:14px;font-weight:500;margin-bottom:10px}
#calculator .bill{font-size:38px;font-weight:800;line-height:1.15;letter-spacing:-.02em;margin:0 0 18px}
#calculator input[type=range]{width:100%;accent-color:var(--orange);margin:8px 0 9px;min-height:22px}
#calculator .range-labels{display:flex;justify-content:space-between;color:var(--pale);font-size:12px}
#calculator .system-box{background:#f5822012;border:1px solid #f5822052;padding:19px 20px;border-radius:13px;margin-top:26px}
#calculator .system-row{display:flex;justify-content:space-between;gap:18px}
#calculator .system-row>div:last-child{text-align:right}
#calculator .small-label{font-size:12px;line-height:1.5;color:#ffe2bb}
#calculator .kw{font-size:35px;font-weight:800;color:var(--orange);line-height:1.2}
#calculator .quote-small{font-size:23px;line-height:1.7;font-weight:800}
#calculator .hint{font-size:12px;line-height:1.5;color:var(--pale);margin:10px 0 0}
#calculator .stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}
#calculator .stat{background:#ffffff12;padding:17px 12px;border-radius:12px;text-align:center;min-height:94px;display:flex;flex-direction:column;justify-content:center;gap:5px}
#calculator .stat strong{font-size:23px;font-weight:800;line-height:1.1}
#calculator .stat span{font-size:12px;line-height:1.4;color:var(--pale)}
#calculator .total{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#f5822012;border:1px solid #f5822052;border-radius:13px;padding:17px;margin-top:15px}
#calculator .total strong{display:block;color:var(--orange);font-size:28px;line-height:1.25;font-weight:800;margin-top:4px}
#calculator .action{background:linear-gradient(120deg,#f59020,#e97400);border:0;color:white;min-height:44px;border-radius:7px;font-size:12px;font-weight:700;padding:12px 17px;white-space:nowrap;box-shadow:0 6px 12px #ef7c161f}
#calculator .action:disabled{opacity:.5;cursor:not-allowed}
#calculator .module-options{display:flex;gap:10px;margin-bottom:24px}
#calculator .module-options button{flex:1;border:1px solid #ffffff38;border-radius:9px;background:#ffffff08;color:var(--pale);padding:12px 16px;min-height:46px;font-weight:600}
#calculator .module-options button[aria-pressed=true]{background:#fff;color:var(--blue);border-color:#fff;box-shadow:inset 0 -3px var(--orange)}
#calculator .controls{display:grid;grid-template-columns:1fr 1fr;gap:16px}
#calculator .controls label{display:block}
#calculator .controls select{width:100%;background:#fff;color:var(--ink);border:1px solid #fff;border-radius:8px;min-height:46px;padding:10px 28px 10px 12px;font-size:14px}
#calculator .field-label{display:block;color:var(--pale);font-size:13px;margin-bottom:9px}
#calculator .selection-summary{color:#fff2de;font-size:13px;line-height:1.5;margin:0;font-weight:500}
#calculator .price-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#cfeadb;margin-bottom:16px}
#calculator .price-status::before{content:'';width:6px;height:6px;border-radius:50%;background:#83d7a3}
#calculator .price-status.pending{color:#ffe2bb}
#calculator .price-status.pending::before{background:#ffbf70}
#calculator .commercial-stats .stat{min-height:103px}
#calculator .commercial-stats .stat strong{font-size:23px}
#calculator .commercial-total{margin-top:16px;display:block;padding:20px}
#calculator .commercial-total strong{font-size:36px}
#calculator .total-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:15px}
#calculator .total-bottom p{margin:0;font-size:12px;line-height:1.4;color:var(--pale)}
#calculator .footnote{text-align:center;font-size:12px;line-height:1.55;color:var(--pale);margin:28px 0 0}
#calculator .review-note{font-size:13px;color:#787d8d;line-height:1.6;text-align:center;margin:20px 0}
#calculator .reference{margin-top:30px;border-top:1px solid #e4e7ef;padding-top:18px}
#calculator .reference summary{font-size:14px;font-weight:600;cursor:pointer}
#calculator .reference p{color:var(--muted);font-size:13px;line-height:1.6}
#calculator .table-scroll{overflow:auto}
#calculator table{width:100%;border-collapse:collapse;font-size:13px;margin-top:18px;white-space:nowrap}
#calculator th{text-align:left;color:#6b7280;font-size:12px;font-weight:600}
#calculator th,#calculator td{padding:11px 10px;border-bottom:1px solid #eceef4}
#calculator td:last-child,#calculator th:last-child{text-align:right}
#calculator .modal{border:0;border-radius:16px;padding:28px;width:min(520px,calc(100% - 32px));color:var(--ink);box-shadow:0 24px 80px #0004}
#calculator .modal::backdrop{background:#10143985}
#calculator .modal-head{display:flex;justify-content:space-between;align-items:center;gap:20px}
#calculator .modal h2{margin:0;font-size:24px}
#calculator .close{background:transparent;border:0;color:#6b7280;font-size:25px;padding:4px 8px;line-height:1}
#calculator .estimate-lines{margin:20px 0;display:grid;gap:10px}
#calculator .estimate-line{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid #eee;padding-bottom:10px;font-size:14px}
#calculator .estimate-line span{color:#6b7280}
#calculator .estimate-line strong{text-align:right}
#calculator .modal p{font-size:13px;color:#6b7280;line-height:1.6}
#calculator .modal .action{margin-top:8px}
#calculator .attention{background:#fff5e9;color:#935b15;border-radius:8px;padding:12px;font-size:12px;line-height:1.6;margin-top:17px}
#calculator button:focus-visible,#calculator input:focus-visible,#calculator select:focus-visible,#calculator summary:focus-visible{outline:3px solid #ffbe79;outline-offset:3px}
@media(max-width:700px){#calculator .page{padding:22px 16px 30px}
#calculator .topline{margin-bottom:28px;font-size:11px}
#calculator .sample{font-size:10px;padding:6px 10px}
#calculator .calculator-heading{font-size:34px}
#calculator .intro{font-size:15px}
#calculator .heading{margin-bottom:24px}
#calculator .property{gap:6px;margin-top:23px}
#calculator .property button{padding:10px 16px;font-size:12px}
#calculator .calculator{padding:24px 20px}
#calculator .grid{grid-template-columns:1fr;gap:27px}
#calculator .calc-title{align-items:flex-start}
#calculator .calc-title h2{font-size:18px}
#calculator .step-tag{font-size:10px}
#calculator .controls{gap:12px}
#calculator .controls select{font-size:13px}
#calculator .bill{font-size:34px}
#calculator .system-box{margin-top:23px}
#calculator .total strong{font-size:25px}
#calculator .commercial-total strong{font-size:33px}
#calculator .footnote{margin-top:23px}
#calculator .kw{font-size:31px}
#calculator .quote-small{font-size:21px}
#calculator .total-bottom{gap:13px}
#calculator .action{font-size:11px;padding:12px}
#calculator .review-note{font-size:12px}
#calculator .topline .brand{letter-spacing:.01em}}
@media(prefers-reduced-motion:no-preference){#calculator button{transition:background .16s,color .16s,box-shadow .16s}}
@media(max-width:420px){#calculator .controls{grid-template-columns:1fr}}
#calculator .controls input[type=number]{width:100%;background:white;color:var(--ink);border:1px solid #fff;border-radius:8px;min-height:46px;padding:10px 48px 10px 12px;font-size:16px}
#calculator .number-wrap{position:relative}
#calculator .number-wrap>span{position:absolute;right:13px;top:12px;color:#747b8f;font-size:14px}
#calculator .controls input[aria-invalid=true]{outline:2px solid #ffc17d}
#calculator .quote-modal{border:0;padding:0;border-radius:15px;width:min(1100px,calc(100% - 32px));max-width:none;max-height:92vh;color:var(--ink);box-shadow:0 24px 90px #0005}
#calculator .quote-modal::backdrop{background:#141746b8}
#calculator .quote-header{display:flex;align-items:center;gap:18px;background:linear-gradient(110deg,#222171,#36358e);padding:17px 24px;color:white}
#calculator .quote-header img{width:150px;height:auto;filter:brightness(0) invert(1)}
#calculator .quote-header h2{font-size:18px;line-height:1.35;margin:0;font-weight:800}
#calculator .quote-header p{font-size:12px;color:#bfdbfe;margin:3px 0 0}
#calculator .quote-header>button{margin-left:auto;align-self:flex-start;border:0;background:transparent;color:white;font-size:27px;line-height:1;padding:4px 8px}
#calculator .quote-steps{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #e9ebf2;font-size:12px;font-weight:600;text-align:center;color:#8a91a5}
#calculator .quote-steps>div{padding:13px 8px}
#calculator .quote-steps>div.active{background:var(--orange);color:white}
#calculator .quote-scroll{max-height:calc(92vh - 126px);overflow:auto;padding:28px}
#calculator .quote-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);gap:30px}
#calculator .quote-modal h3{font-size:23px;line-height:1.3;margin:0 0 7px;font-weight:800}
#calculator .quote-lead{font-size:14px;line-height:1.55;color:#747c91;margin:0 0 22px}
#calculator .quote-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
#calculator .quote-form-grid label{font-size:12px;font-weight:600;color:#4c556c;min-width:0}
#calculator .quote-form-grid b{color:var(--orange)}
#calculator .quote-form-grid input,#calculator .quote-form-grid select{font-weight:400;width:100%;min-height:44px;border:1px solid #dce0eb;border-radius:7px;padding:10px 12px;color:#263047;background:#fff;margin-top:6px;font-size:14px;min-width:0}
#calculator .quote-form-grid input[readonly]{background:#f5f6fa;color:#626a80}
#calculator .quote-form-grid small{display:block;font-size:10px;margin-top:4px;color:#8a91a5;font-weight:400}
#calculator .quote-small-note{font-size:12px;color:#858b9c;line-height:1.6;margin:14px 0}
#calculator .quote-primary{border:0;border-radius:9px;background:linear-gradient(110deg,#f59020,#e97400);color:white;padding:15px 20px;font-size:13px;font-weight:700;min-height:46px}
#calculator .quote-primary:disabled{opacity:.55;cursor:wait}
#calculator .quote-secondary{border:1px solid #d6dbe8;background:white;color:var(--blue);padding:13px 17px;min-height:45px;border-radius:9px;font-size:13px;font-weight:600}
#calculator .quote-form-grid+ .quote-small-note +.quote-primary{width:100%;margin-top:4px}
#calculator .quote-live{background:linear-gradient(130deg,#252376,#343388);border-radius:15px;padding:22px;color:white}
#calculator .quote-live h3{font-size:16px;margin-bottom:17px}
#calculator .quote-recommendation{text-align:center;background:#ffffff12;border-radius:12px;padding:17px;margin-bottom:14px}
#calculator .quote-recommendation>span{font-size:12px;color:#bfdbfe;display:block;margin-bottom:8px}
#calculator .quote-recommendation>strong{display:block;font-size:36px;line-height:1.2;font-weight:800;color:var(--orange)}
#calculator .quote-recommendation>strong.quote-amount{font-size:25px;color:white}
#calculator .quote-recommendation>small{color:#ffd8ae;font-size:12px;line-height:1.4;display:block;margin-top:8px}
#calculator .quote-live dl{font-size:12px;margin-top:20px}
#calculator .quote-live dl>div{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #ffffff25;padding:11px 0;line-height:1.5}
#calculator .quote-live dt{color:#bfdbfe}
#calculator .quote-live dd{margin:0;text-align:right;font-weight:600}
#calculator .quote-edit-selection{display:block;background:transparent;color:#c6d8ff;border:0;padding:9px 0;margin-top:15px;font-size:12px;text-decoration:underline}
#calculator .quote-review-details{margin-top:18px}
#calculator .quote-review-details>div{display:flex;justify-content:space-between;gap:25px;padding:12px 0;border-bottom:1px solid #eaedf4;font-size:13px;line-height:1.5}
#calculator .quote-review-details>div>span{color:#7d8494}
#calculator .quote-review-details strong{text-align:right;overflow-wrap:anywhere}
#calculator .quote-review-details .review-total{color:var(--orange);font-size:21px}
#calculator .quote-actions{display:flex;gap:12px;margin-top:20px}
#calculator .quote-actions>.quote-primary{flex:1}
#calculator .quote-pdf-status{font-size:13px;line-height:1.5;color:#646c83}
#calculator .quote-pdf-status.error{color:#b83e28}
#calculator .quote-success{text-align:center;max-width:670px;margin:20px auto 30px}
#calculator .quote-check{display:inline-flex;align-items:center;justify-content:center;font-size:34px;color:#2a8560;background:#e8f5ec;width:70px;height:70px;border-radius:50%;margin-bottom:20px}
#calculator .quote-success .quote-primary,#calculator .quote-success .quote-secondary{margin:8px}
#calculator .quote-success #quote-ready-id{font-weight:700;color:var(--blue)}
@media(max-width:760px){#calculator .quote-modal{width:calc(100% - 20px);max-height:95vh}
#calculator .quote-header{padding:15px;gap:12px}
#calculator .quote-header img{width:108px}
#calculator .quote-header h2{font-size:14px}
#calculator .quote-header p{font-size:10px}
#calculator .quote-scroll{padding:20px;max-height:calc(95vh - 117px)}
#calculator .quote-layout{grid-template-columns:1fr;gap:23px}
#calculator .quote-form-grid{gap:12px}
#calculator .quote-modal h3{font-size:21px}
#calculator .quote-live{padding:20px}
#calculator .quote-steps{font-size:10px}
#calculator .quote-steps>div{padding:12px 5px}
#calculator .quote-actions{flex-wrap:wrap}
#calculator .quote-recommendation>strong.quote-amount{font-size:27px}}
@media(max-width:420px){#calculator .quote-form-grid{grid-template-columns:1fr}
#calculator .quote-header img{width:96px}
#calculator .quote-header h2{font-size:12px}
#calculator .quote-header p{font-size:9px}
#calculator .quote-live-details{font-size:11px}
#calculator .property button{padding:10px 16px}
#calculator .quote-review-details>div{gap:14px}}
#calculator{scroll-margin-top:100px}#calculator h2,#calculator h3,#calculator button,#calculator input,#calculator select{font-family:inherit}

#calculator .quote-modal{margin:auto;inset:0}
