/* ============================================================
   Shared door-configurator wizard shell styles.
   Extracted verbatim from SlidingDesignerWizard.razor's inline <style>
   so the Rolling wizard can match the Sliding wizard's look. The sliding
   wizard keeps its own inline copy (do not modify it); this file lets the
   rolling wizard render the same .wiz-overlay design system standalone.
   ============================================================ */
/* ── Design system ── */
.wiz-overlay *,.wiz-overlay *::before,.wiz-overlay *::after{box-sizing:border-box}
.wiz-overlay{
  position:fixed;inset:0;z-index:5000;background:var(--lxc-bg);overflow:hidden;
  height:100vh;height:100dvh;
  --bg:var(--lxc-bg);--bg-raised:var(--lxc-surface);--bg-panel:var(--lxc-surface);--bg-hover:#E8EEF5;--bg-active:#DBEAFE;--bg-input:#F8FAFC;
  --line:var(--lxc-border);--line-strong:var(--lxc-border-strong);--line-soft:var(--lxc-soft-border);
  --fg:var(--lxc-ink);--fg-2:#334155;--fg-3:var(--lxc-muted);--fg-4:#64748B;--fg-5:#94A3B8;
  --accent:var(--lxc-blue);--accent-hover:var(--lxc-blue-hover);--accent-bg:#DBEAFE;--accent-border:#BFDBFE;--accent-contrast:#FFFFFF;
  --status-accepted:var(--lxc-success);--status-accepted-bg:var(--lxc-success-bg);--status-accepted-border:rgba(22,101,52,0.24);--status-accepted-contrast:#FFFFFF;
  --status-rejected:var(--lxc-danger);--status-rejected-bg:var(--lxc-danger-bg);--status-rejected-border:rgba(185,28,28,0.24);--status-pending:var(--lxc-info);--status-pending-bg:var(--lxc-info-bg);--status-sent:var(--lxc-blue-bright);--status-draft:var(--lxc-muted);
  --canvas-bg:#E8EEF5;--canvas-panel:#D7E3F1;--canvas-panel-deep:#C4D4E5;--canvas-stage:#F8FAFC;--canvas-stage-deep:#E2E8F0;--canvas-stroke:#7C90A8;--canvas-line:#AFC0D4;--canvas-grid:rgba(15,23,42,0.05);--canvas-grid-strong:rgba(15,23,42,0.08);--canvas-text:#475569;--canvas-label:#334155;--canvas-contrast:#FFFFFF;--canvas-secondary:var(--lxc-blue-bright);
  --glass-bg:rgba(255,255,255,0.88);
  --font-sans:var(--lxc-font);
  --font-mono:"JetBrains Mono",ui-monospace,"SF Mono",monospace;
  --r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:12px;
  --sh-pop:0 18px 42px rgba(15,23,42,0.16),0 0 0 1px rgba(148,163,184,0.22);
  font-family:var(--font-sans);font-size:14px;line-height:1.45;letter-spacing:-0.005em;
  color:var(--fg);-webkit-font-smoothing:antialiased;
}
.theme-dark .wiz-overlay{
  background:var(--lxc-bg);
  --bg:var(--lxc-bg);--bg-raised:#16222F;--bg-panel:var(--lxc-surface);--bg-hover:#223042;--bg-active:#27364A;--bg-input:var(--lxc-panel);
  --line:var(--lxc-border);--line-strong:var(--lxc-border-strong);--line-soft:var(--lxc-soft-border);
  --fg:var(--lxc-ink);--fg-2:#CBD5E1;--fg-3:var(--lxc-muted);--fg-4:#94A3B8;--fg-5:#64748B;
  --accent:var(--lxc-blue);--accent-hover:var(--lxc-blue-hover);--accent-bg:rgba(77,163,255,0.12);--accent-border:rgba(77,163,255,0.26);--accent-contrast:#081426;
  --status-accepted:var(--lxc-success);--status-accepted-bg:var(--lxc-success-bg);--status-accepted-border:rgba(134,239,172,0.22);--status-accepted-contrast:#081426;
  --status-rejected:var(--lxc-danger);--status-rejected-bg:var(--lxc-danger-bg);--status-rejected-border:rgba(252,165,165,0.22);--status-pending:var(--lxc-info);--status-pending-bg:var(--lxc-info-bg);--status-sent:var(--lxc-blue-bright);--status-draft:var(--lxc-muted);
  --canvas-bg:#0F1420;--canvas-panel:#16222F;--canvas-panel-deep:#1A2332;--canvas-stage:#101826;--canvas-stage-deep:#16222F;--canvas-stroke:#4B617A;--canvas-line:#3D4F63;--canvas-grid:rgba(255,255,255,0.035);--canvas-grid-strong:rgba(255,255,255,0.06);--canvas-text:#94A3B8;--canvas-label:#E2E8F0;--canvas-contrast:#081426;--canvas-secondary:#82BBFF;
  --glass-bg:rgba(15,20,32,0.84);
  --sh-pop:0 18px 42px rgba(0,0,0,0.45),0 0 0 1px rgba(77,163,255,0.16);
}
.wiz{width:100%;height:100%;min-height:0;max-height:100vh;max-height:100dvh;display:grid;grid-template-rows:56px minmax(0,1fr) auto;background:var(--bg);--wiz-bottom-h:60px;}
/* Top */
.wiz-top{background:linear-gradient(180deg,var(--bg-raised) 0%,var(--bg) 140%);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 20px;gap:14px;z-index:30;}
.wiz-top .pill{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;background:var(--bg-input);border:1px solid var(--line);border-radius:100px;font-size:11px;color:var(--fg-3);font-family:var(--font-mono);}
/* Body */
.wiz-body{display:grid;grid-template-columns:minmax(0,1fr) 340px;min-height:0;overflow:hidden;}
.wiz-side-r{background:linear-gradient(180deg,var(--bg-raised) 0%,var(--bg) 100%);border-left:1px solid var(--line);padding:20px;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;display:flex;flex-direction:column;gap:16px;}
.wiz-side-r-head{display:flex;align-items:center;gap:8px;flex-shrink:0;cursor:pointer;}
.wiz-side-r-body{display:flex;flex-direction:column;gap:16px;min-height:0;flex:1 1 auto;}
.price-toggle-total,.price-toggle-chevron{display:inline-flex;align-items:center;}
.price-toggle-chevron{transform:rotate(90deg);transition:transform 0.2s ease;}
.wiz-main{padding:24px 32px 32px;overflow-y:auto;overflow-x:hidden;min-width:0;max-width:100%;}
/* Bottom */
.wiz-bottom{background:var(--bg-raised);border-top:1px solid var(--line);display:flex;align-items:center;padding:0 24px;gap:12px;z-index:30;flex-shrink:0;min-height:var(--wiz-bottom-h);}
/* Vertical stepper */
.vstep{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:6px;color:var(--fg-3);font-size:13px;font-weight:500;cursor:pointer;border:1px solid transparent;background:transparent;width:100%;text-align:left;}
.vstep:hover{background:var(--bg-hover);color:var(--fg-2);}
.vstep .n{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-input);border:1px solid var(--line-strong);color:var(--fg-4);font-family:var(--font-mono);font-size:11px;font-weight:600;flex-shrink:0;}
.vstep.done .n{background:var(--status-accepted);border-color:var(--status-accepted);color:var(--status-accepted-contrast);}
.vstep.done{color:var(--fg-2);}
.vstep.active{background:var(--bg-active);color:var(--fg);border-color:var(--line-strong);}
.vstep.active .n{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);}
.vstep .lbl-sub{font-size:11px;color:var(--fg-4);font-weight:400;margin-top:1px;}
.vstep-spacer{height:12px;width:1px;background:var(--line);margin-left:23px;}
/* Step header */
.step-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:24px;min-width:0;}
.step-head .icon-blob{width:40px;height:40px;border-radius:8px;background:linear-gradient(135deg,var(--accent-bg),transparent);border:1px solid var(--accent-border);display:inline-flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0;}
.step-head > :not(.icon-blob){flex:1;min-width:0;}
.step-head h2{margin:0;font-size:22px;font-weight:700;letter-spacing:-0.02em;color:var(--accent);overflow-wrap:anywhere;}
.step-head .desc{color:var(--fg-3);font-size:13px;margin-top:2px;}
/* Section headers */
.sec-h{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:0.1em;color:var(--fg-4);padding-bottom:8px;border-bottom:1px solid var(--line-soft);margin-bottom:14px;}
.sec-h .num{background:var(--bg-input);border:1px solid var(--line);border-radius:3px;padding:1px 6px;color:var(--fg-3);}
.sec-h .req{margin-left:auto;color:var(--accent);background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:3px;padding:1px 6px;font-size:9px;}
/* Buttons */
.wiz-overlay .btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:6px;font-size:13px;font-weight:500;color:var(--fg);background:var(--bg-hover);border:1px solid var(--line);white-space:nowrap;cursor:pointer;font-family:var(--font-sans);transition:background 0.12s,border-color 0.12s;}
.wiz-overlay .btn:hover:not(:disabled){background:var(--bg-active);border-color:var(--line-strong);}
.wiz-overlay .btn:disabled{opacity:0.5;cursor:not-allowed;}
.wiz-overlay .btn.ghost{background:transparent;border-color:transparent;color:var(--fg-2);}
.wiz-overlay .btn.ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--fg);}
.wiz-overlay .btn.accent{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent);font-weight:600;}
.wiz-overlay .btn.accent:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);}
.wiz-overlay .btn.icon{width:32px;padding:0;justify-content:center;}
.wiz-overlay .btn.sm{height:26px;padding:0 10px;font-size:12px;border-radius:4px;}
.wiz-overlay .btn.icon.sm{width:26px;}
.wiz-overlay .btn svg{width:14px;height:14px;flex-shrink:0;}
/* Chips */
.wiz-overlay .chip{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 8px;border-radius:100px;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:0.04em;text-transform:uppercase;background:var(--bg-hover);color:var(--fg-2);border:1px solid var(--line);}
.wiz-overlay .chip .dot{width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block;}
.wiz-overlay .chip.accepted{color:var(--status-accepted);background:var(--status-accepted-bg);border-color:transparent;}
/* Tags */
.wiz-overlay .tag{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 7px;border-radius:4px;font-family:var(--font-mono);font-size:10px;color:var(--fg-3);background:var(--bg-input);border:1px solid var(--line);}
/* Panels */
.wiz-overlay .panel{background:var(--bg-panel);border:1px solid var(--line);border-radius:8px;min-width:0;max-width:100%;}
.wiz-overlay .panel-head{padding:12px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;}
.wiz-overlay .panel-body{padding:16px;}
/* Inputs */
.wiz-overlay .field{display:flex;flex-direction:column;gap:6px;}
.wiz-overlay .field-label{font-family:var(--font-mono);font-size:10px;letter-spacing:0.08em;text-transform:uppercase;color:var(--fg-4);}
.wiz-overlay .hint{font-size:11px;color:var(--fg-4);line-height:1.4;}
.wiz-overlay .select{height:32px;padding:0 10px;background:var(--bg-input);border:1px solid var(--line);border-radius:6px;color:var(--fg);font-size:13px;font-family:var(--font-sans);width:100%;cursor:pointer;}
.wiz-overlay .select:focus{outline:none;border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-bg);}
.wiz-overlay .num-input{display:flex;align-items:center;background:var(--bg-input);border:1px solid var(--line);border-radius:6px;height:40px;overflow:hidden;}
.wiz-overlay .num-input:focus-within{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-bg);}
.wiz-overlay .num-input input{flex:1;min-width:0;background:transparent;border:none;color:var(--fg);font:inherit;font-size:16px;font-weight:500;font-variant-numeric:tabular-nums;padding:0 12px;outline:none;}
.wiz-overlay .num-input .unit{color:var(--fg-4);font-family:var(--font-mono);font-size:11px;padding:0 6px;border-left:1px solid var(--line);height:100%;display:inline-flex;align-items:center;}
.wiz-overlay .num-input .step-btns{display:flex;flex-direction:column;border-left:1px solid var(--line);}
.wiz-overlay .num-input .step-btns button{height:20px;width:22px;background:transparent;border:none;color:var(--fg-3);font-size:11px;cursor:pointer;}
.wiz-overlay .num-input .step-btns button:hover{background:var(--bg-hover);color:var(--fg);}
/* Segment / toggle control */
.wiz-overlay .segment{display:inline-flex;background:var(--bg-input);border:1px solid var(--line);border-radius:6px;padding:2px;gap:2px;}
.wiz-overlay .segment button{height:26px;padding:0 10px;background:transparent;color:var(--fg-3);border:none;border-radius:4px;font-size:12px;font-weight:500;display:inline-flex;align-items:center;gap:5px;cursor:pointer;font-family:var(--font-sans);}
.wiz-overlay .segment button:hover{color:var(--fg);}
.wiz-overlay .segment button.is-active{background:var(--bg-hover);color:var(--fg);}
/* Toggle switch */
.wiz-overlay .toggle{width:30px;height:18px;background:var(--bg-input);border:1px solid var(--line);border-radius:100px;position:relative;flex-shrink:0;cursor:pointer;}
.wiz-overlay .toggle::after{content:"";width:12px;height:12px;background:var(--fg-3);border-radius:50%;position:absolute;top:2px;left:2px;transition:all 0.16s;}
.wiz-overlay .toggle.on{background:var(--accent);border-color:var(--accent);}
.wiz-overlay .toggle.on::after{background:var(--accent-contrast);left:14px;}
/* Divider */
.wiz-overlay .divider{height:1px;background:var(--line);border:0;margin:16px 0;}
/* Util */
.wiz-overlay .row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0;}
.wiz-overlay .col{display:flex;flex-direction:column;gap:8px;}
.wiz-overlay .sb{justify-content:space-between;}
.wiz-overlay .grow{flex:1 1 auto;min-width:0;}
.wiz-overlay .b{font-weight:600;}
.wiz-overlay .sm{font-size:12px;}
.wiz-overlay .xs{font-size:11px;}
.wiz-overlay .muted{color:var(--fg-3);}
.wiz-overlay .mono{font-family:var(--font-mono);}
.wiz-overlay .tabnum{font-variant-numeric:tabular-nums;}
.wiz-overlay .truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;}
.wiz-overlay .gap-2{gap:8px;} .wiz-overlay .gap-3{gap:12px;} .wiz-overlay .gap-4{gap:16px;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
/* Stat */
.wiz-overlay .stat{padding:10px 12px;background:var(--bg-input);border:1px solid var(--line);border-radius:6px;}
.wiz-overlay .stat .label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:0.08em;color:var(--fg-4);}
.wiz-overlay .stat .value{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums;margin-top:2px;}
/* Brand mark */
.wiz-overlay .brand-mark{width:24px;height:24px;background:var(--accent);color:var(--accent-contrast);border-radius:5px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;letter-spacing:-0.04em;flex-shrink:0;}
/* Status dot */
.wiz-overlay .status-dot{width:6px;height:6px;border-radius:50%;display:inline-block;flex-shrink:0;}
/* Icons */
.wiz-overlay .i{width:14px;height:14px;display:inline-block;flex-shrink:0;}
.wiz-overlay .i-sm{width:12px;height:12px;}
.wiz-overlay .i-lg{width:16px;height:16px;}
/* KV table */
.wiz-overlay .kv-table{width:100%;table-layout:fixed;}
.wiz-overlay .kv-table tr td{padding:7px 0;border-bottom:1px solid var(--line-soft);font-size:13px;vertical-align:top;word-break:break-word;overflow-wrap:anywhere;}
.wiz-overlay .kv-table tr td:first-child{color:var(--fg-3);width:45%;}
.wiz-overlay .kv-table tr td:last-child{font-weight:500;text-align:right;font-variant-numeric:tabular-nums;}
.wiz-overlay .kv-table tr:last-child td{border-bottom:none;}
/* Pricing rail */
.price-card{background:linear-gradient(180deg,var(--accent-bg),transparent 60%),var(--bg-panel);border:1px solid var(--accent-border);border-radius:10px;padding:16px;min-width:0;max-width:100%;}
.price-total{font-size:32px;font-weight:700;letter-spacing:-0.02em;font-variant-numeric:tabular-nums;color:var(--accent);line-height:1;}
.price-line{display:flex;justify-content:space-between;align-items:flex-start;gap:4px 10px;flex-wrap:wrap;font-size:12px;padding:4px 0;}
.price-line .lbl{color:var(--fg-3);flex:1 1 120px;min-width:0;}
.price-line .val{font-variant-numeric:tabular-nums;color:var(--fg-2);flex:0 1 auto;min-width:0;max-width:100%;text-align:right;}
.price-line.b .lbl,.price-line.b .val{font-weight:600;color:var(--fg);}
/* Model cards */
.mgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.mcard{background:var(--bg-panel);border:1px solid var(--line);border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:10px;cursor:pointer;transition:border-color 0.12s,background 0.12s;text-align:left;font-family:var(--font-sans);min-width:0;max-width:100%;}
.mcard:hover{border-color:var(--line-strong);}
.mcard.is-active{border-color:var(--accent);background:linear-gradient(180deg,var(--accent-bg),transparent);box-shadow:0 0 0 1px var(--accent-border);}
.mcard-thumb{background:linear-gradient(180deg,var(--bg-input),var(--bg));border:1px solid var(--line-strong);border-radius:6px;height:96px;position:relative;overflow:hidden;}
.mcard-thumb svg{width:100%;height:100%;}
.mcard-title{font-weight:600;font-size:14px;}
.mcard-desc{color:var(--fg-3);font-size:12px;line-height:1.4;}
.mcard-meta{display:flex;gap:6px;flex-wrap:wrap;border-top:1px solid var(--line-soft);padding-top:8px;margin-top:auto;}
.mcard-radio{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--line-strong);flex-shrink:0;position:relative;}
.mcard.is-active .mcard-radio{border-color:var(--accent);}
.mcard.is-active .mcard-radio::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--accent);}
.operator-item-desc{color:var(--fg-3);font-size:11px;line-height:1.35;margin-top:2px;}
.model-options{margin-top:4px;padding:12px;background:var(--bg-input);border:1px solid var(--line);border-radius:7px;cursor:auto;}
.model-options-head{display:flex;align-items:center;gap:8px;margin-bottom:10px;color:var(--fg-3);}
.model-options-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
/* Rolling model, hood and curtain step */
.rolling-models-step{display:flex;flex-direction:column;gap:24px;min-width:0;max-width:100%;}
.rolling-model-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:460px;overflow-y:auto;padding:1px 3px 1px 1px;min-width:0;}
.rolling-secondary-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,0.65fr);gap:14px;align-items:start;}
/* Rolling operation — electric operators layout */
.rolling-electrical-layout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch;min-height:calc(100dvh - 22rem);}
.rolling-electrical-layout .panel{display:flex;flex-direction:column;min-height:0;}
.rolling-electrical-layout .panel-body{flex:1 1 auto;min-height:0;overflow-y:auto;}
.rolling-electrical-layout .rolling-electrical-operator-list{gap:14px;}
.operator-card{display:block;padding:8px;overflow:hidden;}
.operator-card-content{display:grid;grid-template-columns:88px minmax(0,1fr);gap:8px;align-items:stretch;width:100%;min-width:0;text-align:left;}
.operator-card-image{width:100%;height:100%;min-height:96px;display:flex;align-items:center;justify-content:center;}
.operator-card-image img{display:block;max-width:100%;max-height:100%;object-fit:contain;}
.operator-card-main{display:flex;flex-direction:column;gap:5px;min-width:0;}
.operator-card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;}
.operator-card-title-row .mcard-title{min-width:0;overflow-wrap:anywhere;}
.operator-spec-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--bg-input);}
.operator-spec-cell{min-width:0;padding:5px 6px;border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);}
.operator-spec-cell:nth-child(4n){border-right:none;}
.operator-spec-cell:nth-last-child(-n+4){border-bottom:none;}
.operator-spec-cell dt{margin:0 0 1px;color:var(--fg-3);font-size:8px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;}
.operator-spec-cell dd{margin:0;color:var(--fg);font-size:10px;font-weight:600;line-height:1.2;overflow-wrap:anywhere;}
.rolling-manual-options{display:flex;flex-direction:column;gap:18px;min-width:0;}
.rolling-manual-bottom-bar{max-width:420px;}
.rolling-manual-header{display:flex;align-items:end;justify-content:flex-start;gap:18px;padding-top:4px;border-top:1px solid var(--line-soft);}
.rolling-manual-side{width:180px;flex:0 0 180px;}
.manual-drive-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:10px;}
.manual-drive-card{display:grid;grid-template-columns:minmax(120px,38%) minmax(0,1fr);align-items:stretch;min-width:0;min-height:168px;padding:8px;gap:8px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--bg-panel);color:var(--fg);text-align:left;font-family:var(--font-sans);cursor:pointer;transition:border-color .12s,background .12s,box-shadow .12s;}
.manual-drive-card:hover{border-color:var(--line-strong);}
.manual-drive-card.is-active{border-color:var(--accent);background:linear-gradient(180deg,var(--accent-bg),transparent),var(--bg-panel);box-shadow:0 0 0 1px var(--accent-border);}
.manual-drive-visual{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:132px;padding:6px;background:#fff;border-color:var(--line-strong);overflow:hidden;}
.manual-drive-visual img{display:block;width:100%;height:100%;object-fit:contain;}
.manual-drive-visual svg{display:block;width:100%;height:100%;}
.manual-drive-copy{display:flex;flex-direction:column;gap:7px;min-width:0;}
.manual-drive-subtitle{margin-top:1px;color:var(--fg-3);font-size:10px;line-height:1.3;}
.manual-drive-description{margin:0;color:var(--fg-2);font-size:10px;line-height:1.4;}
.manual-drive-spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--bg-input);}
.manual-drive-spec-cell{min-width:0;padding:7px 8px;border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);}
.manual-drive-spec-cell:nth-child(2n){border-right:none;}
.manual-drive-spec-cell:last-child{border-bottom:none;}
.manual-drive-spec-cell:nth-last-child(2):nth-child(odd){border-bottom:none;}
.manual-drive-spec-cell:last-child:nth-child(odd){grid-column:1/-1;border-right:none;}
.manual-drive-spec-cell dt{margin:0 0 2px;color:var(--fg-3);font-size:8px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;}
.manual-drive-spec-cell dd{margin:0;color:var(--fg);font-size:10px;font-weight:600;line-height:1.25;overflow-wrap:anywhere;}
@media(max-width:600px){.rolling-manual-header{align-items:stretch;flex-direction:column;}.rolling-manual-side{width:100%;flex-basis:auto;}.manual-drive-grid{grid-template-columns:1fr;}.manual-drive-card{grid-template-columns:108px minmax(0,1fr);min-height:132px;}.manual-drive-visual{min-height:116px;}}
.rolling-finish-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.rolling-finish-panel .finish-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.hood-config-panel{overflow:hidden;}
.hood-controls{display:flex;flex-direction:column;gap:16px;}
.hood-choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;align-items:stretch;}
.hood-choice{display:grid;grid-template-columns:25% minmax(0,1fr);align-items:center;column-gap:8px;min-width:0;padding:8px;overflow:hidden;background:var(--bg-input);border:1px solid var(--line);border-radius:8px;color:var(--fg);text-align:left;cursor:pointer;font-family:var(--font-sans);transition:border-color .12s,background .12s,transform .12s;}
.hood-choice:hover{border-color:var(--line-strong);transform:translateY(-1px);}
.hood-choice.is-active{border-color:var(--accent);background:linear-gradient(180deg,var(--accent-bg),var(--bg-input));box-shadow:0 0 0 1px var(--accent-border);}
.hood-choice-graphic{display:flex;align-items:center;justify-content:flex-start;width:100%;max-width:74px;height:46px;justify-self:center;border-radius:6px;border:1px solid var(--line);background:linear-gradient(145deg,var(--canvas-stage),var(--canvas-stage-deep));overflow:hidden;}
.hood-choice-graphic .hood-diagram{width:100%;height:100%;display:block;}
.hood-choice-copy{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0;width:100%;text-align:left;}
.hood-choice-title{font-size:12px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.hood-choice-sub{font-size:10px;color:var(--fg-4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fascia-option{grid-template-columns:25% minmax(0,1fr) auto;}
.fascia-option:hover{border-color:var(--line-strong);}
.fascia-option.is-active{border-color:var(--accent-border);background:var(--accent-bg);}
.hood-diagram-grid path{fill:none;stroke:var(--canvas-grid-strong);stroke-width:1;}
.hood-diagram-core rect{fill:var(--canvas-panel);stroke:var(--canvas-stroke);stroke-width:1.5;}
.hood-diagram-core circle{fill:var(--canvas-panel-deep);stroke:var(--canvas-secondary);stroke-width:2.5;}
.hood-diagram-core .hood-diagram-axle{fill:var(--canvas-secondary);stroke:none;}
.hood-diagram-profile path{fill:none;stroke:var(--accent);stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;}
.hood-diagram-fascia rect{fill:var(--canvas-panel);stroke:var(--accent);stroke-width:2.6;}
.hood-diagram-fascia path{fill:none;stroke:var(--canvas-line);stroke-width:1;}
.hood-diagram-labels text{fill:var(--canvas-text);font-family:var(--font-mono);font-size:8px;font-weight:600;letter-spacing:.11em;}
.hood-diagram-labels .is-hidden{display:none;}
.hood-diagram.is-compact .hood-diagram-grid{opacity:.45;}
.hood-diagram.is-compact .hood-diagram-profile path{stroke-width:4;}
.hood-diagram.is-compact .hood-diagram-fascia rect{stroke-width:3.5;}
/* Locking option cards */
.lock-card-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:8px;align-items:stretch;}
.lock-card{display:grid;grid-template-columns:25% minmax(0,1fr);align-items:center;column-gap:8px;min-width:0;padding:8px;background:var(--bg-panel);border:1px solid var(--line);border-radius:8px;text-align:left;cursor:pointer;font-family:var(--font-sans);color:var(--fg);transition:border-color .12s,background .12s,transform .12s;}
.lock-card:hover{border-color:var(--line-strong);transform:translateY(-1px);}
.lock-card.is-active{border-color:var(--accent);background:linear-gradient(180deg,var(--accent-bg),transparent);box-shadow:0 0 0 1px var(--accent-border);}
.lock-card-thumb{display:flex;align-items:center;justify-content:flex-start;width:100%;max-width:74px;height:46px;justify-self:center;border-radius:6px;border:1px solid var(--line);background:linear-gradient(145deg,var(--canvas-stage),var(--canvas-stage-deep));overflow:hidden;}
.lock-card-thumb .lock-diagram{width:100%;height:100%;display:block;}
.lock-card-copy{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0;width:100%;text-align:left;}
.lock-card-title{display:block;width:100%;max-width:100%;font-size:12.5px;font-weight:650;line-height:1.25;white-space:normal;overflow-wrap:anywhere;}
.lock-card-sub{display:block;width:100%;max-width:100%;font-size:10.5px;color:var(--fg-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.lock-diagram-grid path{fill:none;stroke:var(--canvas-grid-strong);stroke-width:1;}
.lock-diagram-bar rect{fill:var(--canvas-panel);stroke:var(--canvas-stroke);stroke-width:1.6;}
.lock-diagram-bar line{stroke:var(--canvas-line);stroke-width:1;}
.lock-diagram-hw path,.lock-diagram-hw rect{fill:var(--canvas-panel);stroke:var(--accent);stroke-width:2;stroke-linejoin:round;}
.lock-diagram-key{fill:var(--accent);stroke:none;}
.lock-diagram-none path{fill:none;stroke:var(--canvas-stroke);stroke-width:2;stroke-linecap:round;opacity:.65;}
.lock-diagram-labels text{fill:var(--canvas-text);font-family:var(--font-mono);font-size:9px;font-weight:600;letter-spacing:.1em;}
.lock-diagram.is-compact .lock-diagram-hw path,.lock-diagram.is-compact .lock-diagram-hw rect{stroke-width:2.4;}
/* Finish swatches */
.swatch-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;}
.swatch{background:var(--bg-panel);border:1px solid var(--line);border-radius:6px;padding:10px;display:flex;flex-direction:column;gap:6px;cursor:pointer;align-items:center;text-align:center;}
.swatch:hover{border-color:var(--line-strong);}
.swatch.is-active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-border);}
.swatch-chip{width:100%;aspect-ratio:2/1;border-radius:4px;border:1px solid var(--line-strong);}
.swatch-name{font-size:11px;color:var(--fg-2);}
.finish-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.finish-card{background:var(--bg-panel);border:1px solid var(--line);border-radius:8px;padding:12px;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer;font-family:var(--font-sans);min-width:0;}
.finish-card:hover{border-color:var(--line-strong);}
.sliding-finish-grid .finish-card:disabled{opacity:.42;filter:grayscale(1);cursor:not-allowed;box-shadow:none;background:var(--bg-panel);border-color:var(--line);}
.finish-card.is-active{border-color:var(--accent);background:linear-gradient(180deg,var(--accent-bg),transparent);box-shadow:0 0 0 1px var(--accent-border);}
.finish-dot{width:28px;height:28px;border-radius:50%;border:1px solid var(--line-strong);flex:0 0 auto;}
.finish-dot.rainbow{background:conic-gradient(from 90deg,#ef4444,#f59e0b,#22c55e,#0ea5e9,#6366f1,#ef4444);}
.finish-title{font-size:13px;font-weight:700;color:var(--fg);}
.finish-sub{font-size:11px;color:var(--fg-3);margin-top:1px;}
.finish-detail{margin-top:12px;padding:12px;background:var(--bg-input);border:1px solid var(--line);border-radius:8px;}
.finish-choice-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;}
.finish-choice{background:var(--bg-panel);border:1px solid var(--line);border-radius:6px;padding:9px;display:flex;align-items:center;gap:8px;cursor:pointer;font-family:var(--font-sans);min-width:0;}
.finish-choice:hover{border-color:var(--line-strong);}
.finish-choice.is-active{border-color:var(--accent);background:var(--accent-bg);}
.finish-choice .mini-dot{width:18px;height:18px;border-radius:50%;border:1px solid var(--line-strong);flex:0 0 auto;}
.finish-choice span{font-size:11px;color:var(--fg-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ral-lookup{position:relative;max-width:520px;}
.ral-input-wrap{position:relative;display:flex;align-items:center;}
.ral-input-wrap .ral-swatch{position:absolute;left:10px;z-index:1;}
.ral-input{padding-left:42px!important;}
.ral-swatch{width:22px;height:22px;border-radius:50%;border:1px solid var(--line-strong);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);flex:0 0 22px;}
.ral-results{position:absolute;z-index:30;top:44px;left:0;right:0;max-height:160px;overflow-y:auto;background:var(--bg-panel);border:1px solid var(--line-strong);border-radius:8px;box-shadow:0 14px 30px rgba(0,0,0,.32);padding:5px;}
.ral-result{width:100%;display:grid;grid-template-columns:26px 78px minmax(0,1fr);align-items:center;gap:8px;padding:8px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--fg);font-family:var(--font-sans);text-align:left;cursor:pointer;}
.ral-result:hover,.ral-result.is-active{background:var(--accent-bg);border-color:var(--accent-border);}
.ral-result-code{font-size:12px;font-weight:700;white-space:nowrap;}
.ral-result-name{font-size:12px;color:var(--fg-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ral-empty{padding:12px;color:var(--fg-3);font-size:12px;}
.sliding-finish-grid{grid-template-columns:1fr!important;}
.sliding-finish-grid .finish-card{padding:10px;}
.sliding-finish-panel .finish-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
/* Numeric fields */
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.form-grid.cols-3{grid-template-columns:repeat(3,1fr);}
/* Big stats row */
.big-stat-row{display:flex;gap:8px;flex-wrap:wrap;}
.big-stat{flex:1;min-width:100px;padding:10px 12px;background:var(--bg-input);border:1px solid var(--line);border-radius:6px;}
.big-stat .label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:0.08em;color:var(--fg-4);}
.big-stat .value{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums;margin-top:2px;}
/* Mounting cards */
.mount-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.mount-card{background:var(--bg-panel);border:1px solid var(--line);border-radius:8px;padding:12px;cursor:pointer;display:flex;gap:10px;align-items:flex-start;font-family:var(--font-sans);}
.mount-card:hover{border-color:var(--line-strong);}
.mount-card.is-active{border-color:var(--accent);background:linear-gradient(180deg,var(--accent-bg),transparent);}
.mount-card-thumb{width:56px;height:56px;flex-shrink:0;background:var(--bg-input);border:1px solid var(--line-strong);border-radius:4px;overflow:hidden;}
.mount-card-thumb svg{width:100%;height:100%;}
/* Elevation preview */
.elev{background:linear-gradient(180deg,var(--canvas-stage) 0%,var(--canvas-stage-deep) 100%);border:1px solid var(--line-strong);border-radius:6px;height:280px;position:relative;overflow:hidden;}
.elev svg{width:100%;height:100%;}
.elev-cap{position:absolute;top:8px;left:10px;font-family:var(--font-mono);font-size:10px;color:var(--fg-4);letter-spacing:0.08em;text-transform:uppercase;}
/* Rolling dimensions step: inputs + live elevation */
.dim-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;align-items:start;}
.dim-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px 24px;align-items:start;margin-bottom:16px;}
.dim-col{display:flex;flex-direction:column;gap:14px;}
.elev.rdoor{height:340px;}
.elev.rdoor-multi{display:flex;flex-direction:column;height:700px;}
.elev.rdoor-multi>svg{display:block;flex:1 1 auto;width:100%;height:auto;min-height:0;}
.elev.rdoor-multi>.elev-cap{z-index:2;pointer-events:none;}
.rolling-dim-support-layout{display:grid;grid-template-columns:minmax(390px,430px) minmax(620px,1fr);gap:28px;align-items:start;}
.rolling-dim-support-editors{display:flex;flex-direction:column;gap:24px;min-width:0;}
.rolling-dim-support-preview{position:sticky;top:8px;min-width:0;}
.rolling-dim-support-preview .elev.rdoor-multi{height:clamp(620px,calc(100vh - 180px),760px);min-height:620px;max-height:760px;}
.rdoor-spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px 12px;background:var(--glass-bg);border-bottom:1px solid var(--line);flex:0 0 auto;}
.elev.rdoor-multi>.rdoor-spec-grid{padding-top:32px;}
.rdoor-spec-card{min-width:0;padding:9px 10px;background:var(--bg-input);border:1px solid var(--line);border-radius:5px;box-shadow:0 1px 0 rgba(15,23,42,0.03);}
.rdoor-spec-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px;color:var(--canvas-label);font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:0.09em;text-transform:uppercase;}
.rdoor-spec-title b{color:var(--accent);font-weight:800;}
.rdoor-spec-row{display:grid;grid-template-columns:minmax(70px,auto) minmax(0,1fr);align-items:baseline;gap:6px 12px;color:var(--fg-3);font-family:var(--font-mono);font-size:9px;line-height:1.45;}
.rdoor-spec-row>:last-child{color:var(--fg-2);font-weight:600;text-align:right;overflow-wrap:anywhere;}
.rdoor-spec-note{margin-top:6px;padding-top:6px;border-top:1px solid var(--line-soft);color:var(--fg-4);font-size:10px;line-height:1.4;}
.rdoor-scale-note{margin-right:auto;color:var(--fg-4);font-family:var(--font-mono);font-size:9px;letter-spacing:0.03em;}
.rdoor-legend{position:static;display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto;flex-wrap:wrap;gap:6px 14px;min-height:34px;padding:7px 12px;background:var(--glass-bg);border-top:1px solid var(--line);font-family:var(--font-mono);font-size:9px;color:var(--fg-3);}
.rdoor-legend span{display:inline-flex;align-items:center;gap:4px;}
.rdoor-legend i{width:8px;height:8px;border-radius:2px;display:inline-block;flex-shrink:0;}
@media(max-width:1480px){.rolling-dim-support-layout{grid-template-columns:minmax(0,1fr);}.rolling-dim-support-preview{position:static;}.rolling-dim-support-preview .elev.rdoor-multi{height:clamp(620px,72vh,720px);min-height:620px;max-height:720px;}}
@media(max-width:1200px){.rolling-dim-support-preview .elev.rdoor-multi{height:660px;min-height:620px;max-height:720px;}}
/* Post-lock cards */
.post-config-grid{display:grid;grid-template-columns:1fr;gap:12px;}
.post-card{background:var(--bg-panel);border:1px solid var(--line);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:12px;}
.post-card.disabled{opacity:0.52;}
.post-card-top{display:grid;grid-template-columns:28px minmax(150px,1fr) 74px;gap:10px;align-items:center;}
.post-preview{height:54px;border-radius:8px;border:1px solid var(--accent-border);background:linear-gradient(135deg,var(--accent-bg),rgba(29,124,207,0.18));color:var(--fg);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:700;letter-spacing:-0.04em;}
.post-fields{display:grid;grid-template-columns:96px 1fr 1.4fr;gap:10px;align-items:end;}
.post-meta{border-top:1px solid var(--line-soft);padding-top:10px;display:flex;flex-direction:column;gap:8px;}
.post-meta-row,.post-lock-slots{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.post-lock-slots{font-size:11px;color:var(--fg-3);font-family:var(--font-mono);}
.post-lock-slots b{color:var(--fg);font-weight:700;}
.post-code-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:8px;}
.post-code-grid div{min-width:0;background:var(--bg-input);border:1px solid var(--line-soft);border-radius:6px;padding:7px 8px;}
.post-code-grid span{display:block;font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:0.08em;color:var(--fg-4);margin-bottom:3px;}
.post-code-grid code{display:block;color:var(--fg-2);font-family:var(--font-mono);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:transparent;}
.post-json-export{margin-top:14px;background:var(--bg-panel);border:1px solid var(--line);border-radius:8px;padding:10px 12px;}
.post-json-export summary{cursor:pointer;color:var(--fg-2);font-size:12px;font-family:var(--font-mono);}
.post-json-export pre{margin:10px 0 0;max-height:240px;overflow:auto;color:var(--fg-2);font-size:11px;line-height:1.4;}
.pl-card{background:var(--bg-panel);border:1px solid var(--line);border-radius:8px;padding:12px;display:grid;grid-template-columns:28px 1fr 1fr 72px 28px;gap:10px;align-items:center;}
.pl-card.disabled{opacity:0.45;pointer-events:none;}
.pl-icon{width:28px;height:28px;border-radius:6px;background:var(--bg-input);border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;color:var(--accent);}
.pl-title{font-weight:600;font-size:13px;}
.pl-sub{color:var(--fg-3);font-size:11px;font-family:var(--font-mono);margin-top:1px;}
.pl-qty{background:var(--bg-input);border:1px solid var(--line);border-radius:4px;padding:4px 8px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:center;color:var(--fg-2);font-size:13px;}
/* Switch rows */
.switch-row{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--bg-panel);border:1px solid var(--line);border-radius:8px;}
.switch-row .price{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--fg-2);}
/* Stack direction */
.stack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.stack-card{background:var(--bg-panel);border:1px solid var(--line);border-radius:6px;padding:10px;cursor:pointer;display:flex;flex-direction:column;gap:8px;font-family:var(--font-sans);}
.stack-card:hover{border-color:var(--line-strong);}
.stack-card.is-active{border-color:var(--accent);background:var(--accent-bg);}
.stack-card .stack-thumb{height:40px;background:var(--bg-input);border:1px solid var(--line);border-radius:3px;position:relative;overflow:hidden;}
.stack-card .stack-name{font-size:11px;font-weight:500;}
/* Track stage */
.track-stage{background:radial-gradient(ellipse at center,var(--accent-bg),transparent 60%),linear-gradient(180deg,var(--canvas-stage) 0%,var(--canvas-stage-deep) 100%);border:1px solid var(--line-strong);border-radius:8px;height:380px;position:relative;overflow:hidden;}
.track-stage::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--canvas-grid) 1px,transparent 1px),linear-gradient(90deg,var(--canvas-grid) 1px,transparent 1px);background-size:24px 24px;pointer-events:none;}
.track-stage svg{width:100%;height:100%;position:relative;z-index:1;}
.track-toolbar{position:absolute;top:12px;left:12px;display:flex;gap:6px;z-index:2;}
.track-info{position:absolute;bottom:12px;left:12px;display:flex;gap:6px;z-index:2;}
/* Segment list */
.seg-list{display:flex;flex-direction:column;gap:4px;}
.seg-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;background:var(--bg-input);border:1px solid var(--line);font-family:var(--font-mono);font-size:11px;}
.seg-item:hover{border-color:var(--line-strong);}
.seg-badge{width:22px;height:22px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:10px;flex-shrink:0;}
.seg-badge.s{background:var(--status-pending-bg);color:var(--status-pending);}
.seg-badge.c{background:var(--accent-bg);color:var(--accent);}
/* Summary */
.summary-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-bottom:20px;min-width:0;}
.summary-grid > .panel{min-width:0;}
/* Validation list */
.vlist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px;font-size:13px;}
.vlist li{display:flex;align-items:flex-start;gap:8px;min-width:0;}
.vlist li.ok{color:var(--status-accepted);}
.vlist li.warn{color:var(--accent);}
.vbadge{width:16px;height:16px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;}
.vlist li.ok .vbadge{background:var(--status-accepted-bg);color:var(--status-accepted);}
.vlist li.warn .vbadge{background:var(--accent-bg);color:var(--accent);}
.vlist li.err{color:var(--status-rejected);}
.vlist li.err .vbadge{background:var(--status-rejected-bg);color:var(--status-rejected);}
/* Compatibility findings panel */
.compat-panel{border-color:var(--status-rejected-border);margin-bottom:18px;}
.compat-panel .panel-head{color:var(--status-rejected);}
.compat-panel.warn-only{border-color:var(--accent-border);}
.compat-panel.warn-only .panel-head{color:var(--accent);}
.compat-fix{flex:none;white-space:nowrap;}
/* Dev diagnostics */
.wiz-debug-panel{position:fixed;left:14px;bottom:76px;z-index:5100;background:var(--glass-bg);border:1px solid var(--accent-border);color:var(--fg-2);border-radius:8px;padding:10px 12px;font-family:var(--font-mono);font-size:10px;line-height:1.5;box-shadow:var(--sh-pop);max-width:460px;pointer-events:none;backdrop-filter:blur(14px);}
.wiz-debug-panel .warn{color:var(--accent);margin-top:4px;}
/* Skeleton */
.skel{background:var(--bg-input);border-radius:4px;overflow:hidden;position:relative;}
.skel::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--accent-bg),transparent);animation:shimmer 1.4s infinite;}
/* Scrollbar */
.wiz-overlay ::-webkit-scrollbar{width:8px;}
.wiz-overlay ::-webkit-scrollbar-track{background:transparent;}
.wiz-overlay ::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:100px;border:2px solid var(--bg);}
.wiz-narrow-label{display:none;}
.rolling-support-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start;min-width:0;}
.rolling-support-grid.is-asymmetrical{grid-template-columns:minmax(0,1fr);}
/* Responsive */
@media(min-width:1025px){
  .wiz-side-r.is-expanded .wiz-side-r-body{display:none;}
  .wiz-side-r.is-expanded .price-toggle-chevron{transform:rotate(-90deg);}
}
@media(max-width:1280px){.wiz-body{grid-template-columns:minmax(0,1fr) 300px;}}
@media(max-width:1024px){
  .wiz-body{grid-template-columns:minmax(0,1fr);}
  .wiz-main{padding-bottom:calc(var(--wiz-bottom-h) + 76px + env(safe-area-inset-bottom,0px));}
  .rolling-secondary-grid{grid-template-columns:minmax(0,1fr);}
  .summary-grid{grid-template-columns:minmax(0,1fr);}
  .wiz-bottom{
    position:fixed;left:0;right:0;bottom:0;z-index:40;
    padding:8px 16px calc(8px + env(safe-area-inset-bottom,0px));
    box-shadow:0 -4px 18px rgba(15,23,42,0.1);
  }
  .wiz-side-r{
    position:fixed;left:0;right:0;bottom:calc(var(--wiz-bottom-h) + env(safe-area-inset-bottom,0px));z-index:35;
    border-left:none;border-top:1px solid var(--line);
    border-radius:12px 12px 0 0;box-shadow:var(--sh-pop);
    max-height:60px;overflow:hidden;padding:0 20px;gap:0;
    transition:max-height 0.22s ease;
  }
  .wiz-side-r.is-expanded{
    max-height:calc(100vh - var(--wiz-bottom-h) - env(safe-area-inset-bottom,0px));
    max-height:calc(100dvh - var(--wiz-bottom-h) - env(safe-area-inset-bottom,0px));
    overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;
    padding:14px 20px 20px;gap:16px;
  }
  .wiz-side-r-head{height:60px;}
  .wiz-side-r.is-expanded .wiz-side-r-head{height:auto;padding-bottom:14px;}
  .wiz-side-r-body{display:none;}
  .wiz-side-r.is-expanded .wiz-side-r-body{display:flex;}
  .price-toggle-chevron{transform:rotate(0deg);}
  .wiz-side-r.is-expanded .price-toggle-chevron{transform:rotate(180deg);}
}
@media(max-width:768px){.rolling-model-list{grid-template-columns:minmax(0,1fr);max-height:none;}.hood-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.rolling-finish-panel .finish-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:768px){.wiz{--wiz-bottom-h:60px;}.wiz-overlay,.wiz,.wiz-top,.wiz-body,.wiz-main,.wiz-bottom{width:100%;max-width:100%;min-width:0;}.wiz{overflow:hidden;}.wiz-top,.wiz-bottom{overflow:hidden;}.wiz-top{padding:0 12px;gap:8px;}.wiz-brand{flex:1 1 auto;min-width:0;flex-wrap:nowrap!important;}.wiz-brand>div:last-child{min-width:0;}.wiz-brand .b.sm{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.wiz-step-pill{display:none!important;}.wiz-top-save{width:36px!important;padding:0!important;justify-content:center;flex:0 0 36px;}.wiz-top-save-label{display:none;}.wiz-main{padding:16px 20px calc(16px + var(--wiz-bottom-h) + 76px + env(safe-area-inset-bottom,0px));}.wiz-main>*{min-width:0;max-width:100%;}.wiz-bottom{flex-wrap:nowrap;gap:8px;min-height:var(--wiz-bottom-h);padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));}.wiz-bottom .btn{height:36px;padding:0 10px;font-size:12px;min-width:0;}.wiz-bottom .muted.xs.mono{display:none;}.wiz-bottom>.grow{display:none;}.wiz-prev{flex:0 0 36px!important;width:36px!important;padding:0!important;justify-content:center;}.wiz-prev-label{display:none;}.wiz-save-draft{flex:1 1 auto;justify-content:center;}.wiz-next{flex:0 1 auto;justify-content:center;}.wiz-wide-label{display:none;}.wiz-narrow-label{display:inline;}.mgrid{grid-template-columns:1fr!important;}.model-options-grid{grid-template-columns:1fr!important;}.rolling-model-list{grid-template-columns:1fr;max-height:none;}.rolling-electrical-layout{grid-template-columns:1fr;min-height:auto;}.rolling-electrical-layout .rolling-electrical-operator-list{flex:none;max-height:460px;}.rolling-support-grid.is-asymmetrical{grid-template-columns:minmax(0,1fr);}.operation-method-segment{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));height:auto!important;}.operation-method-segment button{height:36px!important;justify-content:center;}.hood-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.swatch-grid{grid-template-columns:repeat(3,1fr)!important;}.finish-grid{grid-template-columns:1fr!important;}.finish-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}.pl-card{grid-template-columns:28px 1fr;}.summary-grid{grid-template-columns:1fr;}.form-grid{grid-template-columns:1fr!important;}.form-grid.cols-3{grid-template-columns:1fr!important;}.grid-2{grid-template-columns:1fr!important;}.dim-controls,.dim-grid{grid-template-columns:minmax(0,1fr)!important;}.switch-row{min-width:0;flex-wrap:wrap;}.switch-row>.select{flex:1 1 100%!important;width:100%!important;}.mcard{min-width:0;}.mcard>.mcard-thumb{width:68px!important;height:68px!important;}.wiz-debug-panel{left:12px;right:12px;bottom:calc(72px + env(safe-area-inset-bottom,0px));max-width:none;}}
@media(max-width:480px){.wiz-main{padding-left:12px;padding-right:12px;}.step-head{gap:10px;margin-bottom:18px;}.step-head .icon-blob{width:36px;height:36px;}.step-head h2{font-size:20px;}.post-card{padding:10px;}.post-card-top{grid-template-columns:28px minmax(0,1fr) 62px;}.post-fields,.post-code-grid{grid-template-columns:minmax(0,1fr);}.mount-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.lock-card-list{grid-template-columns:minmax(0,1fr);}.hood-choice-grid{grid-template-columns:minmax(0,1fr);}.elev.rdoor-multi,.rolling-dim-support-preview .elev.rdoor-multi{height:640px;min-height:600px;max-height:none;}.rdoor-spec-grid{grid-template-columns:minmax(0,1fr);padding:8px;}.elev.rdoor-multi>.rdoor-spec-grid{padding-top:32px;}.rdoor-spec-card{padding:8px;}.rdoor-spec-row{grid-template-columns:minmax(62px,auto) minmax(0,1fr);}.rdoor-legend{justify-content:flex-start;gap:6px 10px;padding:7px 8px;}.rdoor-scale-note{flex-basis:100%;}.track-toolbar,.track-info{right:12px;flex-wrap:wrap;}.price-toggle-total{font-size:13px;}}
@keyframes shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.5}}
