:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#0f1115;--fg:#e8eaed}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--fg);font:16px/1.5 system-ui,-apple-system,sans-serif}.centered{text-align:center;place-items:center;min-height:100vh;padding:2rem;display:grid}.centered h1{letter-spacing:-.02em;margin:0 0 .5rem;font-size:2rem}.centered p{opacity:.7;margin:0}.auth,.page{place-items:center;min-height:100vh;padding:2rem;display:grid}.card{background:#ffffff08;border:1px solid #ffffff1f;border-radius:12px;flex-direction:column;gap:.9rem;width:100%;max-width:22rem;padding:1.75rem;display:flex}.card h1{margin:0;font-size:1.4rem}.card label{opacity:.85;flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.card input{color:inherit;background:#00000040;border:1px solid #ffffff2e;border-radius:8px;padding:.6rem .7rem;font-size:1rem}.card button{color:#fff;cursor:pointer;background:#4f7cff;border:0;border-radius:8px;padding:.6rem .8rem;font-size:.95rem}.card button.google{background:#ffffff1a}.card button.link{color:#9db4ff;text-align:left;background:0 0;padding:0;font-size:.85rem}.card button:disabled{opacity:.6;cursor:default}.card .links{justify-content:space-between;gap:.5rem;display:flex}.card .muted{opacity:.6;margin:0;font-size:.85rem}.card .error{color:#ff8a8a;margin:0;font-size:.85rem}.card .notice{color:#8affc0;margin:0;font-size:.85rem}.admin{max-width:60rem;margin:0 auto;padding:2rem 1.25rem 4rem}.admin-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.admin-head h1,.admin>h1{margin:0;font-size:1.5rem}.admin-nav{padding:0;list-style:none}.btn,.admin button:not(.link){color:#fff;cursor:pointer;background:#4f7cff;border:0;border-radius:8px;padding:.5rem .9rem;font-size:.9rem;text-decoration:none;display:inline-block}.btn-link{color:#9db4ff;font-size:.9rem;text-decoration:none}.admin button.ghost{background:#ffffff1a}.admin button.danger{background:#b23c3c}.table-wrap{overflow-x:auto}.admin table{border-collapse:collapse;width:100%;font-size:.9rem}.admin th,.admin td{text-align:left;white-space:nowrap;border-bottom:1px solid #ffffff1a;padding:.55rem .6rem}.badge{text-transform:uppercase;letter-spacing:.03em;background:#ffffff1f;border-radius:999px;padding:.15rem .5rem;font-size:.72rem}.badge-published{color:#8affc0;background:#50c87840}.badge-cancelled{color:#ff9a9a;background:#dc5a5a40}.stack{flex-direction:column;gap:.9rem;max-width:34rem;display:flex}.stack .row{gap:.9rem;display:flex}.stack .row label{flex:1}.stack label{opacity:.9;flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.stack input,.stack select,.stack textarea{color:inherit;font:inherit;background:#00000040;border:1px solid #ffffff2e;border-radius:8px;padding:.55rem .6rem}fieldset.square{border:1px solid #ffffff26;border-radius:10px;flex-direction:column;gap:.6rem;display:flex}fieldset.square legend{opacity:.8;padding:0 .4rem;font-size:.85rem}label.radio{flex-direction:row;align-items:center;gap:.5rem}.status-actions{gap:.6rem;margin-bottom:1.25rem;display:flex}.catalog,.book,.account{max-width:44rem;margin:0 auto;padding:2rem 1.25rem 4rem}.catalog h1,.book h1,.account h1{font-size:1.6rem}.class-list{flex-direction:column;gap:.9rem;padding:0;list-style:none;display:flex}.class-card{background:#ffffff08;border:1px solid #ffffff1f;border-radius:12px;justify-content:space-between;gap:1rem;padding:1.1rem 1.25rem;display:flex}.class-card h2{margin:0 0 .25rem;font-size:1.1rem}.class-card .when{opacity:.7;margin:0;font-size:.85rem}.class-card .desc{opacity:.85;margin:.5rem 0 0;font-size:.9rem}.class-side{white-space:nowrap;flex-direction:column;align-items:flex-end;gap:.4rem;display:flex}.class-side .price{font-weight:600}.class-side .seats{opacity:.7;font-size:.8rem}.full{color:#ff9a9a;font-weight:600}.book .when{opacity:.7}.book .price-line{font-size:1.1rem}.checkout{flex-direction:column;gap:.9rem;max-width:24rem;margin-top:1rem;display:flex}.checkout label{flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.checkout input{color:inherit;font:inherit;background:#00000040;border:1px solid #ffffff2e;border-radius:8px;padding:.55rem .6rem}.card-container{min-height:90px;padding:.4rem 0}.checkout button{color:#fff;cursor:pointer;background:#4f7cff;border:0;border-radius:8px;padding:.7rem .9rem;font-size:1rem}.checkout button:disabled{opacity:.6;cursor:default}.account section{margin-bottom:2rem}.booking-list{flex-direction:column;gap:.5rem;padding:0;list-style:none;display:flex}.booking-list li{border:1px solid #ffffff1a;border-radius:8px;align-items:center;gap:.75rem;padding:.6rem .8rem;display:flex}.day-nav{align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.schedule{flex-direction:column;gap:.5rem;padding:0;list-style:none;display:flex}.sched-row{color:inherit;border:1px solid #ffffff1f;border-radius:10px;align-items:center;gap:1rem;padding:.7rem .9rem;text-decoration:none;display:flex}.sched-time{font-variant-numeric:tabular-nums;opacity:.85;min-width:5.5rem}.sched-title{flex:1}.sched-title em{opacity:.6;font-style:normal}.sched-count{opacity:.7;white-space:nowrap;font-size:.85rem}.roster{flex-direction:column;gap:.4rem;max-width:30rem;padding:0;list-style:none;display:flex}.roster li{border:1px solid #ffffff1f;border-radius:10px;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem .9rem;display:flex}.roster li.in{background:#50c8781f;border-color:#50c87866}.roster-name{font-size:.95rem}.roster-actions{gap:.5rem;display:flex}
