:root{
  --sun:#FFB700;--amber:#FF7D00;--deep:#0A0E1A;--panel:#0D1528;
  --card:#111827;--border:#1E2D4A;--text:#E8EDF5;--muted:#6B7FA3;
  --green:#00E5A0;--blue:#0EA5E9;--purple:#8B5CF6;--red:#F87171;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{background:var(--deep);color:var(--text);font-family:'DM Sans',sans-serif;min-height:100vh;overflow-x:hidden;}
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(255,183,0,.08) 0%,transparent 60%),
  radial-gradient(ellipse 40% 40% at 90% 80%,rgba(14,165,233,.05) 0%,transparent 50%);}
.grid-bg{position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image:linear-gradient(rgba(30,45,74,.4) 1px,transparent 1px),linear-gradient(90deg,rgba(30,45,74,.4) 1px,transparent 1px);
  background-size:40px 40px;}
.container{max-width:1100px;margin:0 auto;padding:0 20px;position:relative;z-index:1;}

header{padding:28px 0 18px;text-align:center;border-bottom:1px solid var(--border);margin-bottom:36px;}
.logo{font-family:'Orbitron',sans-serif;font-size:1.8rem;font-weight:900;letter-spacing:.04em;color:var(--sun);
  text-shadow:0 0 40px rgba(255,183,0,.4);display:flex;align-items:center;justify-content:center;gap:12px;}
.logo svg{filter:drop-shadow(0 0 12px rgba(255,183,0,.6));}
.tagline{color:var(--muted);font-size:.86rem;margin-top:5px;letter-spacing:.08em;text-transform:uppercase;}
.ph-badge{display:inline-flex;align-items:center;gap:5px;background:rgba(0,229,160,.08);
  border:1px solid rgba(0,229,160,.2);border-radius:20px;padding:3px 14px;font-size:.7rem;color:var(--green);margin-top:7px;}
.header-actions{display:flex;justify-content:center;gap:10px;margin-top:12px;}
.gear-btn{display:inline-flex;align-items:center;gap:6px;background:rgba(139,92,246,.1);
  border:1px solid rgba(139,92,246,.3);color:var(--purple);border-radius:20px;
  padding:4px 14px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:'DM Sans',sans-serif;}
.gear-btn:hover{background:rgba(139,92,246,.2);border-color:var(--purple);}

/* Steps */
.steps-bar{display:flex;align-items:center;justify-content:center;margin-bottom:32px;}
.step-item{display:flex;align-items:center;gap:6px;font-size:.7rem;font-weight:500;color:var(--muted);
  text-transform:uppercase;letter-spacing:.06em;padding:0 9px;transition:color .3s;}
.step-item.active{color:var(--sun);}.step-item.done{color:var(--green);}
.step-num{width:22px;height:22px;border-radius:50%;border:1.5px solid currentColor;
  display:flex;align-items:center;justify-content:center;font-family:'Orbitron',sans-serif;font-size:.62rem;flex-shrink:0;}
.step-line{width:24px;height:1px;background:var(--border);}

.section{display:none;animation:fadeUp .4s ease;}.section.active{display:block;}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.section-title{font-family:'Orbitron',sans-serif;font-size:1rem;font-weight:700;color:var(--sun);margin-bottom:5px;letter-spacing:.05em;}
.section-sub{color:var(--muted);font-size:.84rem;margin-bottom:22px;}

/* System type cards */
.system-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px;margin-bottom:26px;}
.system-card{background:var(--card);border:2px solid var(--border);border-radius:17px;padding:22px;
  cursor:pointer;transition:all .25s;position:relative;overflow:hidden;}
.system-card::before{content:'';position:absolute;inset:0;opacity:0;transition:opacity .3s;}
.system-card.gridtie::before{background:radial-gradient(circle at top right,rgba(0,229,160,.06),transparent 60%);}
.system-card.offgrid::before{background:radial-gradient(circle at top right,rgba(255,183,0,.06),transparent 60%);}
.system-card.hybrid::before{background:radial-gradient(circle at top right,rgba(139,92,246,.06),transparent 60%);}
.system-card:hover::before,.system-card.selected::before{opacity:1;}
.system-card.selected.gridtie{border-color:var(--green);}
.system-card.selected.offgrid{border-color:var(--sun);}
.system-card.selected.hybrid{border-color:var(--purple);}
.system-card:hover{transform:translateY(-3px);}
.system-badge{display:inline-flex;align-items:center;gap:6px;font-size:.68rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.1em;padding:3px 10px;border-radius:20px;margin-bottom:12px;}
.gridtie .system-badge{background:rgba(0,229,160,.12);color:var(--green);}
.offgrid .system-badge{background:rgba(255,183,0,.12);color:var(--sun);}
.hybrid .system-badge{background:rgba(139,92,246,.12);color:var(--purple);}
.system-icon{font-size:1.9rem;margin-bottom:9px;}
.system-name{font-family:'Orbitron',sans-serif;font-size:.9rem;font-weight:700;margin-bottom:8px;}
.system-desc{font-size:.8rem;color:var(--muted);line-height:1.6;margin-bottom:13px;}
.system-pros{list-style:none;display:flex;flex-direction:column;gap:4px;}
.system-pros li{font-size:.76rem;color:var(--muted);display:flex;align-items:center;gap:5px;}
.system-pros li::before{content:'✓';color:var(--green);font-weight:700;}
.selected-check{position:absolute;top:13px;right:13px;width:20px;height:20px;border-radius:50%;
  background:var(--green);display:none;align-items:center;justify-content:center;font-size:.7rem;color:#000;font-weight:700;}
.system-card.selected .selected-check{display:flex;}

/* Equipment select */
.equip-select-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-bottom:22px;}
.equip-select-card{background:var(--card);border:1.5px solid var(--border);border-radius:15px;padding:19px;}
.equip-select-title{font-family:'Orbitron',sans-serif;font-size:.8rem;font-weight:700;color:var(--sun);
  margin-bottom:13px;display:flex;align-items:center;gap:7px;}
.price-tag{display:inline-block;background:rgba(255,183,0,.1);color:var(--sun);
  border:1px solid rgba(255,183,0,.2);border-radius:6px;padding:2px 7px;font-size:.68rem;font-weight:600;margin-left:auto;white-space:nowrap;}
