:root{--color-bg: #0a0f14;--color-surface: #111921;--color-surface-elevated: #1a2530;--color-border: #2a3a4a;--color-text: #e8eef4;--color-text-muted: #7a8a9a;--color-accent: #00d4aa;--color-accent-hover: #00ffcc;--color-accent-dim: rgba(0, 212, 170, .15);--color-error: #ff6b6b;--font-family: "DM Sans", system-ui, -apple-system, sans-serif;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--shadow-glow: 0 0 60px rgba(0, 212, 170, .15)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-family);font-size:16px;line-height:1.5;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%}.loading-container{height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg)}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-surface-elevated);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}.login-container{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;position:relative;overflow:hidden}.login-backdrop{position:absolute;inset:0;overflow:hidden;z-index:0}.grid-overlay{position:absolute;inset:0;background-image:linear-gradient(rgba(0,212,170,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,212,170,.03) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse at center,black 30%,transparent 70%)}.gradient-orb{position:absolute;border-radius:50%;filter:blur(100px);opacity:.5;animation:float 20s ease-in-out infinite}.orb-1{width:500px;height:500px;background:radial-gradient(circle,var(--color-accent) 0%,transparent 70%);top:-200px;right:-100px;animation-delay:0s}.orb-2{width:400px;height:400px;background:radial-gradient(circle,#0066ff 0%,transparent 70%);bottom:-150px;left:-100px;animation-delay:-10s}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.05)}66%{transform:translate(-20px,20px) scale(.95)}}.login-card{position:relative;z-index:1;width:100%;max-width:420px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2.5rem;box-shadow:var(--shadow-glow)}.login-header{text-align:center;margin-bottom:2rem}.logo{width:56px;height:56px;margin:0 auto 1rem;color:var(--color-accent)}.logo svg{width:100%;height:100%}.login-header h1{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.25rem}.login-header .subtitle{color:var(--color-text-muted);font-size:.875rem}.login-form{display:flex;flex-direction:column;gap:1.25rem}.input-group{display:flex;flex-direction:column;gap:.5rem}.input-group label{font-size:.875rem;font-weight:500;color:var(--color-text-muted)}.input-group input{width:100%;padding:.875rem 1rem;font-family:inherit;font-size:1rem;color:var(--color-text);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);outline:none;transition:border-color .2s,box-shadow .2s}.input-group input::placeholder{color:var(--color-text-muted);opacity:.6}.input-group input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-dim)}.error-message{padding:.75rem 1rem;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:var(--radius-sm);color:var(--color-error);font-size:.875rem;text-align:center}.login-button{width:100%;padding:.875rem;font-family:inherit;font-size:1rem;font-weight:600;color:var(--color-bg);background:var(--color-accent);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color .2s,transform .1s;display:flex;align-items:center;justify-content:center;min-height:52px}.login-button:hover:not(:disabled){background:var(--color-accent-hover)}.login-button:active:not(:disabled){transform:scale(.98)}.login-button:disabled{opacity:.7;cursor:not-allowed}.spinner{width:20px;height:20px;border:2px solid transparent;border-top-color:var(--color-bg);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-footer{margin-top:1.5rem;text-align:center}.forgot-link{color:var(--color-text-muted);font-size:.875rem;text-decoration:none;transition:color .2s}.forgot-link:hover{color:var(--color-accent)}.page-footer{position:absolute;bottom:1.5rem;color:var(--color-text-muted);font-size:.75rem}.dashboard{height:100vh;display:flex;flex-direction:column;overflow:hidden}.dashboard-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0;position:relative}.header-left{display:flex;align-items:center;gap:.75rem}.header-back-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:1.125rem;color:var(--color-text-muted);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .2s,color .2s}.header-back-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.dashboard-header h1{font-size:1.25rem;font-weight:600}.header-match-id{font-family:JetBrains Mono,SF Mono,monospace;font-size:.75rem;color:var(--color-text-muted);padding:.25rem .5rem;background:var(--color-surface-elevated);border-radius:var(--radius-sm)}.header-right{display:flex;align-items:center;gap:1rem}.user-name{color:var(--color-text-muted);font-size:.875rem;font-weight:500}.logout-btn{padding:.5rem 1rem;font-family:inherit;font-size:.875rem;color:var(--color-text-muted);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .2s,color .2s}.logout-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.dashboard-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.match-list-container{flex:1;display:flex;flex-direction:column;padding:2rem;max-width:900px;margin:0 auto;width:100%}.match-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.match-list-header h2{font-size:1.5rem;font-weight:600}.refresh-btn{padding:.5rem 1rem;font-family:inherit;font-size:.875rem;color:var(--color-text);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .2s,background-color .2s}.refresh-btn:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-surface)}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.match-table-wrapper{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.match-table{width:100%;border-collapse:collapse}.match-table th{text-align:left;padding:1rem 1.25rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);background:var(--color-surface-elevated);border-bottom:1px solid var(--color-border)}.match-table td{padding:1rem 1.25rem;border-bottom:1px solid var(--color-border)}.match-row{cursor:pointer;transition:background-color .15s}.match-row:hover{background:var(--color-surface-elevated)}.match-row:focus{outline:none;background:var(--color-accent-dim)}.match-row:last-child td{border-bottom:none}.match-id{font-family:JetBrains Mono,SF Mono,monospace;font-size:.8125rem;color:var(--color-accent)}.match-date{color:var(--color-text-muted);font-size:.875rem}.match-hint{margin-top:1rem;text-align:center;color:var(--color-text-muted);font-size:.8125rem}.manual-uuid-section{margin-bottom:1.5rem;padding:1rem 1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.manual-uuid-label{font-size:.8125rem;font-weight:500;color:var(--color-text-muted);margin-bottom:.5rem}.manual-uuid-input-row{display:flex;gap:.5rem}.manual-uuid-input{flex:1;padding:.625rem .875rem;font-family:JetBrains Mono,SF Mono,monospace;font-size:.8125rem;color:var(--color-text);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);outline:none;transition:border-color .2s,box-shadow .2s}.manual-uuid-input::placeholder{color:var(--color-text-muted);opacity:.5}.manual-uuid-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-dim)}.manual-uuid-input:disabled{opacity:.6;cursor:not-allowed}.manual-uuid-btn{padding:.625rem 1rem;font-family:inherit;font-size:.8125rem;font-weight:600;color:var(--color-bg);background:var(--color-accent);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .2s,opacity .2s;min-width:70px;display:flex;align-items:center;justify-content:center}.manual-uuid-btn:hover:not(:disabled){background:var(--color-accent-hover)}.manual-uuid-btn:disabled{opacity:.5;cursor:not-allowed}.manual-uuid-hint{margin-top:.5rem;font-size:.6875rem;color:var(--color-text-muted);opacity:.7}.spinner-small{width:14px;height:14px;border:2px solid transparent;border-top-color:var(--color-bg);border-radius:50%;animation:spin .8s linear infinite}.empty-state{text-align:center;padding:3rem;color:var(--color-text-muted)}.empty-state p{margin-bottom:.5rem}.empty-state-hint{font-size:.875rem;opacity:.7}.error-banner{padding:1rem;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:var(--radius-sm);color:var(--color-error);text-align:center;margin-bottom:1rem}.toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);padding:.875rem 1.5rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;z-index:1000;animation:toast-in .3s ease-out}.toast-error{background:#ff6b6bf2;color:#fff;box-shadow:0 4px 20px #ff6b6b4d}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(1rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}.video-player-container{flex:1;display:flex;flex-direction:column;padding:.75rem 1rem 1rem;overflow:hidden;height:100%;box-sizing:border-box}.video-wrapper{flex:1;display:flex;justify-content:center;align-items:center;background:#000;border-radius:var(--radius-md);overflow:hidden;min-height:0;position:relative}.video-element{width:100%;height:100%;object-fit:contain;background:#000;display:block}.webgl-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:10}.video-loading-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000000d9;z-index:20;gap:1rem}.video-loading-spinner{width:48px;height:48px;border:3px solid var(--color-surface-elevated);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}.video-loading-text{font-size:.875rem;color:var(--color-text-muted);font-weight:500}.video-controls{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;background:var(--color-bg);flex-shrink:0}.control-btn{display:flex;align-items:center;justify-content:center;padding:.5rem;font-family:inherit;font-size:.875rem;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s,background-color .15s;min-width:2.5rem;height:2rem}.control-btn:hover{border-color:var(--color-accent);background:var(--color-surface-elevated)}.play-btn{min-width:3rem;font-size:1rem}.speed-selector{position:relative}.speed-btn{font-family:JetBrains Mono,SF Mono,monospace;font-size:.75rem;min-width:2.75rem;font-weight:500}.speed-menu{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:0 4px 12px #0006;overflow:hidden;z-index:100;min-width:64px}.speed-menu-item{display:block;width:100%;padding:.5rem .75rem;font-family:JetBrains Mono,SF Mono,monospace;font-size:.75rem;color:var(--color-text);background:transparent;border:none;cursor:pointer;text-align:center;transition:background-color .15s}.speed-menu-item:hover{background:var(--color-surface-elevated)}.speed-menu-item.active{color:var(--color-accent);background:var(--color-accent-dim)}.mute-btn{position:relative;padding:.5rem}.mute-icon{width:16px;height:16px;color:var(--color-text)}.mute-cross{position:absolute;width:16px;height:16px;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.overlay-btn{position:relative;padding:.5rem}.overlay-icon{width:16px;height:16px;color:var(--color-text)}.overlay-cross{position:absolute;width:16px;height:16px;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.time-display{font-family:JetBrains Mono,SF Mono,monospace;font-size:.8125rem;color:var(--color-accent);min-width:100px;text-align:center}.seek-buttons{display:flex;gap:.25rem}.seek-btn{font-size:.75rem;padding:.375rem .5rem;min-width:auto}.new-event-btn{background:#06c;border-color:#05a;color:#fff;font-weight:600;padding:.5rem .75rem;margin-left:.5rem}.new-event-btn:hover{background:#07e;border-color:#06c}.progress-container{flex:1;height:2rem;display:flex;align-items:center;cursor:pointer;padding:0 .5rem}.progress-bar{position:relative;width:100%;height:4px;background:var(--color-surface-elevated);border-radius:2px;overflow:visible}.progress-filled{height:100%;background:var(--color-accent);border-radius:2px;transition:width .1s linear}.progress-handle{position:absolute;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;background:var(--color-accent);border-radius:50%;box-shadow:0 0 4px #00d4aa80;transition:transform .1s,box-shadow .15s}.progress-container:hover .progress-handle{transform:translate(-50%,-50%) scale(1.2);box-shadow:0 0 8px #00d4aab3}.timeline-section{margin-top:.5rem;flex-shrink:0}.timeline-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;gap:1rem}.timeline-header-left{display:flex;align-items:center;gap:1rem}.timeline-mode-selector{display:flex;align-items:center;gap:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;height:28px}.timeline-mode-btn{padding:0 .625rem;height:100%;font-family:inherit;font-size:.6875rem;font-weight:500;color:var(--color-text-muted);background:transparent;border:none;border-right:1px solid var(--color-border);cursor:pointer;transition:background-color .15s,color .15s;white-space:nowrap}.timeline-mode-btn:last-child{border-right:none}.timeline-mode-btn:hover{background:var(--color-surface-elevated);color:var(--color-text)}.timeline-mode-btn.active{background:var(--color-accent-dim);color:var(--color-accent)}.timeline-title{font-size:.875rem;font-weight:600;color:var(--color-text)}.timeline-info{font-size:.75rem;color:var(--color-text-muted)}.timeline-info.timeline-range{padding-left:.75rem;border-left:1px solid var(--color-border);margin-left:.75rem;font-family:monospace}.timeline-zoom{display:flex;align-items:center;gap:.5rem}.timeline-zoom-label{font-size:.75rem;color:var(--color-text-muted)}.timeline-zoom-slider{width:100px;height:4px;-webkit-appearance:none;appearance:none;background:var(--color-surface-elevated);border-radius:2px;outline:none;cursor:pointer}.timeline-zoom-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;background:var(--color-accent);border-radius:50%;cursor:pointer;transition:transform .15s}.timeline-zoom-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.timeline-zoom-slider::-moz-range-thumb{width:12px;height:12px;background:var(--color-accent);border-radius:50%;border:none;cursor:pointer}.timeline-zoom-value{font-family:JetBrains Mono,SF Mono,monospace;font-size:.6875rem;color:var(--color-accent);min-width:48px;text-align:right}.timeline-body{display:flex;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;background:var(--color-surface);position:relative}.timeline-labels{flex-shrink:0;background:var(--color-surface-elevated);border-right:1px solid var(--color-border);z-index:5;overflow:hidden}.timeline-row-label{display:flex;align-items:center;padding:0 .5rem;font-size:.625rem;font-weight:500;color:var(--color-text-muted);white-space:nowrap;border-bottom:1px solid rgba(255,255,255,.1);min-width:80px;box-sizing:border-box}.timeline-markers-label{background:transparent;border-bottom:none}.timeline-wrapper{position:relative;flex:1;min-width:0;overflow:hidden}.timeline-container{overflow-x:auto;overflow-y:hidden;cursor:pointer}.timeline-content,.timeline-row{position:relative}.timeline-markers-row{background:#0003}.timeline-event{transition:opacity .15s,transform .1s}.timeline-event:hover{opacity:1!important;transform:scaleY(1.1);z-index:5}.timeline-event-label{display:block;width:100%;height:100%;padding:0 4px;font-size:10px;font-weight:500;line-height:16px;color:#fffffff2;text-shadow:0 1px 2px rgba(0,0,0,.8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:capitalize;box-sizing:border-box}.timeline-playhead{position:absolute;top:0;bottom:0;width:2px;background:var(--color-error);z-index:20;pointer-events:none;box-shadow:0 0 4px #ff6b6b80}.timeline-playhead:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--color-error)}.timeline-overflow-controls{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:.25rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.375rem;z-index:10}.timeline-overflow-btn{width:24px;height:20px;display:flex;align-items:center;justify-content:center;font-size:.625rem;color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:3px;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}.timeline-overflow-btn:hover:not(:disabled){background:var(--color-surface-elevated);color:var(--color-accent);border-color:var(--color-accent)}.timeline-overflow-btn:disabled{opacity:.3;cursor:not-allowed}.timeline-overflow-info{font-family:JetBrains Mono,SF Mono,monospace;font-size:.5625rem;color:var(--color-text-muted);white-space:nowrap;padding:.125rem 0}.timeline-item{display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;border-right:1px solid var(--color-border);transition:background-color .15s;box-sizing:border-box}.timeline-item:hover{background:var(--color-surface-elevated)}.timeline-item-marker{width:6px;height:6px;background:var(--color-accent);border-radius:50%;margin-bottom:.125rem;flex-shrink:0}.timeline-item-time{font-family:JetBrains Mono,SF Mono,monospace;font-size:.5625rem;color:var(--color-text-muted);white-space:nowrap}@media(max-width:480px){.login-container{padding:1rem}.login-card{padding:1.5rem}.login-header h1{font-size:1.5rem}}.event-detail-popup{position:absolute;top:1rem;left:50%;transform:translate(-50%);max-width:50%;max-height:33%;min-width:340px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 8px 32px #00000080;z-index:100;display:flex;flex-direction:column;overflow:hidden}.event-detail-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--color-surface-elevated);border-bottom:1px solid var(--color-border)}.event-team{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;font-family:inherit}button.event-team.clickable{cursor:pointer;transition:background-color .15s,border-color .15s,transform .1s;-webkit-appearance:none;appearance:none}button.event-team.clickable:hover{transform:scale(1.05)}button.event-team.clickable:active{transform:scale(.98)}.event-team.team-left{background:#36f3;color:#69f;border:1px solid rgba(51,102,255,.3)}button.event-team.team-left.clickable:hover{background:#3366ff59;border-color:#3366ff80}.event-team.team-right{background:#f333;color:#f66;border:1px solid rgba(255,51,51,.3)}button.event-team.team-right.clickable:hover{background:#ff333359;border-color:#ff333380}.event-team.team-unselected{background:#ffa50026;color:#fa0;border:1px dashed rgba(255,165,0,.5);animation:pulse-border 1.5s ease-in-out infinite}button.event-team.team-unselected.clickable:hover{background:#ffa50040;border-color:#ffa500b3}@keyframes pulse-border{0%,to{border-color:#ffa5004d}50%{border-color:#ffa500b3}}.event-title-section{flex:1;display:flex;align-items:center;gap:.5rem;min-width:0}.event-name{font-size:1rem;font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-name-select{font-size:.9rem;font-weight:500;color:var(--color-text);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.25rem .5rem;cursor:pointer;outline:none;min-width:100px}.event-name-select:hover{border-color:var(--color-accent)}.event-name-select:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-dim)}.event-name-select option{background:var(--color-surface);color:var(--color-text)}.event-confidence{font-size:.75rem;color:var(--color-text-muted);white-space:nowrap}.event-optimal-badge{padding:.125rem .375rem;background:#22c55e33;color:#4ade80;border:1px solid rgba(34,197,94,.3);border-radius:4px;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.event-close-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--color-text-muted);font-size:1.25rem;cursor:pointer;border-radius:4px;transition:background-color .15s,color .15s}.event-close-btn:hover{background:var(--color-surface);color:var(--color-text-primary)}.event-detail-body{padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.event-detail-row{display:flex;align-items:center;gap:.5rem}.event-detail-main-row{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.event-jersey-section,.event-coords-section,.event-timestamp-section{display:flex;align-items:center;gap:.625rem}.event-label-inline{font-size:.875rem;color:var(--color-text-muted);font-weight:500}.event-label{font-size:.8125rem;color:var(--color-text-muted);min-width:80px}.event-value{font-family:JetBrains Mono,SF Mono,monospace;font-size:.8125rem;color:var(--color-text-primary)}.event-coords-value{font-family:JetBrains Mono,SF Mono,monospace;font-size:1rem;font-weight:500;color:var(--color-text-primary);transition:color .2s}.event-coords-value.proposed{color:#4ade80}.event-timestamp-value{font-family:JetBrains Mono,SF Mono,monospace;font-size:.875rem;font-weight:500;color:var(--color-text-primary);transition:color .15s,background-color .15s}.event-timestamp-value.clickable{cursor:pointer;padding:.125rem .375rem;border-radius:3px;background:#ffffff0d}.event-timestamp-value.clickable:hover{color:#60a5fa;background:#60a5fa26}.event-play-range-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#22c55e26;border:1px solid rgba(34,197,94,.4);border-radius:4px;color:#4ade80;font-size:.625rem;cursor:pointer;transition:background-color .15s,border-color .15s,transform .1s;margin-left:.375rem}.event-play-range-btn:hover{background:#22c55e40;border-color:#22c55e99;transform:scale(1.1)}.event-play-range-btn:active{transform:scale(.95)}.event-jersey-input-container{display:flex;align-items:center;gap:.5rem}.event-jersey-input{width:52px;padding:.5rem;background:var(--color-background);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-primary);font-family:JetBrains Mono,SF Mono,monospace;font-size:1rem;font-weight:600;text-align:center;transition:border-color .15s,background-color .15s}.event-jersey-input:focus{outline:none;border-color:var(--color-accent)}.event-jersey-input::placeholder{color:#fff6;font-weight:400}.event-jersey-input.empty{background:#f333;border-color:#ff333380}.event-jersey-input.empty:focus{border-color:#f33c}.event-propose-btn{padding:.375rem .625rem;background:#ffd90026;border:1px solid rgba(255,217,0,.4);border-radius:4px;color:#ffd900;font-size:.8125rem;font-weight:600;font-family:JetBrains Mono,SF Mono,monospace;cursor:pointer;transition:background-color .15s,border-color .15s}.event-propose-btn:hover{background:#ffd90040;border-color:#ffd90099}.event-error{padding:.5rem;background:#ff33331a;border:1px solid rgba(255,51,51,.3);border-radius:4px;color:var(--color-error);font-size:.75rem;text-align:center}.event-detail-footer{padding:.625rem 1rem;border-top:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.event-nav-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-primary);font-size:1rem;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}.event-nav-btn:hover:not(:disabled){background:var(--color-surface);border-color:var(--color-accent);color:var(--color-accent)}.event-nav-btn:disabled{opacity:.3;cursor:not-allowed}.event-footer-center{flex:1;display:flex;justify-content:space-evenly;align-items:center}.event-delete-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid rgba(239,68,68,.3);border-radius:4px;color:#f87171;font-size:.875rem;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}.event-delete-btn:hover:not(:disabled){background:#ef44441a;border-color:#ef444480;color:#ef4444}.event-delete-btn:disabled{opacity:.6;cursor:not-allowed}.event-lineup-warning{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#dc2626;border-radius:50%;color:#fff;font-size:.875rem;font-weight:700;cursor:help;animation:pulse-warning 1.5s ease-in-out infinite}@keyframes pulse-warning{0%,to{box-shadow:0 0 #dc262680}50%{box-shadow:0 0 0 6px #dc262600}}.event-pass-row{display:flex;align-items:center;gap:1rem;padding:.5rem 0;border-top:1px solid var(--color-border);margin-top:.5rem}.event-pass-warning{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:#eab308;border-radius:50%;color:#1a1a1a;font-size:.75rem;font-weight:700;cursor:help;flex-shrink:0}.event-pass-section{display:flex;align-items:center;gap:.5rem}.event-recipient-input{width:44px;padding:.375rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);font-family:JetBrains Mono,SF Mono,monospace;font-size:.875rem;font-weight:600;text-align:center;transition:border-color .15s,background-color .15s}.event-recipient-input:focus{outline:none;border-color:var(--color-accent)}.event-recipient-input::placeholder{color:#fff6;font-weight:400}.event-recipient-input.empty{background:#ffa5001a;border-color:#ffa50066}.event-outcome-btn{padding:.25rem .5rem;font-family:JetBrains Mono,SF Mono,monospace;font-size:.6875rem;font-weight:600;text-transform:uppercase;border-radius:4px;cursor:pointer;transition:background-color .15s,border-color .15s,transform .1s;min-width:70px;text-align:center}.event-outcome-btn:hover{transform:scale(1.05)}.event-outcome-btn:active{transform:scale(.98)}.event-outcome-btn.outcome-unknown{background:#6b728033;border:1px solid rgba(107,114,128,.4);color:#9ca3af}.event-outcome-btn.outcome-success{background:#22c55e33;border:1px solid rgba(34,197,94,.4);color:#4ade80}.event-outcome-btn.outcome-failed{background:#ef444433;border:1px solid rgba(239,68,68,.4);color:#f87171}.event-pass-length{font-family:JetBrains Mono,SF Mono,monospace;font-size:.875rem;font-weight:500;color:var(--color-text-muted);min-width:36px}.event-confirm-btn{padding:.5rem 1.25rem;background:#22c55e;border:none;border-radius:4px;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .15s,transform .1s}.event-confirm-btn:hover:not(:disabled){background:#16a34a;transform:translateY(-1px)}.event-confirm-btn:disabled{opacity:.6;cursor:not-allowed}.event-confirm-btn.system-proposal{background:#eab308}.event-confirm-btn.system-proposal:hover:not(:disabled){background:#ca8a04}.event-auto-confirm-btn{padding:.125rem .5rem;background:transparent;border:1px solid rgba(255,255,255,.3);border-radius:4px;color:#ffffff80;font-size:.625rem;font-weight:600;text-transform:uppercase;cursor:pointer;transition:all .2s ease;flex-shrink:0}.event-auto-confirm-btn:hover{background:#ffffff1a;border-color:#ffffff80;color:#fffc}.event-auto-confirm-btn.active{background:#3b82f633;border-color:#3b82f6;color:#60a5fa}.event-auto-confirm-btn.active:hover{background:#3b82f64d}.event-delete-confirm-overlay{position:absolute;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;border-radius:8px;z-index:10}.event-delete-confirm-dialog{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:8px;padding:1rem;max-width:90%;text-align:center}.event-delete-confirm-message{margin:0 0 1rem;font-size:.875rem;color:var(--color-text-primary);line-height:1.4}.event-delete-confirm-message strong{color:var(--color-text-primary)}.event-delete-confirm-buttons{display:flex;gap:.75rem;justify-content:center}.event-delete-cancel-btn{padding:.5rem 1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-primary);font-size:.875rem;cursor:pointer;transition:background-color .15s,border-color .15s}.event-delete-cancel-btn:hover:not(:disabled){background:var(--color-surface-elevated);border-color:var(--color-text-muted)}.event-delete-confirm-btn{padding:.5rem 1rem;background:#ef4444;border:none;border-radius:4px;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .15s}.event-delete-confirm-btn:hover:not(:disabled){background:#dc2626}.event-delete-cancel-btn:disabled,.event-delete-confirm-btn:disabled{opacity:.6;cursor:not-allowed}.workflow-button-container{position:absolute;left:50%;transform:translate(-50%);z-index:10;display:flex;gap:1rem}.workflow-btn{padding:.75rem 2rem;font-family:inherit;font-weight:700;border:none;border-radius:var(--radius-md);cursor:pointer;transition:transform .15s,box-shadow .15s,background-color .15s;text-transform:uppercase;letter-spacing:.5px}.workflow-btn:hover{transform:scale(1.05)}.workflow-btn:active{transform:scale(.98)}.workflow-btn-start{font-size:1.25rem;color:#fff;background:#dc2626;box-shadow:0 4px 20px #dc262666}.workflow-btn-start:hover{background:#b91c1c;box-shadow:0 6px 25px #dc262680}.workflow-btn-continue{font-size:1.25rem;color:#fff;background:#0ea5e9;box-shadow:0 4px 20px #0ea5e966}.workflow-btn-continue:hover{background:#0284c7;box-shadow:0 6px 25px #0ea5e980}.workflow-btn-completed{font-size:.75rem;padding:.4rem .75rem;min-width:250px;color:#166534;background:#86efac;box-shadow:0 2px 8px #22c55e40}.workflow-btn-completed:hover{background:#4ade80;box-shadow:0 3px 12px #22c55e59}.event-progress-container{position:relative;min-width:250px;height:32px;padding:.4rem .75rem;font-family:inherit;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border-radius:var(--radius-md);background:#14532d;box-shadow:0 2px 8px #22c55e40;overflow:hidden;box-sizing:border-box}.event-progress-fill{position:absolute;top:0;left:0;height:100%;background:#86efac;transition:width .3s ease-out;border-radius:var(--radius-md) 0 0 var(--radius-md)}.event-progress-text{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.finalize-modal-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fade-in .2s ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.finalize-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2rem;max-width:450px;width:90%;box-shadow:0 20px 60px #00000080;animation:modal-slide-in .3s ease-out}@keyframes modal-slide-in{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.finalize-modal-title{font-size:1.25rem;font-weight:600;color:var(--color-text);margin:0 0 1rem;text-align:center}.finalize-modal-message{font-size:1rem;color:var(--color-text);margin:0 0 .75rem;text-align:center;line-height:1.5}.finalize-modal-warning{font-size:.875rem;color:#fbbf24;margin:0 0 1.5rem;text-align:center;padding:.75rem;background:#fbbf241a;border:1px solid rgba(251,191,36,.3);border-radius:var(--radius-sm)}.finalize-modal-buttons{display:flex;gap:1rem;justify-content:center}.finalize-cancel-btn{padding:.75rem 1.5rem;font-family:inherit;font-size:.9375rem;font-weight:500;color:var(--color-text);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:background-color .15s,border-color .15s}.finalize-cancel-btn:hover:not(:disabled){background:var(--color-surface);border-color:var(--color-text-muted)}.finalize-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.finalize-confirm-btn{padding:.75rem 1.5rem;font-family:inherit;font-size:.9375rem;font-weight:600;color:#fff;background:#22c55e;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color .15s,transform .1s}.finalize-confirm-btn:hover:not(:disabled){background:#16a34a}.finalize-confirm-btn:active:not(:disabled){transform:scale(.98)}.finalize-confirm-btn:disabled{opacity:.6;cursor:not-allowed}.back-confirm-btn{padding:.75rem 1.5rem;font-family:inherit;font-size:.9375rem;font-weight:600;color:#fff;background:#f59e0b;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color .15s,transform .1s}.back-confirm-btn:hover{background:#d97706}.back-confirm-btn:active{transform:scale(.98)}.toast-notification{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:#fbbf24;color:#1a1a1a;padding:.875rem 1.5rem;border-radius:var(--radius-md);font-size:.9375rem;font-weight:500;box-shadow:0 4px 20px #0006;z-index:2000;animation:toast-slide-in .3s ease-out;max-width:90%;text-align:center}@keyframes toast-slide-in{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.tracking-edit-popup{position:absolute;top:1rem;left:50%;transform:translate(-50%);min-width:280px;max-width:360px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 8px 32px #00000080;z-index:100;display:flex;flex-direction:column;overflow:hidden}.tracking-edit-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--color-surface-elevated);border-bottom:1px solid var(--color-border)}.tracking-edit-title{flex:1;font-size:.9375rem;font-weight:600;color:var(--color-text)}.tracking-edit-track-id{font-family:JetBrains Mono,SF Mono,monospace;font-size:.6875rem;color:var(--color-text-muted);padding:.125rem .375rem;background:var(--color-surface);border-radius:4px}.tracking-edit-close-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--color-text-muted);font-size:1.25rem;cursor:pointer;border-radius:4px;transition:background-color .15s,color .15s}.tracking-edit-close-btn:hover{background:var(--color-surface);color:var(--color-text)}.tracking-edit-body{padding:1rem 1.25rem;display:flex;flex-direction:column;gap:1rem}.tracking-edit-row{display:flex;align-items:center;gap:1rem}.tracking-edit-label{font-size:.875rem;color:var(--color-text-muted);font-weight:500;min-width:50px}.tracking-type-selector{position:relative;flex:1}.tracking-type-btn{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);font-size:.875rem;font-weight:500;cursor:pointer;transition:border-color .15s,background-color .15s}.tracking-type-btn:hover{border-color:var(--color-accent);background:var(--color-surface)}.tracking-type-arrow{font-size:.625rem;color:var(--color-text-muted);margin-left:.5rem}.tracking-type-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;box-shadow:0 4px 12px #0006;overflow:hidden;z-index:110}.tracking-type-menu-item{display:block;width:100%;padding:.5rem .75rem;font-size:.875rem;color:var(--color-text);background:transparent;border:none;cursor:pointer;text-align:left;transition:background-color .15s}.tracking-type-menu-item:hover{background:var(--color-surface-elevated)}.tracking-type-menu-item.active{color:var(--color-accent);background:var(--color-accent-dim)}.tracking-jersey-input-container{flex:1;display:flex;align-items:center;gap:.5rem}.tracking-jersey-input{width:60px;padding:.5rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);font-family:JetBrains Mono,SF Mono,monospace;font-size:1rem;font-weight:600;text-align:center;transition:border-color .15s,background-color .15s}.tracking-jersey-input:focus{outline:none;border-color:var(--color-accent)}.tracking-jersey-input::placeholder{color:#fff6;font-weight:400}.tracking-jersey-input.disabled{opacity:.4;background:var(--color-surface);cursor:not-allowed}.tracking-jersey-hint{font-size:.75rem;color:var(--color-text-muted);font-style:italic}.tracking-edit-error{padding:.5rem;background:#ff33331a;border:1px solid rgba(255,51,51,.3);border-radius:4px;color:var(--color-error);font-size:.75rem;text-align:center}.tracking-edit-footer{padding:.75rem 1rem;border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:.75rem}.tracking-cancel-btn{padding:.5rem 1rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);font-size:.875rem;cursor:pointer;transition:background-color .15s,border-color .15s}.tracking-cancel-btn:hover:not(:disabled){background:var(--color-surface);border-color:var(--color-text-muted)}.tracking-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.tracking-apply-btn{padding:.5rem 1.25rem;background:#22c55e;border:none;border-radius:4px;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .15s,transform .1s}.tracking-apply-btn:hover:not(:disabled){background:#16a34a;transform:translateY(-1px)}.tracking-apply-btn:disabled{opacity:.4;cursor:not-allowed}
