:root{--bg:#0b1020;--card:#121a33;--text:#e7ecff;--muted:#aab4e6;--accent:#7c5cff;--ok:#20c997;--warn:#ffcc00;--bad:#ff4d4f}
*{box-sizing:border-box}
body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;background:linear-gradient(180deg,#070a14,#0b1020 40%,#070a14);color:var(--text)}
.topbar{display:flex;gap:16px;justify-content:space-between;align-items:flex-start;padding:22px;border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:0;background:rgba(11,16,32,.85);backdrop-filter:blur(10px);z-index:10}
.kicker{color:var(--muted);font-size:12px;letter-spacing:.6px;text-transform:uppercase}
h1{margin:6px 0;font-size:28px}
.badge{font-size:12px;background:rgba(124,92,255,.2);border:1px solid rgba(124,92,255,.35);padding:2px 8px;border-radius:999px;vertical-align:middle;margin-left:6px}
.sub{margin:0;color:var(--muted);max-width:860px}
.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:16px;max-width:1200px;margin:0 auto}
.card{background:rgba(18,26,51,.92);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:16px;box-shadow:0 12px 30px rgba(0,0,0,.35)}
h2{margin:0 0 10px;font-size:18px}
.lbl{display:block;margin:10px 0 6px;color:var(--muted);font-size:13px}
.ta{width:100%;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(10,14,28,.7);color:var(--text);padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;resize:vertical}
.sel{border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(10,14,28,.7);color:var(--text);padding:10px}
.row{display:flex;gap:10px;align-items:center}
.mt{margin-top:12px}
.spacer{flex:1}
.sep{border:none;border-top:1px solid rgba(255,255,255,.10);margin:14px 0}
.muted{color:var(--muted);font-size:13px}
code{background:rgba(255,255,255,.08);padding:1px 6px;border-radius:6px}
.btn{border-radius:12px;border:1px solid rgba(255,255,255,.14);padding:10px 12px;background:rgba(255,255,255,.06);color:var(--text);cursor:pointer}
.btn:hover{background:rgba(255,255,255,.10)}
.btn.primary{background:rgba(124,92,255,.28);border-color:rgba(124,92,255,.45)}
.btn.success{background:rgba(32,201,151,.22);border-color:rgba(32,201,151,.4)}
.btn.danger{background:rgba(255,77,79,.18);border-color:rgba(255,77,79,.38)}
.btn.ghost{background:transparent}
.btn.small{padding:7px 10px;font-size:13px}
.pill{font-size:12px;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05)}
.pill.ok{border-color:rgba(32,201,151,.45);background:rgba(32,201,151,.14)}
.pill.bad{border-color:rgba(255,77,79,.45);background:rgba(255,77,79,.12)}
.pill.busy{border-color:rgba(255,204,0,.45);background:rgba(255,204,0,.10)}
.log{height:420px;overflow:auto;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(10,14,28,.7);padding:12px;white-space:pre-wrap}
.callout{border-radius:14px;padding:10px 12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:var(--muted);font-size:13px}
.callout.warn{border-color:rgba(255,204,0,.35);background:rgba(255,204,0,.08)}
.toggle{color:var(--muted);font-size:13px;display:flex;align-items:center;gap:8px}
.seg{display:flex;gap:10px;align-items:center;padding:8px 10px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(10,14,28,.45)}
.segopt{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:13px;white-space:nowrap}
.dlg{border:none;border-radius:18px;padding:16px;max-width:560px;width:calc(100% - 22px);background:rgba(18,26,51,.98);color:var(--text)}
.steps{color:var(--muted)}
@media (max-width: 980px){.grid{grid-template-columns:1fr}.topbar{position:static}}