.price-tag.green{background:rgba(0,229,160,.1);color:var(--green);border-color:rgba(0,229,160,.2);}
.price-tag.blue{background:rgba(14,165,233,.1);color:var(--blue);border-color:rgba(14,165,233,.2);}
.option-list{display:flex;flex-direction:column;gap:6px;}
.option-item{display:flex;align-items:flex-start;gap:9px;padding:9px 11px;background:var(--panel);
  border:1.5px solid var(--border);border-radius:9px;cursor:pointer;transition:all .18s;}
.option-item:hover{border-color:rgba(255,183,0,.3);}
.option-item.selected-opt{border-color:var(--sun);background:rgba(255,183,0,.05);}
.option-item input[type=radio]{margin-top:3px;accent-color:var(--sun);flex-shrink:0;cursor:pointer;}
.option-info{flex:1;}
.option-name{font-size:.82rem;font-weight:600;color:var(--text);}
.option-spec{font-size:.71rem;color:var(--muted);margin-top:2px;line-height:1.4;}
.option-price{font-family:'Orbitron',sans-serif;font-size:.76rem;color:var(--sun);margin-top:3px;}
.affiliate-link{display:inline-flex;align-items:center;gap:5px;margin-top:7px;padding:4px 10px;border-radius:999px;background:rgba(0,229,160,.10);border:1px solid rgba(0,229,160,.28);color:var(--green);font-size:.68rem;font-weight:700;text-decoration:none;}
.affiliate-link:hover{background:rgba(0,229,160,.18);border-color:var(--green);}
.affiliate-link.small{font-size:.66rem;padding:3px 8px;margin-top:0;}
.affiliate-muted{font-size:.69rem;color:var(--muted);margin-top:4px;}

/* Environment & Load */
.env-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:13px;margin-bottom:26px;}
.env-card{background:var(--card);border:1.5px solid var(--border);border-radius:13px;padding:17px;}
.env-label{font-size:.76rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;}
.select-input,.text-input,.num-input-lg{width:100%;background:var(--panel);border:1px solid var(--border);
  border-radius:8px;color:var(--text);font-family:'DM Sans',sans-serif;font-size:.86rem;
  padding:9px 12px;outline:none;transition:border-color .2s;-webkit-appearance:none;}
.select-input:focus,.text-input:focus,.num-input-lg:focus{border-color:var(--sun);}
.num-input-lg{text-align:right;font-size:1rem;}

/* Load preset buttons */
.load-presets{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px;}
.preset-btn{background:var(--panel);border:1.5px solid var(--border);border-radius:8px;
  color:var(--muted);font-family:'DM Sans',sans-serif;font-size:.78rem;font-weight:600;
  padding:6px 14px;cursor:pointer;transition:all .18s;}
.preset-btn:hover,.preset-btn.active{border-color:var(--sun);color:var(--sun);background:rgba(255,183,0,.06);}

