:root{--green:#123e35;--accent:#dcf779;--ink:#172e28;--muted:#63746e;--line:#dce5e0;--bg:#f3f6f5;--white:#fff}*{box-sizing:border-box}body{margin:0;font-family:Arial,'Noto Sans Bengali',sans-serif;font-size:16px;line-height:1.6;color:var(--ink);background:var(--bg)}[hidden]{display:none!important}h1,h2,h3,p{margin:0 0 16px}h1{font-size:28px;letter-spacing:-.5px}h2{font-size:20px}h3{font-size:16px}button,input,textarea,select{font:inherit}button,.button{border:1px solid transparent;border-radius:7px;background:var(--green);color:white;padding:10px 16px;cursor:pointer;text-decoration:none;display:inline-block;font-size:14px;font-weight:600;line-height:1.5}button:hover,.button:hover{filter:brightness(1.13)}button:disabled{opacity:.6;cursor:wait}.secondary{background:white;color:var(--green);border-color:#cbdad3}a{color:var(--green)}label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;margin-bottom:16px}input,textarea,select{width:100%;min-width:0;border:1px solid #becdc5;border-radius:6px;padding:10px 11px;background:#fff;color:var(--ink);font-size:15px;line-height:1.6}textarea{resize:vertical}input:focus,textarea:focus,select:focus{outline:2px solid #80a995;outline-offset:1px}.check{flex-direction:row;align-items:center;margin:8px 0;font-weight:500}.check input{width:18px;height:18px;flex-shrink:0;accent-color:var(--green)}.brand{font-size:29px;font-weight:900;letter-spacing:-1px}.brand small{display:block;font-size:10px;letter-spacing:1.8px;font-weight:500;margin-top:-2px}aside{width:232px;height:100vh;position:fixed;background:var(--green);padding:32px 20px;color:white;display:flex;flex-direction:column}aside .brand{padding:0 12px;color:var(--accent)}nav{margin-top:45px;display:flex;flex-direction:column;gap:8px}.nav{text-align:left;background:transparent;color:#d2dfda;width:100%;padding:12px;border:0}.nav.active{background:var(--accent);color:var(--green)}.aside-bottom{margin-top:auto;font-size:13px;color:#bdcfc6;padding:12px}.aside-bottom button{padding-left:0;margin-top:14px}.main{margin-left:232px;padding:32px;max-width:1800px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}header h1{margin:4px 0 0}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.6px;color:var(--muted)}.tag{background:#e7efeb;color:var(--green);padding:5px 9px;border-radius:4px;font-size:12px;white-space:nowrap}.card{background:white;border:1px solid var(--line);border-radius:10px;padding:24px;margin-bottom:20px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:8px 0 18px}.section-title h2{margin:0}.section-title label{margin:0}.muted,.hint{color:var(--muted);font-size:13px}.section-title .muted{font-size:10px;letter-spacing:1px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.builder-layout{display:grid;grid-template-columns:minmax(360px,1fr) minmax(400px,1.12fr);gap:24px;align-items:start}.builder-layout>.card{padding:24px}.solar-toggle{background:#eef5e4;padding:13px;border-radius:7px;margin:20px 0}.accessory{display:grid;grid-template-columns:1fr 72px;gap:3px 12px;margin-bottom:13px;padding-bottom:12px;border-bottom:1px solid var(--line)}.accessory span{grid-column:1/-1;font-size:12px;color:var(--muted)}.accessory input[type=number]{padding:5px}.accessory label{margin:0}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}details{margin-top:16px;padding-top:12px;border-top:1px solid var(--line);font-size:13px}summary{cursor:pointer;font-weight:600;margin-bottom:12px}details li{margin-bottom:8px}.summary-card{border-top:4px solid var(--green)}.metrics{display:flex;gap:35px;margin:12px 0}.metrics strong{font-size:28px;font-weight:700;display:block}.metrics small{font-size:15px;font-weight:400}.metrics span{display:block;color:var(--muted);font-size:12px}.total{font-size:30px;letter-spacing:-.6px;font-weight:700;border-top:1px solid var(--line);padding-top:15px;margin-top:12px}.alert{background:#fff2d9;border:1px solid #f4d290;color:#754807;padding:10px 12px;border-radius:6px;font-size:14px}.success{background:#e7f4df;padding:12px}.paper{background:white;border:1px solid var(--line);padding:28px;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.paper h3{font-size:13px}.paper-head{border-bottom:3px solid var(--green);padding-bottom:16px;margin-bottom:18px}.paper-head b{display:block;font-size:19px;color:var(--green)}.paper-head span{display:block;font-size:11px;white-space:pre-line}.paper-meta{display:flex;justify-content:space-between;gap:20px;font-size:11px;margin-bottom:20px}.preline{white-space:pre-line}table{border-collapse:collapse;width:100%;text-align:left;font-size:14px}th{font-size:12px;color:var(--muted);background:#f3f6f5;font-weight:600}td,th{padding:13px 12px;border-bottom:1px solid var(--line);vertical-align:top}td small{display:block;color:var(--muted);font-size:12px}.table-scroll{overflow:auto}.quote-table{font-size:10px;line-height:1.5;table-layout:fixed}.quote-table th{font-size:9px;background:var(--green);color:#fff}.quote-table td,.quote-table th{padding:8px 5px;border:1px solid var(--line);overflow-wrap:anywhere}.quote-table th:nth-child(1){width:6%}.quote-table th:nth-child(2){width:22%}.quote-table th:nth-child(3){width:12%}.quote-table th:nth-child(4){width:32%}.quote-table th:nth-child(5){width:7%}.quote-table th:nth-child(6){width:21%}.quote-table td:last-child{text-align:right}.quote-total{text-align:right;font-weight:700;background:#f0f4f1;padding:12px;margin-top:0}.signature{margin-top:45px;padding-top:12px;border-top:1px solid var(--line);display:inline-block}.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.package{padding:20px;border:1px solid var(--line);border-top:3px solid var(--green);border-radius:6px}.package h3{font-size:24px;margin:10px 0}.package h3 span{font-size:17px;font-weight:400}.package p{font-size:14px}.package-count{grid-column:1/-1;margin:0}.login-card{width:min(440px,calc(100% - 32px));margin:8vh auto;padding:36px;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 50px #123e350c}.login-card .brand{color:var(--green);margin-bottom:35px}.login-card h1{font-size:25px}.login-card p{font-size:14px;color:var(--muted)}.login-card button{width:100%}.compact{max-width:540px}dialog{width:min(760px,95vw);max-height:92vh;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:26px;color:var(--ink)}dialog::backdrop{background:#122a24a6}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);max-width:90vw;background:#162e26;color:white;padding:13px 24px;border-radius:8px;opacity:0;pointer-events:none;z-index:1000;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}.print-page{background:#e8ecea}.print-toolbar{max-width:210mm;margin:24px auto;display:flex;gap:18px;align-items:center;flex-wrap:wrap}.print-toolbar span{font-size:12px}.printable{width:210mm;min-height:297mm;margin:0 auto 30px;padding:14mm;font-size:12px}.printable .quote-table{font-size:11px}.printable .quote-table th{font-size:10px}.printable .paper-head b{font-size:23px}.draft-note{color:#925c00;font-weight:bold;font-size:11px}@media(min-width:1550px){.paper{font-size:14px}.quote-table{font-size:12px}.quote-table th{font-size:11px}}@media(max-width:1200px){.builder-layout{grid-template-columns:1fr}.package-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:750px){aside{position:static;width:100%;height:auto;padding:18px}aside .brand{font-size:24px}aside nav{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:3px}.nav{font-size:13px;padding:9px}.aside-bottom{display:block;margin:6px 0 0;padding:0 10px}.aside-bottom span{display:none}.aside-bottom button{width:auto;margin:0;padding:6px 0}.main{margin:0;padding:18px}.builder-layout{grid-template-columns:minmax(0,1fr)}header{margin-bottom:20px}h1{font-size:23px}.card{padding:18px}.grid2{grid-template-columns:1fr}.package-grid{grid-template-columns:1fr}.section-title{flex-wrap:wrap}.paper{padding:18px}.quote-table{min-width:440px}.printable{width:100%;min-height:0}.print-toolbar{padding:16px}.metrics{gap:22px}.metrics strong{font-size:24px}.builder-layout>.card{padding:18px}}@page{size:A4;margin:12mm}@media print{body.print-page{background:white}.print-toolbar{display:none}.printable{width:auto;min-height:0;margin:0;padding:0;border:0;font-size:11px}.quote-table{min-width:0!important}thead{display:table-header-group}tr{break-inside:avoid}.paper-head,h3,.signature{break-inside:avoid}h3{break-after:avoid}.signature{margin-top:30px}button{display:none}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
