:root {
  --bg-primary:#0a0a0a; --bg-secondary:#111111; --bg-tertiary:#1a1a1a;
  --accent-amber:#f59e0b; --accent-green:#22c55e; --accent-red:#ef4444;
  --accent-blue:#3b82f6; --text-primary:#f5f5f5; --text-secondary:#a3a3a3;
  --text-muted:#525252; --border:#262626;
  --font-mono:'IBM Plex Mono',monospace; --font-sans:'DM Sans',sans-serif;
  --sidebar-width:220px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);font-size:13px;line-height:1.5;overflow:hidden}
body{display:flex}
.sidebar{width:var(--sidebar-width);min-height:100vh;background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;z-index:10}
.main-content{flex:1;height:100vh;overflow-y:auto;padding:32px 36px}
.sidebar-logo{display:flex;align-items:center;gap:10px;padding:20px 20px 16px;border-bottom:1px solid var(--border)}
.logo-mark{color:var(--accent-amber);font-size:18px;font-family:var(--font-mono)}
.logo-text{font-family:var(--font-mono);font-weight:600;font-size:12px;letter-spacing:.2em}
.sidebar-status{display:flex;align-items:center;gap:8px;padding:12px 20px;border-bottom:1px solid var(--border)}
.status-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted);display:inline-block}
.status-dot.active{background:var(--accent-green);animation:pulse-green 2s ease-in-out infinite}
.status-dot.paused{background:var(--accent-amber);animation:pulse-amber 2s ease-in-out infinite}
@keyframes pulse-green{0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,.4)}50%{box-shadow:0 0 0 5px rgba(34,197,94,0)}}
@keyframes pulse-amber{0%,100%{box-shadow:0 0 0 0 rgba(245,158,11,.4)}50%{box-shadow:0 0 0 5px rgba(245,158,11,0)}}
.status-label{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.15em;color:var(--text-secondary)}
.sidebar-nav{flex:1;padding:16px 0;display:flex;flex-direction:column;gap:2px}
.nav-item{display:flex;align-items:center;gap:10px;padding:10px 20px;color:var(--text-secondary);text-decoration:none;font-size:13px;font-weight:500;border-left:4px solid transparent;transition:all .15s ease;cursor:pointer;position:relative}
.nav-item:hover{color:var(--text-primary);background:var(--bg-tertiary);border-left-color:var(--border)}
.nav-item.active{color:var(--accent-amber);border-left-color:var(--accent-amber);background:rgba(245,158,11,.1);text-shadow:0 0 8px rgba(245,158,11,.15)}
.nav-badge{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:var(--accent-amber);color:var(--bg-primary);font-family:var(--font-mono);font-size:9px;font-weight:700;min-width:16px;height:16px;line-height:16px;text-align:center;padding:0 4px;animation:pulse-amber 2s ease-in-out infinite}
.nav-icon{font-size:12px;width:16px;text-align:center}
.sidebar-footer{padding:16px 20px;border-top:1px solid var(--border)}
.refresh-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.refresh-label{font-family:var(--font-mono);font-size:9px;letter-spacing:.15em;color:var(--text-muted)}
.refresh-countdown{font-family:var(--font-mono);font-size:11px;color:var(--accent-amber)}
.last-updated{font-family:var(--font-mono);font-size:10px;color:var(--text-muted)}
.page-header{margin-bottom:28px;padding-bottom:16px;border-bottom:1px solid var(--border)}
.page-title{font-family:var(--font-mono);font-size:20px;font-weight:600;letter-spacing:.05em}
.page-subtitle{font-size:12px;color:var(--text-muted);margin-top:4px;font-family:var(--font-mono)}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);margin-bottom:28px}
.stat-card{background:var(--bg-secondary);padding:20px 24px;display:flex;flex-direction:column;gap:6px;animation:fadeInUp .4s ease both}
.stat-card:nth-child(1){animation-delay:.05s}.stat-card:nth-child(2){animation-delay:.10s}.stat-card:nth-child(3){animation-delay:.15s}.stat-card:nth-child(4){animation-delay:.20s}.stat-card:nth-child(5){animation-delay:.25s}.stat-card:nth-child(6){animation-delay:.30s}.stat-card:nth-child(7){animation-delay:.35s}.stat-card:nth-child(8){animation-delay:.40s}
.stat-label{font-family:var(--font-mono);font-size:9px;letter-spacing:.2em;color:var(--text-muted);text-transform:uppercase}
.stat-value{font-family:var(--font-mono);font-size:22px;font-weight:500;line-height:1.1}
.stat-value.positive{color:var(--accent-green)}.stat-value.negative{color:var(--accent-red)}.stat-value.amber{color:var(--accent-amber)}
.stat-meta{font-size:11px;color:var(--text-muted)}
.progress-bar-wrap{margin-top:6px}
.progress-bar-track{height:3px;background:var(--bg-tertiary);border:1px solid var(--border)}
.progress-bar-fill{height:100%;background:var(--accent-amber);transition:width .6s ease}
.progress-bar-fill.danger{background:var(--accent-red)}
.section-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;color:var(--text-muted);text-transform:uppercase;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}
.table-wrap{border:1px solid var(--border);overflow-x:auto;margin-bottom:28px}
table{width:100%;border-collapse:collapse;font-size:12px}
thead th{background:var(--bg-tertiary);font-family:var(--font-mono);font-size:9px;letter-spacing:.15em;color:var(--text-muted);text-transform:uppercase;padding:10px 14px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}
tbody tr{border-bottom:1px solid var(--border);animation:fadeInUp .3s ease both;transition:background .1s ease,border-left .1s ease;border-left:2px solid transparent}
tbody tr:nth-child(odd){background:var(--bg-secondary)}tbody tr:nth-child(even){background:var(--bg-tertiary)}
tbody tr:hover{background:rgba(245,158,11,.05);border-left-color:var(--accent-amber)}
tbody td{padding:10px 14px;white-space:nowrap}
.td-mono{font-family:var(--font-mono);font-size:12px}
.td-muted{color:var(--text-muted);font-family:var(--font-mono);font-size:11px}
.score-badge{display:inline-block;font-family:var(--font-mono);font-size:11px;font-weight:600;padding:2px 8px;border:1px solid}
.score-badge.high{color:var(--accent-green);border-color:var(--accent-green);background:rgba(34,197,94,.08)}
.score-badge.medium{color:var(--accent-amber);border-color:var(--accent-amber);background:rgba(245,158,11,.08)}
.score-badge.low{color:var(--accent-red);border-color:var(--accent-red);background:rgba(239,68,68,.08)}
.decision-badge{display:inline-block;font-family:var(--font-mono);font-size:10px;font-weight:600;padding:2px 8px;letter-spacing:.1em;border:1px solid var(--border);color:var(--text-muted)}
.decision-badge.buy{color:var(--accent-green);border-color:var(--accent-green);background:rgba(34,197,94,.08)}
.decision-badge.skip{color:var(--text-muted);border-color:var(--border)}
.decision-badge.pending{color:var(--accent-amber);border-color:var(--accent-amber);background:rgba(245,158,11,.06)}
.chain-badge{display:inline-block;font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;padding:2px 6px;border:1px solid var(--border);color:var(--text-secondary);text-transform:uppercase}
.action-buy{color:var(--accent-green);font-family:var(--font-mono);font-weight:600;font-size:11px}
.action-sell{color:var(--accent-red);font-family:var(--font-mono);font-weight:600;font-size:11px}
.action-stop{color:var(--accent-amber);font-family:var(--font-mono);font-weight:600;font-size:11px}
.row-detail{display:none;background:var(--bg-tertiary)!important}
.row-detail.open{display:table-row}
.row-detail td{padding:12px 14px 12px 28px}
.flags-list{display:flex;flex-wrap:wrap;gap:6px}
.flag-item{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);background:var(--bg-primary);border:1px solid var(--border);padding:3px 8px}
.chart-wrap{border:1px solid var(--border);padding:20px;margin-bottom:28px;background:var(--bg-secondary)}
.chart-title{font-family:var(--font-mono);font-size:10px;letter-spacing:.15em;color:var(--text-muted);text-transform:uppercase;margin-bottom:16px}
.yield-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);margin-bottom:28px}
.yield-card{background:var(--bg-secondary);padding:20px;animation:fadeInUp .35s ease both}
.yield-platform{font-family:var(--font-mono);font-size:12px;font-weight:600;margin-bottom:4px}
.yield-apy{font-family:var(--font-mono);font-size:28px;font-weight:500;color:var(--accent-amber);line-height:1;margin:8px 0}
.yield-best .yield-apy{color:var(--accent-green)}
.yield-meta{font-size:11px;color:var(--text-muted)}
.yield-monthly{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);margin-top:6px}
.best-badge{display:inline-block;font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;color:var(--accent-green);border:1px solid var(--accent-green);padding:1px 6px;margin-left:8px}
.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted)}
.empty-state-icon{font-size:32px;margin-bottom:12px;opacity:.4}
.empty-state-title{font-family:var(--font-mono);font-size:13px;color:var(--text-secondary);margin-bottom:6px}
.empty-state-msg{font-size:12px;color:var(--text-muted)}
.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:60vh;gap:16px}
.loading-spinner{width:32px;height:32px;border:2px solid var(--border);border-top-color:var(--accent-amber);border-radius:50%;animation:spin .8s linear infinite}
.loading-text{font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;color:var(--text-muted)}
.no-data-banner{border:1px solid var(--border);background:var(--bg-secondary);padding:16px 20px;margin-bottom:24px;font-family:var(--font-mono);font-size:11px;color:var(--text-muted);display:flex;align-items:center;gap:12px}
.no-data-banner::before{content:"◈";color:var(--accent-amber);font-size:14px}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes fadeInUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
/* mobile overrides moved to bottom of file */