/* Results */
.results-header{text-align:center;margin-bottom:28px;}
.results-title{font-family:'Orbitron',sans-serif;font-size:1.4rem;font-weight:900;color:var(--sun);margin-bottom:7px;}
.results-sub{color:var(--muted);font-size:.82rem;line-height:1.6;}
.results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px;margin-bottom:22px;}
.result-card{background:var(--card);border:1.5px solid var(--border);border-radius:13px;padding:20px;position:relative;overflow:hidden;}
.result-card::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--sun),var(--amber));}
.result-card.green-top::after{background:linear-gradient(90deg,var(--green),#00b8d4);}
.result-card.blue-top::after{background:linear-gradient(90deg,var(--blue),var(--purple));}
.result-card.purple-top::after{background:linear-gradient(90deg,var(--purple),var(--amber));}
.result-card.red-top::after{background:linear-gradient(90deg,var(--red),var(--amber));}
.result-icon{font-size:1.4rem;margin-bottom:7px;}
.result-label{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px;}
.result-val{font-family:'Orbitron',sans-serif;font-size:1.3rem;font-weight:700;color:var(--text);line-height:1;}
.result-unit{font-size:.8rem;color:var(--muted);margin-top:3px;}
.result-note{font-size:.74rem;color:var(--muted);margin-top:7px;line-height:1.5;}

.equip-section{background:var(--card);border:1.5px solid var(--border);border-radius:13px;padding:20px;margin-bottom:16px;}
.equip-title{font-family:'Orbitron',sans-serif;font-size:.85rem;font-weight:700;color:var(--sun);margin-bottom:15px;display:flex;align-items:center;gap:7px;}
table{width:100%;border-collapse:collapse;}
th{text-align:left;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:6px 10px;border-bottom:1px solid var(--border);}
td{padding:10px 10px;font-size:.83rem;border-bottom:1px solid rgba(30,45,74,.5);}
tr:last-child td{border-bottom:none;}
td:last-child{color:var(--sun);font-weight:600;text-align:right;}
th:last-child{text-align:right;}
.td-name{color:var(--text);font-weight:500;}
.td-spec{color:var(--muted);font-size:.76rem;}
.breaker-row td{border-bottom:1px solid rgba(248,113,113,.15);}
.breaker-header{background:rgba(248,113,113,.07);color:var(--red) !important;font-family:'Orbitron',sans-serif;font-size:.72rem !important;}

.cost-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid rgba(30,45,74,.5);}
.cost-row:last-of-type{border-bottom:none;}
.cost-row.total{padding-top:13px;border-top:2px solid var(--border);border-bottom:none;}
.cost-name{font-size:.83rem;color:var(--muted);}
.cost-name.bold{color:var(--text);font-weight:600;font-size:.9rem;}
.cost-amount{font-family:'Orbitron',sans-serif;font-size:.88rem;color:var(--text);}
.cost-amount.big{font-size:1.2rem;color:var(--sun);}
.roi-bar-wrap{background:var(--panel);border-radius:8px;height:9px;margin-top:6px;overflow:hidden;}
.roi-bar{height:100%;background:linear-gradient(90deg,var(--green),var(--blue));border-radius:8px;transition:width 1.2s cubic-bezier(.4,0,.2,1);}

.btn{display:inline-flex;align-items:center;gap:7px;padding:11px 24px;border-radius:10px;
  font-family:'DM Sans',sans-serif;font-size:.86rem;font-weight:600;cursor:pointer;border:none;transition:all .2s;}
.btn-primary{background:linear-gradient(135deg,var(--sun),var(--amber));color:#0A0E1A;}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(255,183,0,.3);}
.btn-primary:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none;}
.btn-ghost{background:transparent;color:var(--muted);border:1.5px solid var(--border);}
.btn-ghost:hover{border-color:var(--muted);color:var(--text);}
.btn-group{display:flex;gap:9px;justify-content:flex-end;flex-wrap:wrap;}
.rec-badge{display:inline-flex;align-items:center;gap:5px;background:rgba(0,229,160,.1);color:var(--green);
  border:1px solid rgba(0,229,160,.2);border-radius:20px;padding:4px 13px;font-size:.7rem;
  font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:18px;}
.warn-banner{background:rgba(255,183,0,.07);border:1px solid rgba(255,183,0,.2);border-radius:9px;
  padding:11px 15px;font-size:.79rem;color:#FFD97D;margin-bottom:12px;display:flex;gap:8px;align-items:flex-start;line-height:1.5;}
.info-banner{background:rgba(14,165,233,.07);border:1px solid rgba(14,165,233,.2);border-radius:9px;
  padding:11px 15px;font-size:.78rem;color:#7dd3fc;margin-bottom:16px;line-height:1.5;}
.print-btn{position:fixed;bottom:20px;right:20px;background:var(--sun);color:var(--deep);border:none;
  border-radius:50px;padding:10px 18px;font-family:'DM Sans',sans-serif;font-size:.8rem;font-weight:700;
  cursor:pointer;display:none;align-items:center;gap:6px;box-shadow:0 4px 20px rgba(255,183,0,.35);
  z-index:100;transition:transform .2s;}
.print-btn:hover{transform:scale(1.04);}

/* Diagram */
.diagram-wrap{background:var(--panel);border:1.5px solid var(--border);border-radius:13px;overflow:hidden;margin-bottom:16px;}
.diagram-tab-bar{display:flex;border-bottom:1px solid var(--border);}
.diagram-tab{padding:10px 20px;font-size:.78rem;font-weight:600;color:var(--muted);cursor:pointer;transition:all .2s;border-bottom:2px solid transparent;}
.diagram-tab.active{color:var(--sun);border-bottom-color:var(--sun);}
.diagram-tab:hover{color:var(--text);}
.diagram-panel{display:none;padding:10px;}.diagram-panel.active{display:block;}

/* ═══ CUSTOMIZE MODAL ═══════════════════════════════════════ */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(10,14,26,.88);z-index:300;
  align-items:flex-start;justify-content:center;overflow-y:auto;padding:20px;}
.modal-overlay.open{display:flex;}
.modal-big{background:var(--card);border:1.5px solid var(--border);border-radius:17px;
  padding:28px;width:100%;max-width:860px;animation:fadeUp .25s ease;margin:auto;}
.modal-big h2{font-family:'Orbitron',sans-serif;font-size:1rem;color:var(--sun);margin-bottom:6px;}
.modal-big .modal-sub{color:var(--muted);font-size:.8rem;margin-bottom:22px;}
.cust-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:20px;}
.cust-tab{padding:8px 18px;font-size:.78rem;font-weight:600;color:var(--muted);cursor:pointer;
  border-bottom:2px solid transparent;transition:all .2s;}
.cust-tab.active{color:var(--sun);border-bottom-color:var(--sun);}
.cust-panel{display:none;}.cust-panel.active{display:block;}
.cust-section-title{font-family:'Orbitron',sans-serif;font-size:.78rem;color:var(--sun);margin:16px 0 10px;}
.prod-table{width:100%;border-collapse:collapse;font-size:.82rem;}
.prod-table th{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;
  padding:6px 8px;border-bottom:1px solid var(--border);text-align:left;}
.prod-table td{padding:7px 8px;border-bottom:1px solid rgba(30,45,74,.4);}
.prod-table tr:last-child td{border-bottom:none;}
.prod-table input{background:var(--panel);border:1px solid var(--border);border-radius:6px;
  color:var(--text);font-family:'DM Sans',sans-serif;font-size:.8rem;padding:4px 8px;
  outline:none;transition:border-color .2s;}
.prod-table input:focus{border-color:var(--sun);}
.prod-table input.w-full{width:100%;}
.prod-table input.w-80{width:80px;}
.prod-table input.w-100{width:100px;}
.add-row-btn{display:inline-flex;align-items:center;gap:5px;background:rgba(0,229,160,.08);
  border:1px solid rgba(0,229,160,.2);color:var(--green);border-radius:8px;padding:5px 12px;
  font-size:.76rem;font-weight:600;cursor:pointer;margin-top:9px;font-family:'DM Sans',sans-serif;transition:all .2s;}
.add-row-btn:hover{background:rgba(0,229,160,.15);}
.del-btn{background:rgba(248,113,113,.1);border:1px solid rgba(248,113,113,.2);color:var(--red);
  border-radius:5px;padding:3px 8px;font-size:.7rem;cursor:pointer;font-family:'DM Sans',sans-serif;}
.del-btn:hover{background:rgba(248,113,113,.2);}
.rates-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.rate-item{background:var(--panel);border:1px solid var(--border);border-radius:9px;padding:14px;}
.rate-label{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;}
.rate-input{width:100%;background:var(--deep);border:1px solid var(--border);border-radius:7px;
  color:var(--sun);font-family:'Orbitron',sans-serif;font-size:.9rem;padding:8px 10px;
  outline:none;transition:border-color .2s;text-align:right;}
.rate-input:focus{border-color:var(--sun);}
.save-btn{background:linear-gradient(135deg,var(--sun),var(--amber));color:#0A0E1A;border:none;
  border-radius:10px;padding:10px 24px;font-family:'DM Sans',sans-serif;font-size:.86rem;
  font-weight:700;cursor:pointer;transition:all .2s;}
.save-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(255,183,0,.3);}
.saved-msg{color:var(--green);font-size:.78rem;display:none;margin-left:10px;}
.reset-link{color:var(--red);font-size:.72rem;cursor:pointer;margin-left:auto;opacity:.7;}
.reset-link:hover{opacity:1;}


