:root{--color-bg:#f4f6f9;--color-surface:#ffffff;--color-surface-muted:#eef1f6;--color-border:#e2e6ee;--color-text:#171b26;--color-text-muted:#5b6474;--color-text-faint:#8990a0;--color-primary:#1f6feb;--color-primary-dark:#164ea8;--color-primary-soft:#e8f0fe;--color-accent:#ff8a3d;--color-accent-soft:#fff1e6;--color-success:#1a8f5e;--color-success-soft:#e6f7ef;--color-danger:#d33d3d;--color-danger-soft:#fdeaea;--color-info:#6b5bd6;--color-info-soft:#efecfb;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-pill:999px;--shadow-sm:0 1px 2px rgba(23,27,38,0.06);--shadow-md:0 8px 24px rgba(23,27,38,0.08);--shadow-lg:0 16px 40px rgba(23,27,38,0.12);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--header-height:60px;--content-max:1180px;color-scheme:light}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background:var(--color-bg);color:var(--color-text);font-family:SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0;line-height:1.2;font-weight:700;letter-spacing:-.01em}h1{font-size:26px}h2{font-size:18px}h3{font-size:15px}p{margin:0}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;height:var(--header-height);justify-content:space-between;padding:0 var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.brand,.topbar{display:flex;align-items:center}.brand{gap:var(--space-2);font-weight:800;font-size:16px;color:var(--color-text)}.brand svg{color:var(--color-primary)}.brand-logo{height:24px;width:24px}.brand-logo,.club-logo-preview{object-fit:contain;border-radius:var(--radius-sm)}.club-logo-preview{height:40px;width:40px;border:1px solid var(--color-border);background:var(--color-surface)}.nav-actions{display:flex;align-items:center;gap:var(--space-1)}.icon-link{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-sm);color:var(--color-text-muted);background:none;border:none;font:inherit;cursor:pointer}.icon-link:disabled{opacity:.5;cursor:not-allowed}.icon-link:hover{background:var(--color-surface-muted);color:var(--color-text);text-decoration:none}.page{flex:1 1;width:100%;max-width:var(--content-max);margin:0 auto;padding:var(--space-4) var(--space-4) var(--space-7);display:flex;flex-direction:column;gap:var(--space-5)}.grid{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.grid.three,.grid.two{grid-template-columns:1fr}@media (min-width:720px){.grid.two{grid-template-columns:1fr 1fr}.grid.three{grid-template-columns:repeat(3,1fr)}}.hero{display:flex;flex-direction:column;gap:var(--space-5)}@media (min-width:900px){.hero{flex-direction:row;align-items:flex-start;justify-content:space-between}.hero>div:first-child{flex:1 1}}.eyebrow{margin:0 0 var(--space-1);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary)}.hero h1{margin-bottom:var(--space-2)}.hero-copy{color:var(--color-text-muted);max-width:56ch;margin-bottom:var(--space-4)}.player-mobile-header{display:flex;flex-direction:column;gap:var(--space-2)}.subtle{color:var(--color-text-muted);font-size:13px}.text-link{font-weight:600}.toolbar{display:flex;flex-wrap:wrap;gap:var(--space-3)}.button{display:inline-flex;align-items:center;gap:var(--space-2);padding:10px 18px;border-radius:var(--radius-pill);border:none;background:var(--color-primary);color:#fff;font-weight:600;font-size:14px;cursor:pointer;transition:transform .08s ease,background .15s ease,opacity .15s ease}.button:hover{background:var(--color-primary-dark);text-decoration:none}.button:active{transform:scale(.98)}.button:disabled{opacity:.5;cursor:not-allowed;transform:none}.button.secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.button.secondary:hover{background:var(--color-surface-muted)}.button.danger{background:var(--color-danger)}.button.small{padding:6px 14px;font-size:13px}.confirm-delete{gap:var(--space-2)}.confirm-delete,.icon-button{display:inline-flex;align-items:center}.icon-button{justify-content:center;width:28px;height:28px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer}.icon-button:hover{background:var(--color-surface-muted)}.icon-button:disabled{opacity:.5;cursor:not-allowed}.link-button{background:none;border:none;color:var(--color-primary);font-weight:600;cursor:pointer;padding:0}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-3)}.card.metric{align-items:flex-start;gap:var(--space-1)}.card.metric strong{font-size:32px;line-height:1}.section-title{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.section-title svg{color:var(--color-text-faint)}.pill{display:inline-flex;align-items:center;gap:var(--space-1);padding:4px 10px;border-radius:var(--radius-pill);background:var(--color-surface-muted);color:var(--color-text-muted);font-size:12px;font-weight:600;white-space:nowrap}.pill.blue{background:var(--color-primary-soft);color:var(--color-primary-dark)}.pill.orange{background:var(--color-accent-soft);color:#b45309}.pill.green{background:var(--color-success-soft);color:var(--color-success)}.pill.red{background:var(--color-danger-soft);color:var(--color-danger)}.pill.purple{background:var(--color-info-soft);color:var(--color-info)}.status-banner{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-muted);color:var(--color-text-muted);font-size:13px}.status-banner[data-tone=error]{background:var(--color-danger-soft);color:var(--color-danger)}.status-banner[data-tone=success]{background:var(--color-success-soft);color:var(--color-success)}.form-grid{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.field{display:flex;flex-direction:column;gap:var(--space-1);font-size:13px;font-weight:600;color:var(--color-text-muted)}.field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-3);gap:var(--space-3)}.field input,.field select,.field textarea{font:inherit;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-weight:400}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--color-primary);outline-offset:1px}.field input:disabled,.field select:disabled{background:var(--color-surface-muted);color:var(--color-text-faint)}.checkbox-row{gap:var(--space-2);font-size:13px;font-weight:600;color:var(--color-text)}.checkbox-row,.toggle-row{display:flex;align-items:center}.toggle-row{justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;border-top:1px solid var(--color-border)}.switch{position:relative;width:42px;height:24px;flex-shrink:0}.switch input{opacity:0;width:100%;height:100%;position:absolute;cursor:pointer;margin:0}.switch-track{position:absolute;inset:0;background:var(--color-border);border-radius:var(--radius-pill);transition:background .15s ease;pointer-events:none}.switch-track:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .15s ease;box-shadow:var(--shadow-sm)}.switch input:checked+.switch-track{background:var(--color-primary)}.switch input:checked+.switch-track:after{transform:translateX(18px)}.segmented{display:inline-flex;padding:3px;background:var(--color-surface-muted);border-radius:var(--radius-pill);gap:2px}.segmented-option{border:none;background:transparent;padding:7px 16px;border-radius:var(--radius-pill);font-size:13px;font-weight:600;color:var(--color-text-muted);cursor:pointer}.segmented-option[aria-pressed=true]{background:var(--color-surface);color:var(--color-primary-dark);box-shadow:var(--shadow-sm)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2);padding:var(--space-6) var(--space-3)}.empty-state,.empty-state svg{color:var(--color-text-faint)}.empty-state h3{color:var(--color-text)}.match-list{gap:var(--space-3)}.match-card,.match-list{display:flex;flex-direction:column}.match-card{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);gap:var(--space-2);background:var(--color-surface)}.match-meta{flex-wrap:wrap}.match-meta,.versus{display:flex;gap:var(--space-2)}.versus{align-items:center;font-weight:700;font-size:15px}.score-line{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.mobile-match-card{display:flex;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);background:var(--color-surface);flex-wrap:wrap}.match-rail{width:36px;height:36px;border-radius:50%;background:var(--color-primary-soft);color:var(--color-primary-dark);display:flex;align-items:center;justify-content:center;flex-shrink:0}.mobile-match-body{flex:1 1;min-width:220px;display:flex;flex-direction:column;gap:var(--space-3)}.mobile-match-main{display:flex;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap}.play-by{display:flex;flex-direction:column;line-height:1.2}.play-by span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-faint);font-weight:700}.play-by strong{font-size:18px}.play-by small{color:var(--color-text-faint)}.mobile-match-opponent{flex:1 1;min-width:180px;display:flex;flex-direction:column;gap:var(--space-2)}.mobile-match-opponent>span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-faint);font-weight:700}.mobile-match-opponent strong{font-size:16px}.contact-links{display:flex;flex-direction:column;gap:var(--space-1)}.contact-row{display:flex;gap:var(--space-2);font-size:13px}.contact-button,.contact-row{align-items:center;color:var(--color-text-muted)}.contact-button{display:inline-flex;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--color-surface-muted)}.contact-button:hover{text-decoration:none}.add-result-button,.contact-button:hover{background:var(--color-primary-soft);color:var(--color-primary-dark)}.add-result-button{align-self:flex-start;display:inline-flex;align-items:center;gap:var(--space-2);padding:8px 14px;border-radius:var(--radius-pill);border:1px solid var(--color-primary);font-weight:600;font-size:13px;cursor:pointer}.add-result-button:disabled{opacity:.45;cursor:not-allowed;border-color:var(--color-border);background:var(--color-surface-muted);color:var(--color-text-faint)}.score-entry-panel{border-top:1px solid var(--color-border);padding-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.score-entry-topbar{display:flex;align-items:center;justify-content:space-between}.score-back{border:none;background:none;color:var(--color-primary);font-weight:600;cursor:pointer;padding:0}.score-entry-card{background:var(--color-surface-muted);border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.choice-row{display:flex;align-items:center;gap:var(--space-2)}.choice-dot{width:26px;height:26px;border-radius:50%;border:2px solid var(--color-border);background:var(--color-surface);display:inline-flex;align-items:center;justify-content:center;color:var(--color-primary);cursor:pointer}.choice-dot.selected{border-color:var(--color-primary);background:var(--color-primary-soft)}.score-grid{display:grid;grid-template-columns:auto repeat(3,56px);grid-gap:var(--space-2);gap:var(--space-2);align-items:center}.score-grid strong{text-align:center;font-size:12px;color:var(--color-text-faint)}.score-player-label{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score-grid input{width:56px;padding:8px 6px;text-align:center;border-radius:var(--radius-sm);border:1px solid var(--color-border);font-weight:700}.score-date-card{display:flex;flex-direction:column;gap:var(--space-1);font-size:13px;font-weight:600;color:var(--color-text-muted)}.score-date-card input{padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--color-border);font-weight:400}.score-save-button{padding:12px;border-radius:var(--radius-pill);border:none;background:var(--color-primary);color:#fff;font-weight:700;cursor:pointer}.score-save-button:disabled{opacity:.5;cursor:not-allowed}.leaderboard{display:flex;flex-direction:column;gap:var(--space-1)}.table-row{display:grid;grid-template-columns:28px 1fr auto auto;grid-gap:var(--space-3);gap:var(--space-3);align-items:center;padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);font-size:14px}.table-row.header{color:var(--color-text-faint);font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:700;border-bottom:2px solid var(--color-border)}.table-row:last-child{border-bottom:none}.points-board-list{display:flex;flex-direction:column;gap:var(--space-5)}.points-board h3{margin-bottom:var(--space-2)}.points-table-scroll{overflow-x:auto}.points-table{width:100%;border-collapse:collapse;font-size:13px}.points-table td,.points-table th{padding:var(--space-2) var(--space-2);text-align:center;border-bottom:1px solid var(--color-border);white-space:nowrap}.points-table td:first-child,.points-table th:first-child{text-align:left}.points-table thead th{color:var(--color-text-faint);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.admin-layout{display:flex;flex-direction:column;gap:var(--space-5)}@media (min-width:900px){.admin-layout{flex-direction:row;align-items:flex-start}}.admin-sidebar{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}@media (min-width:900px){.admin-sidebar{flex-direction:column;flex-wrap:nowrap;width:220px;flex-shrink:0;position:-webkit-sticky;position:sticky;top:calc(var(--header-height) + var(--space-4))}}.admin-nav-item{display:flex;align-items:center;gap:var(--space-2);padding:10px 14px;border-radius:var(--radius-sm);color:var(--color-text-muted);font-weight:600;font-size:14px;border:none;background:none;cursor:pointer;text-align:left;flex:1 1 auto}@media (min-width:900px){.admin-nav-item{flex:none}}.admin-nav-item:hover{background:var(--color-surface-muted);color:var(--color-text)}.admin-nav-item[aria-current=true]{background:var(--color-primary-soft);color:var(--color-primary-dark)}.admin-content{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:var(--space-5)}.admin-header h1{margin-bottom:var(--space-1)}.admin-scoring-note{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);background:var(--color-surface-muted);border-radius:var(--radius-sm);font-size:13px;color:var(--color-text-muted)}.data-table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table td,.data-table th{padding:var(--space-3);text-align:left;border-bottom:1px solid var(--color-border);vertical-align:top}.data-table thead th{color:var(--color-text-faint);font-size:11px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.entity-picker{display:flex;flex-direction:column;gap:var(--space-3)}.entity-picker-controls{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.entity-picker-controls .field{flex:1 1;min-width:160px}.entity-picker-list{max-height:260px;overflow-y:auto;border:1px solid var(--color-border);flex-direction:column;gap:2px}.entity-picker-list,.entity-picker-row{border-radius:var(--radius-sm);padding:var(--space-2);display:flex}.entity-picker-row{align-items:center;gap:var(--space-2);font-size:13px;cursor:pointer}.entity-picker-row:hover{background:var(--color-surface-muted)}.entity-picker-selected{display:flex;flex-wrap:wrap;gap:var(--space-1)}.auth-card{max-width:420px}.stack{flex-direction:column}.spread,.stack{display:flex;gap:var(--space-3)}.spread{align-items:center;justify-content:space-between}.divider{height:1px;background:var(--color-border);border:none;margin:var(--space-2) 0}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}