:root {
  color-scheme: dark;
  --bg: #0a0d10;
  --bg-soft: #0f1419;
  --surface: #121820;
  --surface-raised: #151d26;
  --surface-soft: #0d1319;
  --surface-input: #090e13;
  --border: #26313d;
  --border-soft: #1b252f;
  --text: #eef4f8;
  --muted: #9aa8b7;
  --faint: #667789;
  --accent: #2dd4bf;
  --accent-strong: #14b8a6;
  --accent-blue: #7dd3fc;
  --accent-amber: #f0b86b;
  --danger: #f87171;
  --success: #5eead4;
  --shadow: 0 22px 70px rgba(0, 0, 0, .34);
  --radius: 8px;
}

*, *::before, *::after { box-sizing: border-box; }
html { background: var(--bg); }
body {
  margin: 0;
  min-width: 320px;
  background:
    linear-gradient(180deg, rgba(13, 18, 23, .96), rgba(10, 13, 16, 1) 46%, rgba(12, 15, 18, 1)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.028) 0 1px, transparent 1px 96px);
  color: var(--text);
  -webkit-font-smoothing: antialiased;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
}
::selection { background: rgba(45, 212, 191, .28); color: var(--text); }
a { color: inherit; }
button, input, select, textarea { font: inherit; }