/* Advanced interactive installation designer — wide professional jobsite view */
body.designer-fullscreen{overflow:hidden;}
#designerSection{position:relative;}
.designer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:12px;}
.designer-head .info-banner{flex:1;min-width:280px;margin-bottom:0;}
.install-designer{display:grid;grid-template-columns:240px minmax(720px,1fr) 300px;gap:16px;min-height:760px;}
.parts-bin,.design-side{background:linear-gradient(180deg,rgba(13,21,40,.98),rgba(10,14,26,.96));border:1px solid var(--border);border-radius:16px;padding:14px;overflow:auto;box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 18px 40px rgba(0,0,0,.18);}
.parts-bin{max-height:820px;}
.design-side{max-height:820px;}
.parts-title,.side-title{font-family:'Orbitron',sans-serif;font-size:.74rem;color:var(--sun);margin-bottom:10px;text-transform:uppercase;letter-spacing:.08em;}
.parts-sub{font-size:.7rem;color:var(--muted);line-height:1.45;margin:-4px 0 10px;}
.part-chip{background:linear-gradient(135deg,rgba(17,24,39,.98),rgba(13,21,40,.98));border:1.5px solid var(--border);border-radius:12px;padding:10px 11px;margin-bottom:8px;font-size:.78rem;cursor:grab;color:var(--text);transition:all .15s;display:flex;align-items:center;gap:8px;box-shadow:0 8px 18px rgba(0,0,0,.12);}
.part-chip:hover{border-color:var(--sun);transform:translateX(3px);box-shadow:0 0 0 2px rgba(255,183,0,.06),0 10px 22px rgba(0,0,0,.2);}
.part-chip:active{cursor:grabbing;}
.design-board-wrap{background:var(--panel);border:1px solid var(--border);border-radius:16px;overflow:hidden;min-width:0;box-shadow:0 20px 50px rgba(0,0,0,.22);}
.design-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:11px 12px;border-bottom:1px solid var(--border);background:linear-gradient(90deg,rgba(10,14,26,.9),rgba(17,24,39,.82));}
.toolbar-spacer{flex:1;}
.mini-btn{background:rgba(255,183,0,.1);border:1px solid rgba(255,183,0,.28);color:var(--sun);border-radius:9px;padding:7px 11px;font-family:'DM Sans',sans-serif;font-size:.73rem;font-weight:700;cursor:pointer;white-space:nowrap;}
.mini-btn:hover{background:rgba(255,183,0,.18);transform:translateY(-1px);}.mini-btn.good{background:rgba(0,229,160,.1);border-color:rgba(0,229,160,.25);color:var(--green);}.mini-btn.danger{background:rgba(248,113,113,.1);border-color:rgba(248,113,113,.25);color:var(--red);}.mini-btn.blue{background:rgba(14,165,233,.1);border-color:rgba(14,165,233,.25);color:#7dd3fc;}
.design-board{position:relative;height:700px;background-color:#07101f;background-image:radial-gradient(circle at 18% 18%,rgba(147,51,234,.12),transparent 26%),radial-gradient(circle at 78% 58%,rgba(14,165,233,.10),transparent 30%),linear-gradient(rgba(30,45,74,.55) 1px,transparent 1px),linear-gradient(90deg,rgba(30,45,74,.55) 1px,transparent 1px);background-size:100% 100%,100% 100%,25px 25px,25px 25px;overflow:hidden;}
.design-board::before{content:'PV DC AREA';position:absolute;top:14px;left:16px;color:rgba(147,51,234,.55);font-family:'Orbitron',sans-serif;font-size:.7rem;letter-spacing:.1em;z-index:0;}
.design-board::after{content:'AC / LOAD AREA';position:absolute;top:14px;right:16px;color:rgba(245,158,11,.55);font-family:'Orbitron',sans-serif;font-size:.7rem;letter-spacing:.1em;z-index:0;}
.board-label-battery{position:absolute;left:16px;bottom:14px;color:rgba(0,229,160,.5);font-family:'Orbitron',sans-serif;font-size:.7rem;letter-spacing:.1em;z-index:0;pointer-events:none;}
.board-label-ground{position:absolute;right:16px;bottom:14px;color:rgba(22,163,74,.62);font-family:'Orbitron',sans-serif;font-size:.7rem;letter-spacing:.1em;z-index:0;pointer-events:none;}
#designWireLayer{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;}
.drag-wire-preview{fill:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:9 7;filter:drop-shadow(0 0 8px rgba(255,183,0,.35));animation:previewDash .85s linear infinite;}
.drag-wire-preview-shadow{fill:none;stroke:rgba(0,0,0,.45);stroke-width:9;stroke-linecap:round;stroke-linejoin:round;}
@keyframes previewDash{to{stroke-dashoffset:-32;}}
.dd-term.connect-source{transform:scale(1.3);box-shadow:0 0 0 3px var(--sun),0 0 18px rgba(255,183,0,.6);}
.dd-term.connect-target-ok{box-shadow:0 0 0 3px var(--green),0 0 18px rgba(0,229,160,.55);}
.dd-term.connect-target-bad{box-shadow:0 0 0 3px var(--red),0 0 18px rgba(248,113,113,.55);}
.drag-connect-hint{background:rgba(255,183,0,.08);border:1px solid rgba(255,183,0,.22);color:#FFD97D;border-radius:10px;padding:9px 10px;font-size:.72rem;line-height:1.45;margin-bottom:12px;}
.design-device{position:absolute;width:150px;min-height:96px;background:linear-gradient(180deg,#111827,#0b1220);border:1.8px solid var(--border);border-radius:14px;z-index:5;cursor:move;box-shadow:0 14px 28px rgba(0,0,0,.34);overflow:visible;}
.design-device.selected{outline:3px solid var(--blue);box-shadow:0 0 0 6px rgba(14,165,233,.12),0 18px 36px rgba(0,0,0,.36);}
.dd-head{padding:8px 9px;background:linear-gradient(90deg,rgba(255,183,0,.16),rgba(255,125,0,.08));border-bottom:1px solid var(--border);border-radius:12px 12px 0 0;text-align:center;font-size:.72rem;font-weight:800;color:var(--sun);}
.dd-body{text-align:center;padding:11px 9px;font-size:.73rem;color:var(--muted);}.dd-icon{font-size:1.65rem;margin-bottom:5px;}
.dd-term{position:absolute;width:16px;height:16px;border-radius:50%;border:2px solid #0A0E1A;box-shadow:0 0 0 2px rgba(255,255,255,.45);cursor:crosshair;z-index:7;}
.dd-term:hover{transform:scale(1.18);}.term-left{left:-8px;top:44%;}.term-right{right:-8px;top:44%;}.term-top{top:-8px;left:44%;}.term-bottom{bottom:-8px;left:44%;}
.term-left-top{left:-8px;top:26%;}.term-left-bottom{left:-8px;top:62%;}.term-right-top{right:-8px;top:26%;}.term-right-bottom{right:-8px;top:62%;}.term-top-left{top:-8px;left:30%;}.term-top-right{top:-8px;left:60%;}.term-bottom-left{bottom:-8px;left:30%;}.term-bottom-right{bottom:-8px;left:60%;}
.term-pvpos{background:#dc2626}.term-pvneg{background:#2563eb}.term-batpos{background:#ef4444}.term-batneg{background:#3b82f6}.term-acl{background:#f59e0b}.term-acn{background:#e5e7eb}.term-pv{background:#9333ea}.term-bat{background:#ef4444}.term-ac{background:#f59e0b}.term-gnd{background:#16a34a}.term-neutral{background:#3b82f6}
.design-status{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:10px;font-size:.74rem;line-height:1.45;color:var(--muted);margin-bottom:12px;}.design-status.good{background:rgba(0,229,160,.08);border-color:rgba(0,229,160,.25);color:var(--green);}.design-status.bad{background:rgba(248,113,113,.08);border-color:rgba(248,113,113,.25);color:var(--red);}.design-status.warn{background:rgba(255,183,0,.08);border-color:rgba(255,183,0,.25);color:#FFD97D;}
.wire-legend{font-size:.73rem;color:var(--muted);margin:7px 0}.wire-legend span{display:inline-block;width:18px;height:4px;border-radius:3px;margin-right:7px;vertical-align:middle}.wire-legend .pvpos{background:#dc2626}.wire-legend .pvneg{background:#2563eb}.wire-legend .pvseries{background:#fb7185}.wire-legend .batpos{background:#ef4444}.wire-legend .batneg{background:#3b82f6}.wire-legend .acl{background:#f59e0b}.wire-legend .acn{background:#e5e7eb}.wire-legend .gnd{background:#16a34a}

/* Realistic wiring simulation upgrade */
.sim-panel{background:linear-gradient(180deg,rgba(17,24,39,.98),rgba(13,21,40,.98));border:1px solid var(--border);border-radius:12px;padding:11px;margin:12px 0;}
.sim-title{font-family:'Orbitron',sans-serif;font-size:.72rem;color:var(--sun);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;}
.sim-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:8px;}
.sim-pill{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--panel);border:1px solid var(--border);border-radius:9px;padding:7px 9px;font-size:.72rem;color:var(--muted);}
.sim-pill strong{color:var(--text);font-family:'Orbitron',sans-serif;font-size:.72rem;}
.sim-slider{width:100%;accent-color:var(--sun);}
.cable-path{fill:none;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px rgba(0,0,0,.35));}
.cable-shadow{fill:none;stroke:rgba(0,0,0,.42);stroke-width:8;stroke-linecap:round;stroke-linejoin:round;}
.cable-label{font-family:'DM Sans',sans-serif;font-size:10px;font-weight:800;paint-order:stroke;stroke:#07101f;stroke-width:3px;}
.flow-dot{filter:drop-shadow(0 0 6px currentColor);opacity:0;}
.sim-running .flow-dot{opacity:1;}
.sim-running .cable-active{stroke-dasharray:12 9;animation:cableFlow 1.1s linear infinite;}
.sim-night .pvpos-cable .flow-dot,.sim-night .pvneg-cable .flow-dot,.sim-cloud .pvpos-cable .flow-dot,.sim-cloud .pvneg-cable .flow-dot{opacity:.35;}
.sim-fault .cable-active{animation:none;stroke-dasharray:4 7;}
@keyframes cableFlow{to{stroke-dashoffset:-42;}}
.design-device.energized{box-shadow:0 0 0 4px rgba(0,229,160,.14),0 0 28px rgba(0,229,160,.2),0 14px 28px rgba(0,0,0,.34);border-color:rgba(0,229,160,.65);}
.design-device.faulted{box-shadow:0 0 0 4px rgba(248,113,113,.18),0 0 28px rgba(248,113,113,.24),0 14px 28px rgba(0,0,0,.34);border-color:rgba(248,113,113,.78);}
.device-meter{position:absolute;right:8px;bottom:6px;font-size:.58rem;color:var(--green);background:rgba(0,229,160,.08);border:1px solid rgba(0,229,160,.2);border-radius:12px;padding:2px 6px;}
.device-led{position:absolute;top:7px;right:8px;width:8px;height:8px;border-radius:50%;background:#4b5563;box-shadow:0 0 0 2px rgba(0,0,0,.18);}
.design-device.energized .device-led{background:var(--green);box-shadow:0 0 10px var(--green);}
.design-device.faulted .device-led{background:var(--red);box-shadow:0 0 10px var(--red);}
.terminal-name{position:absolute;white-space:nowrap;font-size:.58rem;font-weight:800;color:var(--text);background:rgba(7,16,31,.9);border:1px solid rgba(255,255,255,.12);border-radius:5px;padding:1px 4px;pointer-events:none;z-index:8;}
.term-left + .terminal-name{left:10px;top:41%;}.term-right + .terminal-name{right:10px;top:41%;}.term-top + .terminal-name{top:10px;left:38%;}.term-bottom + .terminal-name{bottom:10px;left:38%;}
.term-left-top + .terminal-name{left:10px;top:22%;}.term-left-bottom + .terminal-name{left:10px;top:58%;}.term-right-top + .terminal-name{right:10px;top:22%;}.term-right-bottom + .terminal-name{right:10px;top:58%;}.term-top-left + .terminal-name{top:10px;left:24%;}.term-top-right + .terminal-name{top:10px;left:54%;}.term-bottom-left + .terminal-name{bottom:10px;left:24%;}.term-bottom-right + .terminal-name{bottom:10px;left:54%;}
.board-zone{position:absolute;border:1px dashed rgba(255,255,255,.08);border-radius:16px;background:rgba(255,255,255,.018);pointer-events:none;z-index:0;}
.zone-pv{left:10px;top:42px;width:33%;height:38%;border-color:rgba(147,51,234,.18)}
.zone-power{left:36%;top:42px;width:28%;height:72%;border-color:rgba(14,165,233,.18)}
.zone-ac{right:10px;top:42px;width:33%;height:38%;border-color:rgba(245,158,11,.18)}
.zone-battery{left:10px;bottom:42px;width:42%;height:34%;border-color:rgba(239,68,68,.18)}
.zone-ground{right:10px;bottom:42px;width:42%;height:34%;border-color:rgba(22,163,74,.18)}
.sim-log{max-height:150px;overflow:auto;background:#07101f;border:1px solid var(--border);border-radius:10px;padding:8px;font-size:.7rem;line-height:1.45;color:var(--muted);}
.sim-log div{border-bottom:1px solid rgba(30,45,74,.45);padding:3px 0;}.sim-log div:last-child{border-bottom:none;}

.engineering-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;}.eng-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:14px;}.eng-card h4,.subhead{font-family:'Orbitron',sans-serif;color:var(--sun);font-size:.78rem;margin-bottom:10px;}.eng-card label{display:block;font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:8px 0 4px}.eng-input{width:100%;background:var(--deep);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:7px 9px;font-family:'DM Sans',sans-serif;}.two{display:grid;grid-template-columns:1fr 1fr;gap:7px;}.eng-result{margin-top:10px;font-size:.74rem;color:var(--muted);line-height:1.45;background:var(--card);border:1px solid var(--border);border-radius:8px;padding:9px;}.eng-result.good{color:var(--green);border-color:rgba(0,229,160,.25)}.eng-result.bad{color:var(--red);border-color:rgba(248,113,113,.25)}.eng-result.warn{color:#FFD97D;border-color:rgba(255,183,0,.25)}
.bom-grid{display:grid;grid-template-columns:1.3fr .9fr;gap:16px;}.checklist{display:grid;gap:7px}.checkitem{background:var(--panel);border:1px solid var(--border);border-radius:9px;padding:8px 10px;font-size:.75rem;color:var(--muted);display:flex;gap:8px;align-items:flex-start}.checkitem::before{content:'☐';color:var(--sun);font-weight:700;}.checkitem.critical::before{color:var(--red)}
@media(max-width:1200px){.install-designer{grid-template-columns:220px 1fr}.design-side{grid-column:1 / -1;display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:12px}.design-board{height:650px}}
@media(max-width:980px){.install-designer{grid-template-columns:1fr}.parts-bin{max-height:none}.design-side{display:block}.design-board{height:640px}.bom-grid{grid-template-columns:1fr}}
body.designer-fullscreen #designerSection{position:fixed;inset:10px;z-index:500;background:var(--deep);overflow:auto;padding:16px;border:1px solid var(--border);border-radius:18px;box-shadow:0 35px 90px rgba(0,0,0,.7);}
body.designer-fullscreen #designerSection .install-designer{grid-template-columns:260px minmax(820px,1fr) 330px;min-height:calc(100vh - 150px);}
body.designer-fullscreen #designerSection .design-board{height:calc(100vh - 150px);min-height:720px;}


.front-designer-card{background:linear-gradient(135deg,rgba(255,183,0,.09),rgba(14,165,233,.06));border:1.5px solid rgba(255,183,0,.24);border-radius:17px;padding:18px;margin:0 0 22px;display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;box-shadow:0 18px 45px rgba(0,0,0,.16);}
.front-designer-title{font-family:'Orbitron',sans-serif;color:var(--sun);font-size:.92rem;font-weight:800;margin-bottom:5px;letter-spacing:.05em;}
.front-designer-text{font-size:.8rem;color:var(--muted);line-height:1.55;max-width:720px;}
.front-designer-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end;}
.manual-wire-panel{background:rgba(13,21,40,.86);border:1px solid var(--border);border-radius:12px;padding:11px;margin:10px 0 13px;}
.manual-wire-panel .mw-title{font-family:'Orbitron',sans-serif;font-size:.68rem;color:var(--sun);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;}
.manual-wire-panel select{width:100%;background:var(--panel);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:7px 8px;margin-bottom:7px;font-size:.72rem;outline:none;}
.manual-wire-grid{display:grid;grid-template-columns:1fr;gap:6px;}
.quick-wire-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;}
.wire-mode-hint{font-size:.68rem;color:var(--muted);line-height:1.4;margin-top:6px;}
.prot-option{display:flex;align-items:center;gap:7px;padding:6px 7px;margin:4px 0;background:rgba(10,14,26,.46);border:1px solid rgba(30,45,74,.75);border-radius:8px;font-size:.72rem;color:var(--text);cursor:pointer;}
.prot-option input{accent-color:var(--sun);}
.diagram-flow-label{position:absolute;z-index:3;pointer-events:none;font-family:'DM Sans',sans-serif;font-size:.66rem;font-weight:900;letter-spacing:.03em;color:var(--sun);background:rgba(7,16,31,.88);border:1px solid rgba(255,183,0,.22);border-radius:999px;padding:3px 8px;text-shadow:0 1px 0 #000;}
.diagram-flow-label.ac{color:var(--green);border-color:rgba(0,229,160,.25);}
.diagram-flow-label.batt{color:var(--purple);border-color:rgba(139,92,246,.28);}
.diagram-flow-label.gnd{color:var(--green);border-color:rgba(22,163,74,.28);}
.diagram-flow-label.protect{color:var(--red);border-color:rgba(248,113,113,.28);}
@media(max-width:760px){.front-designer-card{grid-template-columns:1fr}.front-designer-actions{justify-content:flex-start}}

/* Realistic print mockup */
.print-mockup-section{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));}
.mockup-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin-bottom:14px;}
.print-sheet{background:#ffffff;color:#0f172a;border-radius:22px;padding:26px;border:1px solid #dbe4f0;box-shadow:0 24px 60px rgba(0,0,0,.25);}
.print-sheet *{color:inherit;}
.sheet-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:16px;border-bottom:2px solid #e5e7eb;margin-bottom:18px;}
.sheet-brand{font-family:'Orbitron',sans-serif;font-size:1.2rem;font-weight:900;color:#f59e0b;letter-spacing:.03em;}
.sheet-sub{font-size:.8rem;color:#475569;line-height:1.55;margin-top:6px;max-width:540px;}
.sheet-badge{display:inline-flex;align-items:center;gap:6px;background:#ecfeff;border:1px solid #bae6fd;color:#0369a1;border-radius:999px;padding:5px 12px;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;}
.sheet-meta{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:10px;}
.sheet-meta .meta-box{background:#f8fafc;border:1px solid #dbe4f0;border-radius:14px;padding:10px 12px;}
.sheet-meta .meta-label{font-size:.63rem;color:#64748b;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;}
.sheet-meta .meta-val{font-size:.82rem;font-weight:700;color:#0f172a;}
.sheet-grid{display:grid;grid-template-columns:1.25fr .95fr;gap:16px;margin-top:12px;}
.sheet-card{background:#f8fafc;border:1px solid #dbe4f0;border-radius:18px;padding:16px;}
.sheet-card h4{font-family:'Orbitron',sans-serif;font-size:.8rem;color:#0f172a;margin-bottom:10px;}
.sheet-card p,.sheet-card li,.sheet-card td,.sheet-card th{color:#334155;}
.sheet-card ul{padding-left:18px;display:grid;gap:6px;}
.sheet-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.sheet-kpi{background:#ffffff;border:1px solid #dbe4f0;border-radius:14px;padding:12px;}
.sheet-kpi .kpi-label{font-size:.66rem;color:#64748b;text-transform:uppercase;letter-spacing:.06em;}
.sheet-kpi .kpi-val{font-family:'Orbitron',sans-serif;font-size:1rem;color:#0f172a;margin-top:4px;}
.sheet-diagram{background:#0D1528;border-radius:16px;padding:10px;border:1px solid #cbd5e1;overflow:hidden;}
.sheet-mini-table{width:100%;border-collapse:collapse;}
.sheet-mini-table th,.sheet-mini-table td{font-size:.75rem;padding:7px 8px;border-bottom:1px solid #dbe4f0;text-align:left;}
.sheet-mini-table th:last-child,.sheet-mini-table td:last-child{text-align:right;}
.sheet-mini-table tr:last-child td{border-bottom:none;}
.sheet-wiring{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.sheet-wire-box{background:#ffffff;border:1px solid #dbe4f0;border-radius:14px;padding:11px 12px;}
.sheet-wire-title{font-size:.72rem;font-weight:800;color:#0f172a;margin-bottom:6px;}
.sheet-wire-note{font-size:.74rem;color:#475569;line-height:1.45;}
.sheet-footer{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px;}
.sheet-sign{padding-top:16px;border-top:1.5px solid #cbd5e1;font-size:.72rem;color:#475569;min-height:54px;}
.sheet-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.sheet-legend span{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #dbe4f0;border-radius:999px;padding:4px 10px;font-size:.68rem;color:#334155;font-weight:700;}
.sheet-legend i{display:inline-block;width:18px;height:4px;border-radius:999px;}
.sheet-note{margin-top:12px;padding:12px 14px;border-radius:14px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:.74rem;line-height:1.5;}
@media(max-width:900px){.sheet-grid{grid-template-columns:1fr}.sheet-footer,.sheet-meta,.sheet-wiring,.sheet-kpis{grid-template-columns:1fr;}}

@media(max-width:620px){
  .logo{font-size:1.2rem;}
  .step-item{padding:0 4px;font-size:.6rem;}
  .step-line{width:10px;}
  .step-item .label{display:none;}
  .rates-grid{grid-template-columns:1fr;}
}

.mockup-3d-hero{background:linear-gradient(180deg,#eef6ff,#ffffff);border:1px solid #dbe4f0;border-radius:18px;padding:14px;margin-bottom:14px;}
.mockup-3d-grid{display:grid;grid-template-columns:1.35fr .9fr;gap:14px;align-items:start;}
.mockup-3d-image-wrap{background:#eaf1fb;border:1px solid #d5e0ef;border-radius:16px;padding:10px;}
.mockup-3d-image{display:block;width:100%;height:auto;border-radius:12px;box-shadow:0 12px 24px rgba(0,0,0,.12);}
.mockup-3d-caption{margin-top:8px;font-size:.74rem;color:#475569;line-height:1.5;}
.mockup-3d-specs{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.mockup-chip{background:#fff;border:1px solid #dbe4f0;border-radius:12px;padding:10px;}
.mockup-chip .meta-label{font-size:.63rem;color:#64748b;text-transform:uppercase;letter-spacing:.06em;}
.mockup-chip .meta-val{font-size:.82rem;font-weight:700;color:#0f172a;margin-top:4px;}
.mockup-3d-list{margin-top:10px;padding-left:18px;display:grid;gap:6px;font-size:.76rem;color:#334155;}
@media(max-width:900px){.mockup-3d-grid,.mockup-3d-specs{grid-template-columns:1fr;}}


.mockup-variant-strip{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px;}
.mockup-variant-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 12px;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;}
.mockup-variant-pill.battery{background:#f5f3ff;border-color:#ddd6fe;color:#6d28d9;}
.mockup-variant-pill.grid{background:#ecfdf5;border-color:#bbf7d0;color:#047857;}
.mockup-variant-pill.offgrid{background:#fff7ed;border-color:#fed7aa;color:#c2410c;}
.mockup-variant-pill.warning{background:#fff1f2;border-color:#fecdd3;color:#be123c;}
.mockup-3d-overlay{position:relative;}
.mockup-3d-watermark{position:absolute;left:18px;bottom:18px;background:rgba(15,23,42,.88);color:#fff;border:1px solid rgba(255,255,255,.22);border-radius:14px;padding:10px 12px;font-size:.72rem;line-height:1.4;max-width:58%;box-shadow:0 10px 24px rgba(0,0,0,.22);}
.mockup-3d-watermark strong{display:block;color:#fbbf24;font-family:'Orbitron',sans-serif;font-size:.78rem;margin-bottom:3px;}
.mockup-dynamic-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px;}
.mockup-dynamic-card{background:#fff;border:1px solid #dbe4f0;border-radius:14px;padding:11px 12px;}
.mockup-dynamic-card h5{font-family:'Orbitron',sans-serif;font-size:.68rem;color:#0f172a;margin-bottom:6px;}
.mockup-dynamic-card p{font-size:.72rem;color:#475569;line-height:1.45;}
@media(max-width:900px){.mockup-dynamic-cards{grid-template-columns:1fr}.mockup-3d-watermark{position:static;max-width:none;margin-top:8px;}}

@media print{
  body{background:white !important;color:black !important;}
  .steps-bar,.btn-group,.print-btn,header,.info-banner,.diagram-tab-bar,.modal-overlay,.front-designer-card{display:none !important;}
  .result-card,.equip-section{border-color:#ccc;break-inside:avoid;}
  .diagram-panel{display:block !important;}
  body.print-mockup-mode .container > *{display:none !important;}
  body.print-mockup-mode #section-4{display:block !important;}
  body.print-mockup-mode #section-4 > *{display:none !important;}
  body.print-mockup-mode #mockupSection{display:block !important;background:#fff !important;border:none !important;padding:0 !important;margin:0 !important;}
  body.print-mockup-mode #mockupSection .mockup-actions{display:none !important;}
  body.print-mockup-mode #printMockup{display:block !important;}
  body.print-mockup-mode .print-sheet{box-shadow:none !important;border:none !important;padding:0 !important;}
  body.print-mockup-mode .mockup-3d-image-wrap{break-inside:avoid !important;}
  body.print-mockup-mode .sheet-card{break-inside:avoid !important;}
  body.print-mockup-mode .mockup-3d-hero{break-inside:avoid !important;}
}

/* =========================================================
   RESPONSIVE WEBSITE LAYOUT OVERRIDES
   Separated external stylesheet for regular website styling
========================================================= */
img,svg,video,canvas{max-width:100%;height:auto;}
button,input,select,textarea{max-width:100%;}
.container{width:100%;}
.section{width:100%;}
.diagram-wrap,.equip-section,.result-card,.system-card,.env-card,.equip-select-card{min-width:0;}
.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
table{min-width:680px;}
.prod-table{min-width:760px;}
.sheet-mini-table{min-width:0;}
.sheet-mini-table th,.sheet-mini-table td{white-space:normal;}
.design-board-wrap{overflow:auto;-webkit-overflow-scrolling:touch;}
.design-board{min-width:1220px;touch-action:none;}
.design-toolbar{position:sticky;top:0;z-index:20;}
.parts-bin,.design-side{scrollbar-width:thin;}
.mobile-helper-note{display:none;}

@media(max-width:1100px){
  .container{max-width:100%;padding:0 16px;}
  header{padding:22px 0 14px;margin-bottom:24px;}
  .system-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .equip-select-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .results-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .install-designer{grid-template-columns:1fr;min-height:auto;}
  .parts-bin{max-height:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
  .parts-title,.parts-sub{grid-column:1 / -1;}
  .part-chip{margin-bottom:0;justify-content:center;text-align:center;}
  .design-side{max-height:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .design-side .side-title{margin-top:0;}
  .manual-wire-panel,.sim-panel,.sim-log{grid-column:auto;}
}

@media(max-width:820px){
  body{font-size:15px;}
  .container{padding:0 12px;}
  .logo{font-size:1.25rem;flex-wrap:wrap;}
  .tagline{font-size:.72rem;line-height:1.4;}
  .header-actions{flex-direction:column;align-items:center;}
  .gear-btn{width:100%;max-width:320px;justify-content:center;padding:9px 14px;border-radius:12px;}
  .steps-bar{justify-content:flex-start;overflow-x:auto;padding-bottom:8px;margin-bottom:22px;-webkit-overflow-scrolling:touch;}
  .step-item{flex:0 0 auto;}
  .step-line{flex:0 0 18px;}
  .system-grid,.equip-select-grid,.env-grid,.results-grid,.engineering-grid,.bom-grid,.sheet-grid,.sheet-footer,.sheet-meta,.sheet-wiring,.sheet-kpis,.mockup-3d-grid,.mockup-3d-specs,.mockup-dynamic-cards{grid-template-columns:1fr !important;}
  .system-card,.equip-select-card,.env-card,.result-card,.equip-section{border-radius:14px;padding:16px;}
  .btn-group{justify-content:stretch;}
  .btn,.mini-btn,.save-btn{width:100%;justify-content:center;}
  .design-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
  .toolbar-spacer{display:none;}
  .parts-bin{grid-template-columns:repeat(2,minmax(0,1fr));}
  .design-side{display:block;}
  .design-board{height:620px;min-width:1180px;}
  .design-board-wrap::before{content:'Swipe left/right to view and drag-connect wiring on the full installation board.';display:block;background:rgba(255,183,0,.1);color:#FFD97D;border-bottom:1px solid rgba(255,183,0,.2);font-size:.72rem;padding:8px 10px;}
  .modal-overlay{padding:10px;align-items:flex-start;}
  .modal-big{padding:18px;border-radius:14px;max-width:100%;}
  .cust-tabs{overflow-x:auto;white-space:nowrap;}
  .rates-grid{grid-template-columns:1fr;}
  .prod-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;}
  td,th{font-size:.76rem;padding:8px;}
  .print-btn{right:12px;bottom:12px;padding:10px 14px;}
}

@media(max-width:520px){
  .container{padding:0 10px;}
  header{margin-bottom:18px;}
  .logo{font-size:1.05rem;gap:8px;}
  .ph-badge{font-size:.65rem;padding:4px 10px;}
  .section-title{font-size:.9rem;}
  .section-sub{font-size:.78rem;}
  .system-card,.equip-select-card,.env-card,.result-card,.equip-section{padding:13px;}
  .option-item{padding:9px;}
  .cost-row{display:grid;grid-template-columns:1fr;gap:4px;align-items:start;}
  .cost-amount{text-align:left;}
  .diagram-tab{padding:9px 12px;font-size:.72rem;}
  .diagram-tab-bar{overflow-x:auto;}
  .parts-bin{grid-template-columns:1fr;}
  .design-toolbar{grid-template-columns:1fr;}
  .design-board{height:590px;min-width:1120px;}
  .manual-wire-grid{gap:8px;}
  .sim-grid{grid-template-columns:1fr;}
  .sheet-head{display:block;}
  .sheet-meta{margin-top:12px;}
  .print-sheet{padding:16px;border-radius:16px;}
  .mockup-actions{justify-content:stretch;}
  .mockup-chip{padding:9px;}
}

@media print{
  table{display:table;overflow:visible;white-space:normal;min-width:0;}
  .design-board-wrap{overflow:visible;}
  .design-board{min-width:0;}
}
