/* Tera Net Solar Calculator — v1.1 */
.tn-sc{max-width:1180px;margin:28px auto;padding:0 16px;font-family:Arial,Helvetica,sans-serif;color:#202623}
.tn-sc-head{margin-bottom:16px}.tn-sc-head h2{font-size:30px;line-height:1.1;margin:0 0 7px;font-weight:800;letter-spacing:-.5px}.tn-sc-head p{color:#68736e;margin:0;line-height:1.45}
.tn-sc-tabs{display:flex;gap:7px;overflow-x:auto;padding:4px 2px 12px;scrollbar-width:thin}.tn-sc-tab{border:2px solid #e1e7e3;background:#fff;color:#202623;border-radius:11px;padding:10px 16px;font-weight:800;white-space:nowrap;cursor:pointer;transition:.15s;box-shadow:0 1px 2px rgba(0,0,0,.04)}.tn-sc-tab:hover{border-color:#00a651}.tn-sc-tab.active{background:#00a651;color:#fff;border-color:#00a651;box-shadow:0 5px 14px rgba(0,166,81,.18)}
.tn-sc-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:14px}.tn-sc-stats>div{background:#f4f7f5;border:1px solid #e3e9e5;border-radius:12px;padding:12px 14px}.tn-sc-stats small,.tn-card small,.tn-sc-action small{display:block;color:#68736e;margin-bottom:4px;font-size:12px}.tn-sc-stats b{font-size:18px}
.tn-sc-mount{display:flex;align-items:center;gap:7px;margin:12px 0}.tn-sc-mount-label{font-weight:800;margin-right:4px}.tn-sc-mount button{border:2px solid #dfe6e2;background:#fff;color:#202623;border-radius:10px;padding:9px 16px;cursor:pointer;font-weight:800;transition:.15s}.tn-sc-mount button:hover{border-color:#00a651}.tn-sc-mount button.active{background:#202623;color:#fff;border-color:#202623}.tn-sc-note{font-size:13px;color:#68736e;margin:-3px 0 12px}
.tn-sc-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid #dfe6e2;border-radius:13px;overflow:hidden;background:#fff;box-shadow:0 3px 14px rgba(32,38,35,.04)}.tn-sc-table th{background:#202623;color:#fff;padding:11px 12px;text-align:left;font-size:12px;white-space:nowrap}.tn-sc-table td{padding:9px 12px;border-top:1px solid #e7ece9;vertical-align:middle;font-size:14px}.tn-sc-table tbody tr:hover{background:#fbfdfc}.tn-num{color:#68736e;width:35px}.tn-name{font-weight:600;min-width:330px}.tn-auto{display:inline-block;margin-left:7px;padding:2px 6px;border-radius:20px;background:#eef3f0;color:#68736e;font-size:10px;font-weight:700;text-transform:uppercase}.tn-qty{width:58px;height:36px;padding:5px;border:2px solid #cbd5cf;border-radius:8px;text-align:center;font-weight:800;font-size:15px;background:#fff;box-sizing:border-box}.tn-qty:focus{outline:2px solid rgba(0,166,81,.2);border-color:#00a651}.tn-step{display:inline-flex;align-items:center;gap:4px}.tn-step-btn{width:36px;height:36px;border:2px solid #d6dfda;background:#fff;color:#202623;border-radius:8px;font-size:21px;line-height:1;font-weight:700;cursor:pointer}.tn-step-btn:hover{border-color:#00a651;color:#00a651;background:#f3fbf6}.tn-sum{font-weight:800;white-space:nowrap}.tn-sc-total{display:flex;justify-content:flex-end;margin-top:14px}.tn-sc-total>div{width:450px;border:1px solid #dfe6e2;border-radius:14px;padding:13px 16px;background:#fff}.tn-sc-total>div>div{display:flex;justify-content:space-between;align-items:center;padding:7px 0}.tn-sc-total .grand{border-top:2px solid #202623;margin-top:3px;padding-top:11px;font-size:22px;font-weight:900}.tn-sc-total .grand b{color:#00a651}.tn-sc-season{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px}.tn-sc-season>div{border:1px solid #dfe6e2;background:#f8faf9;border-radius:11px;padding:10px 12px}.tn-sc-season small{display:block;color:#68736e}.tn-sc-season b{font-size:17px}.tn-sc-action{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:14px 0 0;padding:14px 16px;border-radius:14px;background:#202623;color:#fff}.tn-sc-action strong{display:block;font-size:14px;margin-bottom:3px}.tn-sc-action small{color:#c7d0cb}.tn-sc-order{background:#00a651;color:#fff;border:0;border-radius:10px;padding:13px 22px;font-size:15px;font-weight:900;cursor:pointer;white-space:nowrap;box-shadow:0 5px 16px rgba(0,166,81,.25);transition:.15s}.tn-sc-order:hover{transform:translateY(-1px);background:#009649}.tn-sc-mobile{display:none}
@media(max-width:760px){.tn-sc{padding:0 10px;margin:20px auto}.tn-sc-head h2{font-size:24px}.tn-sc-tabs{gap:6px}.tn-sc-tab{padding:9px 12px}.tn-sc-stats{grid-template-columns:repeat(2,1fr)}.tn-sc-stats b{font-size:16px}.tn-sc-mount{flex-wrap:wrap}.tn-sc-mount-label{width:100%}.tn-sc-mount button{flex:1}.tn-sc-table{display:none}.tn-sc-mobile{display:block}.tn-card{border:1px solid #dfe6e2;border-radius:12px;padding:12px;margin:8px 0;background:#fff;box-shadow:0 2px 9px rgba(32,38,35,.035)}.tn-card strong{display:block;line-height:1.3}.tn-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.tn-card-grid>div{background:#f4f7f5;border-radius:9px;padding:8px}.tn-card-grid b{font-size:16px}.tn-sc-total>div{width:100%;box-sizing:border-box}.tn-sc-season{grid-template-columns:1fr}.tn-sc-action{align-items:stretch;flex-direction:column}.tn-sc-order{width:100%}.tn-step-btn{width:34px}.tn-qty{width:54px}}
/* v1.4 visual refinement */
.tn-sc-table th:nth-child(1){width:42px;text-align:center}.tn-sc-table th:nth-child(3){width:150px}.tn-sc-table th:nth-child(4){width:180px}.tn-sc-table th:nth-child(5){width:150px;text-align:right}.tn-sc-table td:nth-child(3),.tn-sc-table td:nth-child(5){font-variant-numeric:tabular-nums}.tn-sc-table td:nth-child(5){text-align:right}.tn-sc-table tbody tr:nth-child(even){background:#fcfdfc}.tn-sc-table .tn-name{line-height:1.3}.tn-auto{vertical-align:middle}.tn-sc-total>div{box-shadow:0 4px 16px rgba(32,38,35,.05)}
@media(max-width:760px){.tn-card{border-left:4px solid #00a651}.tn-card-grid{align-items:center}.tn-card .tn-step{max-width:100%}}
/* v1.5 battery selector */
.tn-battery-picker{display:flex;align-items:center;gap:7px;min-width:330px}.tn-battery-select{max-width:330px;height:36px;border:2px solid #cbd5cf;border-radius:8px;background:#fff;padding:4px 9px;font-weight:700;color:#202623}.tn-battery-select:focus{outline:2px solid rgba(0,166,81,.2);border-color:#00a651}.tn-battery-hint{display:block;margin-top:3px;color:#68736e;font-size:11px;font-weight:500}.tn-name-main{font-weight:700}.tn-card-grid .tn-battery-picker{min-width:0;display:block}.tn-card-grid .tn-battery-select{width:100%;max-width:none;margin-bottom:7px}
@media(max-width:760px){.tn-battery-picker{display:block;min-width:0}.tn-battery-select{width:100%;max-width:none;margin-bottom:7px}.tn-card-grid{grid-template-columns:1fr 1fr}.tn-card-grid>div:first-child{grid-column:1/-1}}

/* v1.5.1 — compact premium table */
.tn-sc{max-width:1120px}
.tn-sc-head{padding:2px 2px 4px}
.tn-sc-head h2{font-size:28px}
.tn-sc-tabs{padding-bottom:10px}
.tn-sc-tab{padding:9px 14px;border-radius:10px}
.tn-sc-stats{gap:8px;margin-bottom:11px}
.tn-sc-stats>div{padding:10px 12px;border-radius:10px}
.tn-sc-mount{margin:9px 0 10px;padding:7px 9px;background:#f4f7f5;border:1px solid #e0e7e2;border-radius:11px}
.tn-sc-mount-label{font-size:13px}
.tn-sc-mount button{padding:7px 13px;border-radius:8px;background:#fff}
.tn-sc-note{margin:-1px 2px 9px;font-size:12px}
.tn-sc-table{border:1px solid #dce5df;border-radius:12px;box-shadow:0 4px 18px rgba(32,38,35,.055);table-layout:fixed}
.tn-sc-table th{padding:9px 10px;font-size:11px;letter-spacing:.15px;background:#202623}
.tn-sc-table th:nth-child(1){width:auto;text-align:left}
.tn-sc-table th:nth-child(2){width:135px;text-align:right}
.tn-sc-table th:nth-child(3){width:210px;text-align:center}
.tn-sc-table th:nth-child(4){width:145px;text-align:right}
.tn-sc-table td{padding:7px 10px;border-top:1px solid #edf1ee;font-size:13px;line-height:1.25}
.tn-sc-table tbody tr{transition:background .12s,box-shadow .12s}
.tn-sc-table tbody tr:hover{background:#f7fbf8;box-shadow:inset 3px 0 0 #00a651}
.tn-sc-table tbody tr:nth-child(even){background:#fcfdfc}
.tn-sc-table tbody tr.tn-row-special{background:#f6faf7}
.tn-sc-table tbody tr.tn-row-install{background:#eff9f3}
.tn-sc-table tbody tr.tn-row-install td{border-top-color:#d5ecdd}
.tn-sc-table .tn-name{min-width:0;font-weight:600;position:relative}
.tn-row-no{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-right:8px;border-radius:7px;background:#eef3f0;color:#65716b;font-size:10px;font-weight:800;vertical-align:middle}
.tn-name-wrap{display:inline;vertical-align:middle}
.tn-name-main{font-weight:750}
.tn-sc-table .tn-price{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:650;color:#34403a}
.tn-sc-table .tn-qty-cell{text-align:center}
.tn-sc-table .tn-sum{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:850;color:#1f2924}
.tn-auto{margin-left:6px;padding:2px 5px;background:#dff3e7;color:#008f4c;border:1px solid #c6e8d3;font-size:9px;letter-spacing:.3px}
.tn-step{gap:3px;justify-content:center}
.tn-step-btn{width:30px;height:30px;border:1px solid #cfdad3;border-radius:7px;font-size:18px;background:#fff}
.tn-step-btn:hover{border-color:#00a651;background:#f0fbf4;color:#008f4c}
.tn-qty{width:48px;height:30px;border:1px solid #cbd6cf;border-radius:7px;font-size:13px}
.tn-battery-picker{display:flex;justify-content:center;align-items:center;gap:6px;min-width:0}
.tn-battery-select{width:150px;max-width:150px;height:30px;border:1px solid #cbd6cf;border-radius:7px;padding:2px 6px;font-size:11px;font-weight:700}
.tn-battery-hint{font-size:10px;margin-top:2px;color:#6d7872}
.tn-sc-table .tn-row-battery .tn-name{padding-top:8px;padding-bottom:8px}
.tn-sc-table .tn-row-battery .tn-price{color:#008f4c}
.tn-sc-total{margin-top:11px}
.tn-sc-total>div{width:390px;padding:11px 14px;border-radius:12px}
.tn-sc-total>div>div{padding:5px 0}
.tn-sc-total .grand{padding-top:9px;font-size:20px}
.tn-sc-season{gap:7px;margin-top:9px}
.tn-sc-season>div{padding:8px 10px;border-radius:9px}
.tn-sc-season b{font-size:15px}
.tn-sc-action{margin-top:10px;padding:11px 14px;border-radius:12px}
.tn-sc-order{padding:11px 18px;border-radius:9px;font-size:14px}
@media(max-width:760px){
 .tn-sc-head h2{font-size:23px}
 .tn-sc-stats{gap:6px}
 .tn-sc-stats>div{padding:9px 10px}
 .tn-sc-table{display:none}
 .tn-card{padding:10px;margin:7px 0;border-radius:10px}
 .tn-card-grid{gap:6px;margin-top:7px}
 .tn-card-grid>div{padding:7px;border-radius:8px}
 .tn-battery-select{height:32px}
 .tn-sc-total>div{padding:10px 12px}
}
