:root{--brand:#2E1D10;--brand-2:#231509;--gold:#F2B230;--cream:#FBF5EA;--bg:#F7F4EF;--ink:#1E1812;--ink-2:#554A3F;--ink-3:#7A6E61;--line:#E0D8CC;--bad:#B42318;--bad-soft:#FBE3E0;--ok:#1D7348;--ok-soft:#DFF2E7;--surface:#fff}
@media (prefers-color-scheme:dark){:root{--bg:#15110D;--ink:#F0EAE2;--ink-2:#BFB3A5;--ink-3:#958878;--line:#3A3127;--surface:#1D1812;--bad:#FF7F70;--bad-soft:#40191A;--ok:#52C58E;--ok-soft:#133526}}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font:16px/1.55 "IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:inherit}
.display{font-family:"Barlow Condensed","Arial Narrow",Arial,sans-serif;font-weight:700;letter-spacing:.01em;line-height:1.05}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:8px;padding:12px 20px;font:600 15px/1 inherit;font-family:inherit;cursor:pointer;text-decoration:none}
.btn.gold{background:var(--gold);color:var(--brand-2)}
.btn.gold:hover{background:#F6C660}
.btn.line{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.45)}
.btn.line:hover{box-shadow:inset 0 0 0 1.5px #fff}
.btn.dark{background:var(--brand);color:#fff}
.btn[disabled]{opacity:.5;cursor:wait}
.mark{width:44px;height:44px;border-radius:50%;background:var(--cream);color:var(--brand);display:grid;place-items:center;font:700 18px/1 "Barlow Condensed",Arial,sans-serif;flex:none}
/* sign-in pages */
.auth{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:radial-gradient(1200px 500px at 50% -10%,#4a2f19 0,var(--brand) 55%,var(--brand-2) 100%)}
.card{width:min(420px,100%);background:var(--surface);color:var(--ink);border-radius:14px;padding:28px 26px;box-shadow:0 18px 50px rgba(0,0,0,.35)}
.card.wide{width:min(980px,100%)}
.card h1{font-size:30px;margin:14px 0 4px}
.card p.sub{margin:0 0 18px;color:var(--ink-2);font-size:14px}
.brandrow{display:flex;align-items:center;gap:12px;text-decoration:none}
.brandrow b{font:700 20px/1 "Barlow Condensed",Arial,sans-serif;letter-spacing:.04em}
.brandrow small{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-top:3px}
label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:14px}
input,select{font:inherit;font-size:15px;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);width:100%}
input:focus-visible,select:focus-visible,.btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.msg{display:none;padding:10px 12px;border-radius:8px;font-size:14px;margin-bottom:14px}
.msg.bad{display:block;background:var(--bad-soft);color:var(--bad)}
.msg.ok{display:block;background:var(--ok-soft);color:var(--ok)}
.foot{margin-top:18px;font-size:13px;color:var(--ink-3);display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.foot a{color:var(--ink-2)}
.check{flex-direction:row;align-items:center;gap:8px;font-weight:500}
.check input{width:auto}
table{width:100%;border-collapse:collapse;font-size:14px}
th{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);text-align:left;padding:8px;border-bottom:1px solid var(--line)}
td{padding:8px;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl{overflow-x:auto}
.small{font-size:12px;color:var(--ink-3)}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.row>label{flex:1 1 180px}
.sect{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}
.sect h2{font:700 22px/1.1 "Barlow Condensed",Arial,sans-serif;margin:0 0 6px}
.mini{padding:6px 10px;font-size:13px;border-radius:7px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer}
[hidden]{display:none!important}
