:root{--g50: #F1F7F2;--g100: #E4EFE7;--g200: #CFE2D4;--g300: #A8CDB4;--g400: #6BA97E;--g600: #2A8443;--g700: #1E6B33;--g800: #175628;--g900: #0F3D1D;--paper: #F6F8F6;--ink: #161A17;--mute: #4E5A52;--soft: #8A968E;--line: #DCE5DE;--line-soft: #EAF0EB;--card: #FFFFFF;--danger-red: #B3261E;--danger-bg: #FCEEEE;--warn: #B45309;--warn-text: #8A5D00;--warn-bg: #FDF3DA;--warn-line: #F5E2B0;--blue: #1565C0;--blue-light: #5E92F3;--blue-dark: #003C8F;--info-blue: #2196F3;--accent-yellow: #FFEB3B;--accent-yellow-dark: #C8B900;--color-primary: var(--g700);--color-primary-light: var(--g600);--color-primary-dark: var(--g800);--color-primary-bg: var(--g50);--color-primary-subtle: var(--g50);--color-primary-contrast: #FFFFFF;--color-text-on-primary: #FFFFFF;--on-primary: #FFFFFF;--color-primary-alpha: color-mix(in srgb, var(--g700) 20%, transparent);--color-brand: var(--g700);--color-brand-primary: var(--g700);--color-accent: var(--accent-yellow);--color-accent-dark: var(--accent-yellow-dark);--color-secondary: var(--blue);--color-secondary-light: var(--blue-light);--color-secondary-dark: var(--blue-dark);--color-background: var(--paper);--color-bg: var(--paper);--color-surface: var(--card);--color-surface-raised: var(--card);--color-surface-alt: var(--paper);--color-surface-2: var(--paper);--color-surface-muted: var(--line-soft);--color-surface-subtle: var(--line-soft);--color-surface-hover: var(--line-soft);--color-bg-hover: var(--line-soft);--color-hover-subtle: var(--line-soft);--color-bg-skeleton: var(--line-soft);--color-muted-bg: var(--line-soft);--surface-secondary: var(--paper);--color-border: var(--line);--border-light: var(--line-soft);--ms-color-border: var(--line);--color-text-primary: var(--ink);--color-text: var(--ink);--color-text-secondary: var(--mute);--color-text-muted: var(--mute);--color-text-tertiary: var(--soft);--color-success: var(--g600);--color-success-bg: var(--g50);--color-success-text: var(--g800);--color-success-border: var(--g200);--color-warning: var(--warn);--color-warning-bg: var(--warn-bg);--color-warning-text: var(--warn-text);--color-warning-dark: var(--warn-text);--color-warning-light: var(--warn-line);--color-warn: var(--warn);--color-warning-border: var(--warn-line);--color-error: var(--danger-red);--color-danger: var(--danger-red);--color-error-bg: var(--danger-bg);--color-error-text: var(--danger-red);--color-error-dark: color-mix(in srgb, var(--danger-red) 80%, #000);--color-error-border: color-mix(in srgb, var(--danger-red) 30%, #FFF);--color-info: var(--info-blue);--primary: var(--color-primary);--danger: var(--color-error);--warning: var(--color-warning);--info: var(--color-info);--surface: var(--color-surface);--surface-muted: var(--color-surface-muted);--border: var(--color-border);--text-primary: var(--color-text-primary);--text-secondary: var(--color-text-secondary);--ms-color-text: var(--ink);--ms-color-text-muted: var(--mute);--ms-color-accent-bg: var(--g50);--ms-color-accent-border: var(--g200);--ms-color-accent-text: var(--g800);--ms-color-warning-bg: var(--warn-bg);--ms-color-warning-border: var(--warn-line);--ms-color-info-bg: color-mix(in srgb, var(--info-blue) 10%, #FFF);--ms-color-info-border: color-mix(in srgb, var(--info-blue) 30%, #FFF);--font-family-base: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-base: var(--font-size-md);--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-xs: var(--font-size-xs);--font-sm: var(--font-size-sm);--font-base: var(--font-size-md);--font-xl: var(--font-size-xl);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-full: 9999px;--radius-pill: var(--radius-full);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .08);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1), 0 2px 4px rgba(0, 0, 0, .08);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1), 0 4px 6px rgba(0, 0, 0, .06);--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-toast: 500;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--max-content-width: 1200px;--nav-height: 56px;--bottom-nav-height: 64px;--sidebar-width: 220px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;max-width:100vw;overflow-x:hidden;overflow-x:clip}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-family-base);font-size:var(--font-size-md);color:var(--color-text-primary);background-color:var(--color-background);line-height:1.5;min-height:100vh;padding-top:var(--nav-height);padding-bottom:var(--bottom-nav-height)}@media(min-width:768px){body{padding-bottom:0}}@media(min-width:1024px){body:not(.landing-active){padding-top:0;padding-bottom:0;padding-left:var(--sidebar-width)}}h1,h2,h3,h4,h5,h6{line-height:1.2;font-weight:700;color:var(--color-text-primary)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}p{margin-bottom:var(--space-4);color:var(--color-text-secondary)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark);text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:.5rem 1.125rem;border-radius:var(--radius-md);font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:600;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer;border:2px solid transparent;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .1s ease;-webkit-user-select:none;user-select:none}.btn:hover{text-decoration:none}.btn:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn--sm{padding:.35rem .75rem;font-size:var(--font-size-xs)}.btn--lg{padding:.65rem 1.375rem;font-size:.9375rem}.btn--pill{border-radius:var(--radius-full)}.btn--primary{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-on-primary);box-shadow:0 1px 3px #0000002e}.btn--primary:hover:not(:disabled){background-color:var(--color-primary-dark);border-color:var(--color-primary-dark);color:var(--color-text-on-primary);box-shadow:0 3px 10px color-mix(in srgb,var(--color-primary) 35%,transparent);transform:translateY(-1px)}.btn--primary:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #0000001f}.btn--secondary{background-color:transparent;border-color:var(--color-primary);color:var(--color-primary)}.btn--secondary:hover:not(:disabled){background-color:color-mix(in srgb,var(--color-primary) 10%,transparent);border-color:var(--color-primary-dark);color:var(--color-primary-dark)}.btn--secondary:active:not(:disabled){background-color:color-mix(in srgb,var(--color-primary) 18%,transparent)}.btn--ghost{background-color:transparent;border-color:var(--color-border);color:var(--color-text-secondary)}.btn--ghost:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background-color:transparent}.btn--outline{background-color:transparent;border-color:var(--color-primary);color:var(--color-primary)}.btn--outline:hover:not(:disabled){background-color:color-mix(in srgb,var(--color-primary) 10%,transparent);border-color:var(--color-primary-dark);color:var(--color-primary-dark)}.btn--outline:active:not(:disabled){background-color:color-mix(in srgb,var(--color-primary) 18%,transparent)}.btn--danger-ghost{background-color:transparent;border-color:var(--color-error);color:var(--color-error)}.btn--danger-ghost:hover:not(:disabled){background-color:color-mix(in srgb,var(--color-error) 8%,transparent)}.btn--danger{background-color:var(--color-error);border-color:var(--color-error);color:#fff;box-shadow:0 1px 3px #0000002e}.btn--danger:hover:not(:disabled){background-color:color-mix(in srgb,var(--color-error) 85%,#000);border-color:color-mix(in srgb,var(--color-error) 85%,#000);box-shadow:0 3px 10px color-mix(in srgb,var(--color-error) 35%,transparent);transform:translateY(-1px)}.btn--success{background-color:var(--color-success);border-color:var(--color-success);color:#fff;box-shadow:0 1px 3px #0000002e}.btn--success:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 3px 10px color-mix(in srgb,var(--color-success) 35%,transparent);transform:translateY(-1px)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container{width:100%;max-width:var(--max-content-width);margin:0 auto;padding:0 var(--space-4)}.section-title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text-primary);margin:0 0 var(--space-3)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--color-background)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.admin-back-link{display:inline-flex;align-items:center;gap:var(--space-1);font-size:.85rem;font-weight:500;color:var(--color-text-secondary);text-decoration:none;margin-bottom:var(--space-3)}.admin-back-link:hover{color:var(--color-primary)}.admin-matches__header{margin-bottom:var(--space-5)}.admin-matches__title{font-size:1.75rem;font-weight:700;color:var(--color-text-primary);margin:0 0 var(--space-1)}.admin-matches__subtitle{font-size:.95rem;color:var(--color-text-secondary);margin:0}.admin-matches__search{position:relative;margin-bottom:var(--space-4)}.admin-matches__search-input{width:100%;padding:var(--space-3) var(--space-4);padding-right:var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.95rem;background:var(--color-surface);color:var(--color-text-primary);box-sizing:border-box}.admin-matches__search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-alpha)}.admin-matches__search-clear{position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--color-text-secondary);font-size:1rem;line-height:1;padding:var(--space-1)}.admin-matches__search-clear:hover{color:var(--color-text-primary)}.admin-status-tabs{display:flex;gap:var(--space-1);margin-bottom:var(--space-5);overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-status-tabs__btn{flex-shrink:0;padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.admin-status-tabs__btn:hover{background:var(--color-surface-alt);color:var(--color-text-primary)}.admin-status-tabs__btn--active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.admin-matches__loading{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-secondary);font-size:.95rem;padding:var(--space-6) 0}.admin-spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:adminSpin .7s linear infinite;flex-shrink:0}.admin-spinner--sm{width:14px;height:14px;border-width:2px;border-color:#fff6;border-top-color:#fff}@keyframes adminSpin{to{transform:rotate(360deg)}}.admin-matches__detail-saving{display:inline-flex;align-items:center;gap:var(--space-2)}.admin-matches__error{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--color-error-bg);border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);font-size:.9rem;flex-wrap:wrap}.admin-matches__empty{color:var(--color-text-secondary);font-size:.95rem;padding:var(--space-6) 0;text-align:center}.admin-matches__layout{display:flex;flex-direction:column;gap:var(--space-5)}@media(min-width:900px){.admin-matches__layout{flex-direction:row;align-items:flex-start;gap:var(--space-6)}}.admin-matches__list-col{flex:1;min-width:0}.admin-matches__cards{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.admin-match-card{display:flex;align-items:center;gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.admin-match-card:hover{border-color:var(--color-primary-light);box-shadow:0 2px 8px #0000000f}.admin-match-card--selected{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-alpha)}.admin-match-card__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.admin-match-card__players{font-weight:600;font-size:.95rem;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-match-card__meta{font-size:.8rem;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.admin-badge--admin{background:#ebf4ff;color:#2b6cb0}.admin-badge--user{background:var(--color-surface-alt);color:var(--color-text-secondary)}.admin-badge--active{background:#f0fff4;color:#276749}.admin-badge--inactive{background:#fff5f5;color:#c53030}.admin-badge--pending{background:#fffbeb;color:#92400e}.admin-badge--completed{background:#f0fff4;color:#276749}.admin-badge--cancelled{background:#fff5f5;color:#c53030}.admin-badge--fun{background:#fef9c3;color:#92400e}.admin-pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin-top:var(--space-5)}.admin-pagination__btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:1.1rem;cursor:pointer;color:var(--color-text-primary);transition:background var(--transition-fast)}.admin-pagination__btn:hover:not(:disabled){background:var(--color-surface-alt)}.admin-pagination__btn:disabled{opacity:.35;cursor:default}.admin-pagination__info{font-size:.875rem;color:var(--color-text-secondary)}.admin-matches__detail{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);position:relative;flex-shrink:0;width:100%}@media(min-width:900px){.admin-matches__detail{width:340px;position:sticky;top:var(--space-5)}}.admin-matches__detail--empty{display:flex;align-items:center;justify-content:center;min-height:120px}.admin-matches__detail-hint{color:var(--color-text-secondary);font-size:.9rem;text-align:center}.admin-matches__detail-loading{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-8) 0;color:var(--color-text-secondary);font-size:.9rem;justify-content:center}.admin-matches__detail-error{padding:var(--space-5) 0;display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center}.admin-matches__detail-close{position:absolute;top:var(--space-3);right:var(--space-3);background:none;border:none;cursor:pointer;color:var(--color-text-secondary);font-size:1rem;line-height:1;padding:var(--space-1)}.admin-matches__detail-close:hover{color:var(--color-text-primary)}.admin-match-detail__heading{font-size:1.05rem;font-weight:700;color:var(--color-text-primary);margin:0 0 var(--space-4);padding-right:var(--space-6)}.admin-detail__fields{display:grid;grid-template-columns:auto 1fr;gap:var(--space-1) var(--space-3);margin:0 0 var(--space-4)}.admin-detail__label{font-size:.8rem;font-weight:600;color:var(--color-text-secondary);white-space:nowrap;align-self:start;padding-top:2px}.admin-detail__value{font-size:.875rem;color:var(--color-text-primary);word-break:break-word;margin:0}.admin-detail__error{color:var(--color-error);font-size:.875rem;margin:0 0 var(--space-3)}.admin-match-detail__editable{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.admin-match-detail__field-label{font-size:.8rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:2px}.admin-match-detail__select,.admin-match-detail__input{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.9rem;background:var(--color-surface);color:var(--color-text-primary);box-sizing:border-box}.admin-match-detail__select:focus,.admin-match-detail__input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-alpha)}.admin-match-detail__textarea{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.9rem;background:var(--color-surface);color:var(--color-text-primary);resize:vertical;box-sizing:border-box;font-family:inherit}.admin-match-detail__textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-alpha)}.admin-match-detail__save-btn{width:100%;justify-content:center}
