:root{--color-background:#f9fafb;--color-foreground:#1f242e;--color-card:#fff;--color-primary:#dd473c;--color-primary-hover:#c32d22;--color-muted:#737b8c;--color-border:#e2e4e9;--shadow-card:0 1px 3px 0 rgba(31,36,46,.04),0 1px 2px -1px rgba(31,36,46,.04);--shadow-card-hover:0 10px 15px -3px rgba(31,36,46,.08),0 4px 6px -4px rgba(31,36,46,.04);--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--radius:.75rem;--radius-sm:.5rem;--transition-fast:.15s ease;--transition-normal:.2s ease;--transition-slow:.25s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-background);color:var(--color-foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}.page{background-color:var(--color-background);min-height:100vh}.container{width:100%;max-width:1280px;padding-left:var(--spacing-md);padding-right:var(--spacing-md);margin:0 auto}@media (min-width:768px){.container{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}}.header{border-bottom:1px solid var(--color-border);background-color:var(--color-card);border-radius:var(--radius)}.nav{justify-content:space-between;align-items:center;height:4rem;display:flex}.logo-container{align-items:center;gap:var(--spacing-sm);display:flex}.logo{width:3.24rem;height:3.24rem}.logo-text{color:var(--color-foreground);font-weight:600;display:none}@media (min-width:640px){.logo-text{display:inline}}.page-title{color:var(--color-foreground);letter-spacing:-.025em;font-size:1.25rem;font-weight:700}.page-title-main{margin-bottom:var(--spacing-lg);letter-spacing:-.025em;font-size:1.75rem;font-weight:700}.filters{padding:var(--spacing-md)var(--spacing-lg);margin-bottom:var(--spacing-xl);gap:var(--spacing-md);flex-direction:column;display:flex}.filter-row{align-items:flex-start;gap:var(--spacing-md);display:flex}.filter-label{color:var(--color-muted);min-width:52px;padding-top:.375rem;font-size:.8125rem;font-weight:600}.favorites{padding:var(--spacing-md)var(--spacing-lg);margin-bottom:var(--spacing-xl)}.filter-chips{flex-wrap:wrap;flex:1;gap:.375rem;display:flex}.filter-chip{border:1px solid var(--color-border);background:var(--color-card);color:var(--color-muted);cursor:pointer;transition:all var(--transition-fast);border-radius:999px;padding:.25rem .625rem;font-family:inherit;font-size:.8125rem}.filter-chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.filter-chip.selected{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.filter-clear{align-self:flex-end}.filter-help{color:var(--color-muted);margin-bottom:var(--spacing-md);font-size:.85rem}.filter-toggle{margin-bottom:var(--spacing-md)}.page-tabs{gap:var(--spacing-xs);margin-bottom:var(--spacing-xl);border-bottom:1px solid var(--color-border);display:flex}.page-tab{color:var(--color-muted);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast);background:0 0;border:none;border-bottom:2px solid transparent;padding:.625rem 1.25rem;font-family:inherit;font-size:.875rem;font-weight:500}.page-tab:hover{color:var(--color-foreground)}.page-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.teams-tab .toggle-row{align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);display:flex}.group-card-title{margin-bottom:var(--spacing-sm);color:var(--color-primary);font-size:1rem;font-weight:600}.team-table-group{table-layout:fixed}.team-table-group th:first-child,.team-table-group td:first-child{width:auto}.team-table-group th:nth-child(2),.team-table-group td:nth-child(2){width:16%}@media (min-width:768px){.page-title{font-size:1.5rem}}.nav-link{color:var(--color-primary);transition:opacity var(--transition-fast);font-size:.875rem;font-weight:500}.nav-link:hover{opacity:.8}.main{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}@media (min-width:768px){.main{padding-top:var(--spacing-2xl);padding-bottom:var(--spacing-2xl)}}.card{background-color:var(--color-card);border-radius:var(--radius);box-shadow:var(--shadow-card);border:1px solid var(--color-border)}.counter-card{padding:var(--spacing-lg);margin-bottom:2.5rem}@media (min-width:768px){.counter-card{padding:var(--spacing-xl);margin-bottom:var(--spacing-2xl)}}.counter-content{justify-content:center;align-items:center;gap:var(--spacing-md);flex-direction:column;display:flex}@media (min-width:640px){.counter-content{flex-direction:row}}.counter-text{color:var(--color-muted);text-align:center}@media (min-width:640px){.counter-text{text-align:left}}.counter-value{color:var(--color-foreground);font-weight:600}.button{color:#fff;background-color:var(--color-primary);border-radius:var(--radius-sm);cursor:pointer;min-width:120px;transition:background-color var(--transition-normal),transform var(--transition-fast);border:none;justify-content:center;align-items:center;padding:.625rem 1.5rem;font-family:inherit;font-size:.875rem;font-weight:500;display:inline-flex}.button:hover{background-color:var(--color-primary-hover)}.button:active{transform:scale(.98)}.button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.section-title{color:var(--color-foreground);margin-bottom:var(--spacing-lg);letter-spacing:-.025em;font-size:1.5rem;font-weight:700}.resources-grid{gap:var(--spacing-md);grid-template-columns:1fr;list-style-type:none;display:grid}@media (min-width:640px){.resources-grid{grid-template-columns:repeat(2,1fr)}}.resource-link{display:block}.resource-card{transition:box-shadow var(--transition-slow),transform var(--transition-slow);padding:1.25rem}.resource-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.resource-content{justify-content:space-between;align-items:center;display:flex}.resource-title{color:var(--color-foreground);transition:color var(--transition-fast);font-weight:500}.resource-link:hover .resource-title{color:var(--color-primary)}.resource-icon{width:1rem;height:1rem;color:var(--color-muted);opacity:0;transition:opacity var(--transition-fast),color var(--transition-fast)}.resource-link:hover .resource-icon{opacity:1;color:var(--color-primary)}.login-page{padding-top:var(--spacing-2xl);justify-content:center;display:flex}.login-card{width:100%;max-width:400px;padding:var(--spacing-xl)}.login-title{margin-bottom:var(--spacing-lg);text-align:center;font-size:1.5rem;font-weight:700}.login-form{gap:var(--spacing-md);flex-direction:column;display:flex}.form-field{gap:var(--spacing-xs);flex-direction:column;display:flex}.form-field label{color:var(--color-muted);font-size:.875rem;font-weight:500}.form-field input{border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color var(--transition-fast);outline:none;padding:.625rem .75rem;font-family:inherit;font-size:.875rem}.form-field input:focus{border-color:var(--color-primary)}.login-error{color:var(--color-primary);text-align:center;font-size:.875rem}.admin-page{padding-top:var(--spacing-lg)}.admin-header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.admin-header h1{font-size:1.5rem;font-weight:700}.admin-content{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-xl)}.admin-content p{color:var(--color-muted)}.button-outline{color:var(--color-foreground);border:1px solid var(--color-border);background:0 0}.button-outline:hover{background:var(--color-background)}.nav-links{align-items:center;gap:var(--spacing-md);display:flex}.loading{text-align:center;padding:var(--spacing-2xl);color:var(--color-muted)}.admin-tabs{gap:var(--spacing-xs);margin-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border);display:flex}.admin-tab{color:var(--color-muted);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast);background:0 0;border:none;border-bottom:2px solid transparent;padding:.625rem 1.25rem;font-family:inherit;font-size:.875rem;font-weight:500}.admin-tab:hover{color:var(--color-foreground)}.admin-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.admin-tab-content h2{margin-bottom:var(--spacing-md);font-size:1.125rem;font-weight:600}.empty-state{color:var(--color-muted);text-align:center;padding:var(--spacing-xl)}.data-table{table-layout:fixed;border-collapse:collapse;width:100%;font-size:.875rem}.data-table th,.data-table td{padding:.5rem .75rem}.data-table th{text-align:left;color:var(--color-muted);border-bottom:2px solid var(--color-border);white-space:nowrap;font-weight:600}.data-table td{border-bottom:1px solid var(--color-border)}.data-table tbody tr.row-favorite{background-color:#f4f4f6}.data-table tbody tr:hover{background-color:var(--color-background)}.match-table th:first-child,.match-table td:first-child{width:5%}.match-table th:nth-child(2),.match-table td:nth-child(2){width:8%}.match-table th:nth-child(3),.match-table td:nth-child(3){width:14%}.match-table th:nth-child(4),.match-table td:nth-child(4){text-align:center;width:8%}.match-table th:nth-child(5),.match-table td:nth-child(5),.match-table th:nth-child(6),.match-table td:nth-child(6){width:14%}.match-table th:nth-child(7),.match-table td:nth-child(7){width:20%}.match-table th:nth-child(8),.match-table td:nth-child(8){width:12%}.match-list-table th:first-child,.match-list-table td:first-child{width:5%}.match-list-table th:nth-child(2),.match-list-table td:nth-child(2){width:8%}.match-list-table th:nth-child(3),.match-list-table td:nth-child(3){width:15%}.match-list-table th:nth-child(4),.match-list-table td:nth-child(4){text-align:center;width:8%}.match-list-table th:nth-child(5),.match-list-table td:nth-child(5){width:15%}.match-list-table th:nth-child(6),.match-list-table td:nth-child(6){width:14%}.match-list-table th:nth-child(7),.match-list-table td:nth-child(7){width:20%}.match-list-table th:nth-child(8),.match-list-table td:nth-child(8){width:15%}.team-table{table-layout:fixed}.team-table th:first-child,.team-table td:first-child{width:auto}.team-table th:nth-child(2),.team-table td:nth-child(2){width:16%}.team-table th:nth-child(3),.team-table td:nth-child(3){width:10%}.team-table th:nth-child(4),.team-table td:nth-child(4),.team-table th:nth-child(5),.team-table td:nth-child(5),.team-table th:nth-child(6),.team-table td:nth-child(6),.team-table th:nth-child(7),.team-table td:nth-child(7),.team-table th:nth-child(8),.team-table td:nth-child(8),.team-table th:nth-child(9),.team-table td:nth-child(9),.team-table th:nth-child(10),.team-table td:nth-child(10),.team-table th:nth-child(11),.team-table td:nth-child(11){text-align:center;width:5%}.team-table-group th:nth-child(3),.team-table-group td:nth-child(3),.team-table-group th:nth-child(4),.team-table-group td:nth-child(4),.team-table-group th:nth-child(5),.team-table-group td:nth-child(5),.team-table-group th:nth-child(6),.team-table-group td:nth-child(6),.team-table-group th:nth-child(7),.team-table-group td:nth-child(7),.team-table-group th:nth-child(8),.team-table-group td:nth-child(8),.team-table-group th:nth-child(9),.team-table-group td:nth-child(9),.team-table-group th:nth-child(10),.team-table-group td:nth-child(10){text-align:center;width:32px}.team-table th:last-child,.team-table td:last-child{text-align:right}.teams-grid{gap:var(--spacing-md);grid-template-columns:1fr;display:grid}.group-card{padding:var(--spacing-md)}.group-card h3{margin-bottom:var(--spacing-sm);color:var(--color-primary);font-size:1rem;font-weight:600}.stage-shortcuts{gap:var(--spacing-xs);margin:var(--spacing-lg)0;flex-wrap:wrap;display:flex}.stage-shortcut{border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;color:var(--color-muted);background:0 0;padding:.35rem .75rem;font-size:.8125rem;transition:background .15s,color .15s}.stage-shortcut:hover{background:var(--color-border);color:var(--color-primary)}.date-group{margin-bottom:var(--spacing-lg)}.date-heading{margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border);color:var(--color-foreground);font-size:1rem;font-weight:600}.stage-group{margin-bottom:var(--spacing-xl)}.stage-heading{margin-bottom:var(--spacing-md);color:var(--color-primary);align-items:center;gap:var(--spacing-sm);font-size:1.25rem;font-weight:700;display:flex}.ical-link{color:var(--color-primary);text-underline-offset:2px;opacity:.7;font-size:.8rem;font-weight:400;text-decoration:underline}.ical-link:hover{opacity:1}.button-small{min-width:auto;padding:.25rem .75rem;font-size:.75rem}.match-table th:last-child,.match-table td:last-child{text-align:right;width:3%}.button-edit{cursor:pointer;color:var(--color-muted);border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast);background:0 0;border:none;padding:.125rem .25rem;font-size:1.25rem;line-height:1}.button-edit:hover{color:var(--color-primary);background:var(--color-background)}.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sortable:hover{color:var(--color-foreground)}.sort-icon{margin-left:.25rem;font-size:.625rem}.sort-icon-inactive{opacity:.25}.modal-overlay{z-index:100;background:rgba(31,36,46,.5);justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal{background:var(--color-card);border-radius:var(--radius);padding:var(--spacing-xl);width:100%;max-width:560px;box-shadow:0 20px 25px -5px rgba(31,36,46,.1),0 8px 10px -6px rgba(31,36,46,.1)}.modal h3{margin-bottom:var(--spacing-lg);font-size:1.125rem;font-weight:600}.modal-form{gap:var(--spacing-md);flex-direction:column;display:flex}.form-row{gap:var(--spacing-md);align-items:flex-end;display:flex}.flex-1{flex:1;min-width:0}.flex-1 input{width:100%}.score-narrow{flex:0 0 100px}.score-narrow input{text-align:center;width:100%}.score-inputs span{color:var(--color-muted)}.modal-actions{justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-lg);display:flex}.form-field select{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-card);width:100%;transition:border-color var(--transition-fast);outline:none;padding:.625rem .75rem;font-family:inherit;font-size:.875rem}.form-field select:focus{border-color:var(--color-primary)}.form-field input:disabled{background:var(--color-background);color:var(--color-muted)}