.planner-shell{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.85fr);gap:20px;align-items:start}
.planner-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px;flex-wrap:wrap}
.planner-actions-top,.toolbar-actions,.inline-actions,.summary-actions{display:flex;gap:10px;flex-wrap:wrap}
.stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 22px}
.step{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:18px;border:1px solid var(--border);background:rgba(255,255,255,.03);color:rgba(238,244,255,.82);cursor:pointer}
.step span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:rgba(255,255,255,.06);font-weight:900}
.step b{font-size:14px}
.step.active{border-color:rgba(110,231,255,.35);background:linear-gradient(135deg, rgba(110,231,255,.16), rgba(124,58,237,.12));color:#fff}
.step.active span{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#081019}
.planner-step{display:none}.planner-step.active{display:block}
.field-label{display:block;font-weight:800;margin:0 0 8px}
.field-help{margin-top:6px;font-size:13px;color:rgba(238,244,255,.6)}
.planner-main input[type="number"],.planner-main input[type="text"],.planner-main input[type="search"],.planner-main select,.planner-main textarea{width:100%;padding:13px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:#fff;outline:none}
.planner-main select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, rgba(238,244,255,.85) 50%),linear-gradient(135deg, rgba(238,244,255,.85) 50%, transparent 50%);background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 12px) calc(50% - 3px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:34px}
.planner-main option{background:#0d131e;color:#fff}
.planner-main input::placeholder,.planner-main textarea::placeholder{color:rgba(238,244,255,.52)}
.planner-main input[type="range"]{width:100%}
.range-output{display:flex;justify-content:space-between;gap:12px;margin-top:6px;align-items:center}
.segmented{display:flex;flex-wrap:wrap;gap:10px}
.segmented label,.switch{position:relative;display:flex;align-items:center}
.segmented input{position:absolute;opacity:0;pointer-events:none}
.segmented span{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.03);min-width:86px;font-weight:700;cursor:pointer}
.segmented input:checked + span{border-color:rgba(110,231,255,.35);background:linear-gradient(135deg, rgba(110,231,255,.18), rgba(124,58,237,.14));color:#fff}
.device-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap;margin-bottom:14px}
.device-groups{display:grid;gap:16px}
.device-group h3{margin:0 0 10px}
.device-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.device-card{border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:14px;background:rgba(255,255,255,.03);transition:border-color .15s ease,transform .15s ease,background .15s ease}
.device-card.active{border-color:rgba(110,231,255,.35);background:rgba(110,231,255,.08)}
.device-card:hover{transform:translateY(-1px)}
.device-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.device-toggle{display:flex;gap:12px;align-items:flex-start;cursor:pointer;flex:1}.device-toggle input{margin-top:4px;transform:scale(1.15)}
.device-meta{font-size:13px;color:rgba(238,244,255,.6);margin-top:4px}
.device-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.device-controls label,.custom-grid label,.source-grid label{font-size:13px;color:rgba(238,244,255,.78)}
.device-controls input,.custom-grid input,.source-grid input,.source-grid select{margin-top:6px}
.custom-wrap{margin:14px 0 18px}.custom-card{padding:16px;border-radius:18px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04)}
.custom-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap}
.custom-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:10px;margin-top:12px}
.custom-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-top:12px}
.planner-nav{display:flex;justify-content:flex-end;margin-top:18px}.planner-nav.two{justify-content:space-between}
.summary-box{position:sticky;top:86px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:18px;box-shadow:0 14px 34px rgba(0,0,0,.2)}
.summary-list{display:grid;gap:10px;margin:14px 0 0}
.summary-item{display:flex;justify-content:space-between;gap:12px;padding:11px 12px;border-radius:14px;background:rgba(255,255,255,.03)}
.summary-item b{font-size:15px}.summary-item span{color:rgba(238,244,255,.68);font-size:13px}
.meter{margin:16px 0 10px;padding:14px;border-radius:18px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.1)}
.meter-row{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}
.meter-track{height:12px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden}
.meter-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent2));width:0%}
.meter-tag{font-size:13px;color:rgba(238,244,255,.74)}
.badge-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.mini-badge{font-size:12px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:rgba(238,244,255,.82)}
.notice{margin-top:12px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.1);font-size:14px;color:rgba(238,244,255,.72)}
.inline-notice{margin-top:30px}
.panel-card.soft{padding:18px;border-radius:20px;background:rgba(255,255,255,.03)}
.panel-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.panel-title h3{margin:0}
.source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;transition:opacity .15s ease,filter .15s ease}.source-grid.is-disabled{opacity:.45;filter:grayscale(.15);pointer-events:none}
.switch input{position:absolute;opacity:0;pointer-events:none}
.switch span{position:relative;display:inline-block;width:50px;height:28px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.12);cursor:pointer}
.switch span:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:999px;background:#fff;transition:transform .18s ease}
.switch input:checked + span{background:linear-gradient(135deg, rgba(110,231,255,.35), rgba(124,58,237,.28));border-color:rgba(110,231,255,.4)}
.switch input:checked + span:after{transform:translateX(22px)}
.results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}
.result-card{padding:18px;border-radius:20px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03)}
.result-card .eyebrow{margin-bottom:10px}.kpi{font-size:clamp(24px,4vw,36px);line-height:1.05;font-weight:900}.kpi-sub{color:rgba(238,244,255,.72);margin-top:6px}
.result-list{margin:12px 0 0;padding-left:18px;color:rgba(238,244,255,.75)}.result-list li{margin:6px 0}
.tip-box{margin-top:16px;padding:16px 18px;border-radius:18px;border:1px solid rgba(110,231,255,.2);background:linear-gradient(135deg, rgba(110,231,255,.08), rgba(124,58,237,.08))}
.tip-box h3{margin-bottom:6px}.planner-note{margin-top:16px;color:rgba(238,244,255,.66);font-size:14px}
.shopping-list{display:grid;gap:10px;margin-top:12px}.shopping-item{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.03)}.shopping-item strong{display:block}.shopping-item span{font-size:13px;color:rgba(238,244,255,.6)}
.components-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.component-chip{padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);font-weight:700;color:rgba(238,244,255,.9)}

