:root{--bg:#07080d;--card:#111521;--card2:#171b28;--line:#303747;--text:#f7f8fc;--muted:#aeb5c7;--pink:#f42583;--yellow:#fff000;--blue:#24b5f4;--green:#39d98a;--red:#ff5b6e;--radius:24px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 50% -10%,#251127 0,#07080d 38%,#05060a 100%);color:var(--text);min-height:100vh}.hidden{display:none!important}button,input{font:inherit}.pass-shell{width:min(860px,100%);margin:auto;padding:calc(16px + env(safe-area-inset-top)) 18px calc(36px + env(safe-area-inset-bottom))}.pass-topbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-bottom:24px}.brand img{width:86px;height:56px;object-fit:contain;object-position:left center}.version{font-weight:900;letter-spacing:.08em;color:var(--yellow);font-size:.78rem}.pass-topbar p{margin:3px 0 0;color:var(--muted);font-size:.85rem}.icon-link{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:#fff;text-decoration:none;background:var(--card);border:1px solid var(--line);font-size:1.7rem}.center-card,.form-card,.panel{background:rgba(17,21,33,.96);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 18px 60px rgba(0,0,0,.25)}.center-card{text-align:center;padding:72px 24px}.loader{width:44px;height:44px;border:4px solid #303747;border-top-color:var(--pink);border-radius:50%;margin:0 auto 20px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.center-card h1,.auth-hero h1,.account-header h1{font-size:clamp(2rem,6vw,3.8rem);line-height:1;margin:8px 0 12px}.center-card p,.auth-hero p{color:var(--muted);max-width:55ch}.auth-hero{padding:22px 4px 24px}.eyebrow{font-size:.75rem;letter-spacing:.14em;font-weight:900;color:var(--pink)}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#10131d;border:1px solid var(--line);border-radius:18px;padding:5px;margin-bottom:14px}.auth-tabs button{border:0;border-radius:14px;padding:13px;background:transparent;color:var(--muted);font-weight:800}.auth-tabs button.active{background:var(--pink);color:white}.form-card{display:grid;gap:16px}.form-card h2,.panel h2,.birthday-card h2{margin:0}.form-card p{margin:0;color:var(--muted)}label{display:grid;gap:7px;font-weight:750;font-size:.93rem}input{width:100%;border:1px solid #3c4457;border-radius:14px;background:#090c13;color:white;padding:14px 15px;outline:none}input:focus{border-color:var(--pink);box-shadow:0 0 0 3px rgba(244,37,131,.16)}input:disabled{opacity:.72}.two-col{display:grid;gap:14px}.password-row{display:grid;grid-template-columns:1fr auto}.password-row input{border-radius:14px 0 0 14px}.password-row button{border:1px solid #3c4457;border-left:0;border-radius:0 14px 14px 0;background:#1f2534;color:white;padding:0 13px}.check-row{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:11px;font-weight:500;line-height:1.35}.check-row input{width:19px;height:19px;margin-top:1px;accent-color:var(--pink)}.check-row.optional{color:var(--muted)}small{color:var(--muted);font-weight:500;line-height:1.35}.primary,.secondary,.text-button{border:0;cursor:pointer}.primary{background:linear-gradient(135deg,var(--pink),#ff3476);color:white;border-radius:15px;padding:15px;font-weight:900}.primary:disabled{opacity:.5}.secondary{background:#171c29;color:white;border:1px solid var(--line);border-radius:14px;padding:12px 15px;font-weight:800}.secondary.small{padding:10px 13px}.text-button{background:transparent;color:#f79bc5;padding:5px;font-weight:750}.status-banner{position:sticky;top:12px;z-index:20;margin-bottom:14px;padding:13px 16px;border:1px solid var(--line);border-radius:15px;background:#151a27;box-shadow:0 8px 28px rgba(0,0,0,.35)}.status-banner.success{border-color:rgba(57,217,138,.5);color:#aef0ce}.status-banner.error{border-color:rgba(255,91,110,.5);color:#ffb2bc}.account-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.pass-card{position:relative;overflow:hidden;border-radius:30px;padding:22px;background:linear-gradient(145deg,#161b2a 0%,#10131c 55%,#22112a 100%);border:1px solid #41495c;box-shadow:0 24px 80px rgba(0,0,0,.45)}.pass-glow{position:absolute;width:320px;height:320px;background:radial-gradient(circle,rgba(244,37,131,.26),transparent 65%);right:-100px;top:-100px}.pass-card-head{position:relative;display:flex;justify-content:space-between;align-items:center;font-weight:950;letter-spacing:.12em}.status-chip{font-size:.66rem;background:rgba(57,217,138,.15);color:#91efbf;border:1px solid rgba(57,217,138,.4);padding:7px 10px;border-radius:999px}.pass-card-body{position:relative;display:grid;grid-template-columns:170px 1fr;gap:22px;align-items:center;margin:24px 0}.pass-qr{background:white;border-radius:18px;padding:12px;aspect-ratio:1;display:grid;place-items:center}.pass-qr img,.pass-qr svg{width:100%;height:100%;display:block}.pass-person{display:grid;gap:7px}.pass-person strong{font-size:1.65rem}.pass-person span{font-family:ui-monospace,monospace;color:#d9ddec}.pass-balance{position:relative;border-top:1px solid rgba(255,255,255,.13);padding-top:18px;display:flex;align-items:baseline;gap:10px}.pass-balance span{color:var(--muted)}.pass-balance strong{font-size:2.8rem;color:var(--yellow)}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.quick-card{text-align:left;text-decoration:none;color:white;display:grid;gap:5px;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:17px;cursor:pointer}.quick-card.accent{background:var(--yellow);color:#05060a;border-color:var(--yellow)}.quick-card small{color:inherit;opacity:.72}.quick-icon{font-size:1.45rem;color:var(--pink)}.quick-card.accent .quick-icon{color:#05060a}.birthday-card{display:grid;grid-template-columns:auto 1fr;gap:16px;background:linear-gradient(135deg,#20142a,#121723);border:1px solid #493753;border-radius:24px;padding:20px;margin-bottom:16px}.birthday-icon{width:54px;height:54px;border-radius:17px;background:rgba(244,37,131,.14);display:grid;place-items:center;font-size:1.7rem}.birthday-card p{color:var(--muted);margin:8px 0}.birthday-status{font-weight:750;color:#ffd5e8}.panel{margin-top:16px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.reward-list,.history-list{display:grid;gap:11px}.reward-item,.history-item{display:grid;grid-template-columns:1fr auto;gap:12px;padding:15px;border:1px solid var(--line);border-radius:17px;background:#0c0f17}.reward-item strong,.history-item strong{display:block}.reward-item p,.history-item p{margin:5px 0 0;color:var(--muted);font-size:.9rem}.points-pill{align-self:center;color:var(--yellow);font-weight:950;white-space:nowrap}.progress{height:7px;background:#252b39;border-radius:99px;overflow:hidden;margin-top:11px}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--pink),var(--yellow));border-radius:99px}.empty-state{padding:26px;text-align:center;border:1px dashed #3a4253;border-radius:18px;color:var(--muted)}.profile-form{display:grid;gap:15px}.pilot-note{margin-top:16px;padding:16px;border-radius:18px;border:1px solid rgba(36,181,244,.3);background:rgba(36,181,244,.07);color:#c7eefe}.pilot-note p{margin:6px 0 0;color:#a9ccda}.error-text{color:#ff9eaa}.success-text{color:#8de8ba}@media(min-width:650px){.two-col{grid-template-columns:1fr 1fr}.quick-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:520px){.pass-card-body{grid-template-columns:128px 1fr;gap:15px}.pass-person strong{font-size:1.25rem}.pass-balance strong{font-size:2.2rem}.birthday-card{grid-template-columns:1fr}.account-header{align-items:flex-end}.account-header h1{font-size:2.25rem}}
