/* Planck Operator — "New scan" wizard showcase. Scoped under .apiw; no :root/body overrides. CSP-safe. */
.apiw{
  --w-bg:#0a0b0d; --w-panel:#111214; --w-panel2:#16171a; --w-inset:#0c0d0f;
  --w-line:rgba(236,226,214,.10); --w-line2:rgba(236,226,214,.18);
  --w-ink:#ECE9E3; --w-mid:#B4B8C0; --w-dim:#8A8F99; --w-faint:#5E636D;
  --w-ac:#C9A87C; --w-ac-hi:#E0C79C; --w-ac-soft:rgba(201,168,124,.12);
  --w-green:#7FB08A; --w-amber:#D98A5B;
  --w-serif:'Newsreader',Georgia,serif; --w-sans:'Inter',-apple-system,sans-serif;
  --w-mono:'Geist Mono',ui-monospace,'JetBrains Mono',Menlo,monospace;
  --w-r:10px; --w-rx:16px;
  display:block;position:relative;color:var(--w-mid);font-family:var(--w-sans);
}
.apiw *{box-sizing:border-box}
.apiw .w-radio{position:absolute;opacity:0;pointer-events:none;width:0;height:0}
.apiw .w-frame{border:1px solid var(--w-line);border-radius:var(--w-rx);background:var(--w-bg);overflow:hidden;box-shadow:0 30px 80px -40px rgba(0,0,0,.8)}
.apiw .w-top{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--w-line);background:#08090b}
.apiw .w-dots{display:flex;gap:7px}
.apiw .w-dots i{width:11px;height:11px;border-radius:50%;background:var(--w-line2);display:inline-block}
.apiw .w-url{font-family:var(--w-mono);font-size:12px;color:var(--w-faint);letter-spacing:.02em}
.apiw .w-eyebrow{font-family:var(--w-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--w-ac);padding:22px 26px 0}
.apiw .w-title{font-family:var(--w-serif);font-weight:400;font-size:1.9rem;color:var(--w-ink);margin:2px 26px 0;letter-spacing:-.01em}

/* stepper */
.apiw .w-stepper{display:flex;align-items:center;flex-wrap:wrap;gap:0;padding:20px 26px 6px}
.apiw .w-step{display:inline-flex;align-items:center;gap:9px;cursor:pointer;user-select:none;padding:6px 4px}
.apiw .w-step .w-num{width:24px;height:24px;flex:0 0 auto;border-radius:50%;border:1.5px solid var(--w-line2);display:grid;place-items:center;font-family:var(--w-mono);font-size:11px;color:var(--w-faint);transition:.25s}
.apiw .w-step .w-lbl{font-size:14px;color:var(--w-faint);transition:.25s}
.apiw .w-step .w-check{display:none}
.apiw .w-sbar{width:34px;height:1px;background:var(--w-line);margin:0 8px;flex:0 0 auto}

/* panels */
.apiw .w-panels{padding:8px 26px 4px}
.apiw .w-panel{display:none;animation:wfade .35s ease both}
.apiw .w-card{border:1px solid var(--w-line);border-radius:var(--w-rx);background:linear-gradient(180deg,var(--w-panel),var(--w-inset));padding:24px 26px;margin:14px 0 18px}
.apiw .w-clabel{font-family:var(--w-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--w-ac);display:block;margin-bottom:16px}
.apiw .w-flabel{font-family:var(--w-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--w-dim);display:block;margin:16px 0 8px}
.apiw .w-flabel:first-child{margin-top:0}
.apiw .w-input,.apiw .w-select,.apiw .w-textarea{width:100%;background:var(--w-inset);border:1px solid var(--w-line2);border-radius:var(--w-r);padding:12px 14px;color:var(--w-ink);font-family:var(--w-sans);font-size:14px}
.apiw .w-input.ph,.apiw .w-textarea.ph{color:var(--w-faint)}
.apiw .w-select{display:flex;align-items:center;justify-content:space-between}
.apiw .w-select .car{color:var(--w-dim)}
.apiw .w-textarea{min-height:92px;font-family:var(--w-mono);font-size:12.5px;line-height:1.6}
.apiw .w-help{font-size:13px;color:var(--w-dim);line-height:1.6;margin:14px 0 0}
.apiw .w-help b{color:var(--w-mid)}

