@import"https://fonts.googleapis.com/css2?family=Oswald:wght@400;600;700&family=Inter:wght@400;500;700&display=swap";:root{--green-900: #0a1f0e;--green-800: #0f2d14;--green-700: #143d1a;--green-600: #1a5220;--green-500: #1f6126;--green-400: #2e8b3a;--green-300: #3db84b;--green-200: #6fd97b;--green-100: #b8f0be;--green-50: #e8faea;--accent: #39e55a;--accent-dim: #2ab844;--accent-rgb: 57, 229, 90;--surface-0: #0d1b10;--surface-1: #111f15;--surface-2: #172a1c;--surface-3: #1e3625;--surface-glass: rgba(13, 27, 16, .96);--surface-danger-hover: #3a1010;--share-bg: #0d2e14;--share-bg-hover: #133d1d;--border: #243d2a;--border-light: #2e5237;--text-primary: #e8f5ea;--text-secondary: #8eb896;--text-muted: #5a7d60;--red: #ff5a5a;--red-bg: #2a0e0e;--red-border: #5a1f1f;--yellow: #f5c842;--yellow-bg: #2a2000;--radius: 8px;--radius-sm: 6px;--radius-lg: 10px;color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;font-synthesis:none;letter-spacing:0;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;overflow-x:hidden;background:linear-gradient(180deg,rgba(var(--accent-rgb),.08),transparent 260px),var(--surface-0);color:var(--text-primary)}button,input,select,textarea{font:inherit;max-width:100%;min-width:0}button{min-width:0;min-height:36px;border:0;border-radius:6px;background:var(--accent);color:#000;cursor:pointer;font-family:Oswald,sans-serif;font-size:.85rem;font-weight:600;letter-spacing:.03em;overflow-wrap:anywhere;padding:.4rem .8rem;text-transform:uppercase;transition:background .15s,transform .1s}button:hover:not(:disabled){background:var(--green-200);transform:translateY(-1px)}button:disabled{cursor:default;opacity:.45;transform:none}input,select,textarea{width:100%;min-height:44px;border:1px solid var(--border-light);border-radius:6px;background:var(--surface-2);color:var(--text-primary);padding:.6rem .75rem;transition:border-color .15s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent-rgb),.16)}textarea{min-height:140px;resize:vertical;line-height:1.5}label{display:grid;gap:.4rem;color:var(--text-secondary);font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}code{border-radius:4px;background:var(--surface-2);color:var(--accent);padding:.08rem .28rem;font-size:.85em}a{color:var(--accent)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.app{width:min(1200px,100%);margin:0 auto;padding:0 1rem 1rem}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0 .75rem;border-bottom:1px solid var(--border);margin-bottom:0}.topbar h1{margin:0;font-family:Oswald,sans-serif;font-size:1.9rem;font-weight:700;letter-spacing:.02em;color:var(--text-primary);line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.identity-block,.player-title{display:flex;align-items:center;gap:.75rem;min-width:0}.identity-block>div,.player-title>button{min-width:0;overflow:hidden}.topbar-logo{width:48px;height:48px;border-radius:10px;object-fit:contain;flex-shrink:0}.theme-switcher{min-height:auto;padding:.4rem .6rem;font-size:1.1rem;line-height:1}.push-notifications{display:flex;align-items:center;gap:.5rem}.push-notifications .secondary-button{min-height:auto;padding:.4rem .6rem;font-size:.8rem}.push-notifications .subscribed{background:var(--accent);color:var(--bg)}.push-message{font-size:.75rem;color:var(--muted)}.avatar{display:inline-grid;overflow:hidden;flex:0 0 auto;width:44px;height:44px;place-items:center;border:2px solid var(--accent);border-radius:50%;background:var(--surface-2);color:var(--accent);font-family:Oswald,sans-serif;font-weight:700;font-size:1.1rem}.avatar img{display:block;width:100%;height:100%;object-fit:cover}.avatar-lg{width:56px;height:56px;font-size:1.4rem}.avatar-sm{width:32px;height:32px;font-size:.85rem;border-width:1.5px}.eyebrow{margin:0 0 .15rem;color:var(--accent);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.topbar-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.group-select{min-width:min(200px,100%);background:var(--surface-2);border-color:var(--border-light);font-family:Oswald,sans-serif;letter-spacing:.04em}.tabs{display:flex;flex-wrap:nowrap;gap:0;margin:0 0 1.25rem;overflow-x:auto;border-bottom:2px solid var(--border);scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{min-width:0;min-height:46px;flex:0 0 auto;background:transparent;border-radius:0;color:var(--text-muted);font-size:.82rem;letter-spacing:.08em;padding:.6rem 1.1rem;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s;transform:none}.tab:hover:not(:disabled){color:var(--text-secondary);background:transparent;transform:none}.tab.is-active{background:transparent;color:var(--accent);border-bottom-color:var(--accent)}.bottom-nav{display:none}.section-hero{position:relative;min-height:230px;display:flex;align-items:center;overflow:hidden;margin:0 0 1.25rem;border:1px solid var(--border-light);border-radius:var(--radius-lg);background-color:var(--surface-1);isolation:isolate}.section-hero:before{position:absolute;z-index:-2;top:0;right:0;bottom:0;left:0;content:"";background-image:var(--hero-image);background-position:center;background-size:cover}.section-hero:after{position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;content:"";background:linear-gradient(90deg,var(--surface-glass) 0%,rgba(7,18,10,.78) 38%,rgba(7,18,10,.08) 72%)}.section-hero-copy{width:min(48%,520px);padding:2rem}.section-hero h2{margin:0;font-family:Oswald,sans-serif;font-size:clamp(2rem,5vw,3.5rem);line-height:.95;letter-spacing:.02em;text-transform:uppercase}.section-hero-copy>p:last-child{max-width:38ch;margin:.75rem 0 0;color:var(--text-secondary);line-height:1.5}.auth-brand-mark{width:76px;height:76px;margin:0 auto -.25rem;filter:drop-shadow(0 8px 24px rgba(var(--accent-rgb),.18))}.page-grid{display:grid;gap:1rem}.section-banner{border-radius:var(--radius-lg, 16px);overflow:hidden;width:100%;max-height:160px}.section-banner img{width:100%;height:100%;object-fit:cover;display:block}.panel{display:grid;gap:.75rem;min-width:0;padding:.85rem;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);font-size:.88rem}.section-heading{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:.75rem}.section-heading>*{min-width:0}.section-heading h2{margin:0;font-family:Oswald,sans-serif;font-size:1.15rem;font-weight:600;letter-spacing:.04em;color:var(--text-primary);text-transform:uppercase}small,.muted{color:var(--text-muted);font-size:.82rem}.muted{margin:0}.secondary-button{background:var(--surface-3);color:var(--text-secondary);border:1px solid var(--border-light)}.secondary-button:hover:not(:disabled){background:var(--surface-2);color:var(--text-primary);transform:translateY(-1px)}.ghost-button{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}.ghost-button:hover:not(:disabled){background:var(--surface-2);color:var(--text-primary);transform:none}.confirmed-button{background:rgba(var(--accent-rgb),.12);color:var(--accent);border:1px solid rgba(var(--accent-rgb),.3)}.confirmed-button:hover:not(:disabled){background:rgba(var(--accent-rgb),.2);transform:none}.text-button{min-height:auto;background:transparent;color:var(--text-primary);padding:0;text-align:left;font-family:Inter,sans-serif;text-transform:none;letter-spacing:0;font-weight:700;transform:none}.text-button:hover:not(:disabled){background:transparent;color:var(--accent);transform:none}.cancel-attendance-btn{background:var(--red-bg);border:1px solid var(--red-border);color:var(--red);font-size:.82rem}.cancel-attendance-btn:hover:not(:disabled){background:var(--surface-danger-hover);transform:translateY(-1px)}.share-link{display:inline-grid;min-height:44px;place-items:center;border-radius:6px;background:var(--share-bg);border:1px solid var(--border-light);color:var(--accent);font-family:Oswald,sans-serif;font-size:.9rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;min-width:0;overflow-wrap:anywhere;padding:.6rem 1rem;text-align:center;text-decoration:none;transition:background .15s}.share-link:hover{background:var(--share-bg-hover)}.button-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.button-row>button,.button-row>select,.button-row>.share-link{flex:1 1 100%}.fee-player-row{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem 1rem;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;min-width:0;overflow:hidden}.fee-player-row>div:first-child{display:flex;flex-direction:column;gap:.2rem;min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fee-actions{display:flex;align-items:center;gap:.35rem;flex-wrap:nowrap;flex:0 0 auto}.fee-btn-icon{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.4rem .6rem;font-size:.75rem;font-weight:600;border-radius:6px;background:var(--surface-3);color:var(--text-primary);border:1px solid transparent;transition:all .2s;cursor:pointer;text-transform:uppercase;letter-spacing:.05em}.fee-btn-icon:hover:not(:disabled){background:var(--surface-4);border-color:var(--border)}.fee-btn-icon.is-primary{background:#22c55e26;color:#22c55e}.fee-btn-icon.is-primary:hover:not(:disabled){background:#22c55e40}.fee-btn-icon.is-danger{background:#ef444426;color:#ef4444}.fee-btn-icon.is-danger:hover:not(:disabled){background:#ef444440}.fee-btn-icon:disabled{opacity:.5;cursor:not-allowed}.fee-btn-icon svg{width:14px;height:14px}.count-pill,.status-pill{display:inline-grid;min-height:26px;place-items:center;border-radius:4px;background:var(--surface-3);color:var(--text-secondary);font-family:Oswald,sans-serif;font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.15rem .6rem;white-space:nowrap}.status-pill{background:#f5c8421f;color:var(--yellow);border:1px solid rgba(245,200,66,.25)}.status-pill.is-paid{background:rgba(var(--accent-rgb),.1);color:var(--accent);border-color:rgba(var(--accent-rgb),.25)}.status-pill.is-forgiven{background:var(--surface-3);color:var(--text-muted);border-color:var(--border)}.alert{border-radius:8px;margin-bottom:1rem;padding:.85rem 1rem;font-weight:700;font-size:.9rem;border:1px solid}.alert.error{border-color:var(--red-border);background:var(--red-bg);color:var(--red)}.alert.success{border-color:rgba(var(--accent-rgb),.3);background:rgba(var(--accent-rgb),.08);color:var(--accent)}.reservation-alert{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.reservation-alert button{min-height:36px;width:auto;flex-shrink:0}.empty-state{padding:2.5rem 1rem;color:var(--text-muted);text-align:center;font-size:.9rem;border:1px dashed var(--border);border-radius:8px}.empty-state.compact{padding:1.25rem}.form-message{grid-column:1 / -1;margin:0;border:1px solid var(--red-border);border-radius:6px;background:var(--red-bg);color:var(--red);font-size:.85rem;font-weight:700;padding:.65rem .75rem}.form-grid,.admin-list,.group-list,.list,.ledger-list,.player-list{display:grid;gap:.75rem}.player-admin-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;max-height:70vh;overflow-y:auto;align-content:start}.venue-form{display:grid;gap:1rem;max-width:100%;width:100%;min-width:0;grid-column:1 / -1}.venue-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.venue-form label{display:grid;gap:.3rem;min-width:0}.venue-form-wide{grid-column:1 / -1}.venue-form input,.venue-form select,.venue-form textarea{width:100%;min-width:0}.venue-photo-upload{min-height:220px}.venues-page,.reservations-page{grid-template-columns:1fr}.venues-page>.panel,.reservations-page>.panel{width:100%}.ledger-row>.venue-form{grid-column:1 / -1}@media (max-width: 600px){.venue-form-grid{grid-template-columns:1fr}}.form-grid{max-width:100%}.form-grid>label{min-width:0}.form-wide{grid-column:1 / -1}.tag-selector,.tag-editor{display:grid;gap:.6rem}.tag-selector small,.tag-editor small{color:var(--text-muted)}.tag-chip-grid,.tag-list{display:flex;flex-wrap:wrap;gap:.4rem;min-width:0}.tag-list.compact{margin-top:.35rem;gap:.25rem}.tag-picker-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,1fr) auto;gap:.5rem;align-items:end}.tag-picker-row>*{min-width:0}.tag-chip{min-height:32px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-secondary);padding:.35rem .65rem;font-size:.76rem;font-weight:800;line-height:1;text-transform:uppercase}.tag-chip.is-active{border-color:var(--accent);background:rgba(var(--accent-rgb),.12);color:var(--accent)}.tag-chip.is-readonly{display:inline-flex;align-items:center;min-height:24px;pointer-events:none}.tag-editor{grid-template-columns:minmax(0,1fr) auto;align-items:end}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);padding:.75rem}.toggle-row span{display:grid;gap:.15rem}.toggle-row input[type=checkbox]{width:22px;height:22px;accent-color:var(--accent);flex-shrink:0}.reservation-assistant-fields,.reservation-assistant-grid{display:grid;gap:.75rem}.reservation-assistant-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assisted-reservation-card select{min-height:38px}.super-admin-page{grid-template-columns:minmax(0,1fr)}.super-admin-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem}.super-admin-list .player-admin-card{overflow:visible}@media (max-width: 600px){.tag-picker-row,.tag-editor{grid-template-columns:1fr}.reservation-alert,.toggle-row{align-items:stretch;flex-direction:column}.reservation-alert button{width:100%}.reservation-assistant-grid{grid-template-columns:1fr}}.stars{display:inline-flex;align-items:center;gap:.05rem;color:var(--surface-3);font-size:1rem;letter-spacing:0;line-height:1}.stars .is-filled{color:var(--yellow)}.stars.is-interactive{justify-content:center;width:100%;font-size:1.3rem}.auth-shell{display:grid;min-height:100vh;place-items:center;background:radial-gradient(ellipse at 20% 50%,rgba(31,97,38,.3) 0%,transparent 60%),radial-gradient(ellipse at 80% 20%,rgba(10,31,14,.8) 0%,transparent 50%),var(--surface-0)}.auth-panel{width:min(480px,100%)}.auth-panel h1{font-family:Oswald,sans-serif;font-size:2rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--text-primary);margin:0}.segmented-control{display:grid;grid-template-columns:repeat(2,1fr);gap:.25rem;border-radius:8px;background:var(--surface-2);padding:.3rem;border:1px solid var(--border)}.segmented-control button{background:transparent;color:var(--text-muted);transform:none;border-radius:6px}.segmented-control button:hover:not(:disabled){background:var(--surface-3);color:var(--text-primary);transform:none}.segmented-control button.is-active{background:var(--accent);color:#000}.google-button{width:100%;background:var(--surface-2);border:1px solid var(--border-light);color:var(--text-primary);font-family:Inter,sans-serif;text-transform:none;letter-spacing:0;gap:.5rem;display:flex;align-items:center;justify-content:center}.google-button:hover:not(:disabled){background:var(--surface-3);transform:none}.auth-divider{display:flex;align-items:center;gap:.75rem;color:var(--text-muted);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-form{grid-template-columns:1fr}.resend-button{width:100%;margin-top:.5rem;font-size:.85rem}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.stat{display:grid;gap:.4rem;min-height:80px;min-width:0;padding:1rem;background:var(--surface-1);border:1px solid var(--border);border-radius:10px;border-left:3px solid var(--accent)}.stat span{color:var(--text-muted);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.stat strong{font-family:Oswald,sans-serif;font-size:1.6rem;font-weight:700;color:var(--text-primary);line-height:1}.match-row-wrapper{display:grid;gap:.4rem}.match-row-actions{display:flex;gap:.5rem;padding:0 1rem .5rem}.match-row-wrapper .confirm-delete-msg{margin:0 1rem .5rem}.match-row,.group-card,.player-row,.fine-row,.admin-row,.ledger-row{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;min-width:0;transition:border-color .15s}.match-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;color:var(--text-primary);text-align:left;padding:.85rem 1rem;font-family:Inter,sans-serif;text-transform:none;letter-spacing:0;font-weight:400;transform:none;background:var(--surface-2)}.match-row:hover:not(:disabled){border-color:var(--accent);background:var(--surface-3);transform:none}.match-row span,.player-row>div,.fine-row span,.ledger-row>div:first-child{display:grid;gap:.2rem}.match-row strong{font-family:Oswald,sans-serif;font-size:1rem;letter-spacing:.03em;text-transform:uppercase}.player-row,.fine-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .7rem}.group-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.85rem 1rem}.group-card.is-selected{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.group-description{display:grid;gap:.75rem}.group-description-text{font-size:.9rem;line-height:1.6;color:var(--text-secondary)}.group-description-text p{margin:0}.group-description textarea{min-height:120px;resize:vertical}.team-instructions-box{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:.75rem}.team-instructions-box label{display:grid;gap:.3rem}.team-instructions-box small{font-weight:700;color:var(--text-muted);text-transform:uppercase;font-size:.7rem;letter-spacing:.05em}.team-instructions-box textarea{min-height:70px;resize:vertical;font-size:.85rem}.guest-rating-row{display:flex;gap:.2rem;margin-top:.2rem}.guest-rating-btn{min-height:auto;padding:.15rem .4rem;font-size:.7rem;background:var(--surface-3);color:var(--text-muted);border:1px solid var(--border)}.guest-rating-btn.is-active{background:var(--accent);color:#000;border-color:var(--accent)}.guest-avatar{background:var(--accent-dim);color:var(--text-primary);font-size:.8rem}.guest-tag{font-size:.6rem;color:var(--accent);border:1px solid rgba(var(--accent-rgb),.2);background:rgba(var(--accent-rgb),.05);font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.12rem .35rem;border-radius:4px;white-space:nowrap}.reservation-card{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:.85rem;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem;align-items:start;min-width:0}.reservation-card.is-confirmed{border-color:var(--accent);background:rgba(var(--accent-rgb),.06)}.reservation-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;grid-column:1}.reservation-header strong{font-size:1.05rem}.reservation-header small{color:var(--text-muted);display:block;margin-top:.2rem}.reservation-details{display:flex;gap:1rem;grid-column:1;align-items:center;flex-wrap:wrap}.reservation-assigned{display:flex;align-items:center;gap:.3rem}.reservation-assigned small{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.reservation-person{display:flex;align-items:center;gap:.5rem}.reservation-notes{color:var(--text-secondary);font-style:italic}.reservation-proof{border-radius:6px;overflow:hidden;max-height:60px;max-width:80px;grid-column:2;grid-row:1 / span 3}.reservation-proof img{width:100%;height:100%;object-fit:cover;display:block}.reservation-actions{flex-wrap:wrap;grid-column:1 / -1;display:flex;gap:.3rem;align-items:center;margin-top:.2rem}.is-pending{background:var(--yellow-bg);color:var(--yellow);border:1px solid var(--yellow)}.reservation-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.75rem;align-items:start}.reservation-form-block{display:grid;gap:1rem}.reservation-row{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:1rem}.reservation-row-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.reservation-info{display:grid;gap:.5rem;font-size:.9rem;color:var(--text-secondary)}.reservation-info strong{color:var(--text-primary)}.reservation-proof-uploaded{display:grid;gap:.5rem}.reservation-proof-uploaded img{width:100%;max-height:300px;object-fit:cover;border-radius:8px}.proof-upload-label{display:grid;gap:.3rem;padding:1.5rem;border:2px dashed var(--border);border-radius:10px;text-align:center;cursor:pointer;transition:border-color .15s}.proof-upload-label:hover{border-color:var(--accent)}.proof-upload-label span{font-weight:700}.proof-upload-label small{color:var(--text-muted)}.reservation-list{display:grid;gap:.75rem}.reservation-date-group{display:grid;gap:.3rem}.reservation-date-header{font-size:.85rem;font-weight:700;color:var(--accent);padding:.3rem 0;border-bottom:1px solid var(--border);text-transform:capitalize}.reservation-list-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem;background:var(--surface-2);border-radius:8px}.reservation-list-info{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.reservation-list-venue{font-weight:700;font-size:.9rem}.reservation-list-time{font-size:.8rem;color:var(--text-muted)}.reservation-list-person{display:flex;align-items:center;gap:.3rem;font-size:.8rem;color:var(--text-secondary)}.reservation-list-status{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.reservation-list-proof{font-size:.9rem}@media (max-width: 700px){.reservation-card,.reservation-list-row,.reservation-list-info,.reservation-list-status{display:grid;grid-template-columns:1fr;justify-items:stretch}.reservation-header,.reservation-details,.reservation-actions{align-items:flex-start}.reservation-proof{grid-column:1;grid-row:auto;max-width:100%;max-height:140px}}.weather-widget{display:flex;align-items:center;gap:.75rem;padding:.6rem .8rem;background:var(--surface-2);border:1px solid var(--border);border-radius:8px}.weather-widget.is-rainy{border-color:#3b82f6;background:#3b82f614}.weather-widget.is-hot{border-color:#f59e0b;background:#f59e0b14}.weather-icon{font-size:1.8rem;line-height:1}.weather-info{display:flex;flex-direction:column;gap:.1rem;flex:1}.weather-info strong{font-size:.9rem}.weather-info small{font-size:.75rem;color:var(--text-muted)}.weather-details{display:flex;gap:.5rem;flex-shrink:0}.weather-detail{font-size:.75rem;color:var(--text-secondary);white-space:nowrap}.map-picker{display:grid;gap:.3rem;max-width:100%;min-width:0;overflow:hidden}.map-picker>*{max-width:100%;min-width:0}.map-picker .leaflet-container,.map-container{border-radius:8px;z-index:1;max-width:100%;min-width:0;position:relative;overflow:hidden}.map-picker-controls{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}.map-search-form{display:flex;gap:.3rem;flex:1;min-width:200px}.map-search-form input{flex:1;min-width:0}.map-search-form button{min-height:auto;padding:.3rem .6rem;font-size:.85rem}.map-error{font-size:.75rem;color:var(--red);margin:0}.map-hint{font-size:.72rem;color:var(--text-muted)}.venue-map-small{border-radius:8px;overflow:hidden;height:150px}.venue-map-small .leaflet-container{height:100%;border-radius:8px}.group-card>div{display:grid;gap:.2rem;min-width:0}.ledger-row{display:grid;gap:.5rem;padding:.6rem .8rem}.ledger-meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.fine-amount{font-family:Oswald,sans-serif;font-weight:700;font-size:1.05rem;color:var(--yellow)}.ledger-actions button{flex:1 1 120px}.finance-snapshot{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.65rem}.finance-snapshot>div{display:grid;gap:.25rem;min-height:70px;align-content:center;padding:.7rem .8rem;background:var(--surface-2);border:1px solid var(--border);border-radius:8px}.finance-snapshot small{font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.finance-snapshot strong{font-family:Oswald,sans-serif;font-size:1.25rem}.finance-snapshot .is-warning{background:#f5c84214;border-color:#f5c84240}.finance-snapshot .is-warning strong{color:var(--yellow)}.collection-card{display:grid;gap:.85rem;min-width:0;padding:.85rem;background:var(--surface-2);border:1px solid var(--border);border-radius:8px}.collections-panel{grid-column:1 / -1}.collections-toolbar,.collection-batch-actions,.collection-breakdown{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.collections-toolbar{justify-content:space-between}.collections-panel .export-block{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:.75rem}.collection-card-head{display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem;align-items:start}.collection-title{display:grid;gap:.2rem;min-width:0}.collection-title strong{font-family:Oswald,sans-serif;font-size:1.15rem;letter-spacing:.03em;text-transform:uppercase}.collection-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem}.collection-stats>div{display:grid;align-content:center;gap:.2rem;min-height:58px;min-width:0;padding:.55rem .65rem;background:var(--surface-1);border:1px solid var(--border);border-radius:6px}.collection-stats small{font-size:.64rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.collection-stats span:not(.status-pill){color:var(--text-primary);font-family:Oswald,sans-serif;font-size:1.05rem;font-weight:700}.collection-due{display:inline-flex;align-items:center;width:fit-content;min-height:28px;padding:.2rem .55rem;background:#f5c8421a;border:1px solid rgba(245,200,66,.24);border-radius:4px;color:var(--yellow);font-weight:700}.collection-progress{height:8px;overflow:hidden;background:var(--surface-1);border:1px solid var(--border);border-radius:999px}.collection-progress span{display:block;min-width:0;max-width:100%;height:100%;background:var(--accent)}.collection-breakdown span{display:inline-flex;min-height:26px;align-items:center;padding:.15rem .55rem;background:var(--surface-1);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);font-size:.76rem;font-weight:700}.collection-batch-actions{justify-content:flex-end}.collection-batch-actions button{flex:0 1 auto}.collection-player-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.65rem;align-items:start}.collection-player-grid .fee-player-row{display:grid;grid-template-columns:minmax(0,1fr) 118px;align-items:start;min-height:132px;gap:.75rem}.collection-player-grid .fee-actions{display:grid;grid-template-columns:1fr;justify-content:stretch;width:100%;max-width:none}.collection-player-grid .fee-btn-icon,.collection-player-grid .status-pill{width:100%;min-height:36px}.payment-select{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:.45rem;color:var(--text-primary);font-family:Inter,sans-serif;font-size:.9rem;letter-spacing:0;text-transform:none}.payment-select input{width:16px;height:16px;min-height:16px;accent-color:var(--accent)}.payment-select span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.self-confirm{display:grid;gap:.75rem;border:1px solid var(--border-light);border-radius:8px;background:var(--surface-2);padding:1rem}.self-confirm>div{display:grid;gap:.2rem;min-width:0}.capacity-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.capacity-board>div{display:grid;gap:.2rem;min-height:64px;align-content:center;padding:.6rem .7rem;background:var(--surface-2);border:1px solid var(--border);border-radius:8px}.capacity-board small{font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.capacity-board strong{font-family:Oswald,sans-serif;font-size:1.45rem;line-height:1}.waitlist-strip{display:flex;flex-wrap:wrap;gap:.4rem}.waitlist-strip span{display:inline-flex;align-items:center;min-height:28px;padding:.2rem .55rem;background:#f5c8421a;border:1px solid rgba(245,200,66,.25);border-radius:4px;color:var(--yellow);font-size:.78rem;font-weight:700}.social-share-card{display:grid;gap:.75rem;padding:.75rem;background:var(--surface-2);border:1px solid var(--border);border-radius:8px}.social-share-card img{width:min(100%,360px);aspect-ratio:4 / 5;object-fit:cover;justify-self:center;border:1px solid var(--border-light);border-radius:8px;background:var(--surface-0)}.rules-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:center;padding:.75rem;background:#f5c84214;border:1px solid rgba(245,200,66,.24);border-radius:8px}.rules-card>div{display:grid;gap:.2rem;min-width:0}.post-match-card{display:grid;gap:.75rem;padding:.75rem;background:var(--surface-2);border:1px solid var(--border);border-radius:8px}.post-match-stats,.venue-history{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem}.post-match-stats>div,.venue-history span{display:grid;gap:.2rem;min-height:58px;align-content:center;padding:.55rem .65rem;background:var(--surface-1);border:1px solid var(--border);border-radius:6px}.post-match-stats small,.venue-history small{font-size:.64rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.post-match-stats strong,.venue-history strong{color:var(--text-primary);font-family:Oswald,sans-serif;font-size:1.05rem}.venue-history{grid-column:1 / -1}.self-confirm strong{font-family:Oswald,sans-serif;font-size:1.05rem;letter-spacing:.03em;text-transform:uppercase}.attendance-buttons{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.team-grid{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.team-card{display:grid;gap:.5rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);padding:1rem;border-top:3px solid var(--accent)}.team-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.team-header-left{display:flex;align-items:center;gap:.5rem}.team-header strong{font-family:Oswald,sans-serif;font-size:1.1rem;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);white-space:nowrap}.team-name-dot{width:.85rem;height:.85rem;border:2px solid rgba(255,255,255,.85);border-radius:999px;box-shadow:0 0 0 1px var(--border)}.team-rating-pill{justify-self:end;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-muted);padding:.25rem .5rem;font-size:.75rem;white-space:nowrap}.team-card ul{display:grid;gap:.4rem;margin:0;padding:.3rem 0 0;list-style:none}.team-card li{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.team-member{display:inline-flex;align-items:center;gap:.5rem;min-width:0;font-size:.9rem}.team-color-picker{display:flex;gap:.3rem;flex-wrap:wrap}.team-color-picker.compact{gap:.2rem}.color-swatch{width:26px;height:26px;border:2px solid var(--border);border-radius:50%;cursor:pointer;padding:0;background-clip:padding-box;transition:transform .15s,box-shadow .15s}.team-color-picker.compact .color-swatch{width:26px;height:26px}.color-swatch:hover{transform:scale(1.2)}.color-swatch.is-selected{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--accent);transform:scale(1.15)}.team-colors-section{display:grid;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.team-color-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;border:1px solid var(--border-light);border-radius:8px;background:var(--surface);padding:.55rem .65rem;font-size:.85rem}.team-color-row>span{min-width:0;font-weight:700;color:var(--text-secondary)}.players-admin-grid{display:grid;gap:1rem}.player-admin-card{border:1px solid var(--border);border-radius:8px;background:var(--surface-2);padding:.6rem .7rem;display:grid;gap:.4rem;transition:border-color .15s;font-size:.85rem}.player-admin-card.is-selected{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.player-card-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.player-admin-card strong{font-family:Oswald,sans-serif;font-size:.95rem;letter-spacing:.03em;text-transform:uppercase}@media (min-width: 900px){.player-admin-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}@media (min-width: 1400px){.player-admin-list{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}.history-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);padding:.65rem .8rem}.history-row span{display:grid;gap:.2rem}.detail-section{display:grid;gap:.7rem}.quick-actions,.position-actions,.star-level-grid,.player-filter-grid{display:grid;gap:.6rem}.position-actions{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.star-level-grid{grid-template-columns:repeat(2,1fr)}.star-level-grid button{display:grid;gap:.3rem;min-height:68px;place-items:center;padding-inline:.5rem}.star-level-grid small{color:inherit;font-size:.72rem;font-weight:700;letter-spacing:.06em}.star-level-grid.compact{grid-template-columns:repeat(4,minmax(64px,1fr))}.star-level-grid.compact button{min-height:52px;overflow:hidden;padding-inline:.35rem}.star-level-grid.compact .stars{font-size:.96rem}.star-level-grid.compact small{font-size:.62rem}.position-rating-control{display:flex;flex-direction:column;gap:.8rem}.position-rating-row{display:flex;flex-direction:column;gap:.3rem}.position-rating-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.position-rating-display{display:flex;gap:.6rem;flex-wrap:wrap}.position-rating-item{display:flex;flex-direction:column;align-items:center;gap:.1rem}.position-rating-item small{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.profile-badge-row{display:flex;justify-content:center;margin:.5rem 0}.player-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .9rem;border-radius:999px;font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.badge-platinum{background:linear-gradient(135deg,#a78bfa,#7c3aed);color:#f5f3ff}.badge-gold{background:linear-gradient(135deg,#f59e0b,#d97706);color:#422006}.badge-silver{background:linear-gradient(135deg,#94a3b8,#64748b);color:#0f172a}.badge-bronze{background:linear-gradient(135deg,#d97706,#92400e);color:#fef3c7}.badge-iron{background:linear-gradient(135deg,#6b7280,#4b5563);color:#e5e7eb}.player-filter-grid{grid-template-columns:repeat(2,1fr)}.role-status-group{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;justify-content:flex-end}.date-range-filter{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.date-range-filter button{font-size:.72rem;padding:.3rem .6rem}.sim-player-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.5rem;max-height:60vh;overflow-y:auto;align-content:start}.sim-player-row{cursor:pointer;transition:background .15s}.sim-player-row:hover{background:var(--surface-3)}.sim-player-row.is-selected{background:rgba(var(--accent-rgb),.12);border-color:var(--accent)}.sim-player-info{display:flex;align-items:center;gap:.5rem;min-width:0}.sim-player-text{display:flex;flex-direction:column;gap:.1rem;min-width:0;flex:1}.sim-player-text strong{font-size:.85rem;font-weight:600;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sim-player-text small{font-size:.7rem;color:var(--text-muted);line-height:1.1}.ai-instructions-input{width:100%;padding:.5rem .7rem;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;font-size:.85rem;color:var(--text-primary);font-family:inherit}.sim-player-info input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.player-card-badge{display:flex;align-items:center;gap:.5rem;margin-top:.3rem}.player-skills{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center;margin-top:.3rem}.player-skills-list{display:flex;gap:.2rem;flex-wrap:wrap}.skill-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--surface-3);border:1px solid var(--border);border-radius:6px;font-size:.95rem;cursor:pointer;transition:all .15s}.skill-badge:hover{background:var(--red-bg);border-color:var(--red);transform:scale(1.1)}.skill-select{font-size:.7rem;padding:.2rem .3rem;min-height:auto;height:auto;background:var(--surface-2);color:var(--text-muted);border:1px dashed var(--border);border-radius:6px;cursor:pointer}.skill-select:hover{border-color:var(--accent);color:var(--accent)}.skill-limit-msg{font-size:.65rem;color:var(--text-muted);font-style:italic}.team-assign-grid{display:flex;flex-direction:column;gap:.4rem}.team-assign-player{display:flex;align-items:center;gap:.5rem;padding:.3rem 0}.team-assign-player span{flex:1;font-size:.85rem}.vote-system{display:flex;align-items:center;gap:.3rem;position:relative}.vote-average-btn{display:flex;align-items:center;gap:.3rem;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:.2rem .5rem;cursor:pointer;transition:border-color .15s;white-space:nowrap}.vote-average-btn:hover{border-color:var(--accent)}.vote-avg-number{font-size:.85rem;font-weight:800;color:var(--accent)}.vote-your-score{font-size:.6rem;color:var(--text-muted)}.vote-picker{display:grid;grid-template-columns:repeat(5,1fr);gap:.15rem;position:absolute;top:100%;left:0;background:var(--surface-1);border:1px solid var(--border);border-radius:8px;padding:.3rem;z-index:10;width:160px;box-shadow:0 4px 12px #0000004d}.vote-picker-btn{width:100%;aspect-ratio:1;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);color:var(--text-primary);font-size:.7rem;font-weight:700;cursor:pointer;transition:all .15s;padding:0}.vote-picker-btn:hover{border-color:var(--accent);color:var(--accent)}.vote-picker-btn.is-active{background:var(--accent);color:#000;border-color:var(--accent)}.role-controls{display:grid;grid-template-columns:1fr 1fr;align-items:flex-end;gap:.75rem}.standings-table{width:100%;font-size:.82rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.standings-header,.standings-row{display:grid;grid-template-columns:32px 1fr repeat(7,42px);align-items:center;padding:.5rem .4rem;gap:.2rem}.standings-header{font-weight:700;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border)}.standings-row{border-bottom:1px solid var(--border-light)}.standings-row:last-child{border-bottom:none}.col-pos{text-align:center;font-weight:700}.col-team{display:flex;align-items:center;gap:.4rem;font-weight:600}.team-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.col-stat{text-align:center}.col-pts{font-weight:800;color:var(--accent)}.role-label-inline{display:grid;gap:.2rem}.role-label-inline select{min-height:42px}.profile-summary{display:grid;gap:.75rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);padding:1rem}.profile-summary span{display:grid;gap:.2rem;min-width:0}.court-photo,.media-upload img{overflow:hidden;border-radius:8px;background:var(--surface-2);border:1px solid var(--border)}.court-photo{aspect-ratio:16 / 9;width:100%}.court-photo img,.media-upload img{display:block;width:100%;height:100%;object-fit:cover}.media-upload{grid-column:1 / -1}.media-upload img,.media-placeholder{aspect-ratio:16 / 9;min-height:140px}.media-placeholder{display:grid;place-items:center;border:1px dashed var(--border-light);border-radius:8px;background:var(--surface-2);color:var(--text-muted);padding:1rem;text-align:center;font-size:.85rem}.court-upload-block{display:grid;gap:.75rem;border:1px solid var(--border-light);border-radius:8px;background:var(--surface-2);padding:.9rem}.court-upload-block>div{display:grid;gap:.25rem}.court-upload-block strong{color:var(--text-primary)}.inline-upload{display:grid;gap:.6rem;align-items:center;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);padding:.75rem}.inline-upload input{min-height:auto;border:0;background:transparent;padding:0}.venue-thumb{width:100%;aspect-ratio:16 / 6;overflow:hidden;border-radius:6px;background:var(--surface-2)}.venue-thumb img{display:block;width:100%;height:100%;object-fit:cover}.avatar-upload{grid-column:1 / -1;grid-template-columns:auto minmax(0,1fr);align-items:center;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);padding:.75rem}.avatar-upload span{display:grid;gap:.35rem;min-width:0}.avatar-upload input{min-height:auto;border:0;background:transparent;padding:0}.export-block{display:grid;gap:.6rem;padding-top:.25rem}.export-block textarea{background:var(--surface-2);color:var(--text-secondary);font-size:.82rem;min-height:110px}.quick-confirm{display:grid;grid-template-columns:minmax(0,1fr);gap:.5rem}.mini-stat-grid{display:grid;gap:.65rem}.mini-stat-grid .stat{min-height:70px}.mini-stat-grid .stat strong{font-size:1.1rem}.admin-row{display:grid;grid-template-columns:minmax(0,1fr);gap:.5rem;padding:.75rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.row-message{width:100%}@media (max-width: 719px){body{background-size:100% 220px,auto}.app{width:100%;padding:0 .75rem calc(5.5rem + env(safe-area-inset-bottom))}.section-hero{min-height:160px;border-radius:var(--radius)}.section-hero:before{background-position:58% center}.section-hero:after{background:linear-gradient(90deg,var(--surface-glass) 0%,rgba(7,18,10,.66) 58%,rgba(7,18,10,.16) 100%)}.section-hero-copy{width:min(86%,360px);padding:1rem}.section-hero h2{font-size:clamp(1.7rem,9vw,2.45rem)}.section-hero-copy>p:last-child{font-size:.85rem}button,input,select{min-height:50px}textarea{min-height:120px}.topbar{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:.75rem;padding-top:.75rem}.topbar h1{font-size:clamp(1.25rem,7vw,1.75rem)}.topbar-logo{width:42px;height:42px;border-radius:8px}.topbar-actions{display:grid;grid-template-columns:52px minmax(0,1fr) minmax(0,1fr);width:100%}.group-select{grid-column:1 / -1}.theme-switcher{grid-column:1;justify-self:stretch;padding-inline:.45rem}.topbar-actions>button{width:100%;white-space:nowrap}.topbar-actions .ghost-button:not(.theme-switcher),.topbar-actions .secondary-button{font-size:.82rem;padding-inline:.6rem}.panel,.stat,.team-card,.match-admin-card,.profile-summary,.self-confirm,.court-upload-block,.inline-upload,.avatar-upload{padding:.85rem}.section-heading{align-items:stretch}.section-heading .button-row,.section-heading>button,.section-heading>select{width:100%}.match-row,.player-row,.fine-row,.group-card,.history-row,.proof-info-row,.player-card-head{align-items:flex-start;flex-direction:column}.match-row{gap:.55rem}.match-row>*,.player-row>*,.fine-row>*,.history-row>*,.proof-info-row>*,.player-card-head>*{width:100%}.match-row-actions,.attendance-buttons,.role-status-group,.match-admin-pills,.date-range-filter{display:grid;grid-template-columns:1fr;width:100%;padding-inline:0;justify-content:stretch}.match-row-wrapper .match-row-actions{padding:0 0 .5rem}.match-row-wrapper .confirm-delete-msg{margin-inline:0}.avatar-upload{grid-template-columns:minmax(0,1fr);justify-items:start}.star-level-grid,.star-level-grid.compact,.player-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.role-controls{grid-template-columns:1fr 1fr}.standings-table{margin-inline:-.25rem;padding-bottom:.25rem}.standings-header,.standings-row{min-width:620px}.top-tabs{display:none}.bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:20;display:grid;grid-auto-columns:minmax(72px,max-content);grid-auto-flow:column;overflow-x:auto;gap:.25rem;border-top:1px solid var(--border);background:var(--surface-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:.4rem .5rem calc(.4rem + env(safe-area-inset-bottom));scrollbar-width:none}.bottom-nav::-webkit-scrollbar{display:none}.bottom-nav-item{display:grid;place-items:center;min-height:52px;min-width:72px;border-radius:6px;background:transparent;border:1px solid transparent;color:var(--text-muted);font-size:.68rem;letter-spacing:.04em;line-height:1;overflow:hidden;padding:.4rem .35rem;text-overflow:ellipsis;transform:none;white-space:nowrap}.bottom-nav-item:hover:not(:disabled){transform:none}.bottom-nav-item.is-active{background:rgba(var(--accent-rgb),.08);border-color:rgba(var(--accent-rgb),.25);color:var(--accent);transform:none}}@media (min-width: 720px){.app{padding:0 1.5rem 1.5rem}.topbar h1{font-size:2.4rem}.page-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.venues-page,.reservations-page,.super-admin-page{grid-template-columns:minmax(0,1fr)}.stat-grid,.panel:has(.ledger-list),.panel:has(.player-list),.panel:has(.player-admin-list),.panel:has(.admin-list){grid-column:1 / -1}.stat-grid{grid-template-columns:repeat(3,1fr)}.collection-card-head{grid-template-columns:minmax(220px,1fr) minmax(360px,.8fr)}.collection-due{grid-column:1 / -1}.button-row>button,.button-row>select,.button-row>.share-link{flex-basis:150px}.form-grid{grid-template-columns:repeat(2,1fr)}.form-grid button{align-self:end}.form-grid>label{min-width:0}.quick-confirm{grid-template-columns:repeat(4,1fr)}.player-filter-grid{grid-template-columns:repeat(5,1fr)}.star-level-grid{grid-template-columns:repeat(4,1fr)}.self-confirm{grid-template-columns:minmax(0,1fr) minmax(200px,260px);align-items:center}.profile-summary{grid-template-columns:repeat(3,1fr)}.admin-row{grid-template-columns:1.4fr 1fr 88px auto auto 96px;align-items:center}.admin-row .row-message{grid-column:1 / -1}.ledger-row{grid-template-columns:1fr auto minmax(200px,240px) 160px;align-items:center}.role-controls{grid-template-columns:1fr 1fr}}@media (min-width: 920px){.players-admin-grid{grid-template-columns:minmax(320px,400px) minmax(0,1fr);align-items:start}.mini-stat-grid{grid-template-columns:repeat(3,1fr)}.position-actions{grid-template-columns:repeat(5,1fr)}.players-admin-grid>.panel:first-child{grid-column:1;grid-row:1;position:sticky;top:1rem}.players-admin-grid>.player-detail-panel{grid-column:2;grid-row:1}.players-admin-grid .player-filter-grid{grid-template-columns:repeat(2,1fr)}}.danger-button{background:var(--red-bg);border:1px solid var(--red-border);color:var(--red)}.danger-button:hover:not(:disabled){background:var(--surface-danger-hover);transform:translateY(-1px)}.remove-btn{font-size:.82rem;min-height:38px;padding:.4rem .85rem}.danger-zone{display:grid;gap:.65rem;border:1px solid var(--red-border);border-radius:8px;background:#2a0e0e66;padding:1rem;margin-top:.5rem}.confirm-remove{display:grid;gap:.65rem}.confirm-remove small{color:var(--red);font-size:.82rem;line-height:1.4}.match-admin-card{display:grid;gap:.75rem;padding:1rem;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;border-left:3px solid var(--border-light);transition:border-color .15s}.match-admin-card:hover{border-left-color:var(--accent)}.match-admin-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.match-admin-header strong{display:block;font-family:Oswald,sans-serif;font-size:1rem;letter-spacing:.03em;text-transform:uppercase;color:var(--text-primary)}.match-admin-pills{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center;justify-content:flex-end}.confirm-delete-msg{margin:0;padding:.65rem .8rem;border-radius:6px;background:var(--red-bg);border:1px solid var(--red-border);color:var(--red);font-size:.83rem;line-height:1.4}.proof-payment-info{background:var(--surface-1);border:1px solid var(--border);border-radius:8px;padding:1rem;margin-bottom:1rem}.proof-info-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border)}.proof-info-row:last-child{border-bottom:none}.proof-label{color:var(--text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.proof-value{font-weight:600;color:var(--text-primary)}.proof-value.amount{font-family:Oswald,sans-serif;font-size:1.1rem;color:var(--accent)}.proof-status{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase}.status-pending{background:var(--surface-3);color:var(--text-secondary)}.status-submitted{background:#1a3a5c;color:#60a5fa}.status-approved{background:#1a3d1a;color:var(--green-300)}.status-rejected{background:var(--red-bg);color:var(--red)}.proof-upload-section{margin:1rem 0}.proof-upload-label{display:block;padding:2rem;border:2px dashed var(--border-light);border-radius:8px;text-align:center;color:var(--text-secondary);cursor:pointer;transition:border-color .2s,background .2s}@media (max-width: 420px){.topbar-actions .ghost-button:not(.theme-switcher),.topbar-actions .secondary-button{font-size:.78rem;padding-inline:.55rem}.section-hero-copy{width:100%}.stat-grid,.star-level-grid,.star-level-grid.compact,.player-filter-grid{grid-template-columns:minmax(0,1fr)}.proof-upload-label{padding:1.25rem .75rem}}.proof-upload-label:hover{border-color:var(--accent);background:var(--surface-2)}.proof-file-input{display:none}.proof-preview{margin-top:1rem;text-align:center}.proof-preview img{max-width:100%;max-height:300px;border-radius:8px;border:1px solid var(--border)}.remove-file-btn{margin-top:.75rem;font-size:.85rem}.upload-proof-btn{width:100%;margin-top:1rem}.proof-review-section{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.proof-thumbnail{width:60px;height:60px;object-fit:cover;border-radius:6px;border:1px solid var(--border);cursor:pointer}.proof-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.proof-modal-content{max-width:90vw;max-height:90vh;position:relative}.proof-modal-content img{max-width:100%;max-height:85vh;border-radius:8px}.proof-modal-close{position:absolute;top:-12px;right:-12px;width:36px;height:36px;border-radius:50%;background:var(--surface-2);border:1px solid var(--border);color:var(--text-primary);font-size:1.2rem;display:flex;align-items:center;justify-content:center;cursor:pointer}.proof-reject-form{margin-top:.75rem;display:grid;gap:.5rem}.proof-reject-form input{font-size:.85rem}@media (min-width: 720px){.match-admin-header{flex-wrap:nowrap}}.squad-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg, 12px);padding:.75rem;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;gap:.75rem;min-width:0;flex:1 1 100%}@media (min-width: 600px){.squad-card{flex:1 1 260px;max-width:calc(50% - .375rem)}}.squad-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;border-bottom:1px solid var(--border);padding-bottom:.5rem}.squad-header-left{display:flex;align-items:center;gap:.5rem;min-width:0}.squad-color-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.squad-title{font-family:Oswald,sans-serif;font-size:1.05rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.squad-rating-badge{background:rgba(var(--accent-rgb),.08);border:1px solid rgba(var(--accent-rgb),.25);color:var(--accent);font-family:Oswald,sans-serif;font-size:.75rem;font-weight:600;padding:.15rem .45rem;border-radius:6px;white-space:nowrap;flex-shrink:0}.squad-list{display:flex;flex-direction:column;gap:.3rem}.squad-row{display:flex;justify-content:space-between;align-items:center;padding:.35rem .45rem;border-radius:6px;transition:background-color .15s ease;min-width:0}.squad-row:hover{background-color:#ffffff05}.squad-player-info{display:flex;align-items:center;gap:.5rem;min-width:0}.squad-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;flex-shrink:0}.squad-avatar.guest{background:rgba(var(--accent-rgb),.12);border:1.5px solid rgba(var(--accent-rgb),.3);color:var(--accent);font-family:Oswald,sans-serif}.squad-player-meta{display:flex;flex-direction:column;line-height:1.2;min-width:0}.squad-player-name{font-weight:600;font-size:.85rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.squad-player-position{font-size:.68rem;color:var(--text-muted)}.squad-guest-tag{font-size:.54rem;color:var(--accent);border:1px solid rgba(var(--accent-rgb),.25);background:rgba(var(--accent-rgb),.06);font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.1rem .3rem;border-radius:4px;white-space:nowrap;flex-shrink:0}.export-cards-grid{display:grid;gap:.75rem;margin-top:.75rem}@media (min-width: 720px){.export-cards-grid{grid-template-columns:repeat(2,1fr)}}.fifa-card-container{width:250px;height:350px;border-radius:18px;position:relative;overflow:hidden;padding:3px;box-shadow:0 8px 24px #0006;font-family:Oswald,sans-serif;text-transform:uppercase;transition:transform .3s ease,box-shadow .3s ease;-webkit-user-select:none;user-select:none}.fifa-card-container:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 16px 36px #0009}.fifa-card-container.gold{background:linear-gradient(135deg,#ffe066,#d4af37,#996515);color:#1e1e1e}.fifa-card-container.gold .fifa-card-inner{background:linear-gradient(180deg,#fff7c2,#e6bf3a)}.fifa-card-container.silver{background:linear-gradient(135deg,#fff,#94a3b8);color:#1e293b}.fifa-card-container.silver .fifa-card-inner{background:linear-gradient(180deg,#f8fafc,#cbd5e1)}.fifa-card-container.bronze{background:linear-gradient(135deg,#fdba74,#7c2d12);color:#451a03}.fifa-card-container.bronze .fifa-card-inner{background:linear-gradient(180deg,#ffedd5,#d97706)}.fifa-card-container.special{background:linear-gradient(135deg,#f472b6,#c084fc,#3b0764);color:#fff;box-shadow:0 0 20px #a855f766}.fifa-card-container.special:hover{box-shadow:0 0 30px #a855f7b3}.fifa-card-container.special .fifa-card-inner{background:linear-gradient(180deg,#1e0b36,#090314)}.fifa-card-container.special .fifa-divider{background:#a855f74d}.fifa-card-inner{width:100%;height:100%;border-radius:15px;position:relative;padding:1rem;display:flex;flex-direction:column;align-items:center;overflow:hidden}.fifa-card-badge{position:absolute;top:1rem;left:1rem;display:flex;flex-direction:column;align-items:center;line-height:1.1;z-index:5}.fifa-overall{font-size:2.2rem;font-weight:800;letter-spacing:-.05em}.fifa-pos{font-size:.95rem;font-weight:700;opacity:.85}.fifa-logo{font-size:1rem;margin-top:.25rem;opacity:.8}.fifa-avatar-wrap{width:110px;height:110px;margin-top:.5rem;display:flex;align-items:center;justify-content:center;z-index:2;position:relative}.fifa-avatar-wrap .avatar{width:105px!important;height:105px!important;border-width:3px!important;box-shadow:0 4px 10px #00000040;border-color:currentColor!important}.fifa-placeholder-avatar{width:90px;height:90px;border-radius:50%;background:#0000001a;border:3px solid currentColor;display:flex;align-items:center;justify-content:center;font-size:2.2rem;font-weight:800;box-shadow:0 4px 10px #0003}.fifa-card-container.special .fifa-placeholder-avatar{background:#ffffff0d}.fifa-name-wrap{margin-top:.85rem;width:100%;text-align:center;z-index:3}.fifa-player-name{font-size:1.35rem;font-weight:700;letter-spacing:.04em;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fifa-divider{width:85%;height:2px;background:#00000026;margin:.65rem auto .75rem;z-index:3}.fifa-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem .75rem;width:90%;z-index:3;margin-bottom:.5rem}.fifa-stat-col{display:flex;flex-direction:column;align-items:center;line-height:1.1}.fifa-stat-val{font-size:1.25rem;font-weight:800}.fifa-stat-lbl{font-size:.68rem;font-weight:700;opacity:.75;letter-spacing:.05em}.fifa-chem-badges{position:absolute;bottom:.75rem;display:flex;gap:.5rem;justify-content:center;z-index:4}.fifa-chem-badge{background:#fff3;border:1px solid rgba(0,0,0,.1);box-shadow:0 2px 4px #0000001a;padding:.15rem .35rem;border-radius:6px;font-size:.9rem}.fifa-card-container.special .fifa-chem-badge{background:#a855f726;border:1px solid rgba(168,85,247,.35);box-shadow:0 0 8px #a855f733}.fifa-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.fifa-modal-content{background:var(--surface-1);border:1px solid var(--border-light);border-radius:var(--radius-lg, 16px);padding:1.5rem;position:relative;display:flex;flex-direction:column;align-items:center;gap:1.25rem;max-width:90vw;animation:scaleUp .25s cubic-bezier(.16,1,.3,1) forwards}@keyframes scaleUp{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.fifa-modal-close-btn{margin-top:.5rem;width:100%}.fifa-watermark{position:absolute;bottom:-1rem;right:-1rem;font-size:11rem;opacity:.16;z-index:1;pointer-events:none;filter:grayscale(1) contrast(1.2)}.fifa-card-container.special .fifa-watermark{opacity:.14}@keyframes shine{0%{transform:translate(-100%) rotate(45deg)}to{transform:translate(100%) rotate(45deg)}}.fifa-card-inner:after{content:"";position:absolute;top:0;left:0;width:200%;height:100%;background:linear-gradient(to right,#fff0,#ffffff26,#fff0);transform:translate(-100%) rotate(45deg);transition:all .6s ease;pointer-events:none;z-index:6}.fifa-card-container:hover .fifa-card-inner:after{animation:shine 1.2s ease-in-out}.player-detail-split{display:grid;gap:1.5rem;grid-template-columns:1fr;width:100%}.fifa-card-sticky-wrap{display:flex;justify-content:center;align-items:start}.player-detail-controls{display:grid;gap:1.25rem;width:100%}@media (min-width: 990px){.player-detail-split{grid-template-columns:250px 1fr;gap:2rem;align-items:start}.fifa-card-sticky-wrap{position:sticky;top:1rem;z-index:10}}.skill-badge-pill{display:inline-flex;align-items:center;gap:.35rem;background:var(--surface-3);border:1px solid var(--border-light);border-radius:20px;padding:.35rem .75rem;font-size:.82rem;font-weight:600;color:var(--text-primary);transition:all .2s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.skill-badge-pill:hover{background:#ef44441a;border-color:#ef4444;color:#ef4444;transform:translateY(-1px)}.fifa-card-container.goalkeeper{background:linear-gradient(135deg,#10b981,#059669,#064e3b);color:#fff;box-shadow:0 8px 24px #10b98159}.fifa-card-container.goalkeeper:hover{box-shadow:0 16px 36px #10b9818c}.fifa-card-container.goalkeeper .fifa-card-inner{background:radial-gradient(circle at center,#10b98126,#064e3b66),linear-gradient(180deg,#0f172a,#020617);color:#f8fafc}.fifa-card-container.goalkeeper .fifa-divider{background:#10b9814d}.fifa-card-container.goalkeeper .fifa-overall{color:#10b981}.fifa-card-container.goalkeeper .fifa-pos{color:#34d399}.fifa-card-container.goalkeeper .fifa-watermark{opacity:.18;filter:grayscale(.5) brightness(1.2)}.podium-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-top:1rem}.performance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem}.performance-grid>div{display:grid;gap:.45rem;min-width:0}.performance-grid h3{margin:0 0 .25rem;color:var(--text-secondary);font-family:Oswald,sans-serif;font-size:.98rem;letter-spacing:.04em;text-transform:uppercase}.performance-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:44px;gap:.75rem;padding:.55rem .65rem;background:var(--surface-2);border:1px solid var(--border);color:var(--text-primary);font-family:Inter,sans-serif;font-size:.88rem;letter-spacing:0;text-align:left;text-transform:none}.performance-row:hover:not(:disabled){background:var(--surface-3);transform:none}.performance-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.performance-row strong{display:inline-grid;min-width:34px;min-height:28px;place-items:center;border-radius:4px;background:rgba(var(--accent-rgb),.1);color:var(--accent);font-family:Oswald,sans-serif}.podium-card{background:var(--surface-3);border:1px solid var(--border-light);border-radius:16px;padding:1.5rem;display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease;position:relative;overflow:hidden}.podium-card:hover{transform:translateY(-6px);box-shadow:0 12px 30px #0006}.podium-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px}.podium-card.gold:before{background:linear-gradient(90deg,#ffe066,#d4af37)}.podium-card.silver:before{background:linear-gradient(90deg,#fff,#94a3b8)}.podium-card.special:before{background:linear-gradient(90deg,#f472b6,#c084fc)}.podium-badge{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.25rem .6rem;border-radius:12px;background:#ffffff14}.podium-card.gold .podium-badge{color:#ffe066;background:#fee0661a}.podium-card.silver .podium-badge{color:#cbd5e1;background:#cbd5e11a}.podium-card.special .podium-badge{color:#c084fc;background:#c084fc1a}.podium-card h3{font-size:1.1rem;margin:.25rem 0 0}.podium-stat{font-size:1.25rem;font-weight:800;color:var(--text-primary)}.leaderboard-table{width:100%;border-collapse:collapse;margin-top:.5rem}.leaderboard-table th,.leaderboard-table td{padding:.85rem 1rem;text-align:left;border-bottom:1px solid var(--border-light)}.leaderboard-table th{font-weight:700;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;color:var(--text-muted)}.leaderboard-table th.active-sort{color:var(--primary);border-bottom:2px solid var(--primary)}.leaderboard-row{cursor:pointer;transition:background-color .2s ease}.leaderboard-row:hover{background-color:var(--surface-3)}.pos-badge{font-size:.7rem;font-weight:700;padding:.2rem .5rem;border-radius:6px;background:var(--surface-3);color:var(--text-muted);border:1px solid var(--border-light)}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.tab-row{display:flex;gap:1.5rem;border-bottom:2px solid var(--border-light);margin-bottom:1.5rem}.tab-button{background:none;border:none;color:var(--text-muted);font-size:1.05rem;font-weight:600;padding:.75rem .25rem;cursor:pointer;position:relative;transition:color .2s ease;min-height:auto;border-radius:0}.tab-button:hover{color:var(--text-primary);background:none}.tab-button.active{color:var(--primary)}.tab-button.active:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:2px;background-color:var(--primary)}.ad-container{width:100%;min-height:50px;background:var(--surface-1);border:1px dashed var(--border);border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;margin-top:1rem}.ad-container .ad-placeholder-text{position:absolute;color:var(--text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:1px;z-index:0}.ad-container ins{z-index:1}.ad-sticky-bottom{position:sticky;bottom:0;margin-top:0;border-radius:0;border-left:none;border-right:none;border-bottom:none;background:var(--surface-0);box-shadow:0 -4px 12px #0000004d;z-index:100}@media (min-width: 768px){.ad-sticky-bottom{border-radius:8px;border:1px dashed var(--border);margin:1rem auto;max-width:728px}}[data-theme=light]{--accent: #16a34a;--accent-dim: #15803d;--accent-rgb: 22, 163, 74;--surface-0: #f8faf8;--surface-1: #ffffff;--surface-2: #f0f5f1;--surface-3: #e2ede4;--surface-glass: rgba(248, 250, 248, .94);--surface-danger-hover: #fee2e2;--share-bg: #e9f8ee;--share-bg-hover: #d7f2df;--border: #c8d8cb;--border-light: #dbe8de;--text-primary: #1a2e1e;--text-secondary: #4a6b50;--text-muted: #7a9a80;--red: #dc2626;--red-bg: #fef2f2;--red-border: #fca5a5;--yellow: #ca8a04;--yellow-bg: #fefce8;color-scheme:light}[data-theme=night]{--accent: #60a5fa;--accent-dim: #3b82f6;--accent-rgb: 96, 165, 250;--surface-0: #0f172a;--surface-1: #1e293b;--surface-2: #273548;--surface-3: #334155;--surface-glass: rgba(15, 23, 42, .96);--surface-danger-hover: #3b1118;--share-bg: #172b45;--share-bg-hover: #203a5d;--border: #3b4c63;--border-light: #475975;--text-primary: #e2e8f0;--text-secondary: #94a3b8;--text-muted: #64748b;--red: #f87171;--red-bg: #1c1017;--red-border: #7f1d1d;--yellow: #fbbf24;--yellow-bg: #1c1a0e;color-scheme:dark}[data-theme=field]{--accent: #39e55a;--accent-dim: #2ab844;--accent-rgb: 57, 229, 90;--surface-0: #0d1b10;--surface-1: #111f15;--surface-2: #172a1c;--surface-3: #1e3625;--surface-glass: rgba(13, 27, 16, .96);--surface-danger-hover: #3a1010;--share-bg: #0d2e14;--share-bg-hover: #133d1d;--border: #243d2a;--border-light: #2e5237;--text-primary: #e8f5ea;--text-secondary: #8eb896;--text-muted: #5a7d60;--red: #ff5a5a;--red-bg: #2a0e0e;--red-border: #5a1f1f;--yellow: #f5c842;--yellow-bg: #2a2000;color-scheme:dark}
