/* Virgo Admin on the shared workspace style (same tokens as Coder, Pentest and Chat): a slim sticky
   header, flat bordered cards, compact tables and quiet controls. Loaded after admin-console.css. */

html:root body.admin-page {
  --c-bg: #fafaf9; --c-surface: #ffffff; --c-sunken: #f4f4f2; --c-hover: #ececea;
  --c-text: #1c1c1a; --c-muted: #6b6a66; --c-faint: #9a9994; --c-line: #e6e5e1; --c-line-strong: #d6d4cf;
  --c-accent: #0a7399; --c-accent-soft: #e3f1f7; --c-on-accent: #ffffff; --c-danger: #b42318; --c-ok: #16803c;
  --mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --bg: var(--c-bg); --surface: var(--c-surface); --surface-2: var(--c-sunken); --text: var(--c-text); --muted: var(--c-muted);
  --border: var(--c-line); --border-strong: var(--c-line-strong); --accent: var(--c-accent); --accent-soft: var(--c-accent-soft); --accent-text: var(--c-on-accent);
  --shadow: none; --glow: transparent;
  padding: 0 0 48px; background: var(--c-bg); background-image: none; color: var(--c-text); font: 400 14px/1.55 var(--sans); letter-spacing: -.003em;
}
@media (prefers-color-scheme: dark) {
  html:root:not([data-theme="light"]) body.admin-page {
    --c-bg: #1b1b1a; --c-surface: #232321; --c-sunken: #1f1f1d; --c-hover: #2c2c2a;
    --c-text: #ecebe7; --c-muted: #a3a29c; --c-faint: #77766f; --c-line: #2f2f2c; --c-line-strong: #3d3d39;
    --c-accent: #5cc4e8; --c-accent-soft: #163543; --c-on-accent: #06202b; --c-danger: #ff8a7e; --c-ok: #5fd08a;
  }
}
html:root[data-theme="dark"] body.admin-page {
  --c-bg: #1b1b1a; --c-surface: #232321; --c-sunken: #1f1f1d; --c-hover: #2c2c2a;
  --c-text: #ecebe7; --c-muted: #a3a29c; --c-faint: #77766f; --c-line: #2f2f2c; --c-line-strong: #3d3d39;
  --c-accent: #5cc4e8; --c-accent-soft: #163543; --c-on-accent: #06202b; --c-danger: #ff8a7e; --c-ok: #5fd08a;
}

/* ── Header ─────────────────────────────────────────────────────────────────────────────────────── */
body.admin-page .admin-header {
  position: sticky; top: 0; z-index: 10; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; max-width: none; margin: 0;
  padding: 10px max(20px, calc((100% - 1240px) / 2)); border-bottom: 1px solid var(--c-line); background: var(--c-bg); backdrop-filter: none; box-shadow: none;
}
body.admin-page .admin-header h1 { flex: 1; margin: 0; color: var(--c-text); font: 600 .95rem var(--sans); letter-spacing: -.01em; }
body.admin-page .admin-header .subtitle { color: var(--c-muted); font-weight: 450; }
body.admin-page .admin-note { flex-basis: 100%; order: 10; margin: 0; color: var(--c-faint); font-size: .72rem; }
body.admin-page .back-link { color: var(--c-muted); font-size: .78rem; font-weight: 500; text-decoration: none; }
body.admin-page .back-link:hover { color: var(--c-text); }
body.admin-page .admin-mode-switch { padding: 2px; gap: 2px; border: 1px solid var(--c-line); border-radius: 9px; background: var(--c-sunken); }
body.admin-page .admin-mode-switch :is(a, span) { padding: 4px 12px; border-radius: 7px; color: var(--c-muted); font: 500 .76rem var(--sans); }
body.admin-page .admin-mode-switch [aria-current="page"] { background: var(--c-surface); color: var(--c-text); box-shadow: 0 1px 2px rgb(0 0 0 / .06); }

/* ── Buttons and inputs ─────────────────────────────────────────────────────────────────────────── */
body.admin-page :is(.admin-header button, .models-toolbar button, .users-tools button, .users-pagination button, .card button, .provider-dialog button) {
  height: 30px; padding: 0 12px; border: 1px solid var(--c-line-strong); border-radius: 8px; background: var(--c-surface); background-image: none;
  color: var(--c-text); font: 500 .76rem var(--sans); box-shadow: none; cursor: pointer; transform: none;
}
body.admin-page :is(.admin-header button, .models-toolbar button, .users-tools button, .users-pagination button, .card button, .provider-dialog button):hover:not(:disabled) { background: var(--c-hover); border-color: var(--c-line-strong); color: var(--c-text); }
body.admin-page :is(.card, .provider-dialog) :is(button.primary, button[type="submit"]) { border-color: var(--c-text); background: var(--c-text); color: var(--c-bg); }
body.admin-page :is(.card, .provider-dialog) :is(button.primary, button[type="submit"]):hover:not(:disabled) { background: var(--c-text); color: var(--c-bg); opacity: .9; }
body.admin-page :is(.card, .provider-dialog) :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  min-height: 32px; padding: 5px 10px; border: 1px solid var(--c-line); border-radius: 8px; background: var(--c-surface); color: var(--c-text); font: .8rem var(--sans); box-shadow: none;
}
body.admin-page :is(.card, .provider-dialog) :is(input, select, textarea):focus { outline: none; border-color: var(--c-accent); }
body.admin-page input[type="checkbox"], body.admin-page input[type="radio"] { accent-color: var(--c-accent); }

