.auth-wrap{min-height:calc(100vh - var(--header-h));justify-content:center;align-items:center;padding:2rem;display:flex;position:relative}.auth-box{-webkit-backdrop-filter:blur(16px);background:#14072db3;border:1px solid #00f0ff33;border-radius:24px;width:100%;max-width:420px;padding:2.5rem;transition:border-color .3s,box-shadow .3s;box-shadow:0 8px 32px #0a011880,0 0 20px #00f0ff1a,inset 0 0 12px #ffffff0d}body.glow-mode .auth-box{background:#0a0019d9;border-color:#ff2e9359;box-shadow:0 0 35px #ff009340,0 0 70px #9d4edd1a,inset 0 0 15px #ff00930d}.auth-box:focus-within{border-color:var(--neon-cyan);box-shadow:0 8px 32px #0a011880,0 0 30px #00f0ff40}body.glow-mode .auth-box:focus-within{border-color:var(--neon-pink);box-shadow:0 0 45px #ff2e9366,0 0 90px #9d4edd33}.auth-logo{color:var(--neon-pink);filter:drop-shadow(0 0 12px #ff2e9380);text-align:center;letter-spacing:-.02em;margin-bottom:.4rem;font-family:Bowlby One,cursive;font-size:1.8rem;line-height:1.1}.auth-sub{color:var(--text-dim);letter-spacing:.12em;text-transform:uppercase;text-align:center;margin-bottom:2rem;font-family:Space Mono,monospace;font-size:.85rem}.auth-form .form-group{margin-bottom:1.4rem}.auth-form .form-group input{background:#ffffff05;border-color:#ffffff14}.auth-form .form-group input:focus{border-color:var(--neon-cyan);background:#00f0ff08}body.glow-mode .auth-form .form-group input:focus{border-color:var(--neon-pink);background:#ff2e9308;box-shadow:0 0 0 3px #ff2e931f,0 0 20px #ff2e931a}.password-input-group{align-items:center;width:100%;display:flex;position:relative}.password-input-group input{padding-right:3rem!important}.password-toggle-btn{color:var(--text-dim);cursor:pointer;z-index:10;background:0 0;border:none;justify-content:center;align-items:center;padding:.4rem;transition:color .2s,transform .1s;display:flex;position:absolute;right:.8rem}.password-toggle-btn:hover{color:var(--neon-cyan)}body.glow-mode .password-toggle-btn:hover{color:var(--neon-pink)}.password-toggle-btn:active{transform:scale(.9)}.auth-switch{text-align:center;color:var(--text-dim);margin-top:1.5rem;font-size:.85rem}.auth-switch a{color:var(--neon-cyan);font-weight:600;text-decoration:none}.auth-switch a:hover{color:#fff;text-decoration:underline}body.glow-mode .auth-switch a{color:var(--neon-pink)}.auth-error{color:var(--neon-pink);background:#ff2e9314;border:1px solid #ff2e9340;border-radius:8px;margin-bottom:1.2rem;padding:.6rem .9rem;font-size:.85rem;animation:.4s ease-in-out shakeError}.consent-row{border:1px solid var(--line);background:#ffffff08;border-radius:10px;align-items:flex-start;gap:.75rem;margin-bottom:1.25rem;padding:.9rem 1rem;display:flex}.consent-row input[type=checkbox]{appearance:none;cursor:pointer;background:0 0;border:2px solid #ffffff40;border-radius:4px;width:18px;min-width:18px;height:18px;margin-top:1px;transition:border-color .2s,background .2s;position:relative}.consent-row input[type=checkbox]:checked{background:var(--neon-cyan);border-color:var(--neon-cyan)}.consent-row input[type=checkbox]:checked:after{content:"";border:2px solid #0a0118;border-top:none;border-left:none;width:6px;height:10px;position:absolute;top:1px;left:4px;transform:rotate(45deg)}body.glow-mode .consent-row input[type=checkbox]:checked{background:var(--neon-pink);border-color:var(--neon-pink)}.consent-label{color:var(--text-dim);cursor:pointer;font-size:.8rem;line-height:1.5}.auth-legal{text-align:center;color:var(--text-dim);margin-top:.9rem;font-size:.78rem;line-height:1.5}.auth-legal a{color:var(--neon-cyan);text-decoration:none}.auth-legal a:hover{text-decoration:underline}body.glow-mode .auth-legal a{color:var(--neon-pink)}@keyframes shakeError{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.account-hero-name{color:var(--text-dim);margin-top:.5rem;font-family:Space Mono,monospace;font-size:.95rem}.account-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.account-card{background:var(--bg-card);border:1px solid var(--line);transition:var(--transition);color:var(--text);border-radius:20px;padding:2rem;text-decoration:none;display:block}.account-card:hover{border-color:var(--neon-cyan);transform:translateY(-4px);box-shadow:0 12px 40px -12px #00f0ff40}.account-card-icon{margin-bottom:1rem;font-size:2.5rem}.account-card-title{margin-bottom:.4rem;font-family:Bowlby One,cursive;font-size:1.2rem}.account-card-desc{color:var(--text-dim);font-size:.85rem}.reservations-empty{text-align:center;color:var(--text-dim);padding:4rem 2rem}.reservations-empty p{margin-bottom:1.5rem}.reservation-card{background:var(--bg-card);border:1px solid var(--line);border-radius:16px;flex-wrap:wrap;align-items:flex-start;gap:1.5rem;margin-bottom:1rem;padding:1.5rem;display:flex}.reservation-card.upcoming{border-left:3px solid var(--neon-cyan)}.reservation-card.past{opacity:.7}.reservation-date{text-align:center;background:var(--bg-mid);border-radius:12px;min-width:80px;padding:.75rem}.reservation-date-month{text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);font-family:Space Mono,monospace;font-size:.72rem}.reservation-date-day{font-family:Bowlby One,cursive;font-size:2rem;line-height:1}.reservation-details{flex:1;min-width:180px}.reservation-type{margin-bottom:.3rem;font-family:Bowlby One,cursive;font-size:1rem}.reservation-meta{color:var(--text-dim);flex-wrap:wrap;gap:.75rem;font-size:.82rem;display:flex}.badge-pending{color:var(--neon-yellow);background:#ffe60026}.badge-confirmed{color:var(--neon-green);background:#39ff1426}.badge-cancelled{color:var(--neon-pink);background:#ff2e9326}.league-reg-table{margin-bottom:2rem}.league-reg-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 160px 120px 100px 120px;align-items:center;gap:1rem;padding:1rem 0;font-size:.9rem;display:grid}.league-reg-row.header{text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);padding-bottom:.75rem;font-family:Space Mono,monospace;font-size:.72rem}.league-reg-name{font-weight:600}.badge-registered{color:var(--neon-green);background:#39ff1426}@media (max-width:700px){.league-reg-row{grid-template-columns:1fr 1fr;gap:.5rem}.league-reg-row.header,.league-reg-row>:nth-child(3){display:none}}@media (max-width:600px){.account-card{padding:1.5rem}}@media (max-width:480px){.auth-wrap{padding:1rem}.auth-box{border-radius:18px;padding:1.75rem 1.25rem}.account-grid{grid-template-columns:1fr}.reservation-card{flex-direction:column;gap:1rem}.reservation-date{text-align:left;align-items:center;gap:.75rem;min-width:auto;padding:.5rem .75rem;display:flex}.reservation-date-day{font-size:1.5rem}}
