*{box-sizing:border-box;margin:0;padding:0}body{color:#e0e0e0;background:#0a0a0a;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}#app{height:100vh}.dashboard{height:100vh;display:flex}.sidebar{background:#0d0d0d;border-right:1px solid #1a1a1a;flex-direction:column;flex-shrink:0;width:240px;min-width:240px;display:flex}.sidebar-header{border-bottom:1px solid #1a1a1a;padding:20px 16px}.logo{letter-spacing:3px;color:#39ff14;font-size:18px;font-weight:700}.logo-sub{color:#999;margin-top:2px;font-size:10px}.nav-list{flex-direction:column;flex:1;gap:2px;min-height:0;padding:8px;display:flex;overflow-y:auto}.nav-btn{color:#fff;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.nav-btn .nav-label{color:inherit;white-space:normal;line-height:1.25}.nav-btn:hover{color:#fff;background:#1a1a1a}.nav-btn.active{color:#39ff14;background:#1a2a1a}.nav-icon{color:#fff;background:#222;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:flex}.nav-btn.active .nav-icon{color:#000;background:#39ff14}.sidebar-footer{border-top:1px solid #1a1a1a;flex-shrink:0;padding:12px 14px 16px}.auth-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.auth-dot.offline{background:#555}.auth-dot.online{background:#39ff14}.main-content{background:#0a0a0a;flex:1;padding:24px;overflow-y:auto}.section-title{color:#fff;margin-bottom:16px;font-size:20px;font-weight:600}.section-title--brand{color:#39ff14}.dashboard-header{margin-bottom:24px}.dashboard-header h1{background:linear-gradient(135deg,#39ff14,#00e5ff);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:28px;font-weight:700}.subtitle{color:#fff;margin-top:4px;font-size:14px}.last-refresh{color:#e0e0e0;margin-top:2px;font-size:12px}.summary-row{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px;display:grid}.summary-card{text-align:center;background:#141414;border:1px solid #222;border-radius:8px;padding:16px}.summary-value{color:#39ff14;font-size:32px;font-weight:700}.summary-value.error{color:#f44}.summary-value.ok{color:#39ff14}.summary-label{color:#fff;text-transform:uppercase;letter-spacing:1px;margin-top:4px;font-size:12px}.agent-grid{grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px;display:grid}.agent-card{background:#141414;border:1px solid #39ff14;border-radius:8px;padding:16px;transition:border-color .2s}.agent-card.active{border-color:#39ff14}.agent-header{align-items:center;gap:8px;margin-bottom:6px;display:flex}.agent-prefix{color:#39ff14;background:#1a2a1a;border-radius:4px;padding:2px 6px;font-family:SF Mono,monospace;font-size:12px;font-weight:600}.agent-name{color:#fff;font-size:16px;font-weight:600}.agent-description{color:#e8e8e8;margin-bottom:12px;font-size:13px}.agent-metrics{gap:16px;margin-bottom:12px;display:flex}.metric{flex-direction:column;display:flex}.metric-value{color:#fff;font-size:20px;font-weight:600}.metric-value.error{color:#f44}.metric-value.ok{color:#39ff14}.metric-label{color:#fff;text-transform:uppercase;font-size:11px}.agent-footer{border-top:1px solid #222;justify-content:space-between;align-items:center;padding-top:10px;font-size:12px;display:flex}.last-exec{color:#e0e0e0}.status-badge{font-size:11px;font-weight:600}.status-badge.live{color:#39ff14}.status-badge.idle{color:#ccc}.evidence-section{margin-bottom:24px}.evidence-section h2{color:#39ff14;margin-bottom:12px;font-size:18px}.evidence-links{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.evidence-card{background:#141414;border:1px solid #222;border-radius:8px;padding:16px}.evidence-card h3{color:#fff;margin-bottom:8px;font-size:14px}.evidence-card p{color:#fff;margin-bottom:12px;font-size:12px;line-height:1.5}.evidence-card code{color:#39ff14;background:#1a2a1a;border-radius:3px;padding:1px 4px;font-size:11px}.btn-link{color:#39ff14;cursor:pointer;background:#222;border:1px solid #444;border-radius:4px;margin-right:6px;padding:6px 12px;font-size:12px;transition:background .2s}.btn-link:hover{color:#6aff4a;background:#333}.footer{text-align:center;color:#fff;border-top:1px solid #222;padding:24px 0;font-size:12px}.footer p{color:#fff;margin-bottom:4px}.loading{color:#e0e0e0;text-align:center;padding:48px}.match-list{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;display:grid}.match-card{cursor:pointer;color:#fff;background:#141414;border:1px solid #222;border-radius:8px;padding:16px;transition:border-color .2s}.match-card:hover{border-color:#444}.match-header{justify-content:space-between;gap:8px;margin-bottom:12px;display:flex}.match-card .match-venue{color:#fff!important;font-size:12px!important;font-weight:600!important}.match-status{font-size:11px;font-weight:600}.match-teams{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.team{align-items:center;gap:8px;display:flex}.match-card .team-name{color:#fff!important;font-size:14px!important;font-weight:500!important}.match-card .team-score{color:#d0d0d0!important;font-size:24px!important;font-weight:700!important}.match-card .team-score.winning{color:#39ff14!important}.match-card .match-vs{color:silver!important;font-size:12px!important}.match-card .match-footer{border-top:1px solid #222;justify-content:space-between;padding-top:10px;display:flex;color:#c8c8c8!important;font-size:12px!important}.match-card .match-footer span{color:inherit!important}.match-load-note{grid-column:1/-1;margin:0 0 12px;font-size:13px;color:#fff!important}.challenge-list{flex-direction:column;gap:8px;display:flex}.challenge-card{background:#141414;border:1px solid #222;border-radius:8px;padding:16px}.challenge-header{justify-content:space-between;margin-bottom:10px;display:flex}.challenge-match{color:#ccc;font-size:14px}.challenge-status{border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600}.challenge-status.upheld{color:#f44336;background:#2a1a1a}.challenge-status.retracted{color:#ffc107;background:#2a2a1a}.challenge-status.overturned{color:#4caf50;background:#1a2a1a}.challenge-details{gap:24px;margin-bottom:10px;display:flex}.challenge-detail{flex-direction:column;gap:2px;display:flex}.detail-label{color:#555;text-transform:uppercase;font-size:10px}.detail-value{color:#ccc;font-size:13px}.challenge-footer{color:#555;border-top:1px solid #222;justify-content:space-between;align-items:center;padding-top:10px;font-size:12px;display:flex}.challenge-footer .btn-link.play-audio{color:#39ff14;cursor:pointer;background:0 0;border:1px solid #333;border-radius:6px;padding:6px 12px;font-family:inherit;font-size:12px}.challenge-footer .btn-link.play-audio:hover{background:#39ff1414;border-color:#39ff14}.challenge-footer .btn-link.play-audio.is-playing{color:#ffbf00;border-color:#ffbf00}.challenge-audio-notice{color:#c8c8c8;background:#1a1a1a;border:1px solid #333;border-radius:6px;margin-top:12px;padding:10px 12px;font-size:13px;line-height:1.45}.challenge-audio-notice[hidden]{display:none}.player-controls{margin-bottom:12px}.filter-select{color:#ccc;background:#141414;border:1px solid #333;border-radius:6px;padding:8px 12px;font-size:13px}.player-table-wrapper{overflow-x:auto}.player-table{border-collapse:collapse;width:100%;font-size:13px}.player-table th{text-align:left;color:#555;text-transform:uppercase;border-bottom:1px solid #222;padding:10px 12px;font-size:11px;font-weight:500}.player-table td{color:#aaa;border-bottom:1px solid #1a1a1a;padding:10px 12px}.player-table tr:hover td{background:#111}.player-name{color:#ccc;font-weight:500}.stat-highlight{color:#39ff14;font-weight:600}.player-number{color:#39ff14;font-variant-numeric:tabular-nums;letter-spacing:.02em;font-weight:700}.player-table .col-jersey,.player-table .player-number-cell{text-align:center;vertical-align:middle;width:64px;min-width:56px}.jersey-badge{color:#39ff14;font-variant-numeric:tabular-nums;letter-spacing:.02em;background:#143214;border:1px solid #2a6a2a;border-radius:6px;justify-content:center;align-items:center;min-width:2.25rem;padding:4px 8px;font-size:14px;font-weight:800;line-height:1.2;display:inline-flex}.jersey-badge--missing{color:#c88;background:#2a1a1a;border-color:#5a3030;font-size:12px;font-weight:600}.jersey-badge-inline{color:#39ff14;font-weight:700}.player-name-text{color:#e8e8e8;font-weight:600}.roster-player-table .player-table th.col-jersey{color:#39ff14;font-weight:700}.emergency-map{margin-bottom:16px}.map-placeholder{text-align:center;background:#141414;border:1px solid #222;border-radius:8px;min-height:200px;padding:32px}.map-icon{color:#39ff14;border:2px solid #39ff14;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:8px;font-size:32px;font-weight:700;display:inline-flex}.map-placeholder p{color:#888;font-size:14px}.map-hint{color:#555;margin-top:4px;font-size:12px}.map-coords{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:16px;display:flex}.coord-marker{text-align:left;background:#1a1a1a;border:1px solid #333;border-radius:8px;min-width:200px;padding:12px}.coord-marker.active{border-color:#f44336}.coord-marker.resolved{border-color:#4caf50}.coord-marker div{margin-bottom:4px;font-size:12px}.coord-umpire{color:#ccc;font-size:14px;font-weight:600;display:block}.coord-venue{color:#666;font-size:12px;display:block}.coord-gps{color:#555;margin-top:4px;font-family:monospace;font-size:11px;display:block}.coord-status{margin-top:6px;font-size:11px;font-weight:600;display:inline-block}.coord-status.active{color:#f44336}.coord-status.resolved{color:#4caf50}.alert-list h3{color:#888;margin-bottom:8px;font-size:14px}.alert-card{background:#141414;border:1px solid #222;border-radius:8px;margin-bottom:6px;padding:12px}.alert-card.active{border-left:3px solid #f44336}.alert-card.resolved{border-left:3px solid #4caf50}.alert-header{justify-content:space-between;margin-bottom:4px;display:flex}.alert-umpire{color:#ccc;font-size:14px;font-weight:600}.alert-time{color:#555;font-size:12px}.alert-body{color:#666;justify-content:space-between;font-size:12px;display:flex}.alert-gps{font-family:monospace}.live-indicator{letter-spacing:1px;vertical-align:middle;border-radius:4px;align-items:center;gap:6px;margin-left:12px;padding:3px 8px;font-size:10px;font-weight:600;display:inline-flex}.live-indicator.connected{color:#39ff14;background:#1a2a1a;border:1px solid #39ff14}.live-indicator.fallback{color:#ffbf00;background:#2a2a1a;border:1px solid #ffbf00}.live-dot{border-radius:50%;width:6px;height:6px;display:inline-block}.live-indicator.connected .live-dot{background:#39ff14;animation:2s ease-in-out infinite pulse-live}.live-indicator.fallback .live-dot{background:#ffbf00}@keyframes pulse-live{0%,to{opacity:1}50%{opacity:.3}}.section-desc{color:#fff;margin-bottom:16px;font-size:13px}.badge{color:#fff;background:#222;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600}.badge-success{color:#4caf50;background:#1a2a1a}.badge-warning{color:#ffbf00;background:#2a2a1a}.badge-error{color:#f44336;background:#2a1a1a}.badge-pending{color:#fff;background:#1a1a1a}.reports-summary{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;display:grid}.reports-table-wrapper{margin-bottom:16px;overflow-x:auto}.reports-table{border-collapse:collapse;width:100%;font-size:13px}.reports-table th{text-align:left;color:#555;text-transform:uppercase;border-bottom:1px solid #222;padding:10px 12px;font-size:11px;font-weight:500}.reports-table td{color:#aaa;border-bottom:1px solid #1a1a1a;padding:10px 12px}.reports-table tr:hover td{background:#111}.cell-match{color:#ccc;font-weight:500}.cell-name{color:#ccc}.cell-stat{color:#39ff14;font-weight:600}.cell-link{color:#00bcd4;text-decoration:none}.cell-link:hover{text-decoration:underline}.cell-hash{color:#888;cursor:help;font-family:monospace;font-size:11px}.btn-verify{color:#000;cursor:pointer;background:#00bcd4;border:none;border-radius:3px;padding:3px 10px;font-size:11px;font-weight:600}.btn-verify:hover{background:#00e5ff}.btn-verify:disabled{opacity:.5;cursor:not-allowed}.verify-result{cursor:help;font-size:12px}.cell-ref{color:#888;font-family:monospace;font-size:11px}.cell-time{color:#666;font-size:12px}.cell-muted{color:#444}.perf-list{flex-direction:column;gap:8px;display:flex}.perf-row{background:#141414;border:1px solid #222;border-radius:8px;align-items:center;gap:12px;padding:12px 16px;display:flex}.perf-label{min-width:160px}.umpire-display-name{color:#fff;margin-right:8px;font-weight:600}.umpire-display-id{color:#888;font-variant-numeric:tabular-nums;font-size:.92em;font-weight:500}.perf-name .umpire-display-name,.cell-name .umpire-display-name,.perf-name .umpire-display-id,.cell-name .umpire-display-id{display:inline}.perf-name{color:#ccc;font-size:14px;font-weight:600;display:block}.perf-matches{color:#555;margin-top:2px;font-size:11px;display:block}.perf-bar-track{background:#222;border-radius:4px;flex:1;height:8px;overflow:hidden}.perf-bar-fill{border-radius:4px;height:100%;transition:width .5s}.perf-value{text-align:right;min-width:100px;font-family:SF Mono,monospace;font-size:16px;font-weight:700}.perf-vs-peer{margin-left:4px;font-size:11px;font-weight:500}.perf-vs-peer.positive{color:#4caf50}.perf-vs-peer.negative{color:#f44336}.perf-detail-table-wrapper{margin-top:16px}.support-page{grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:20px;height:calc(100vh - 48px);min-height:420px;display:grid}@media (width<=900px){.support-page{grid-template-columns:1fr;height:auto}.support-tickets-panel{max-height:420px}}.support-layout{flex-direction:column;height:100%;min-height:0;display:flex}.support-header{border-bottom:1px solid #222;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.support-header h2{color:#e0e0e0;font-size:20px}.citation-toggle{color:#666;cursor:pointer;align-items:center;gap:6px;font-size:12px;display:flex}.citation-toggle input{accent-color:#39ff14}.support-messages{flex-direction:column;flex:1;gap:12px;min-height:200px;padding:8px 0;display:flex;overflow-y:auto}.support-loading{color:#39ff14;padding:8px;font-size:13px}.msg{flex-direction:column;display:flex}.msg-user{align-items:flex-end}.msg-assistant{align-items:flex-start}.msg-bubble{word-break:break-word;border-radius:12px;max-width:75%;padding:10px 14px;font-size:14px;line-height:1.5}.msg-user .msg-bubble{color:#39ff14;background:#1a3a1a;border-bottom-right-radius:4px}.msg-assistant .msg-bubble{color:#e0e0e0;background:#1a1a1a;border-bottom-left-radius:4px}.msg-confidence{color:#555;padding:2px 4px;font-size:11px}.msg-citations{color:#00bcd4;padding:2px 4px;font-size:11px}.support-input{border-top:1px solid #222;gap:8px;padding-top:12px;display:flex}.support-input input{color:#e0e0e0;background:#141414;border:1px solid #333;border-radius:8px;outline:none;flex:1;padding:10px 14px;font-size:14px}.support-input input:focus{border-color:#39ff14}.support-input input:disabled{opacity:.4}.support-input button{color:#000;cursor:pointer;background:#39ff14;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600}.support-input button:disabled{opacity:.4;cursor:default}.support-tickets-panel{background:#0e0e0e;border:1px solid #222;border-radius:12px;flex-direction:column;min-height:0;padding:14px;display:flex}.support-tickets-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.support-tickets-header h3{color:#e0e0e0;margin:0;font-size:15px;font-weight:600}.support-tickets-refresh{color:#39ff14;cursor:pointer;background:0 0;border:1px solid #333;border-radius:6px;width:32px;height:28px;font-size:16px;line-height:1}.support-tickets-refresh:hover{border-color:#39ff14}.support-tickets-hint{color:#666;margin:0 0 10px;font-size:11px;line-height:1.4}.support-ticket-filters{gap:6px;margin-bottom:10px;display:flex}.support-ticket-filters button{color:#888;cursor:pointer;background:#141414;border:1px solid #333;border-radius:6px;flex:1;padding:6px 8px;font-size:11px}.support-ticket-filters button.active{color:#39ff14;border-color:#39ff14}.filter-chip{color:#888;cursor:pointer;background:#141414;border:1px solid #333;border-radius:6px;padding:6px 12px;font-size:12px}.filter-chip:hover{border-color:#555}.filter-chip.active{color:#39ff14;border-color:#39ff14}.filter-date{color:#c8c8c8;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#141414;border:1px solid #333;border-radius:6px;padding:6px 10px;font-size:12px}.filter-date:focus{border-color:#39ff14;outline:none}.support-tickets-list{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex;overflow-y:auto}.support-tickets-empty{color:#555;text-align:center;margin:12px 0;font-size:12px}.support-tickets-error{color:#f88}.support-ticket-card{background:#141414;border:1px solid #2a2a2a;border-radius:8px;padding:10px 12px}.ticket-card-top{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;font-size:11px;display:flex}.ticket-status{text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700}.ticket-status.status-open{color:#ffbf00;background:#ffbf0026}.ticket-status.status-resolved{color:#39ff14;background:#39ff141f}.ticket-severity{color:#666;text-transform:capitalize}.ticket-when{color:#555;margin-left:auto}.ticket-id{color:#39ff14;opacity:.85;word-break:break-all;margin-bottom:6px;font-family:ui-monospace,monospace;font-size:10px}.ticket-message{color:#ccc;white-space:pre-wrap;word-break:break-word;margin:0 0 8px;font-size:13px;line-height:1.35}.ticket-meta{color:#666;flex-wrap:wrap;gap:10px;font-size:11px;display:flex}.ticket-meta code{color:#888;font-size:10px}.ticket-actions{gap:8px;margin-top:8px;display:flex}.ticket-action{color:#000;cursor:pointer;background:#39ff14;border:none;border-radius:6px;padding:6px 10px;font-size:11px;font-weight:600}.ticket-action.secondary{color:#ffbf00;background:0 0;border:1px solid #444}.ticket-action:disabled{opacity:.4;cursor:default}.roster-layout{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=900px){.roster-layout{grid-template-columns:1fr}}.roster-card{color:#fff;background:#141414;border:1px solid #222;border-radius:8px;padding:16px}.roster-card h3{color:#fff;margin:0;font-size:15px}.roster-card-header{color:#39ff14;justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.roster-card-header h3{color:#39ff14}.roster-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.roster-row.gap{margin-top:10px}.umpire-assign-list{flex-direction:column;gap:6px;max-height:220px;margin:8px 0 10px;display:flex;overflow-y:auto}.umpire-assign-row{cursor:pointer;background:#111;border:1px solid #2a2a2a;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;display:flex}.umpire-assign-name{color:#fff;font-size:13px;font-weight:600}.umpire-assign-meta{color:#ccc;margin-left:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px}.roster-input{flex:1;min-width:140px;color:#e0e0e0!important;background:#0d0d0d!important;border:1px solid #ddd!important;border-radius:6px!important;padding:8px 12px!important;font-size:13px!important}.roster-input:focus{outline:none;border-color:#39ff14!important}.roster-select{width:100%;min-width:200px;color:#e0e0e0!important;background:#0d0d0d!important;border:1px solid #ddd!important}.roster-select:focus{outline:none;border-color:#39ff14!important}.roster-textarea{color:#e0e0e0;resize:vertical;background:#0d0d0d;border:1px solid #ddd;border-radius:6px;width:100%;margin:6px 0 8px;padding:8px 12px;font-family:ui-monospace,monospace;font-size:12px}.roster-textarea:focus{border-color:#39ff14;outline:none}.roster-label{color:#fff;text-transform:uppercase;letter-spacing:.5px;margin-top:4px;font-size:11px;font-weight:600;display:block}.roster-divider{border-top:1px solid #222;margin:14px 0}.roster-banner{background:#141414;border:1px solid #333;border-radius:6px;margin-bottom:14px;padding:10px 14px;font-size:13px}.roster-banner.ok{color:#39ff14;background:#0f1a0f;border-color:#1a3a1a}.roster-banner.error{color:#f44336;background:#1a0f0f;border-color:#3a1a1a}.roster-banner.warn{color:#ffbf00;background:#1a1a0f;border-color:#3a3a1a}.btn-primary{color:#000;cursor:pointer;background:#39ff14;border:none;border-radius:6px;padding:8px 14px;font-size:13px;font-weight:600}.btn-primary:hover{background:#5fff3a}.btn-primary:disabled{opacity:.4;cursor:not-allowed}#btn-save-umpires.btn-primary{color:#000;background:#39ff14;font-weight:600}#btn-save-umpires.btn-primary:hover:not(:disabled){color:#000;background:#5fff3a}.btn-secondary{color:#ccc;cursor:pointer;background:#222;border:1px solid #333;border-radius:6px;padding:8px 14px;font-size:13px;font-weight:500}.btn-secondary:hover{background:#2a2a2a}.btn-secondary:disabled{opacity:.4;cursor:not-allowed}.roster-hint{color:#fff;margin-top:8px;font-size:11px;line-height:1.4}.file-label{cursor:pointer;align-items:center;display:inline-flex}.team-list{flex-direction:column;gap:6px;max-height:280px;display:flex;overflow-y:auto}.team-row{align-items:stretch;gap:6px;display:flex}.team-row .team-chip{flex:1}.team-archive-btn{color:#aaa;cursor:pointer;white-space:nowrap;background:#0d0d0d;border:1px solid #222;border-radius:8px;padding:0 10px;font-size:11px;font-weight:600}.team-archive-btn:hover{color:#fff;border-color:#c25b4e}.team-chip{text-align:left;cursor:pointer;width:100%;color:inherit;background:#0d0d0d;border:1px solid #222;border-radius:8px;grid-template-rows:auto auto;grid-template-columns:12px 1fr;gap:2px 10px;padding:10px 12px;display:grid}.team-chip:hover{border-color:#333}.team-chip.active{background:#0f1a0f;border-color:#39ff14}.team-chip.archived{opacity:.55}.team-chip-color{border:1px solid #333;border-radius:50%;grid-row:1/span 2;width:12px;height:12px;margin-top:4px}.team-chip-name{color:#ddd;font-size:14px;font-weight:600}.team-chip-meta{color:#555;grid-column:2;font-size:11px}.tournament-pick-list{max-height:220px}.tournament-chip{text-align:left;cursor:pointer;width:100%;color:inherit;background:#0d0d0d;border:1px solid #222;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;display:flex}.tournament-chip:hover{border-color:#333}.tournament-chip.active{background:#0f1a0f;border-color:#39ff14}.tournament-chip.archived{opacity:.55}.tournament-edit-form{flex-wrap:wrap;align-items:flex-end;gap:10px;margin:8px 0 4px;display:flex}.tournament-edit-form .roster-select{width:auto;min-width:140px}.kit-color-catalog{border-top:1px solid #222;margin-top:14px;padding-top:12px}.kit-color-chips{flex-wrap:wrap;gap:6px;margin:8px 0 4px;display:flex}.kit-color-chip{color:#ddd;background:#0d0d0d;border:1px solid #2a2a2a;border-radius:999px;align-items:center;gap:6px;padding:4px 8px 4px 6px;font-size:12px;font-weight:600;display:inline-flex}.kit-color-chip--custom{border-color:#3a3a1a}.kit-color-swatch{border:1px solid #444;border-radius:50%;flex-shrink:0;width:10px;height:10px}.kit-color-remove{color:#888;cursor:pointer;background:0 0;border:0;padding:0 0 0 2px;font-size:14px;line-height:1}.kit-color-remove:hover,.kit-color-remove:focus-visible{color:#fff;outline:none}.roster-upload-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.csv-preview{margin-top:12px}.csv-preview-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=700px){.csv-preview-grid{grid-template-columns:1fr}}.preview-title{text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:12px}.preview-title.ok{color:#39ff14}.preview-title.err{color:#f44336}.error-list{color:#c88;max-height:200px;margin:0;padding-left:18px;font-size:12px;overflow-y:auto}.player-table.compact td,.player-table.compact th{padding:6px 8px;font-size:12px}.pos-badge{color:#39ff14;background:#1a2a1a;border-radius:4px;padding:2px 6px;font-size:11px;font-weight:600;display:inline-block}.muted{color:#666;font-size:13px}.player-actions-col{width:150px}.player-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.btn-sm{border-radius:6px;padding:5px 10px;font-size:12px}.player-edit-row td{vertical-align:middle;background:#0f1a0f}.player-edit-row .login-input,.player-edit-row .filter-select{width:100%;min-width:0;max-width:180px;padding:8px 10px;font-size:13px}.player-edit-row .player-edit-name{max-width:240px}.player-edit-row .player-edit-number{max-width:72px}.player-active-toggle{color:#ccc;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:12px;display:inline-flex}.player-row-inactive .player-name,.player-row-inactive .player-number{opacity:.55}.roster-subheading{color:#ddd;text-transform:uppercase;letter-spacing:.4px;margin:0 0 4px;font-size:13px;font-weight:600}.player-form-row{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:10px;display:flex}.player-form-field{flex-direction:column;gap:4px;min-width:80px;display:flex}.player-form-field--grow{flex:1;min-width:160px}.player-form-field--actions{min-width:auto}.player-form-field .login-input{width:100%}.player-form-field .filter-select{min-width:88px}.muted.tiny{margin-top:6px;font-size:11px}.roster-steps{color:#aaa;margin:8px 0 8px 18px;font-size:13px;line-height:1.6}.roster-steps code,.section-desc code,.muted code{color:#39ff14;background:#1a2a1a;border-radius:3px;padding:1px 4px;font-size:11px}.umpire-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 14px;display:flex}.umpire-editor{margin:16px 0 20px}.umpire-editor .roster-banner{margin-top:14px}.umpire-account-panel{border-top:1px solid #222;margin-top:16px;padding-top:14px}.account-status-line{margin:4px 0 0}.account-badge{letter-spacing:.4px;text-transform:uppercase;border:1px solid #333;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.account-badge--pending{color:#ffbf00;background:#1a1a0f;border-color:#3a3a1a}.account-badge--active{color:#39ff14;background:#0f1a0f;border-color:#1a3a1a}.account-badge--disabled{color:#f44336;background:#1a0f0f;border-color:#3a1a1a}.activation-link-box{background:#0f1a0f;border:1px solid #1a3a1a;border-radius:6px;margin-top:12px;padding:12px}.umpire-edit-hint{margin:12px 0 16px}.umpire-row{cursor:pointer}.umpire-row.is-selected td{color:#e0e0e0;background:#1a2a1a}.umpire-row.is-archived td{opacity:.65}.umpire-actions{white-space:nowrap;flex-wrap:wrap;align-items:center;gap:6px;display:flex}.umpire-uid-field{letter-spacing:.01em;cursor:text;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.umpire-uid-field:disabled{opacity:.75;cursor:not-allowed}.umpire-form .roster-input{width:100%}.umpire-panel{margin-top:16px}.umpire-num{font-variant-numeric:tabular-nums;color:#39ff14;font-weight:700}.umpire-uid-cell{letter-spacing:.01em;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px}.umpire-id-readout{color:#e0e0e0;margin-top:12px;font-size:14px}.umpire-id-readout strong{color:#39ff14;font-variant-numeric:tabular-nums;margin-right:6px}.field-error{color:#f44336;margin-top:4px;font-size:11px;line-height:1.35;display:none}.field-error.is-visible{display:block}.roster-input.is-invalid,.login-input.is-invalid,.filter-select.is-invalid,.roster-select.is-invalid{border-color:#f44336!important}.umpire-due{color:#ffbf00;text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:700}.login-container{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:#141414;border:1px solid #222;border-radius:12px;width:100%;max-width:400px;padding:40px}.login-logo{letter-spacing:4px;color:#39ff14;text-align:center;margin-bottom:4px;font-size:28px;font-weight:700}.login-subtitle{color:#555;text-align:center;letter-spacing:1px;margin-bottom:32px;font-size:12px}.login-email-readout{text-align:center;color:#39ff14;word-break:break-all;margin:-16px 0 12px;font-size:14px}.login-error{color:#f66;background:#2a1a1a;border:1px solid #f44336;border-radius:6px;margin-bottom:16px;padding:10px 14px;font-size:13px}.login-error.ok{color:#c8f5c0;background:#1a2a1a;border-color:#39ff14}.login-forgot{color:#fff;cursor:pointer;text-align:left;background:0 0;border:none;width:fit-content;margin:-6px 0 4px;padding:0;font-size:12px;display:block}.login-forgot:hover{text-decoration:underline}.login-tabs{border-bottom:1px solid #222;margin-bottom:24px;display:flex}.login-tab{color:#555;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:10px;font-size:14px;transition:all .15s}.login-tab:hover{color:#888}.login-tab.active{color:#39ff14;border-bottom-color:#39ff14}.login-form{flex-direction:column;gap:12px;display:flex}.login-input{color:#e0e0e0;background:#1a1a1a;border:1px solid #333;border-radius:8px;outline:none;width:100%;padding:12px 14px;font-size:14px;transition:border-color .15s}.login-input:focus{border-color:#39ff14}.login-input::placeholder{color:#555}.login-submit{color:#000;cursor:pointer;background:#39ff14;border:none;border-radius:8px;margin-top:4px;padding:12px;font-size:15px;font-weight:600;transition:opacity .15s}.login-submit:hover{opacity:.9}.login-divider{color:#444;align-items:center;gap:12px;margin:24px 0;font-size:12px;display:flex}.login-divider:before,.login-divider:after{content:"";background:#222;flex:1;height:1px}.login-google{color:#ccc;cursor:pointer;background:#1a1a1a;border:1px solid #333;border-radius:8px;justify-content:center;align-items:center;gap:10px;width:100%;padding:12px;font-size:14px;transition:all .15s;display:flex}.login-google:hover{background:#222;border-color:#555}.google-icon{color:#000;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;font-weight:700;display:flex}.dashboard-layout{height:100vh;display:flex}.auth-status{color:#ccc;align-items:flex-start;gap:8px;width:100%;min-width:0;max-width:100%;font-size:11px;display:flex;overflow:visible}.auth-status .auth-dot{flex-shrink:0;margin-top:5px}.auth-identity{flex-direction:column;flex:1;gap:6px;width:100%;min-width:0;display:flex;overflow:visible}.auth-email{color:#fff;white-space:normal;text-overflow:unset;word-break:break-word;overflow-wrap:anywhere;width:100%;max-width:none;font-size:12px;line-height:1.35;display:block;overflow:visible}.auth-role{color:#39ff14;text-transform:uppercase;letter-spacing:.03em;white-space:normal;word-break:break-word;background:#1a2a1a;border:1px solid #2a4a2a;border-radius:4px;width:fit-content;max-width:100%;padding:3px 8px;font-size:10px;display:inline-block}.auth-role.missing{color:#ffb74d;text-transform:none;background:#2a2010;border-color:#5a4020;font-weight:600}.logout-btn{color:#fff;cursor:pointer;background:0 0;border:1px solid #555;border-radius:6px;width:100%;margin-top:10px;padding:8px 12px;font-size:12px;transition:all .15s}.logout-btn:hover{color:#f44336;background:#2a1a1a;border-color:#f44336}
