/* Shared styles for the sign-in and admin pages (the dashboard keeps its own). */
:root { color-scheme: light; }
* { box-sizing: border-box; }
body { margin:0; background:#f7f8fa; color:#1a1d21; font-size:14px; line-height:1.45;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; }
.wrap { max-width:1000px; margin:0 auto; padding:20px 16px; }
h1 { font-size:20px; margin:0 0 4px; font-weight:650; }
h2 { font-size:14px; margin:0 0 10px; font-weight:620; }
.sub { color:#6b7280; font-size:12.5px; }
.panel { background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:16px; margin-bottom:16px; overflow-x:auto; }
label { display:block; font-size:12.5px; font-weight:600; color:#374151; margin:10px 0 4px; }
input, select { width:100%; padding:8px 10px; border:1px solid #d1d5db; border-radius:8px; font:inherit; background:#fff; }
input:focus, select:focus { outline:2px solid #bfdbfe; border-color:#1d4ed8; }
.btn { background:#1d4ed8; color:#fff; border:1px solid #1d4ed8; border-radius:8px; padding:8px 16px; font:inherit; font-weight:600; cursor:pointer; }
.btn:disabled { opacity:.6; cursor:default; }
.btn.light { background:#eef2ff; color:#1d4ed8; border-color:#c7d2fe; }
.btn.small { padding:3px 10px; font-size:12px; }
.btn.danger { background:#fff; color:#b91c1c; border-color:#fecaca; }
.err { color:#b91c1c; font-size:12.5px; min-height:18px; margin-top:8px; }
.ok { color:#047857; }
table { width:100%; border-collapse:collapse; font-size:13px; }
th, td { padding:7px 8px; text-align:left; border-bottom:1px solid #f0f1f3; vertical-align:top; }
th { color:#6b7280; font-weight:600; font-size:11.5px; text-transform:uppercase; letter-spacing:.02em; }
.pill { display:inline-block; padding:1px 7px; border-radius:99px; font-size:11px; font-weight:600; background:#f3f4f6; color:#6b7280; }
.pill.on { background:#e7f7ee; color:#047857; }
.pill.admin { background:#e7f0ff; color:#1d4ed8; }
.pill.bad { background:#fdeaea; color:#b91c1c; }
.topbar { display:flex; justify-content:space-between; align-items:baseline; gap:12px; flex-wrap:wrap; margin-bottom:14px; }
.topbar a { color:#1d4ed8; text-decoration:none; font-size:13px; }
.row { display:flex; gap:10px; flex-wrap:wrap; align-items:flex-end; }
.row > div { flex:1 1 180px; }
.secret { font-family:ui-monospace,Menlo,monospace; background:#fffbeb; border:1px solid #fde68a; border-radius:8px; padding:10px 12px; margin-top:10px; }
.center { max-width:380px; margin:8vh auto 0; }
.mono { font-family:ui-monospace,Menlo,monospace; font-size:12px; color:#6b7280; }
