*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#0f1419;color:#e7e9ea}a{color:#3d9eff}button{cursor:pointer}input{font:inherit}.card{background:#1a2332;border:1px solid #2a3544;border-radius:8px;padding:1rem}.muted{color:#8b98a5}.badge{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.badge-in{background:#0d4429;color:#6ee7a0}.badge-out{background:#3d2a0d;color:#f5c26b}.badge-unknown{background:#2a3544;color:#8b98a5}.badge-registered{background:#0d3d44;color:#5eead4}.page-shell{min-height:100vh;display:flex;flex-direction:column}.site-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #2a3544}.site-logo{font-weight:700;font-size:1.125rem;color:#e7e9ea;text-decoration:none}.site-nav{display:flex;gap:1rem;align-items:center}.site-nav a{text-decoration:none}.btn-link{padding:.4rem .75rem;border-radius:6px;background:#1d4ed8;color:#fff!important}.auth-main,.dashboard-main,.landing-main{flex:1 1;max-width:1100px;margin:0 auto;padding:2rem 1.5rem;width:100%}.hero{text-align:center;margin-bottom:3rem}.hero h1{font-size:2rem;margin-bottom:.75rem}.hero-sub{max-width:560px;margin:0 auto 1.5rem}.plans-section h2{margin-bottom:.5rem}.plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:1rem;gap:1rem;margin-top:1.5rem}.plan-card{display:flex;flex-direction:column;gap:.75rem}.plan-card-highlight{border-color:#3d9eff}.plan-price{font-size:1.125rem;font-weight:600}.plan-features{margin:0;padding-left:1.25rem;flex:1 1}.btn-primary,.btn-secondary,button[type=submit]{display:inline-block;padding:.6rem 1rem;border-radius:6px;border:none;background:#1d4ed8;color:#fff;text-decoration:none;text-align:center}.btn-secondary{background:#2a3544;color:#e7e9ea}.auth-card{max-width:440px;margin:0 auto}.stack-form{gap:.75rem;margin-top:1rem}.stack-form,.stack-form label{display:flex;flex-direction:column}.stack-form label{gap:.35rem;font-size:.9rem}.stack-form input,.stack-form select{padding:.5rem;border-radius:6px;border:1px solid #2a3544;background:#0f1419;color:#e7e9ea}.form-error{color:#f87171}.form-footer{margin-top:1rem}.page-center{text-align:center;padding:4rem}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.site-footer{padding:1rem 1.5rem;border-top:1px solid #2a3544;text-align:center}