@font-face{font-family:Suisse;src:url('/assets/fonts/suisse-intl-regular.woff2');font-weight:400;font-display:swap}
@font-face{font-family:Suisse;src:url('/assets/fonts/suisse-intl-medium.woff2');font-weight:500;font-display:swap}

/* Match the existing BackOffice palette and the Club's centered login card. */
:root{color-scheme:light;--bg:#f5f5f5;--panel:#fff;--ink:#161616;--muted:#707070;--line:#e3e3e3;--field:#f5f5f5;--green:oklch(.723 .219 149.579)}
*{box-sizing:border-box}
body{margin:0;min-height:100svh;background:var(--bg);color:var(--ink);font:16px/1.5 Suisse,Arial,sans-serif;display:grid;place-items:center;padding:48px 24px}
body.dark{color-scheme:dark;--bg:#18181b;--panel:#27272a;--ink:#e4e4e7;--muted:#a1a1aa;--line:#3f3f46;--field:#18181b;--green:oklch(.792 .209 151.711)}
.auth-layout{width:min(100%,448px)}
.auth-card{width:100%;padding:32px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
.auth-heading{text-align:center}
.auth-brand{width:56px;height:56px;margin:0 auto 20px;display:grid;place-items:center;border-radius:50%;background:#09090b}
.auth-brand img{display:block;width:36px;height:36px;object-fit:contain}
h1{font-size:24px;font-weight:500;letter-spacing:-.3px;line-height:1.3;margin:0 0 10px}
.auth-intro{color:var(--muted);font-size:16px;line-height:1.5;margin:0 0 32px}
label{display:block;font-size:14px;margin-bottom:8px}
input{width:100%;min-width:0;height:44px;background:var(--field);border:1px solid var(--line);border-radius:7px;padding:0 13px;font:inherit;font-size:16px;color:inherit;transition:border-color .16s,box-shadow .16s}
input::placeholder{color:var(--muted)}
input:focus{outline:2px solid var(--green);outline-offset:2px}
button{font:inherit;cursor:pointer}
button:focus-visible{outline:2px solid var(--green);outline-offset:4px}
.auth-primary{width:100%;display:flex;justify-content:center;align-items:center;margin-top:20px;min-height:44px;padding:11px 16px;border:1px solid var(--green);border-radius:7px;background:var(--green);color:#052e16;font-size:14px;font-weight:500;transition:filter .16s}
.auth-primary:hover{filter:brightness(.95)}
button:disabled{opacity:.5;cursor:wait}
.auth-code{text-align:center;letter-spacing:8px;font-size:22px}
.auth-options{display:flex;justify-content:space-between;gap:12px;margin-top:16px}
.auth-options button{border:0;background:none;color:var(--muted);padding:5px 0;font-size:12px}
.auth-options button:hover:not(:disabled){color:var(--ink)}
.auth-status{font-size:13px;line-height:1.5;color:var(--muted);text-align:center;margin:16px 0 0;overflow-wrap:anywhere}
.auth-status:empty{display:none}
.auth-status.error{color:#b42332}
.dark .auth-status.error{color:#fda4af}
.auth-note{font-size:13px;line-height:1.5;color:var(--muted);text-align:center;margin:28px 0 0}
footer{text-align:center;font-size:12px;line-height:1.5;color:var(--muted);margin-top:32px}
[hidden]{display:none!important}
form{animation:appear .2s ease-out}
@keyframes appear{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
@media(max-width:480px){body{padding:32px 16px}.auth-card{padding:28px 24px}.auth-intro{font-size:15px}footer{font-size:11px;margin-top:24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
