:root{--bg: #1e1f2b;--surface: #2a2b3d;--border: #3a3b50;--text-primary: #e8e9f0;--text-muted: #888aa8;--accent-track: #7ec8e3;--accent-field: #a8d8a8;--accent-team: #f4c97a;--accent-admin: #f08080;--gold: #ffd700;--silver: #c0c0c0;--bronze: #cd7f32}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;min-height:100vh}.app{max-width:1400px;margin:0 auto;padding:20px 16px}.app-header{margin-bottom:20px}.app-header h1{font-size:22px;font-weight:700;color:var(--accent-team);letter-spacing:.5px}.app-header .subtitle{font-size:12px;color:var(--text-muted);margin-top:4px}.tabs{display:flex;gap:2px;margin-bottom:16px;border-bottom:1px solid var(--border);overflow-x:auto}.tab-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:8px 14px;font-size:13px;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:var(--text-primary);border-bottom-color:var(--accent-track);font-weight:600}.tab-btn.admin-tab.active{border-bottom-color:var(--accent-admin)}.surface{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:16px;margin-bottom:12px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:var(--text-muted);font-weight:500;padding:6px 10px;border-bottom:1px solid var(--border);white-space:nowrap}td{padding:7px 10px;border-bottom:1px solid var(--border)}tr:last-child td{border-bottom:none}tr:hover td{background:#ffffff08}.rank-gold td:first-child{color:var(--gold);font-weight:700}.rank-silver td:first-child{color:var(--silver);font-weight:700}.rank-bronze td:first-child{color:var(--bronze);font-weight:700}.track-accent{color:var(--accent-track)}.field-accent{color:var(--accent-field)}.team-accent{color:var(--accent-team)}.admin-accent{color:var(--accent-admin)}.btn{background:var(--surface);border:1px solid var(--border);color:var(--text-primary);border-radius:4px;padding:6px 14px;cursor:pointer;font-size:13px;transition:background .15s}.btn:hover:not(:disabled){background:var(--border)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-accent{background:var(--accent-track);color:var(--bg);border-color:var(--accent-track);font-weight:600}.btn-accent:hover:not(:disabled){opacity:.85;background:var(--accent-track)}.btn-admin{background:var(--accent-admin);color:var(--bg);border-color:var(--accent-admin);font-weight:600}input[type=text],input[type=password],input[type=number]{background:var(--bg);border:1px solid var(--border);color:var(--text-primary);border-radius:4px;padding:6px 10px;font-size:13px;outline:none}input[type=range]{accent-color:var(--accent-track);width:100%}input:focus{border-color:var(--accent-track)}.loading-overlay{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:12px;color:var(--text-muted)}.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent-track);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-box{background:#f080801f;border:1px solid var(--accent-admin);border-radius:6px;padding:16px;color:var(--accent-admin);margin:20px 0}.slider-panel{max-width:600px;margin:0 auto 16px}.slider-panel .form-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.slider-panel label{min-width:200px;color:var(--text-muted);font-size:13px}.slider-panel .number-input{width:70px}.admin-panel{max-width:500px}.admin-panel .form-row{display:flex;align-items:center;gap:12px;margin-bottom:16px}.admin-panel label{min-width:180px;color:var(--text-muted);font-size:13px}.admin-panel .number-input{width:70px}.admin-panel .lock-row{display:flex;gap:8px;align-items:center;margin-bottom:20px}.admin-panel h3{color:var(--accent-admin);margin-bottom:16px;font-size:15px}.event-badge{font-size:11px;color:var(--text-muted);margin-bottom:10px}.rerun-bar{display:flex;align-items:center;gap:12px;margin-bottom:14px}.pts-col{text-align:right;color:var(--text-muted);font-size:12px}.total-pts{font-weight:700;color:var(--accent-team)}.table-scroll{overflow-x:auto}
