:root{
  --bg:#F3F5F8; --surface:#FFFFFF; --sunk:#EBEEF2; --ink:#0F1A24; --muted:#687480; --faint:#98A2AD; --line:#E2E6EB;
  --hull:#0C1C2B; --hull-2:#132A3E; --hull-ink:#F3F6F9; --hull-muted:#9DB0C1; --brass:#C9A25E;
  --primary:#0C1C2B; --primary-ink:#FFFFFF; --urgent:#D23B30; --urgent-bg:#FCEBE9; --ok:#23845A; --ok-bg:#E3F4EB;
  --serif:"Instrument Serif",Georgia,serif; --display:"Sora",system-ui,sans-serif; --body:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
  --sh-1:0 1px 2px rgba(12,28,43,.05),0 2px 8px rgba(12,28,43,.05); --sh-2:0 2px 6px rgba(12,28,43,.06),0 12px 32px rgba(12,28,43,.10);
  color-scheme:light
}
@media (prefers-color-scheme: dark){:root{
  --bg:#080F16; --surface:#101B25; --sunk:#1A2835; --ink:#E9EEF3; --muted:#95A3B0; --faint:#66737F; --line:#1F2E3B;
  --primary:#D8B574; --primary-ink:#1A1206; --brass:#D8B574; --urgent:#FF6B5E; --urgent-bg:#3A1714; --ok:#4FCB8C; --ok-bg:#10301F;
  --sh-1:0 1px 2px rgba(0,0,0,.4); --sh-2:0 12px 32px rgba(0,0,0,.45); color-scheme:dark}}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 var(--body);-webkit-font-smoothing:antialiased;min-height:100vh}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--brass);outline-offset:2px}
a{color:inherit}
.hull{background:radial-gradient(120% 140% at 100% 0%,var(--hull-2) 0%,var(--hull) 62%);color:var(--hull-ink);padding:calc(24px + env(safe-area-inset-top,0px)) 16px 84px}
.hull-in{max-width:880px;margin:0 auto;display:flex;flex-direction:column;gap:18px}
.brand{display:flex;align-items:center;gap:10px;font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--hull-muted);line-height:1.3;text-decoration:none}
.brand .mark{width:34px;height:34px;border-radius:10px;border:1px solid rgba(201,162,94,.5);display:grid;place-items:center;color:var(--brass);flex:none}
.brand svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hull p{margin:0;color:var(--hull-muted)}
.hull h1{margin:4px 0 0;font:400 42px/1.05 var(--serif);letter-spacing:-.01em}
.hull h1 em{font-style:italic;color:var(--brass)}
.main{max-width:880px;margin:-56px auto 0;padding:0 16px 60px;display:flex;flex-direction:column;gap:16px}
.panel{background:var(--surface);border-radius:20px;box-shadow:var(--sh-2);padding:20px;display:flex;flex-direction:column;gap:14px}
.panel h2{margin:0;font:400 26px/1.1 var(--serif)}
.hint{font-size:13px;color:var(--muted)}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field label{font-size:13px;font-weight:600;color:var(--muted)}
.field input,.field select{background:var(--sunk);border:1px solid transparent;border-radius:12px;padding:11px 13px;width:100%}
.field input:focus,.field select:focus{outline:0;border-color:var(--brass);background:var(--surface)}
.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.btn{border:0;border-radius:12px;padding:12px 18px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn-primary{background:var(--primary);color:var(--primary-ink)}
.btn-quiet{background:var(--sunk);color:var(--ink)}
.btn-sm{padding:7px 12px;border-radius:10px;font-size:13.5px}
.btn:disabled{opacity:.5;cursor:not-allowed}
.err{color:var(--urgent);font-size:14px;font-weight:600}
.err:empty{display:none}
.ok{color:var(--ok);font-size:14px;font-weight:600}
.ok:empty{display:none}
.center{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:radial-gradient(120% 120% at 100% 0%,var(--hull-2) 0%,var(--hull) 62%)}
.card{width:100%;max-width:400px;background:var(--surface);border-radius:24px;box-shadow:0 24px 80px rgba(8,18,28,.35);padding:28px 24px;display:flex;flex-direction:column;gap:16px}
.card .brand{color:var(--muted)}
.card h1{margin:0;font:400 36px/1.05 var(--serif)}
.card h1 em{font-style:italic;color:var(--brass)}
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:700;padding:8px;border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:2px 8px;border-radius:6px;background:var(--sunk);color:var(--muted);white-space:nowrap}
.tag.admin{background:#F4ECDD;color:#8A6A2E}
.tag.off{background:var(--urgent-bg);color:var(--urgent)}
.tag.warn{background:#FBF1DF;color:#C27A0E}
@media (prefers-color-scheme: dark){.tag.admin{background:#35260E;color:#F0C878}.tag.warn{background:#35260E;color:#F0A93C}}
.tscroll{overflow-x:auto;margin:0 -20px;padding:0 20px}
.back{color:var(--hull-muted);font-size:14px;text-decoration:none;display:inline-flex;gap:6px;align-items:center}
.back:hover{color:var(--hull-ink)}
dialog{border:0;border-radius:22px;padding:0;max-width:520px;width:calc(100% - 32px);background:var(--bg);color:var(--ink);box-shadow:0 24px 80px rgba(8,18,28,.35)}
dialog::backdrop{background:rgba(6,14,22,.55);backdrop-filter:blur(4px)}
dialog form{padding:20px;display:flex;flex-direction:column;gap:14px}
dialog h2{margin:0;font:400 28px/1.1 var(--serif)}
.actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.check{display:flex;gap:10px;align-items:center;font-size:14px}
@media (max-width:600px){.hull h1{font-size:34px}}