/* file input */
.apiw .w-file{display:flex;align-items:center;gap:12px;background:var(--w-inset);border:1px solid var(--w-line2);border-radius:var(--w-r);padding:10px 12px}
.apiw .w-file .btn{background:#e6e6e6;color:#111;border-radius:6px;padding:6px 12px;font-size:12.5px;font-weight:500}
.apiw .w-file .nf{color:var(--w-faint);font-size:13px}

/* exclusions list */
.apiw .w-count{display:inline-block;font-family:var(--w-mono);font-size:10px;letter-spacing:.1em;color:var(--w-dim);border:1px solid var(--w-line2);border-radius:999px;padding:3px 9px;margin-left:8px;vertical-align:2px}
.apiw .w-sub{font-size:13px;color:var(--w-dim);margin:0 0 14px}
.apiw .w-sub a{color:var(--w-ac);text-decoration:none}
.apiw .w-ep{display:flex;align-items:center;gap:12px;background:var(--w-inset);border:1px solid var(--w-line);border-radius:var(--w-r);padding:11px 14px;margin-bottom:7px}
.apiw .w-ck{width:17px;height:17px;flex:0 0 auto;border-radius:4px;border:1.5px solid var(--w-ac);background:var(--w-ac-soft);display:grid;place-items:center;color:var(--w-ac);font-size:11px;line-height:1}
.apiw .w-m{font-family:var(--w-mono);font-size:10px;letter-spacing:.06em;padding:3px 8px;border-radius:5px;flex:0 0 auto}
.apiw .w-m.post{color:var(--w-amber);background:rgba(217,138,91,.10);border:1px solid rgba(217,138,91,.3)}
.apiw .w-m.get{color:var(--w-green);background:rgba(127,176,138,.10);border:1px solid rgba(127,176,138,.3)}
.apiw .w-path{font-family:var(--w-mono);font-size:13px;color:var(--w-ink);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.apiw .w-pc{font-family:var(--w-mono);font-size:11px;color:var(--w-faint);flex:0 0 auto}

/* authorization rows */
.apiw .w-authrow{display:flex;gap:10px;align-items:center;margin-bottom:10px}
.apiw .w-authrow .role{flex:0 0 120px}
.apiw .w-authrow .tok{flex:1;min-width:0;font-family:var(--w-mono);font-size:12px;color:var(--w-mid);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.apiw .w-x{width:34px;height:34px;flex:0 0 auto;border-radius:50%;border:1px solid var(--w-line2);color:var(--w-dim);display:grid;place-items:center;background:var(--w-inset)}
.apiw .w-add{display:inline-block;background:var(--w-inset);border:1px solid var(--w-line2);border-radius:999px;color:var(--w-mid);font-size:13px;padding:8px 16px;margin-top:4px}

/* settings radios */
.apiw .w-opt{display:flex;gap:13px;align-items:flex-start;border:1px solid var(--w-line);border-radius:var(--w-r);padding:15px 16px;margin-bottom:10px;background:var(--w-inset)}
.apiw .w-opt.sel{border-color:var(--w-ac);background:var(--w-ac-soft)}
.apiw .w-dot{width:17px;height:17px;flex:0 0 auto;border-radius:50%;border:1.5px solid var(--w-line2);margin-top:1px}
.apiw .w-opt.sel .w-dot{border-color:var(--w-ac);box-shadow:inset 0 0 0 4px var(--w-ac)}
.apiw .w-opt .ot{color:var(--w-ink);font-size:14px;display:block;margin-bottom:3px}
.apiw .w-opt .od{color:var(--w-dim);font-size:12.5px;line-height:1.5}
.apiw .w-scope{font-family:var(--w-mono);font-size:12px;color:var(--w-faint);margin:6px 0 0;line-height:1.6}

/* footer actions */
.apiw .w-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 26px 26px}
.apiw .w-btn{border-radius:999px;font-family:var(--w-sans);font-size:14px;font-weight:500;padding:11px 22px;cursor:pointer;border:1px solid transparent}
.apiw .w-btn.ghost{background:#0e0f11;border-color:var(--w-line2);color:var(--w-mid)}
.apiw .w-btn.primary{background:var(--w-ac);color:#0a0a0a;font-weight:600}
.apiw .w-actions.end{justify-content:flex-end}

/* ===== radio-driven panel + step state (works without JS) ===== */
.apiw #ws1:checked ~ .w-frame .w-panel.p1,
.apiw #ws2:checked ~ .w-frame .w-panel.p2,
.apiw #ws3:checked ~ .w-frame .w-panel.p3,
.apiw #ws4:checked ~ .w-frame .w-panel.p4,
.apiw #ws5:checked ~ .w-frame .w-panel.p5{display:block}
.apiw #ws1:checked ~ .w-frame label[for=ws1] .w-num,
.apiw #ws2:checked ~ .w-frame label[for=ws2] .w-num,
.apiw #ws3:checked ~ .w-frame label[for=ws3] .w-num,
.apiw #ws4:checked ~ .w-frame label[for=ws4] .w-num,
.apiw #ws5:checked ~ .w-frame label[for=ws5] .w-num{background:var(--w-ac);border-color:var(--w-ac);color:#0a0a0a}
.apiw #ws1:checked ~ .w-frame label[for=ws1] .w-lbl,
.apiw #ws2:checked ~ .w-frame label[for=ws2] .w-lbl,
.apiw #ws3:checked ~ .w-frame label[for=ws3] .w-lbl,
.apiw #ws4:checked ~ .w-frame label[for=ws4] .w-lbl,
.apiw #ws5:checked ~ .w-frame label[for=ws5] .w-lbl{color:var(--w-ink)}
/* done state (JS adds .is-done to completed steps for the checkmark) */
.apiw .w-step.is-done .w-num{border-color:var(--w-ac);color:var(--w-ac)}
.apiw .w-step.is-done .w-num .w-dg{display:none}
.apiw .w-step.is-done .w-check{display:inline}
.apiw .w-step.is-done .w-lbl{color:var(--w-mid)}

@keyframes wfade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

@media(max-width:640px){
  .apiw .w-title{font-size:1.5rem}
  .apiw .w-stepper{gap:2px}
  .apiw .w-sbar{width:14px;margin:0 3px}
  .apiw .w-step .w-lbl{display:none}
  .apiw .w-step{padding:6px}
  .apiw .w-authrow{flex-wrap:wrap}
  .apiw .w-authrow .role{flex:1 1 100%}
}
