:root{--bg:#08080a;--surface:#101012;--raised:#18181c;--line:#2a2a30;--text:#f7f7f8;--muted:#a3a3aa;--red:#e4242b}*{box-sizing:border-box}body{min-height:100vh;color:var(--text);background:#050506;margin:0;font-family:Barlow,Inter,system-ui,sans-serif}button{font:inherit}.phone-shell{background:var(--bg);border-inline:1px solid #151518;width:min(100%,480px);min-height:100vh;margin:auto;padding-bottom:88px}header{border-bottom:1px solid var(--line);align-items:center;gap:14px;height:68px;padding:0 18px;display:flex}.brand{background:var(--red);letter-spacing:-.06em;place-items:center;width:40px;height:40px;font-weight:900;display:grid}.place{color:#fff;background:0 0;border:0;font-weight:800}.profile{background:var(--raised);color:#fff;border:0;border-radius:50%;width:38px;height:38px;margin-left:auto;font-size:12px;font-weight:800}.hero{padding:32px 20px 20px}.kicker{color:var(--muted);text-transform:uppercase;letter-spacing:.13em;margin:0;font-size:11px;font-weight:800}h1{text-transform:uppercase;letter-spacing:-.055em;margin:8px 0 26px;font:900 38px/1 Archivo,Inter,sans-serif}.pass{border:1px solid var(--line);box-shadow:inset 3px 0 var(--red);background:linear-gradient(135deg,#202025,#121215);border-radius:10px;justify-content:space-between;align-items:end;padding:20px;display:flex}.pass p{color:var(--muted);margin:0 0 7px;font-size:12px}.pass strong{font:800 24px Archivo,sans-serif}.pass span{color:var(--muted);font-size:12px}.schedule{padding:12px 20px 24px}.section-title{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-title h2{text-transform:uppercase;font:800 17px Archivo,sans-serif}.section-title button{color:var(--muted);background:0 0;border:0;font-size:12px}.session{border-top:1px solid var(--line);grid-template-columns:54px 1fr auto;align-items:center;gap:12px;min-height:84px;display:grid}.session time{font:800 17px Archivo,sans-serif}.session h3{margin:0 0 5px;font-size:15px}.session p{color:var(--muted);margin:0;font-size:12px}.session button{background:var(--red);color:#fff;border:0;border-radius:5px;min-height:38px;padding:0 13px;font-size:12px;font-weight:800}.session button.secondary{border:1px solid var(--line);background:0 0}.booked-label{color:var(--muted);font-size:12px;font-weight:800}.empty-state{border-top:1px solid var(--line);color:var(--muted);text-align:center;padding:34px 18px;font-size:13px}.auth-shell{background:radial-gradient(circle at 50% 0%,#202026 0,var(--bg) 48%);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;width:min(100%,430px);padding:34px 26px}.auth-logo{background:var(--red);letter-spacing:-.06em;place-items:center;width:48px;height:48px;margin-bottom:30px;font-weight:900;display:grid}.auth-card h1{margin-bottom:14px}.auth-copy{color:var(--muted);margin:0 0 26px;line-height:1.55}.auth-form{gap:17px;display:grid}.auth-form label{color:var(--muted);gap:8px;font-size:12px;font-weight:800;display:grid}.auth-form input{border:1px solid var(--line);background:var(--bg);color:#fff;border-radius:6px;outline:none;min-height:48px;padding:0 14px}.auth-form input:focus{border-color:var(--red)}.auth-form button{background:var(--red);color:#fff;border:0;border-radius:6px;min-height:48px;font-weight:900}.auth-switch{color:var(--muted);text-align:center;margin:24px 0 0;font-size:13px}.auth-switch a{color:#fff;font-weight:800}.password-hint{color:var(--muted);margin:-9px 0 0;font-size:11px}.form-error,.form-success{border-radius:6px;padding:12px 14px;font-size:12px;line-height:1.4}.form-error{color:#ffb3b6;background:#2a1417;border:1px solid #713238}.form-success{color:#9de6c1;background:#10271d;border:1px solid #286147}.bottom{border:1px solid var(--line);background:#101012f7;grid-template-columns:repeat(4,1fr);align-items:center;width:min(100%,480px);height:72px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom a{color:var(--muted);text-align:center;font-size:10px;text-decoration:none}.bottom a.active{color:#fff}.bottom a.active:before{content:"";background:var(--red);width:20px;height:2px;margin:0 auto 8px;display:block}