/* ── Interactive buttons ──────────────────────────────────────────────────── */

.btn {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--font-mono); font-size: 11px; font-weight: 600;
  letter-spacing: .08em; padding: 7px 16px; border: 1px solid;
  cursor: pointer; transition: all .15s ease; text-transform: uppercase;
  background: transparent; white-space: nowrap;
}
.btn:disabled { opacity: .35; cursor: not-allowed; pointer-events: none; }
.btn-buy  { color: var(--accent-green); border-color: var(--accent-green); }
.btn-buy:hover  { background: rgba(34,197,94,.12); box-shadow: 0 0 12px rgba(34,197,94,.2); }
.btn-skip { color: var(--text-muted); border-color: var(--border); }
.btn-skip:hover { color: var(--text-secondary); border-color: var(--text-muted); background: var(--bg-tertiary); }
.btn-danger { color: var(--accent-red); border-color: var(--accent-red); }
.btn-danger:hover { background: rgba(239,68,68,.12); }
.btn-amber { color: var(--accent-amber); border-color: var(--accent-amber); }
.btn-amber:hover { background: rgba(245,158,11,.12); }
.btn-ghost { color: var(--text-secondary); border-color: var(--border); }
.btn-ghost:hover { color: var(--text-primary); border-color: var(--text-muted); background: var(--bg-tertiary); }
.btn-sm { font-size: 10px; padding: 4px 10px; }

