/* Shared admin styles — included by every /admin/*.html sub-page. */
:root {
  --bg:#0a0d10;--bg-elev:#10151b;--bg-steel:#1a2230;
  --line:#1f2a38;--line-soft:#141c26;
  --ink:#e7ecf2;--ink-dim:#95a3b5;--ink-mute:#5d6b7d;
  --amber:#3eea7c;--amber-hot:#22c55e;
  --cyan:#63d1e8;--ok:#7ddc9d;--warn:#e7c34c;--sour:#e74c3c;
}
* { box-sizing:border-box; margin:0; padding:0; border-color:var(--line); }
html, body { background:var(--bg); color:var(--ink); }
body { font-family:'Inter',system-ui,sans-serif; -webkit-font-smoothing:antialiased; min-height:100vh; }
body::after {
  content:""; position:fixed; inset:0; pointer-events:none; z-index:9999;
  opacity:0.035; mix-blend-mode:overlay;
  background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}
a { color: var(--amber); text-decoration: none; }
a:hover { text-decoration: underline; }

.container { max-width: 1280px; margin: 0 auto; padding: 0 24px; }
@media (min-width: 1024px) { .container { padding: 0 40px; } }

/* Top bar */
nav.top { position: sticky; top: 0; z-index: 50; backdrop-filter: blur(12px);
          background: rgba(10,13,16,0.7); border-bottom: 1px solid var(--line-soft); }
nav.top .inner { display:flex; align-items:center; justify-content:space-between;
                 padding: 16px 24px; max-width: 1280px; margin: 0 auto; }
.logo { display:flex; align-items:baseline; gap:8px; text-decoration:none; color:inherit; }
.logo .mark { font-family:'Space Grotesk'; font-weight:700; font-size:16px; letter-spacing:0.2em; }
.logo .tag { font-family:'JetBrains Mono'; font-size:10px; color:var(--ink-mute); letter-spacing:0.18em; }
.nav-links { display:flex; gap:18px; font-family:'JetBrains Mono'; font-size:11px;
             letter-spacing:0.12em; text-transform:uppercase; }
.nav-links a { color: var(--ink-dim); }
.nav-links a:hover, .nav-links a.active { color: var(--amber); }

/* Hero */
.hero { padding: 60px 0 40px; }
.eyebrow {
  font-family:'JetBrains Mono'; font-size:11px; letter-spacing:0.22em;
  text-transform:uppercase; color:var(--amber);
  display:inline-flex; align-items:center; gap:.6em; margin-bottom:18px;
}
.eyebrow::before { content:""; display:inline-block; width:1.5em; height:1px; background:var(--amber); }
h1.page-title {
  font-family:'Space Grotesk'; font-weight:500; font-size: clamp(28px, 4vw, 42px);
  letter-spacing: -0.02em; line-height: 0.95; text-transform: uppercase; color: var(--ink);
}
.subtitle { color: var(--ink-dim); font-size: 14px; margin-top: 12px; max-width: 720px; }
.hero-row { display:flex; align-items:flex-start; justify-content:space-between; gap: 16px; flex-wrap:wrap; }

.back-link {
  display:inline-block; margin-bottom: 24px;
  font-family: 'JetBrains Mono'; font-size: 10px; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--ink-mute);
}
.back-link:hover { color: var(--amber); text-decoration:none; }

.signed-in { font-family:'JetBrains Mono'; font-size:10px; letter-spacing:0.18em; color: var(--ink-mute); margin-top: 8px; }
.signout {
  font-family:'JetBrains Mono'; font-size:10px; letter-spacing:0.2em; text-transform:uppercase;
  color: var(--ink-dim); border:1px solid var(--line); padding: 8px 14px; cursor:pointer;
  background: transparent; transition: all .15s ease;
}
.signout:hover { border-color: var(--sour); color: var(--sour); }

/* Loading state */
.loading {
  min-height: 60vh; display: flex; align-items: center; justify-content: center;
  font-family: 'JetBrains Mono'; font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--ink-mute);
}
.loading.hidden { display: none; }

/* Tables */
table.data { width: 100%; border-collapse: collapse; font-size: 12.5px;
             margin-top: 24px; border: 1px solid var(--line); }
table.data th, table.data td {
  padding: 12px 14px; text-align: left;
  border-bottom: 1px solid var(--line-soft);
  vertical-align: top;
}
table.data thead th {
  font-family: 'JetBrains Mono'; font-size: 10px; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--ink-mute);
  background: var(--bg-elev);
  border-bottom: 1px solid var(--line);
  position: sticky; top: 60px;
}
table.data tbody tr { background: var(--bg-elev); }
table.data tbody tr:hover { background: var(--bg-steel); }
table.data td { color: var(--ink-dim); }
table.data td.mono { font-family: 'JetBrains Mono'; font-size: 11px; }
table.data td .name { color: var(--ink); font-weight: 500; }
table.data td .sub { color: var(--ink-mute); font-size: 11px; margin-top: 2px; font-family: 'JetBrains Mono'; }
table.data td.num { font-family: 'JetBrains Mono'; text-align: right; white-space: nowrap; }

.pill { display:inline-block; padding:3px 8px; border-radius:999px;
        font-family:'JetBrains Mono'; font-size:9px; letter-spacing:0.12em;
        text-transform:uppercase; border:1px solid; }
.pill.ok      { color:var(--ok);    border-color:#7ddc9d44; background:#7ddc9d11; }
.pill.warn    { color:var(--warn);  border-color:#e7c34c44; background:#e7c34c11; }
.pill.err     { color:var(--sour);  border-color:#e74c3c44; background:#e74c3c11; }
.pill.dim     { color:var(--ink-mute); border-color:var(--line); background:transparent; }
.pill.dc      { color:var(--amber); border-color:#3eea7c44; background:#3eea7c11; }
.pill.ab      { color:#e88a5c; border-color:#e88a5c44; background:#e88a5c11; }
.pill.bc      { color:#6cb1e5; border-color:#6cb1e544; background:#6cb1e511; }
.pill.sk      { color:#91d09a; border-color:#91d09a44; background:#91d09a11; }

/* Filters */
.filters { display:flex; gap: 8px; flex-wrap: wrap; margin: 24px 0 0; }
.filter-btn {
  font-family: 'JetBrains Mono'; font-size: 10px; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--ink-dim);
  background: var(--bg-elev); border: 1px solid var(--line);
  padding: 6px 12px; cursor: pointer; transition: all .15s ease;
}
.filter-btn:hover { border-color: var(--amber-hot); color: var(--amber); }
.filter-btn.active { border-color: var(--amber); color: var(--amber); background: rgba(62,234,124,0.06); }

.empty { color: var(--ink-mute); font-style: italic; padding: 24px 0; font-size: 14px; }
section.block { padding: 30px 0 60px; }

/* Footer */
footer { padding: 40px 0 80px; color: var(--ink-mute); font-family:'JetBrains Mono';
         font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; }
footer .container { display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; align-items: center; }
footer .footer-brand { display: inline-flex; align-items: center; gap: 12px; }
footer .footer-brand .footer-icon { width: 32px; height: 32px; flex-shrink: 0; display: block; }
footer .footer-brand .footer-text { display: inline-block; }
