@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600&display=swap";:root{color-scheme:light;--ink: #0d1b2a;--muted: #556274;--accent: #ff6b35;--accent-deep: #c84a1c;--surface: #ffffff;--surface-soft: #f4f5f8;--stroke: #e2e6ee;--shadow: 0 20px 45px rgba(13, 27, 42, .12)}*{box-sizing:border-box}body{margin:0;font-family:Space Grotesk,Segoe UI,sans-serif;background-color:#f2efe9;color:var(--ink);position:relative}body:before{content:"";position:fixed;inset:0;background-image:url(/app-bg.png);background-size:cover;background-position:center;background-repeat:no-repeat;filter:blur(12px) saturate(1.08);opacity:.78;z-index:-2;transform:scale(1.02)}body:after{content:"";position:fixed;inset:0;background:linear-gradient(180deg,#ffffff9e,#ffffffd1);z-index:-1}button,input{font-family:inherit}.app-loading{min-height:100vh;display:grid;place-items:center;font-size:1.1rem;color:var(--muted)}.app-shell{min-height:100vh;display:grid;place-items:center;padding:2rem}.app-card{background:var(--surface);padding:2.5rem 3rem;border-radius:24px;box-shadow:var(--shadow);text-align:center;min-width:min(90vw,420px);display:grid;gap:.75rem}.app-secondary{border:1px solid var(--stroke);border-radius:999px;background:transparent;color:var(--muted);padding:.45rem 1rem;font-weight:600;cursor:pointer;justify-self:center}.app-secondary:hover{border-color:var(--accent);color:var(--accent-deep)}.profile-shell,.admin-shell{min-height:100vh;padding:2.5rem clamp(1.5rem,4vw,4rem);display:grid;gap:2rem;align-items:start}.profile-header,.admin-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;width:100%}.profile-header h1,.admin-header h1{margin:.4rem 0;font-size:clamp(1.8rem,3vw,2.4rem)}.profile-header p,.admin-header p{margin:0;color:var(--muted)}.profile-eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;color:var(--accent-deep)}.profile-actions{display:flex;gap:.75rem;flex-wrap:wrap}.profile-section h2,.admin-section h2{margin-bottom:.75rem}.card-grid,.admin-section{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));width:100%}.info-card{background:var(--surface);border-radius:20px;padding:1.5rem;box-shadow:var(--shadow);display:grid;gap:.5rem}.info-card h3{margin:0}.info-card span{color:var(--muted);font-size:.9rem}.empty-state{color:var(--muted)}.primary,.ghost{border:none;border-radius:999px;padding:.6rem 1.2rem;font-weight:600;cursor:pointer}.primary{background:var(--accent);color:#fff;box-shadow:0 10px 18px #ff6b3533}.ghost{background:var(--surface-soft);color:var(--ink)}.card-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.action-panel .info-card{gap:1rem}.action-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.action-panel label{display:grid;gap:.4rem;font-weight:500}.action-panel input,.action-panel select{border:1px solid var(--stroke);border-radius:12px;padding:.7rem .9rem;font-size:1rem}.action-message{color:var(--accent-deep);margin:0}.membership-message{margin-top:.5rem;color:var(--muted);font-weight:500}.team-roster{margin-top:.75rem;display:grid;gap:.35rem}.team-roster-row{display:flex;justify-content:space-between;gap:1rem;padding:.35rem .6rem;border-radius:10px;background:var(--surface-soft)}.placeholder-card h2{margin:0 0 .5rem}.placeholder-card p{margin:0;color:var(--muted)}.admin-form label{display:grid;gap:.4rem;font-weight:500}.admin-form input,.admin-form select{border:1px solid var(--stroke);border-radius:12px;padding:.7rem .9rem;font-size:1rem}.admin-list-grid{display:grid;gap:1rem}.admin-list-item{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:16px;background:var(--surface-soft)}.admin-list-item h3{margin:0}.admin-list-item>div{display:grid;gap:.3rem}.admin-user-row{gap:.75rem}.admin-user-row.pending{border:1px solid rgba(255,107,53,.35);background:#ffffffb3}.admin-user-meta{flex:1;display:grid;gap:.25rem}.admin-user-title{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.admin-user-email{color:var(--muted);font-size:.9rem}.admin-user-stats{color:var(--muted);font-size:.85rem}.admin-user-actions{display:flex;gap:.5rem;flex-wrap:wrap}.admin-user-edit{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;padding-top:.5rem;border-top:1px solid var(--stroke)}.admin-user-edit label{display:grid;gap:.35rem;font-weight:500}.season-halls{margin-top:.75rem;display:grid;gap:.4rem}.season-halls-label{font-size:.85rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.season-halls-list{display:flex;flex-wrap:wrap;gap:.4rem}.season-add-note{font-size:.85rem;color:var(--muted)}.admin-list-item select{border:1px solid var(--stroke);border-radius:12px;padding:.5rem .8rem;background:#fff}.admin-tabs{display:inline-flex;align-items:center;gap:.35rem;background:var(--surface-soft);padding:.3rem;border-radius:999px;width:fit-content;height:46px;align-self:flex-start;box-shadow:0 10px 22px #0d1b2a14}.admin-tabs button{border:none;background:transparent;padding:.45rem .9rem;border-radius:999px;cursor:pointer;font-weight:600;color:var(--muted);line-height:1;white-space:nowrap;height:34px;display:inline-flex;align-items:center}.admin-tabs button.active{background:var(--surface);color:var(--ink);box-shadow:0 8px 16px #0d1b2a14}.admin-requests span{display:block}.admin-users-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:center}.admin-users input[type=search]{border:1px solid var(--stroke);border-radius:999px;padding:.5rem 1rem;min-width:200px}.admin-checkbox{display:flex;align-items:center;gap:.5rem;font-weight:500}.season-weeks{display:grid;gap:.75rem}.season-weeks h3{margin:0}.week-grid{display:grid;gap:.4rem;max-height:220px;overflow:auto;padding-right:.25rem}.week-row{display:flex;align-items:center;gap:.5rem;font-weight:500}.hallseason-layout{display:grid;gap:1.25rem;grid-template-columns:minmax(260px,360px) minmax(0,1fr)}.hallseason-list{display:grid;gap:1.5rem}.hallseason-detail .info-card{display:grid;gap:1rem}.hallseason-item{text-align:left;border:none;cursor:pointer;width:100%}.hallseason-item.active{outline:2px solid rgba(255,107,53,.35)}.hallseason-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap}.detail-tabs{display:flex;flex-wrap:wrap;gap:.5rem}.detail-tabs button{border:none;background:var(--surface-soft);padding:.4rem .9rem;border-radius:999px;cursor:pointer;font-weight:600}.detail-tabs button.active{background:var(--accent);color:#fff}.detail-panel{display:grid;gap:1rem}.team-card{background:var(--surface-soft);border-radius:14px;padding:1rem}.team-card ul{margin:.5rem 0 0;padding-left:1.2rem}.schedule-actions{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.schedule-actions label{display:grid;gap:.4rem;font-weight:500}.schedule-actions input{border:1px solid var(--stroke);border-radius:12px;padding:.6rem .8rem}.week-block{border-top:1px solid var(--stroke);padding-top:.75rem}.match-list{display:grid;gap:.5rem}.match-row{display:flex;justify-content:space-between;gap:1rem;padding:.6rem .8rem;background:var(--surface-soft);border-radius:12px}@media(max-width:960px){.hallseason-layout{grid-template-columns:1fr}}.pill{display:inline-flex;align-items:center;width:fit-content;padding:.2rem .6rem;border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:.75rem;text-transform:uppercase}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:2rem 1.5rem;position:relative;overflow:hidden}.auth-shell:before,.auth-shell:after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(255,107,53,.16),transparent 70%);filter:blur(0);z-index:0}.auth-shell:before{top:-60px;right:-40px}.auth-shell:after{bottom:-80px;left:-40px}.auth-card{position:relative;z-index:1;background:var(--surface);border-radius:28px;padding:2.75rem 3rem;width:min(92vw,480px);box-shadow:var(--shadow);animation:cardRise .6s ease-out}@keyframes cardRise{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.auth-header h1{font-size:2rem;margin:.5rem 0 .75rem}.auth-header p{margin:0;color:var(--muted)}.auth-eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;color:var(--accent-deep)}.auth-tabs{margin:1.5rem 0 1.25rem;display:grid;grid-template-columns:repeat(2,1fr);background:var(--surface-soft);border-radius:999px;padding:.25rem}.auth-tabs button{border:none;background:transparent;padding:.6rem .5rem;border-radius:999px;cursor:pointer;color:var(--muted);font-weight:600}.auth-tabs button.active{background:var(--surface);color:var(--ink);box-shadow:0 8px 18px #0d1b2a14}.auth-banner{margin-bottom:1rem;padding:.75rem 1rem;border-radius:12px;font-size:.9rem}.auth-banner.error{background:#ffe8e1;color:#b23a1d}.auth-banner.message{background:#eef6ff;color:#24517a}.auth-form{display:grid;gap:1rem;margin-bottom:1.5rem}.auth-form label{display:grid;gap:.4rem;font-weight:500;color:var(--ink)}.auth-form input{border:1px solid var(--stroke);border-radius:12px;padding:.75rem .9rem;font-size:1rem;background:#fff}.auth-form input:focus{outline:2px solid rgba(255,107,53,.3);border-color:var(--accent)}.auth-form button[type=submit]{border:none;border-radius:14px;padding:.85rem 1rem;background:var(--accent);color:#fff;font-weight:600;cursor:pointer;font-size:1rem;transition:transform .15s ease,box-shadow .15s ease}.auth-form button[type=submit]:hover{transform:translateY(-1px);box-shadow:0 12px 20px #ff6b3540}.auth-form button[type=submit]:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:none}.auth-helper{display:flex;justify-content:flex-end}.auth-helper .link{border:none;background:none;color:var(--accent-deep);font-weight:600;cursor:pointer;padding:0}.auth-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.auth-footer{display:flex;align-items:center;justify-content:center;gap:.5rem;color:var(--muted)}.auth-footer .link{border:none;background:none;color:var(--accent-deep);font-weight:600;cursor:pointer}@media(max-width:520px){.auth-card{padding:2.25rem 1.75rem}.auth-header h1{font-size:1.7rem}}