.grid { display: grid; }
.flex { display: flex; }
.block { display: block; }
.hidden { display: none !important; }
.flex-col { flex-direction: column; }
.flex-wrap { flex-wrap: wrap; }
.items-center { align-items: center; }
.items-baseline { align-items: baseline; }
.justify-between { justify-content: space-between; }
.self-start { align-self: flex-start; }
.self-center { align-self: center; }
.overflow-hidden { overflow: hidden; }
.cursor-pointer { cursor: pointer; }
.select-none { user-select: none; }
.tabular-nums { font-variant-numeric: tabular-nums; }
.grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gap-1\.5 { gap: 6px; }
.gap-2 { gap: 8px; }
.gap-2\.5 { gap: 10px; }
.gap-3 { gap: 12px; }
.gap-3\.5 { gap: 14px; }
.gap-4 { gap: 16px; }
.space-y-4 > * + * { margin-top: 16px; }
.p-4 { padding: 16px; }
.mt-0\.5 { margin-top: 2px; }
.mt-2 { margin-top: 8px; }
.mt-3 { margin-top: 12px; }
.mb-2\.5 { margin-bottom: 10px; }
.mb-4 { margin-bottom: 16px; }
.h-2 { height: 8px; }
.h-full { height: 100%; }
.w-auto { width: auto; }
.rounded-full { border-radius: 999px; }
.border-t { border-top: 1px solid var(--border-soft); }
.border-\[\#1a2636\] { border-color: #1a2636; }
.bg-slate-800 { background-color: #1e293b; }
.text-center { text-align: center; }
.text-\[11px\] { font-size: 11px; }
.text-xs { font-size: 12px; }
.text-sm { font-size: 14px; }
.text-lg { font-size: 18px; }
.font-semibold { font-weight: 600; }
.font-bold { font-weight: 700; }
.font-extrabold { font-weight: 800; }
.tracking-tight { letter-spacing: 0; }
.text-slate-100 { color: #f1f5f9; }
.text-slate-200 { color: #e2e8f0; }
.text-slate-400 { color: #94a3b8; }
.text-slate-500 { color: #64748b; }
.text-slate-600 { color: #475569; }

.page-shell {
  width: min(100% - 40px, 1200px);
  margin: 0 auto;
  padding: 26px 0 48px;
}
.page-shell-wide { width: min(100% - 40px, 1560px); }
.page-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin: 0 0 18px;
  padding: 6px 0 18px;
  border-bottom: 1px solid rgba(148, 163, 184, .12);
}
.page-header h1 {
  margin: 0;
  color: var(--text);
  font-size: 28px;
  line-height: 1.08;
  font-weight: 800;
  letter-spacing: 0;
}
.page-header p {
  max-width: 760px;
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.65;
}
.page-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }

.field {
  width: 100%;
  min-height: 38px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 7px 10px;
  background: var(--surface-input);
  color: var(--text);
  font-size: 13px;
  transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.field:hover { border-color: #354555; background: #0b1117; }
.field:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(45,212,191,.12); }
.field:disabled { opacity: .5; }
.form-label, label span { color: var(--muted); }

.btn, .download, .nav-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: #111922;
  color: #c2ceda;
  font-size: 13px;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  transition: border-color .15s ease, color .15s ease, background .15s ease, transform .12s ease;
}
.btn:hover, .download:hover, .nav-link:hover { border-color: var(--accent); color: var(--text); background: #132128; }
.btn:active, .download:active, .nav-link:active { transform: translateY(1px); }
.btn:disabled, .btn.disabled, .download.disabled { opacity: .4; pointer-events: none; cursor: not-allowed; }

.btn-danger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid rgba(248,113,113,.38);
  border-radius: var(--radius);
  background: rgba(127,29,29,.22);
  color: #fecaca;
  font-size: 13px;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease, transform .12s ease;
}
.btn-danger:hover { background: rgba(127,29,29,.42); border-color: rgba(248,113,113,.62); }
.btn-danger:active { transform: translateY(1px); }
.btn-danger:disabled { opacity: .4; pointer-events: none; cursor: not-allowed; }

.primary {
  width: 100%;
  min-height: 42px;
  border: 1px solid rgba(94, 234, 212, .18);
  border-radius: var(--radius);
  background: linear-gradient(135deg, #19c8b3, #4fb5d8);
  color: #041314;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
  transition: filter .15s ease, transform .12s ease, box-shadow .15s ease;
  box-shadow: 0 10px 30px rgba(20,184,166,.22);
}
.primary:hover { filter: brightness(1.05); box-shadow: 0 14px 34px rgba(20,184,166,.28); }
.primary:active { transform: translateY(1px); }
.primary:disabled { opacity: .4; pointer-events: none; cursor: not-allowed; }

.panel {
  background: linear-gradient(180deg, rgba(21,29,38,.96), rgba(14,20,27,.98));
  border: 1px solid var(--border-soft);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.panel-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 15px 16px;
  border-bottom: 1px solid var(--border-soft);
}
.panel-title h2 { letter-spacing: 0; }
.panel-title p { line-height: 1.55; }
.form-section {
  border: 1px solid var(--border-soft);
  border-radius: var(--radius);
  background: rgba(8, 13, 18, .72);
  padding: 13px;
}
details.form-section summary { outline: none; }
details.form-section[open] { border-color: rgba(45, 212, 191, .22); }

.status-badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 11px;
  border-radius: 999px;
  border: 1px solid rgba(148,163,184,.14);
  background: #17212b;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}
.status-badge.running, .status-badge.evaluating, .status-badge.registering, .status-badge.queued { background: rgba(59,130,246,.14); color: #b9dcff; border-color: rgba(125,211,252,.22); }
.status-badge.succeeded, .status-badge.ready { background: rgba(20,184,166,.14); color: var(--success); border-color: rgba(94,234,212,.22); }
.status-badge.partial { background: rgba(180,83,9,.16); color: #fcd78c; border-color: rgba(251,191,36,.28); }
.status-badge.failed, .status-badge.canceled, .status-badge.invalid { background: rgba(239,68,68,.13); color: #fecaca; border-color: rgba(248,113,113,.22); }

.inline-error { color: #fecaca; font-size: 12px; min-height: 1rem; }

.log {
  margin: 0;
  min-height: 320px;
  max-height: 520px;
  overflow: auto;
  padding: 12px;
  background: #060a0f;
  font: 12px/1.55 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  display: grid;
  align-content: start;
  gap: 5px;
  color: var(--muted);
}
.log-empty { color: #526171; }
.log-row {
  display: grid;
  grid-template-columns: 64px 72px minmax(0,1fr);
  gap: 8px;
  align-items: start;
  min-height: 26px;
  padding: 5px 8px;
  border-left: 2px solid #445161;
  border-radius: 0 6px 6px 0;
  background: rgba(255,255,255,.032);
}
.log-row.state  { border-left-color: #60a5fa; }
.log-row.worker { border-left-color: #64748b; }
.log-row.train  { border-left-color: #34d399; }
.log-row.eval   { border-left-color: #fbbf24; }
.log-row.metric { border-left-color: #c084fc; }
.log-row.artifact { border-left-color: #38bdf8; }
.log-row.error  { border-left-color: #f87171; background: rgba(127,29,29,.2); }
.log-time { color: #566474; }
.log-label { width: fit-content; border: 1px solid rgba(255,255,255,.09); border-radius: 999px; color: #7c8ea1; padding: 0 7px; }
.log-text { min-width: 0; overflow-wrap: anywhere; white-space: pre-wrap; color: #d5dee7; }

.meta-preview {
  margin: 0;
  max-height: 360px;
  overflow: auto;
  border: 1px solid var(--border-soft);
  border-radius: var(--radius);
  background: #070b10;
  color: var(--muted);
  padding: 12px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px;
  line-height: 1.6;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.home-shell {
  width: min(100% - 40px, 1480px);
  margin: 0 auto;
  padding: 28px 0 56px;
}
.home-dashboard {
  display: grid;
  gap: 16px;
}
.home-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 22px;
  padding: 4px 0 18px;
  border-bottom: 1px solid rgba(148, 163, 184, .12);
}
.home-kicker {
  display: inline-flex;
  color: var(--success);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.home-header h1 {
  margin: 6px 0 0;
  color: var(--text);
  font-size: 34px;
  line-height: 1.05;
  font-weight: 800;
  letter-spacing: 0;
}
.home-header p {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.55;
}
.home-status-grid {
  display: grid;
  grid-template-columns: minmax(340px, .9fr) minmax(0, 1fr) minmax(360px, 450px);
  gap: 16px;
  align-items: stretch;
}
.home-side-stack {
  display: grid;
  gap: 16px;
}
.home-support-panel {
  min-width: 0;
}
.home-support-body {
  display: grid;
  grid-template-columns: 168px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  padding: 14px;
}
.home-support-qr-link {
  display: block;
  width: 168px;
  aspect-ratio: 1;
  overflow: hidden;
  border: 1px solid rgba(125, 211, 252, .28);
  border-radius: var(--radius);
  background: #101113;
}
.home-support-qr {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 45%;
}
.home-support-copy strong,
.home-support-copy span {
  display: block;
}
.home-support-copy strong {
  color: var(--text);
  font-size: 15px;
}
.home-support-copy span {
  margin-top: 6px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}
.hero-brand { display: inline-flex; align-items: center; gap: 13px; color: var(--text); text-decoration: none; }
.hero-logo, .mark-logo {
  display: inline-grid;
  place-items: center;
  border-radius: var(--radius);
  background: linear-gradient(135deg, var(--accent), var(--accent-blue));
  color: #041314;
  font-weight: 900;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.28), 0 12px 32px rgba(45,212,191,.2);
}
.hero-logo { width: 48px; height: 48px; font-size: 16px; }
.mark-logo { width: 38px; height: 38px; font-size: 13px; }
.home-hero h1 {
  max-width: 760px;
  margin: 28px 0 16px;
  font-size: clamp(42px, 7vw, 76px);
  line-height: .96;
  letter-spacing: 0;
  font-weight: 800;
}
.home-hero p {
  max-width: 720px;
  margin: 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.75;
}
.home-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 0; }
.home-actions .primary, .home-actions .btn { width: auto; min-width: 146px; }
.home-quick-panel {
  min-width: 0;
  border-color: rgba(94, 234, 212, .18);
}
.home-quick-panel .panel-title {
  align-items: flex-start;
}
.home-quick-panel .primary {
  width: auto;
  min-width: 126px;
  min-height: 38px;
  text-decoration: none;
}
.home-quick-list {
  display: grid;
  gap: 8px;
  padding: 14px;
}
.home-quick-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-height: 72px;
  border: 1px solid var(--border-soft);
  border-radius: var(--radius);
  background: rgba(8, 14, 20, .88);
  color: inherit;
  text-decoration: none;
  padding: 12px;
  transition: border-color .15s ease, background .15s ease, transform .12s ease;
}
.home-quick-card:hover {
  border-color: rgba(94, 234, 212, .32);
  background: #101b22;
  transform: translateY(-1px);
}
.home-quick-card.featured {
  background:
    linear-gradient(135deg, rgba(20,184,166,.16), rgba(125,211,252,.08)),
    rgba(8, 14, 20, .94);
}
.home-quick-card strong {
  display: block;
  color: var(--text);
  font-size: 14px;
  font-weight: 850;
  overflow-wrap: anywhere;
}
.home-quick-card span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.home-quick-card small {
  display: block;
  margin-top: 6px;
  color: var(--faint);
  font-size: 10px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.home-quick-meta {
  display: grid;
  justify-items: end;
  gap: 6px;
}
.home-quick-meta strong {
  color: var(--success);
  font-size: 12px;
}
.hero-panel {
  border: 1px solid var(--border-soft);
  border-radius: var(--radius);
  background: linear-gradient(180deg, rgba(21,29,38,.96), rgba(11,17,23,.98));
  box-shadow: var(--shadow);
  overflow: hidden;
}
.hero-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 15px; border-bottom: 1px solid var(--border-soft); }
.hero-panel-head strong { font-size: 13px; }
.hero-panel-head span { color: var(--faint); font-size: 12px; }
.pipeline-list { display: grid; gap: 1px; background: var(--border-soft); }
.pipeline-card {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 16px;
  background: rgba(13, 19, 25, .98);
  color: inherit;
  text-decoration: none;
  transition: background .16s ease, transform .16s ease;
}
.pipeline-card:hover { background: #111d24; transform: translateX(2px); }
.pipeline-num {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: var(--radius);
  background: rgba(45,212,191,.12);
  color: var(--success);
  font-weight: 800;
}
.pipeline-card h2 { margin: 0; color: var(--text); font-size: 15px; font-weight: 800; }
.pipeline-card p { margin: 4px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.pipeline-arrow { color: var(--faint); font-size: 20px; }
.hero-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: var(--border-soft);
}
.hero-stat { padding: 14px 16px; background: rgba(8, 13, 18, .92); }
.hero-stat strong { display: block; color: var(--text); font-size: 20px; line-height: 1; }
.hero-stat span { display: block; margin-top: 6px; color: var(--faint); font-size: 11px; }

.home-run-body {
  display: grid;
  gap: 14px;
  padding: 16px;
}
.home-run-body strong {
  display: block;
  color: var(--text);
  font-size: 18px;
  font-weight: 800;
  overflow-wrap: anywhere;
}
.home-run-body span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  overflow-wrap: anywhere;
}
.home-progress {
  height: 12px;
  border: 1px solid var(--border-soft);
  border-radius: 999px;
  background: #070b10;
  overflow: hidden;
}
.home-progress span {
  display: block;
  width: 0;
  height: 100%;
  margin: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--accent), var(--accent-blue));
  transition: width .18s ease;
}
.home-metric-grid,
.home-count-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.home-count-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  padding: 14px;
}
.home-metric,
.home-count {
  min-width: 0;
  border: 1px solid var(--border-soft);
  border-radius: var(--radius);
  padding: 10px;
  background: #080e14;
}
.home-metric span,
.home-count span {
  display: block;
  margin: 0;
  color: var(--faint);
  font-size: 11px;
}
.home-metric strong,
.home-count strong {
  display: block;
  margin-top: 4px;
  color: var(--text);
  font-size: 18px;
  font-weight: 800;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.home-metric strong {
  font-size: 16px;
}
.home-inline-actions,
.home-row-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.home-inline-actions .btn,
.home-row-actions .btn {
  min-height: 32px;
  font-size: 12px;
}
.home-system-rows {
  display: grid;
  gap: 1px;
  background: var(--border-soft);
}
.home-system-row {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr);
  gap: 10px;
  padding: 11px 14px;
  background: rgba(8, 14, 20, .92);
}
.home-system-row span {
  color: var(--faint);
  font-size: 11px;
}
.home-system-row strong {
  color: #d5dee7;
  font-size: 12px;
  font-weight: 800;
  overflow-wrap: anywhere;
}
.home-main-grid {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(420px, 1.15fr);
  gap: 16px;
  align-items: start;
}
.home-system-panel,
.home-counts-panel,
.home-run-panel {
  min-width: 0;
}
.home-action-grid,
.home-adapter-list,
.home-run-list {
  display: grid;
  gap: 8px;
  padding: 14px;
}
.home-action-row,
.home-run-row {
  display: grid;
  align-items: center;
  gap: 12px;
  border: 1px solid var(--border-soft);
  border-radius: var(--radius);
  background: rgba(8, 14, 20, .86);
  color: inherit;
  text-decoration: none;
  padding: 12px;
}
.home-action-row {
  grid-template-columns: 38px minmax(0, 1fr);
  transition: border-color .15s ease, background .15s ease, transform .12s ease;
}
.home-action-row:hover {
  border-color: rgba(94, 234, 212, .28);
  background: #101a21;
  transform: translateX(2px);
}
.home-action-row strong,
.home-run-row strong,
.home-adapter-row strong {
  display: block;
  color: var(--text);
  font-size: 13px;
  font-weight: 800;
  overflow-wrap: anywhere;
}
.home-action-row small,
.home-run-row span,
.home-adapter-row span,
.home-adapter-row small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.home-adapter-row {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto minmax(240px, .9fr);
  gap: 12px;
  align-items: center;
  border: 1px solid var(--border-soft);
  border-radius: var(--radius);
  background: rgba(8, 14, 20, .86);
  padding: 12px;
}
.home-adapter-row.ready { border-color: rgba(94, 234, 212, .18); }
.home-adapter-row.partial { border-color: rgba(251, 191, 36, .22); }
.home-cap-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 5px;
}
.home-cap {
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 4px 6px;
  color: var(--faint);
  font-size: 10px;
  font-weight: 900;
}
.home-cap.ok {
  border-color: rgba(94, 234, 212, .2);
  color: #7cf7df;
  background: rgba(20, 184, 166, .09);
}
.home-run-row {
  grid-template-columns: minmax(0, 1fr) auto auto;
}
.home-empty {
  padding: 18px;
  color: var(--muted);
  font-size: 13px;
}

.auth-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 32px 20px;
  background:
    linear-gradient(135deg, rgba(13,20,25,.98), rgba(8,11,14,1)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.028) 0 1px, transparent 1px 88px);
}
.auth-shell { width: 100%; max-width: 420px; min-width: 0; }
.auth-brand { display: flex; align-items: center; justify-content: center; gap: 12px; min-width: 0; margin-bottom: 24px; color: var(--text); text-decoration: none; }
.auth-brand .text-lg { min-width: 0; overflow-wrap: anywhere; }
.auth-card {
  min-width: 0;
  border: 1px solid var(--border-soft);
  border-radius: var(--radius);
  background: linear-gradient(180deg, rgba(21,29,38,.97), rgba(12,18,24,.98));
  padding: 24px;
  box-shadow: var(--shadow);
}
.auth-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin-bottom: 20px; padding: 4px; border: 1px solid var(--border-soft); border-radius: var(--radius); background: #090e13; }
.auth-tab { min-height: 36px; border: 0; border-radius: 6px; background: transparent; color: var(--muted); font-size: 13px; font-weight: 800; cursor: pointer; }
.auth-tab.active { background: #15212a; color: var(--text); box-shadow: inset 0 0 0 1px rgba(45,212,191,.16); }
.auth-footnote { margin: 18px 0 0; text-align: center; color: var(--faint); font-size: 12px; line-height: 1.6; }
.auth-state {
  display: grid;
  justify-items: stretch;
  gap: 14px;
  min-width: 0;
  text-align: center;
}
.auth-state h1 { margin: 0; color: var(--text); font-size: 20px; line-height: 1.35; }
.auth-state p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; overflow-wrap: anywhere; }
.auth-state strong { color: var(--text); font-weight: 700; }
.auth-action { width: 100%; min-height: 40px; justify-content: center; }
.auth-status { min-height: 22px; }
.auth-text-action {
  min-height: 36px;
  border: 0;
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-size: 13px;
  cursor: pointer;
}
.auth-text-action:hover { color: var(--text); }

@media (max-width: 980px) {
  .page-header { align-items: flex-start; flex-direction: column; }
  .home-hero { grid-template-columns: 1fr; align-items: start; min-height: auto; padding-top: 22px; }
  .home-header,
  .home-status-grid,
  .home-main-grid {
    grid-template-columns: 1fr;
  }
  .home-header {
    align-items: flex-start;
    flex-direction: column;
  }
  .home-metric-grid,
  .home-count-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .home-adapter-row,
  .home-quick-card,
  .home-run-row {
    grid-template-columns: 1fr;
  }
  .home-quick-meta {
    justify-items: start;
  }
  .home-cap-list {
    justify-content: flex-start;
  }
  .home-support-body {
    grid-template-columns: minmax(140px, 200px) minmax(0, 1fr);
  }
  .home-support-qr-link {
    width: 100%;
  }
}

@media (max-width: 640px) {
  .page-shell, .page-shell-wide, .home-shell { width: min(100% - 28px, 100%); }
  .page-header h1 { font-size: 24px; }
  .home-header h1 { font-size: 28px; }
  .home-hero h1 { font-size: 42px; }
  .hero-stats { grid-template-columns: 1fr; }
  .pipeline-card { grid-template-columns: 34px minmax(0, 1fr); }
  .pipeline-arrow { display: none; }
  .home-count-grid {
    grid-template-columns: 1fr;
  }
  .home-inline-actions .btn,
  .home-row-actions .btn {
    width: 100%;
  }
  .home-support-body {
    grid-template-columns: 1fr;
  }
  .home-support-qr-link {
    width: min(100%, 240px);
    justify-self: center;
  }
  .home-support-copy {
    text-align: center;
  }
  .auth-page { padding: 20px 14px; }
  .auth-card { padding: 20px 18px; }
}
