:root{--bg:#F2F4EE;--surface:#fff;--sunk:#E6EAE0;--line:#D3D9CB;--fg:#18241C;--muted:#56635A;--pine:#1F4231;--pine-ink:#fff;--blaze:#C9551F;--bad:#B23A3A;--bad-soft:#F5DCDC;--good:#2E7D4F;--good-soft:#DCEFE2;color-scheme:light}
@media (prefers-color-scheme:dark){:root{--bg:#121A15;--surface:#19231D;--sunk:#202C25;--line:#2F3D34;--fg:#E7EDE6;--muted:#9DAAA0;--pine:#7FB896;--pine-ink:#0F1A13;--blaze:#EC8452;--bad:#EE8A8A;--bad-soft:#3D1F1F;--good:#6FCB92;--good-soft:#1B3325;color-scheme:dark}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);min-height:100vh;color:var(--fg);font:16px/1.55 "Source Sans 3",system-ui,sans-serif;padding:0 16px}
h1,h2{font-family:"Bricolage Grotesque",system-ui,sans-serif;line-height:1.15;margin:0}
.auth{max-width:420px;margin:10vh auto 40px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:28px;display:flex;flex-direction:column;gap:16px}
.wide{max-width:980px;margin:32px auto 60px;display:flex;flex-direction:column;gap:20px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:22px;display:flex;flex-direction:column;gap:14px;min-width:0}
.mark{display:inline-block;width:12px;height:22px;background:var(--blaze);border-radius:2px;vertical-align:-3px;margin-right:10px}
label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;font-weight:600;color:var(--muted)}
input,select{font:inherit;color:var(--fg);background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:9px 11px;width:100%}
input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--blaze);outline-offset:2px}
.btn{font:600 .95rem "Source Sans 3",system-ui,sans-serif;border-radius:6px;padding:9px 16px;border:1px solid var(--line);background:var(--surface);color:var(--fg);cursor:pointer;text-decoration:none;display:inline-block}
.btn.primary{background:var(--blaze);border-color:var(--blaze);color:#fff}
.btn.small{padding:5px 10px;font-size:.82rem}
.muted{color:var(--muted)}
.msg{padding:10px 12px;border-radius:6px;font-size:.92rem}
.msg.err{background:var(--bad-soft);color:var(--bad)} .msg.ok{background:var(--good-soft);color:var(--good)}
.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;align-items:end}
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
table{border-collapse:collapse;width:100%;font-size:.95rem}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
th{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:var(--sunk)}
tr:last-child td{border-bottom:0}
.chip{display:inline-block;font:600 .78rem "Source Sans 3",sans-serif;padding:2px 10px;border-radius:999px;background:var(--sunk);color:var(--muted)}
.chip.hr{background:var(--pine);color:var(--pine-ink)}
a{color:var(--pine)}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:url("hym-hero-bg.webp") center 30%/cover no-repeat;opacity:.18}
@media (prefers-color-scheme:dark){body::before{opacity:.25}}
.auth,.card{background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.logo{display:block;width:150px;height:auto;margin:0 auto 4px;border-radius:12px}
@media (prefers-color-scheme:dark){.logo{background:#F2F4EE;padding:6px 10px}}
