@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600&display=swap";:root{color-scheme:dark;--ink: #e5e5e5;--muted: #b7bcc6;--accent: #fca311;--accent-deep: #c77b00;--accent-soft: rgba(252, 163, 17, .18);--surface: #14213d;--surface-soft: #1a2a4a;--surface-muted: #101a30;--stroke: #2a3551;--stroke-strong: #3a4766;--success: #44b37f;--warning: #f0b429;--danger: #ff6b6b;--focus: rgba(252, 163, 17, .45);--radius: 16px;--shadow: 0 18px 45px rgba(0, 0, 0, .35)}*{box-sizing:border-box}body{margin:0;font-family:Space Grotesk,Segoe UI,sans-serif;background-color:#0b0f1a;background:radial-gradient(circle at top left,rgba(252,163,17,.08),transparent 55%),radial-gradient(circle at 20% 80%,rgba(20,33,61,.6),transparent 60%),linear-gradient(180deg,#0a0e18e6,#0a0e18fa);color:var(--ink);position:relative}body:before{content:"";position:fixed;inset:0;background-image:url(/oppl_logo_big.png);background-repeat:no-repeat;background-size:min(70vw,600px);background-position:center;opacity:.85;filter:grayscale(.4) brightness(1.05) contrast(1.05);pointer-events:none;z-index:-2}body:after{content:"";position:fixed;inset:0;background:radial-gradient(circle at 20% 20%,rgba(252,163,17,.08),transparent 55%),radial-gradient(circle at 80% 30%,rgba(20,33,61,.7),transparent 60%),linear-gradient(180deg,#0a0e18f2,#0a0e18);opacity:1;z-index:-1;pointer-events:none}button,input{font-family:inherit}button{border:1px solid transparent;border-radius:12px;padding:.5rem 1rem;background:var(--surface-soft);color:var(--ink);font-weight:600;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease}button:hover{border-color:var(--stroke-strong);transform:translateY(-1px)}button:disabled{opacity:.6;cursor:not-allowed;transform:none}input,select,textarea{border:1px solid var(--stroke);border-radius:12px;padding:.7rem .9rem;font-size:1rem;background:var(--surface);color:var(--ink);transition:border-color .12s ease,box-shadow .12s ease}input:focus,select:focus,textarea:focus{outline:2px solid var(--focus);border-color:var(--accent)}.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%;border-radius:20px;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#14213dd9,#101a30f2);border:1px solid var(--stroke)}.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:1fr;width:100%}.info-card{background:var(--surface);border-radius:var(--radius);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 #fca31140}.ghost{background:var(--surface-soft);color:var(--ink)}.ghost:hover{background:var(--surface-muted)}.danger{background:#e04f4f1f;color:var(--danger);border:1px solid rgba(224,79,79,.25)}.danger:hover{background:#e04f4f2e}.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{width:100%}.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-muted)}.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{width:100%}.card-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem}.card-header h2{margin:0}.card-header button{white-space:nowrap}.rep-block{margin-top:.75rem;display:grid;gap:.5rem}.rep-block .card-actions{flex-wrap:wrap}.rep-list{margin-top:.5rem}.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);border:1px solid transparent}.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(252,163,17,.4);background:#14213db3;box-shadow:0 10px 25px #fca31114}.admin-user-row.pending .pill{background:var(--accent-soft);color:var(--accent-deep)}.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-actions button{min-height:38px}.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}.admin-user-edit input,.admin-user-edit select,.admin-user-edit textarea{width:100%}.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{padding:.5rem .8rem;background:var(--surface)}.admin-tabs{display:inline-flex;align-items:center;gap:.35rem;background:#101a30;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 #00000059}.mode-toggle{display:inline-flex;gap:.5rem;background:var(--surface-soft);padding:.3rem;border-radius:999px;border:1px solid var(--stroke)}.mode-toggle button{padding:.45rem .9rem;border-radius:999px;font-weight:600}.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-radius:999px;padding:.55rem 1rem;min-width:200px}.admin-modal-backdrop{position:fixed;inset:0;background:#0d1b2a59;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:20}.admin-modal-card{background:var(--surface);border-radius:18px;padding:1.25rem;width:min(760px,100%);box-shadow:0 18px 40px #0d1b2a2e;display:grid;gap:1rem}.admin-modal-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.admin-checkbox{display:flex;align-items:center;gap:.5rem;font-weight:500}.admin-checkbox input{margin:0}.checkbox-field,.checkbox,.auth-checkbox{display:flex;align-items:center;gap:.5rem;font-weight:500}input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);margin:0}.hint{display:block;font-size:.85rem;color:#6b7280}.membership-status{font-weight:600}.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}.week-row input{margin:0}.week-row span{line-height:1.3}.hallseason-layout{display:grid;gap:1.25rem;grid-template-columns:1fr}.hallseason-list{display:grid;gap:1.5rem;order:1}.hallseason-detail{order:2}.hallseason-list .admin-list-grid{display:flex;gap:1rem;overflow-x:auto;padding-bottom:.5rem;scroll-snap-type:x proximity}.hallseason-item{min-width:260px;scroll-snap-align:start}.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}.section-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-radius:14px;background:var(--surface-soft);border:1px solid var(--stroke);font-weight:600}.section-toggle:hover{background:var(--surface-muted)}.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{width:100%}.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;align-items:center;flex-wrap:wrap}@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;letter-spacing:.08em}.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:#ff6b6b24;color:#ffb3b3}.auth-banner.message{background:#14213da6;color:var(--ink)}.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{width:100%}.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 #fca31159}.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}}