.btn-group { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }

/* ── Modal ────────────────────────────────────────────────────────────────── */

.modal-overlay {
  position: fixed; inset: 0; background: rgba(0,0,0,.75);
  display: flex; align-items: center; justify-content: center;
  z-index: 1000; animation: fadeIn .15s ease;
}
.modal {
  background: var(--bg-secondary); border: 1px solid var(--border);
  min-width: 360px; max-width: 520px; width: 90%;
  animation: slideUp .2s ease;
}
.modal-header {
  padding: 20px 24px 16px; border-bottom: 1px solid var(--border);
  display: flex; align-items: center; justify-content: space-between;
}
.modal-title { font-family: var(--font-mono); font-size: 13px; font-weight: 600; letter-spacing: .1em; }
.modal-close { background: none; border: none; color: var(--text-muted); cursor: pointer; font-size: 18px; padding: 2px 6px; }
.modal-close:hover { color: var(--text-primary); }
.modal-body { padding: 20px 24px; }
.modal-footer { padding: 16px 24px; border-top: 1px solid var(--border); display: flex; gap: 10px; justify-content: flex-end; }

.modal-token { font-family: var(--font-mono); font-size: 22px; font-weight: 600; color: var(--accent-amber); margin-bottom: 16px; }
.modal-row { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid var(--border); font-size: 12px; }
.modal-row:last-child { border-bottom: none; }
.modal-label { color: var(--text-muted); font-family: var(--font-mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.modal-val { font-family: var(--font-mono); font-size: 12px; }

@keyframes fadeIn  { from { opacity: 0 } to { opacity: 1 } }
@keyframes slideUp { from { transform: translateY(16px); opacity: 0 } to { transform: translateY(0); opacity: 1 } }

/* ── Toast notifications ─────────────────────────────────────────────────── */

#toast-container {
  position: fixed; bottom: 24px; right: 24px; z-index: 2000;
  display: flex; flex-direction: column; gap: 8px; pointer-events: none;
}
.toast {
  display: flex; align-items: center; gap: 12px;
  background: var(--bg-tertiary); border: 1px solid var(--border);
  padding: 12px 18px; min-width: 260px; max-width: 380px;
  font-family: var(--font-mono); font-size: 12px;
  animation: toastIn .25s ease; pointer-events: all;
}
.toast.success { border-left: 3px solid var(--accent-green); }
.toast.error   { border-left: 3px solid var(--accent-red); }
.toast.info    { border-left: 3px solid var(--accent-amber); }
.toast-icon    { font-size: 14px; flex-shrink: 0; }
.toast-out     { animation: toastOut .3s ease forwards; }
@keyframes toastIn  { from { opacity: 0; transform: translateX(20px) } to { opacity: 1; transform: translateX(0) } }
@keyframes toastOut { to { opacity: 0; transform: translateX(20px) } }

/* ── Filter bar ──────────────────────────────────────────────────────────── */

.filter-bar {
  display: flex; gap: 8px; margin-bottom: 16px; align-items: center; flex-wrap: wrap;
}
.filter-select {
  background: var(--bg-secondary); border: 1px solid var(--border);
  color: var(--text-secondary); font-family: var(--font-mono); font-size: 11px;
  padding: 6px 12px; cursor: pointer;
}
.filter-select:focus { outline: none; border-color: var(--accent-amber); }
.filter-label { font-family: var(--font-mono); font-size: 10px; letter-spacing: .12em; color: var(--text-muted); text-transform: uppercase; }
.filter-count { font-family: var(--font-mono); font-size: 11px; color: var(--text-muted); margin-left: auto; }

/* ── Page header actions row ─────────────────────────────────────────────── */

.page-header { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
.page-header-left  .page-title   { font-family: var(--font-mono); font-size: 20px; font-weight: 600; letter-spacing: .05em; }
.page-header-left  .page-subtitle{ font-size: 12px; color: var(--text-muted); margin-top: 4px; font-family: var(--font-mono); }
.page-header-right { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

/* ── Controls page ───────────────────────────────────────────────────────── */

.control-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1px; background: var(--border); border: 1px solid var(--border); margin-bottom: 28px; }
.control-card { background: var(--bg-secondary); padding: 24px; animation: fadeInUp .35s ease both; }
.control-card-title { font-family: var(--font-mono); font-size: 10px; letter-spacing: .2em; color: var(--text-muted); text-transform: uppercase; margin-bottom: 16px; padding-bottom: 10px; border-bottom: 1px solid var(--border); }
.control-card-desc { font-size: 12px; color: var(--text-secondary); margin-bottom: 16px; line-height: 1.6; }
.control-status-val { font-family: var(--font-mono); font-size: 18px; font-weight: 600; margin-bottom: 16px; }

.stat-row { display: flex; justify-content: space-between; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--border); font-size: 12px; }
.stat-row:last-child { border-bottom: none; }
.stat-row-label { color: var(--text-muted); font-family: var(--font-mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.stat-row-val { font-family: var(--font-mono); font-size: 13px; }

/* ── Inline action cells ─────────────────────────────────────────────────── */
.action-cell { display: flex; gap: 6px; }

/* ── Pending alert highlight ─────────────────────────────────────────────── */
tr.alert-pending { border-left: 3px solid var(--accent-amber) !important; }

/* ── Pulsing pause button ──────────────────────────────────────────────── */
.btn-amber.btn-paused { animation: pulse-amber-border 2s ease-in-out infinite; }
@keyframes pulse-amber-border {
  0%,100% { box-shadow: 0 0 0 0 rgba(245,158,11,.4); }
  50% { box-shadow: 0 0 0 6px rgba(245,158,11,0); }
}

/* ── Pulsing buy button on pending rows ────────────────────────────────── */
.alert-pending .btn-buy { animation: pulse-buy 2s ease-in-out infinite; }
@keyframes pulse-buy {
  0%,100% { box-shadow: 0 0 0 0 rgba(34,197,94,.35); }
  50% { box-shadow: 0 0 0 5px rgba(34,197,94,0); }
}

/* ── Page transition ───────────────────────────────────────────────────── */
#page-container { transition: opacity 50ms ease; }
#page-container.page-fade { opacity: 0; }

/* ── Top notification bar ──────────────────────────────────────────────── */
.top-notify-bar {
  display: flex; align-items: center; gap: 12px;
  background: var(--bg-secondary); border: 1px solid var(--accent-amber);
  border-left: 3px solid var(--accent-amber);
  padding: 10px 16px; margin-bottom: 20px;
  font-family: var(--font-mono); font-size: 12px;
  animation: fadeInUp .3s ease;
}
.top-notify-bar .notify-icon { color: var(--accent-amber); font-size: 14px; flex-shrink: 0; }
.top-notify-bar .notify-text { flex: 1; color: var(--text-secondary); }
.top-notify-bar .notify-token { color: var(--accent-amber); font-weight: 600; }
.top-notify-bar .notify-dismiss {
  background: none; border: none; color: var(--text-muted);
  cursor: pointer; font-size: 16px; padding: 0 4px;
}
.top-notify-bar .notify-dismiss:hover { color: var(--text-primary); }

/* ── Trade row color coding ────────────────────────────────────────────── */
tr.trade-positive { background: rgba(34,197,94,.04) !important; }
tr.trade-negative { background: rgba(239,68,68,.04) !important; }

/* ── Countdown close button ────────────────────────────────────────────── */
.btn-danger.btn-countdown { pointer-events: none; opacity: .7; }

/* ── Mini sparkline in stat card ───────────────────────────────────────── */
.stat-sparkline { margin-top: 6px; }

/* ── Portfolio utilization stat ────────────────────────────────────────── */

/* ── Recommendation box ────────────────────────────────────────────────── */
.recommendation-box {
  border: 1px solid var(--accent-green); background: rgba(34,197,94,.05);
  padding: 16px 20px; margin-bottom: 20px; font-family: var(--font-mono);
  animation: fadeInUp .3s ease;
}
.recommendation-box .rec-title {
  font-size: 10px; letter-spacing: .2em; color: var(--accent-green);
  text-transform: uppercase; margin-bottom: 8px;
}
.recommendation-box .rec-body { font-size: 13px; color: var(--text-secondary); line-height: 1.6; }
.recommendation-box .rec-body strong { color: var(--accent-green); }

/* ── CSV export button ─────────────────────────────────────────────────── */

/* ── Keyboard shortcut hints ───────────────────────────────────────────── */
.kbd-hint {
  display: inline-block; font-family: var(--font-mono); font-size: 9px;
  color: var(--text-muted); border: 1px solid var(--border);
  padding: 1px 5px; margin-left: 6px; letter-spacing: .05em;
}

/* ── Mobile bottom tab bar ─────────────────────────────────────────────── */
@media(max-width:600px){
  body { flex-direction: column; }
  .sidebar {
    position: fixed; bottom: 0; left: 0; right: 0; width: 100%;
    min-height: auto; height: 56px; flex-direction: row;
    border-right: none; border-top: 1px solid var(--border); z-index: 100;
  }
  .sidebar-logo, .sidebar-status, .sidebar-footer { display: none; }
  .sidebar-nav {
    flex-direction: row; padding: 0; gap: 0;
    width: 100%; justify-content: space-around;
  }
  .nav-item {
    flex-direction: column; padding: 8px 4px; gap: 2px;
    border-left: none !important; border-top: 2px solid transparent;
    font-size: 9px; text-align: center; flex: 1;
  }
  .nav-item.active { border-top-color: var(--accent-amber); border-left-color: transparent !important; }
  .nav-item:hover { border-left-color: transparent; border-top-color: var(--border); }
  .nav-icon { font-size: 16px; width: auto; }
  .nav-item span:not(.nav-icon):not(.nav-badge) { display: block; font-size: 8px; }
  .nav-badge { position: absolute; right: 4px; top: 4px; transform: none; }
  .main-content { padding: 16px; padding-bottom: 72px; }
  .top-notify-bar { display: none; }
  .logo-text, .sidebar-status .status-label { display: none; }
}


/* ── Setup Wizard ────────────────────────────────────────────────────────── */
#wiz-overlay{position:fixed;inset:0;background:var(--bg-primary);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}
.wiz-container{width:100%;max-width:560px;background:var(--bg-secondary);border:1px solid var(--border);display:flex;flex-direction:column;animation:fadeInUp .3s ease both}
.wiz-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--border)}
.wiz-header-left{display:flex;align-items:center;gap:10px}
.wiz-logo{width:28px;height:28px;object-fit:contain}
.wiz-brand{font-family:var(--font-mono);font-weight:600;font-size:11px;letter-spacing:.2em;color:var(--text-primary)}
.wiz-dots{display:flex;align-items:center;gap:6px}
.wiz-dot{width:8px;height:8px;border-radius:50%;background:var(--border);transition:all .2s ease}
.wiz-dot.active{background:var(--accent-amber);box-shadow:0 0 6px rgba(245,158,11,.4)}
.wiz-dot.done{background:var(--accent-green)}
.wiz-body{padding:32px 32px 8px;flex:1;overflow-y:auto;max-height:calc(100vh - 200px)}
.wiz-footer{padding:16px 32px 24px}
.wiz-footer-inner{display:flex;justify-content:space-between;align-items:center}
.wiz-step{display:flex;flex-direction:column;gap:0}
.wiz-step-label{font-family:var(--font-mono);font-size:9px;letter-spacing:.2em;color:var(--text-muted);text-transform:uppercase;margin-bottom:8px}
.wiz-title{font-family:var(--font-mono);font-size:22px;font-weight:600;letter-spacing:.02em;margin-bottom:8px}
.wiz-subtitle{font-size:13px;color:var(--text-secondary);line-height:1.6;margin-bottom:20px}
.wiz-field{display:flex;flex-direction:column;gap:5px;margin-bottom:18px}
.wiz-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.15em;color:var(--text-secondary);text-transform:uppercase}
.wiz-hint{font-size:11px;color:var(--text-muted);line-height:1.5}
.wiz-hint a{color:var(--accent-amber);text-decoration:none}
.wiz-hint a:hover{text-decoration:underline}
.wiz-input{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary);font-family:var(--font-mono);font-size:12px;padding:9px 12px;outline:none;transition:border .15s ease;width:100%}
.wiz-input:focus{border-color:var(--accent-amber)}
.wiz-input::placeholder{color:var(--text-muted)}
.wiz-two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.wiz-callout{background:rgba(59,130,246,.07);border:1px solid rgba(59,130,246,.25);color:var(--text-secondary);font-size:12px;padding:10px 14px;margin-bottom:20px;line-height:1.5}
.wiz-callout strong{color:var(--text-primary)}
.wiz-callout-warn{background:rgba(245,158,11,.07);border-color:rgba(245,158,11,.25)}
.wiz-optional{font-size:9px;color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.1em;margin-left:6px;text-transform:uppercase}
.wiz-advanced{margin-top:4px;margin-bottom:4px}
.wiz-advanced summary{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;color:var(--text-muted);cursor:pointer;padding:6px 0;text-transform:uppercase}
.wiz-advanced summary:hover{color:var(--text-secondary)}
.wiz-advanced-field{margin-top:0}
.wiz-test-row{display:flex;align-items:center;gap:14px;margin-top:-4px;margin-bottom:8px}
.wiz-inline-ok{font-family:var(--font-mono);font-size:11px;color:var(--accent-green)}
.wiz-inline-error{font-family:var(--font-mono);font-size:11px;color:var(--accent-red)}
.wiz-step-error{font-family:var(--font-mono);font-size:11px;color:var(--accent-red);margin-top:12px;padding:8px 12px;border:1px solid rgba(239,68,68,.3);background:rgba(239,68,68,.07)}
.wiz-btn-primary{background:var(--accent-amber);color:var(--bg-primary);font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.12em;padding:10px 20px;border:none;cursor:pointer;text-transform:uppercase;transition:opacity .15s ease}
.wiz-btn-primary:hover{opacity:.85}
.wiz-btn-ghost{background:transparent;color:var(--text-secondary);font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;padding:10px 16px;border:1px solid var(--border);cursor:pointer;text-transform:uppercase;transition:all .15s ease}
.wiz-btn-ghost:hover{border-color:var(--text-secondary);color:var(--text-primary)}
.wiz-btn-ghost:disabled{opacity:.4;cursor:default}
.wiz-btn-large{padding:14px 32px;font-size:12px}
.wiz-welcome{align-items:flex-start}
.wiz-flash-icon{font-size:32px;margin-bottom:16px;line-height:1}
.wiz-checklist{list-style:none;display:flex;flex-direction:column;gap:8px;margin:0 0 28px;padding:0}
.wiz-checklist li{font-size:13px;color:var(--text-secondary);padding-left:18px;position:relative;line-height:1.5}
.wiz-checklist li::before{content:"A";position:absolute;left:0;color:var(--accent-amber);font-family:var(--font-mono);font-size:11px;top:2px}
.wiz-launch{align-items:flex-start}
.wiz-checks{display:flex;flex-direction:column;gap:10px;margin:8px 0 24px}
.wiz-check-row{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-secondary)}
.wiz-check-ok{color:var(--accent-green);font-family:var(--font-mono);font-size:13px;min-width:16px}
.wiz-check-fail{color:var(--accent-red);font-family:var(--font-mono);font-size:13px;min-width:16px}
.wiz-check-spin{color:var(--text-muted);font-family:var(--font-mono);font-size:11px;min-width:16px;animation:pulse-amber 1.5s ease-in-out infinite}
.wiz-launch-btn{margin-top:4px}