@media (max-width:1100px){.planner-shell{grid-template-columns:1fr}.summary-box{position:static}.device-list{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.stepper{grid-template-columns:repeat(2,minmax(0,1fr))}.device-list,.results-grid,.device-controls,.custom-grid,.source-grid,.components-grid{grid-template-columns:1fr}.planner-actions-top .btn,.toolbar-actions .btn,.inline-actions .btn,.summary-actions .btn{flex:1 1 160px}.planner-nav.two{gap:10px;flex-direction:column-reverse}.planner-nav.two .btn,.planner-nav .btn{width:100%}}
@media print{
  @page{size:A4;margin:12mm}
  body{background:#fff !important;color:#111 !important;font-size:11pt}
  .nav,.wa,.planner-side,.hero-stage .hero-actions,.badges,footer,.planner-actions-top,.stepper,.planner-nav,.inline-actions,#faq,.gsearch,.nav-toggle,.nav-mobile,.device-toolbar,.custom-wrap,.panel-title .switch{display:none !important}
  .hero-stage,.section,.card,.result-card,.summary-box,.tip-box,.notice,.contact-box,.shopping-item,.component-chip{background:#fff !important;box-shadow:none !important;border-color:#d9d9d9 !important;color:#111 !important}
  .hero-stage{height:auto !important;min-height:0 !important;padding:0 0 8mm !important}.hero-stage .hero-video{display:none !important}.hero-stage .hero-overlay{min-height:0 !important}
  .hero-stage .hero-card{margin:0 !important;padding:0 !important;background:#fff !important;border:none !important}
  .hero-stage .lead{max-width:none !important}
  .planner-shell,.results-grid,.components-grid{display:block !important}
  .planner-main{padding:0 !important;border:none !important;background:#fff !important}
  .planner-step{display:none !important}.planner-step[data-step="4"]{display:block !important}
  .result-card,.summary-box,.tip-box{break-inside:avoid;page-break-inside:avoid;margin:0 0 8mm !important;padding:12px 14px !important}
  .results-grid .result-card{margin-bottom:6mm !important}
  .components-grid{margin-top:6px !important}.component-chip{display:block;margin:0 0 6px !important;padding:10px 12px !important}
  .shopping-item{padding:10px 12px !important;margin-bottom:6px !important}
  .kpi{font-size:20pt !important}.kpi-sub,.result-list,.planner-note,.shopping-item span,.summary-item span,.summary-item b,.meter-tag,.lead,p,h1,h2,h3,strong,li,span,div,a,label{color:#111 !important}
  .summary-box{position:static !important}
  .summary-actions,.badge-row{display:none !important}
  .summary-list{gap:6px !important}.summary-item{padding:8px 10px !important}
  .notice{margin-top:8px !important;padding:10px 12px !important}
  a{text-decoration:none !important}
}