/* ── Cards ──────────────────────────────────────────────────────────────────────────────────────── */
body.admin-page .admin-body { max-width: 1240px; margin: 20px auto 0; padding: 0 20px; gap: 14px; }
body.admin-page .card {
  padding: 18px; border: 1px solid var(--c-line); border-radius: 12px; background: var(--c-surface); background-image: none; box-shadow: none; animation: none;
}
body.admin-page .card h2 { margin: 0 0 4px; color: var(--c-text); font: 600 .92rem var(--sans); letter-spacing: -.01em; }
body.admin-page .card h3 { color: var(--c-text); font: 600 .82rem var(--sans); }
body.admin-page .card p { color: var(--c-muted); font-size: .8rem; }
body.admin-page .console-eyebrow { color: var(--c-faint); font: 600 .64rem var(--sans); letter-spacing: .05em; }
body.admin-page .admin-status { padding: 10px 14px; font-size: .8rem; color: var(--c-muted); }
body.admin-page .admin-status[data-state="error"] { border-color: color-mix(in srgb, var(--c-danger) 40%, var(--c-line)); background: color-mix(in srgb, var(--c-danger) 6%, var(--c-surface)); color: var(--c-danger); }
body.admin-page .admin-status[data-state="ready"] { display: none; }

/* Stats: plain numbers in one row, no boxes inside the box */
body.admin-page .stats-grid { gap: 0; padding: 0; }
body.admin-page .stat { padding: 14px 16px; border: 0; border-right: 1px solid var(--c-line); border-radius: 0; background: none; box-shadow: none; }
body.admin-page .stat:last-child { border-right: 0; }
body.admin-page .stat .value { color: var(--c-text); font: 600 1.35rem/1.2 var(--sans); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
body.admin-page .stat .label { margin-top: 2px; color: var(--c-muted); font-size: .72rem; }

/* Tables */
body.admin-page table { font-size: .78rem; }
body.admin-page :is(th, td) { padding: 8px 10px; border-bottom: 1px solid var(--c-line); }
body.admin-page th { background: var(--c-surface); color: var(--c-muted); font: 600 .7rem var(--sans); letter-spacing: .01em; }
body.admin-page tbody tr:hover { background: var(--c-sunken); }
body.admin-page #hours-table tbody tr:nth-child(odd) { background: none; }
body.admin-page :is(.users-table-wrap, .models-table-wrap, .table-wrap) { border: 1px solid var(--c-line); border-radius: 10px; }
body.admin-page #users-table .user-email { color: var(--c-faint); }

/* Lists and sub-cards */
body.admin-page :is(#setup li, .provider-card, .docker-check, .console-summary > span) {
  border: 1px solid var(--c-line); border-radius: 10px; background: var(--c-sunken); box-shadow: none; background-image: none;
}
body.admin-page .chart-wrap .grid { stroke: var(--c-line); }
body.admin-page .chart-wrap :is(.axis, text) { fill: var(--c-faint); }
body.admin-page .chart-caption { color: var(--c-faint); font-size: .72rem; }

/* Provider dialog */
body.admin-page .provider-dialog { border: 1px solid var(--c-line); border-radius: 14px; background: var(--c-surface); color: var(--c-text); box-shadow: 0 20px 60px rgb(0 0 0 / .2); }
body.admin-page .provider-dialog::backdrop { background: rgb(0 0 0 / .35); }

@media (max-width: 1000px) {
  body.admin-page .stat:nth-child(3n) { border-right: 0; }
  body.admin-page .stat:nth-child(-n + 3) { border-bottom: 1px solid var(--c-line); }
}
@media (max-width: 650px) {
  body.admin-page .admin-header { padding: 8px 12px; }
  body.admin-page .admin-body { margin-top: 12px; padding: 0 12px; }
  body.admin-page .card { padding: 14px; }
  body.admin-page .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.admin-page .stat { border-right: 0; border-bottom: 1px solid var(--c-line); }
  body.admin-page .stat:nth-child(odd) { border-right: 1px solid var(--c-line); }
  body.admin-page .stat:nth-last-child(-n + 2) { border-bottom: 0; }
  body.admin-page .stat .value { font-size: 1.15rem; }
}

/* iPhone Home Screen app: header clear of the status bar. */
body.admin-page .admin-header { padding-top: max(10px, env(safe-area-inset-top)); }
