:root{--navy-deep: 207 74% 14%;--navy-medium: 207 35% 30%;--club-blue: 196 78% 48%;--club-blue-dark: 196 82% 38%;--surface-light: 0 0% 100%;--surface-muted: 210 40% 96%;--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-heading: "Oswald", system-ui, -apple-system, "Segoe UI", sans-serif;--font-body: var(--font-sans);--danger: 0 70% 42%;--warning: 38 92% 40%;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-12: 3rem;--shadow-card: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-elevated: 0 20px 25px -5px rgba(0, 0, 0, .1)}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);background:hsl(var(--surface-muted));color:hsl(var(--navy-deep));line-height:1.5}a{color:hsl(var(--club-blue))}.auth-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:radial-gradient(circle at top,hsl(var(--club-blue) / .12),transparent 55%),hsl(var(--surface-muted))}.auth-card{width:100%;max-width:28rem;background:hsl(var(--surface-light));border:1px solid hsl(210 20% 90%);border-radius:1rem;padding:1.75rem;box-shadow:0 12px 40px #09263e14}@media(max-width:480px){.auth-page{padding:1.5rem .75rem 1rem;align-items:flex-start}.auth-card{padding:1.25rem;border-radius:.875rem}}.auth-card-wide{max-width:32rem}.auth-header{text-align:center;margin-bottom:1.5rem}.auth-logo{width:3.5rem;height:3.5rem;margin:0 auto .75rem;border-radius:.875rem;background:hsl(var(--club-blue));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}.auth-title{margin:0 0 .5rem;font-size:1.5rem}.auth-subtitle{margin:0;color:#3a5c78;font-size:.9375rem}.auth-form{display:grid;gap:1rem}.auth-field label{display:block;margin-bottom:.375rem;font-size:.875rem;font-weight:600}.auth-field input{width:100%;padding:.625rem .75rem;border:1px solid hsl(210 20% 85%);border-radius:.5rem;font:inherit}.auth-field input:disabled{background:hsl(var(--surface-muted))}.auth-alert{padding:.75rem 1rem;border-radius:.5rem;font-size:.875rem}.auth-alert-error{background:hsl(var(--danger) / .08);border:1px solid hsl(var(--danger) / .25);color:hsl(var(--danger))}.auth-alert-warning{background:hsl(var(--warning) / .08);border:1px solid hsl(var(--warning) / .25);color:hsl(var(--warning))}.auth-alert-info{background:hsl(var(--club-blue) / .08);border:1px solid hsl(var(--club-blue) / .2);color:#194466}.auth-btn{width:100%;padding:.75rem 1rem;border:none;border-radius:.5rem;background:hsl(var(--club-blue));color:#fff;font:inherit;font-weight:600;cursor:pointer}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-footer{margin-top:1.25rem;text-align:center;font-size:.875rem;color:#3a5c78}.auth-invite-meta{font-weight:600;color:hsl(var(--club-blue))}.auth-tags{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.5rem}.auth-tag{background:hsl(var(--surface-muted));border-radius:999px;padding:.2rem .55rem;font-size:.75rem}.button-primary{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;background:hsl(var(--club-blue));color:#fff;font-family:var(--font-heading);font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.75rem 1.5rem;border-radius:.5rem;border:none;cursor:pointer;text-decoration:none;transition:all .2s ease}.button-primary:hover{background:hsl(var(--club-blue-dark));transform:translateY(-1px)}.button-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.button-secondary{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border-radius:.5rem;border:1px solid hsl(210 20% 85%);background:hsl(var(--surface-light));color:hsl(var(--navy-deep));font-family:var(--font-heading);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}.button-secondary:hover{border-color:hsl(var(--club-blue));transform:translateY(-1px)}.card{background:#fff;border-radius:.75rem;box-shadow:var(--shadow-card);padding:var(--spacing-4);color:hsl(var(--navy-deep))}
