.field-coordinates-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.field-coordinates-modal{background:#fff;border-radius:12px;padding:30px;max-width:800px;width:90%;box-shadow:0 4px 20px #0000004d}.modal-header{text-align:center;margin-bottom:20px}.modal-header h3{margin:0 0 10px;color:#2c3e50;font-size:1.5em}.action-label{color:#3498db;font-weight:700;font-size:1.1em;margin:0}.football-field{width:100%;aspect-ratio:2;background:linear-gradient(135deg,#f4d03f,#ffeb99,#f4d03f,#ffeb99,#f4d03f);border:3px solid white;border-radius:4px;position:relative;cursor:crosshair;box-shadow:inset 0 0 20px #00000026;margin:20px 0}.field-lines{position:absolute;top:0;left:0;right:0;bottom:0}.center-line{position:absolute;left:50%;top:0;bottom:0;width:2px;background:#fff;transform:translate(-50%)}.center-circle{position:absolute;left:50%;top:50%;width:180px;height:180px;border:2px solid white;border-radius:50%;transform:translate(-50%,-50%)}.penalty-area{position:absolute;width:12%;height:60%;border:2px solid white;top:20%}.penalty-area.left{left:0;border-left:none;border-radius:0 50% 50% 0}.penalty-area.right{right:0;border-right:none;border-radius:50% 0 0 50%}.goal.attacking{background:#f59e0be6}.football-field .zone-line{position:absolute;z-index:2;pointer-events:none}.football-field .zone-line-v{top:0;bottom:0;width:0;border-left:5px dashed rgba(0,0,0,.6)}.football-field .zone-line-h{left:0;right:0;height:0;border-top:5px dashed rgba(0,0,0,.6)}.coordinate-marker{position:absolute;font-size:2em;transform:translate(-50%,-50%);animation:bounce .5s;filter:drop-shadow(0 0 4px rgba(255,255,255,.8))}@keyframes bounce{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.3)}}.coordinates-display{text-align:center;padding:10px;background:#f8f9fa;border-radius:6px;font-family:monospace;color:#2c3e50;margin-top:15px}.modal-actions{display:flex;gap:15px;justify-content:center;margin-top:25px}.modal-actions button{padding:12px 30px;font-size:1em;border:none;border-radius:6px;cursor:pointer;font-weight:700;transition:all .2s}.step-indicator{color:#3498db;font-weight:700;font-size:1em;margin:10px 0 0}.btn-cancel{background:#95a5a6;color:#fff}.btn-cancel:hover{background:#7f8c8d}.btn-reset{background:#f59e0b;color:#fff}.btn-reset:hover{background:#d97706}.btn-confirm{background:#27ae60;color:#fff}.btn-confirm:hover{background:#229954}.btn-confirm:disabled{background:#bdc3c7;cursor:not-allowed}@media (max-width: 768px){.field-coordinates-modal{padding:16px;width:95%;max-width:none;max-height:90vh;overflow-y:auto}.modal-header h3{font-size:1.2em}.action-label{font-size:1em}.football-field{margin:12px 0}.center-circle{width:120px;height:120px}.coordinate-marker{font-size:1.5em}.modal-actions{flex-direction:column;gap:10px;margin-top:16px}.modal-actions button{padding:10px 20px;width:100%}}@media (max-width: 480px){.field-coordinates-modal{padding:12px;border-radius:8px}.modal-header{margin-bottom:12px}.modal-header h3{font-size:1.1em}.coordinates-display{font-size:.85rem;padding:8px}}.goal-map-container{margin-top:20px;padding:20px;background:#f8f9fa;border-radius:8px}.goal-map-container h4{margin:0 0 10px;text-align:center;color:#2c3e50}.goal-map-instruction{text-align:center;color:#6b7280;font-size:.9em;margin-bottom:15px}.visual-goal-map.futsal{position:relative;width:100%;max-width:450px;aspect-ratio:1.5;margin:0 auto;cursor:crosshair;border-radius:8px;overflow:hidden}.goal-background{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,#87ceeb,#a8d8ea,#c9e4ca,#d4a76a,#c4956a)}.miss-zone{position:absolute;display:flex;align-items:center;justify-content:center;background:#ff64641a;transition:background .2s}.miss-zone:hover{background:#ff646440}.miss-zone.top-zone{top:0;left:20%;width:60%;height:25%;border-bottom:2px dashed rgba(255,0,0,.3)}.miss-zone.left-zone{top:25%;left:0;width:20%;height:50%;border-right:2px dashed rgba(255,0,0,.3)}.miss-zone.right-zone{top:25%;right:0;width:20%;height:50%;border-left:2px dashed rgba(255,0,0,.3)}.miss-label{font-size:.65em;font-weight:700;color:#b4000099;text-transform:uppercase;letter-spacing:1px;text-align:center;padding:4px}.goal-frame-visual.futsal-goal{position:absolute;transform:none;background:linear-gradient(180deg,#fffffff2,#f0f8ffe6);border:none;border-radius:0;box-shadow:inset 0 0 20px #0064001a,0 4px 20px #0000004d;overflow:hidden}.goal-net{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent,transparent 10%,rgba(200,200,200,.4) 10%,rgba(200,200,200,.4) 10.5%),repeating-linear-gradient(0deg,transparent,transparent 15%,rgba(200,200,200,.4) 15%,rgba(200,200,200,.4) 15.5%)}.net-line{position:absolute;background:#b4b4b480;pointer-events:none}.net-line.horizontal{height:1px;width:100%;left:0}.net-line.vertical{width:1px;height:100%;top:0}.goalpost{position:absolute;width:8px;height:100%;background:linear-gradient(90deg,#f0f0f0,#fff,#e0e0e0);border:1px solid #ccc;box-shadow:2px 0 8px #0000004d}.goalpost.left-post{left:-4px;border-radius:4px 0 0 4px}.goalpost.right-post{right:-4px;border-radius:0 4px 4px 0}.crossbar{position:absolute;top:-4px;left:-4px;right:-4px;height:8px;background:linear-gradient(180deg,#f0f0f0,#fff,#e0e0e0);border:1px solid #ccc;border-radius:4px 4px 0 0;box-shadow:0 2px 8px #0000004d}.goal-label{position:absolute;bottom:10px;left:50%;transform:translate(-50%);font-size:.75em;font-weight:700;color:#00640080;text-transform:uppercase;letter-spacing:2px;pointer-events:none}.goal-marker{position:absolute;width:36px;height:36px;border-radius:50%;border:3px solid;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;font-size:1.3em;z-index:10;animation:markerPulse 1s infinite;box-shadow:0 0 15px currentColor}.goal-marker.in-goal{background:#00b400cc!important;border-color:#0a0!important}.goal-marker.missed{background:#dc3232cc!important;border-color:#c00!important}@keyframes markerPulse{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.1)}}.coordinates-info{text-align:center;margin-top:15px;padding:12px;background:#fff;border-radius:6px;border:3px solid;font-size:.95em;box-shadow:0 2px 8px #0000001a}.coordinates-info.in-goal{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-color:#4caf50!important}.coordinates-info.missed{background:linear-gradient(135deg,#ffebee,#ffcdd2);border-color:#f44336!important}.coordinates-info strong{color:#2c3e50;margin-right:8px}@media (max-width: 768px){.visual-goal-map.futsal{max-width:320px}.goal-marker{width:28px;height:28px;font-size:1em}.miss-label{font-size:.55em}.goal-label{font-size:.6em}.goalpost{width:6px}.crossbar{height:6px}}.field-visualization{margin-top:20px;padding:20px;background:#f8f9fa;border-radius:8px}.field-visualization h4{margin:0 0 15px;color:#2c3e50;text-align:center}.no-coordinates{text-align:center;padding:20px;color:#6b7280;font-style:italic}.visualization-field{width:100%;aspect-ratio:2;background:linear-gradient(135deg,#f4d03f,#ffeb99,#f4d03f,#ffeb99,#f4d03f);border:3px solid white;border-radius:4px;position:relative;box-shadow:inset 0 0 20px #00000026;margin-bottom:20px}.goal{position:absolute;width:8px;height:30%;top:35%;background:#ffffffe6;z-index:5}.goal.left{left:-4px;border-left:3px solid white;border-top:3px solid white;border-bottom:3px solid white}.goal.right{right:-4px;border-right:3px solid white;border-top:3px solid white;border-bottom:3px solid white}.zone-line{position:absolute;z-index:2;pointer-events:none}.zone-line-v{top:0;bottom:0;width:0;border-left:5px dashed rgba(0,0,0,.6)}.zone-line-h{left:0;right:0;height:0;border-top:5px dashed rgba(0,0,0,.6)}.action-marker{position:absolute;width:30px;height:30px;border-radius:50%;border:3px solid;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:.9em;box-shadow:0 2px 8px #0000004d;z-index:10;cursor:pointer;transition:transform .2s}.action-marker:hover{transform:translate(-50%,-50%) scale(1.2);z-index:20}.action-marker.end{width:25px;height:25px;font-size:.8em}.marker-number{text-shadow:0 1px 2px rgba(0,0,0,.5)}.action-arrow-svg{z-index:5}.visualization-legend{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto;padding:10px;background:#fff;border-radius:6px;border:1px solid #e5e7eb}.legend-item{display:flex;align-items:center;gap:10px;padding:8px;border-radius:4px;transition:background .2s}.legend-item:hover{background:#f3f4f6}.legend-marker{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:.8em;flex-shrink:0;box-shadow:0 1px 3px #0000004d}.legend-text{color:#374151;font-size:.9em}@media (max-width: 768px){.field-visualization{padding:12px;margin-top:12px}.action-marker{width:22px;height:22px;font-size:.7em;border-width:2px}.action-marker.end{width:18px;height:18px;font-size:.65em}.visualization-legend{max-height:200px;padding:8px}.legend-item{padding:6px;gap:8px}.legend-marker{width:20px;height:20px;font-size:.7em}.legend-text{font-size:.8em}}@media (max-width: 480px){.field-visualization{padding:8px}.action-marker{width:18px;height:18px;font-size:.6em}.action-marker.end{width:15px;height:15px;font-size:.55em}}.video-player-container{background:var(--surface-color);border-radius:12px;overflow:hidden;margin-bottom:1rem;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.video-player-container.compact{position:sticky;top:10px;z-index:100}.video-player-container.compact .video-wrapper{width:100%}.video-player-container.expanded{position:relative}.video-player-container.pip{opacity:.7}.video-player-header{display:flex;align-items:center;gap:10px;padding:12px 16px;cursor:pointer;background:var(--bg-color);transition:background .2s}.video-player-header:hover{background:var(--surface-color)}.video-icon{font-size:1.2em}.video-title{flex:1;font-weight:500;color:var(--text-color)}.header-mode-buttons{display:flex;gap:4px}.expand-icon{font-size:.8em;color:var(--text-secondary);transition:transform .3s}.expand-icon.rotated{transform:rotate(180deg)}.view-mode-buttons{display:flex;gap:4px}.mode-btn{padding:4px 8px;border:none;background:var(--bg-color);border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.mode-btn:hover{background:var(--primary-color);transform:scale(1.1)}.mode-btn.active{background:var(--primary-color)}.mode-btn.close-btn:hover{background:#ef4444}.video-player-content{padding:12px;border-top:1px solid var(--border-color)}.video-input-section{margin-bottom:12px}.input-row{display:flex;gap:8px}.video-url-input{flex:1;padding:10px 14px;border:2px solid var(--border-color);border-radius:8px;font-size:14px;background:var(--bg-color);color:var(--text-color);transition:border-color .2s}.video-url-input:focus{outline:none;border-color:var(--primary-color)}.video-url-input:disabled{opacity:.6;cursor:not-allowed}.save-url-btn{padding:10px 16px;background:var(--primary-color);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:16px;transition:opacity .2s}.save-url-btn:hover:not(:disabled){opacity:.9}.save-url-btn:disabled{opacity:.5;cursor:not-allowed}.input-divider{text-align:center;color:var(--text-secondary);font-size:12px;margin:12px 0;position:relative}.input-divider:before,.input-divider:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:var(--border-color)}.input-divider:before{left:0}.input-divider:after{right:0}.file-input-row{display:flex;gap:8px;align-items:center}.file-input{display:none}.file-input-label{flex:1;padding:10px 14px;background:var(--bg-color);border:2px dashed var(--border-color);border-radius:8px;text-align:center;cursor:pointer;color:var(--text-color);transition:all .2s}.file-input-label:hover{border-color:var(--primary-color);background:var(--surface-color)}.clear-video-btn{padding:10px 14px;background:#ef4444;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px}.clear-video-btn:hover{background:#dc2626}.video-error{margin-top:8px;padding:8px 12px;background:#fef2f2;color:#dc2626;border-radius:6px;font-size:13px}.video-wrapper{position:relative;width:100%;background:#000;border-radius:8px;overflow:hidden;aspect-ratio:16 / 9}.video-wrapper.compact{width:100%;aspect-ratio:16 / 9}.video-element,.youtube-iframe{width:100%;height:100%;border:none}.youtube-player-container{width:100%;height:100%;background:#000}.youtube-player-container iframe{width:100%;height:100%;border:none}.video-element{background:#000}.video-controls-compact{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:10px;padding:8px;background:var(--bg-color);border-radius:8px;flex-wrap:wrap}.video-controls-compact .control-btn{padding:6px 10px;background:var(--surface-color);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.video-controls-compact .control-btn:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.speed-select{padding:6px 10px;border:1px solid var(--border-color);border-radius:6px;background:var(--surface-color);color:var(--text-color);font-size:13px;cursor:pointer}.video-floating-container{position:fixed;z-index:9999;width:400px;background:var(--surface-color);border-radius:12px;box-shadow:0 8px 32px #0000004d;overflow:hidden;resize:both;min-width:280px;max-width:80vw}.floating-header{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-color);cursor:grab;-webkit-user-select:none;user-select:none}.floating-header:active{cursor:grabbing}.drag-handle{color:var(--text-secondary);font-size:16px}.floating-title{flex:1;font-weight:500;font-size:14px;color:var(--text-color)}.video-floating-container .video-wrapper{width:100%;aspect-ratio:16 / 9}.video-floating-container .video-controls-compact{padding:6px;margin:0;border-radius:0}.video-floating-container .control-btn{padding:4px 8px;font-size:12px}.video-player-placeholder{background:var(--surface-color);border-radius:12px;padding:16px;margin-bottom:1rem;text-align:center;border:2px dashed var(--border-color)}.restore-btn{padding:10px 20px;background:var(--primary-color);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px}.restore-btn:hover{opacity:.9}.video-player-container.collapsed .video-player-content{display:none}[data-theme=dark] .video-error{background:#450a0a;color:#fca5a5}[data-theme=dark] .video-floating-container{box-shadow:0 8px 32px #0009}@media (max-width: 768px){.video-player-container.compact{position:relative;top:0}.video-floating-container{width:260px;min-width:200px}.video-controls-compact{gap:4px}.video-controls-compact .control-btn{padding:4px 8px;font-size:12px}.header-mode-buttons{display:none}}.team-shots-viz{margin-top:30px;padding:25px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.team-shots-viz h3{margin:0 0 20px;color:#2c3e50;text-align:center;font-size:1.4em}.no-data{text-align:center;color:#6b7280;padding:40px 20px;font-style:italic}.view-mode-toggle{display:flex;gap:8px;justify-content:center;margin-bottom:15px}.view-mode-btn{padding:8px 20px;border:2px solid #d1d5db;border-radius:6px;background:#fff;cursor:pointer;font-size:.9em;font-weight:500;transition:all .2s ease;color:#4b5563}.view-mode-btn:hover{border-color:#667eea;transform:translateY(-1px)}.view-mode-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea;box-shadow:0 4px 8px #667eea66}.half-filter{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:15px;padding:15px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.half-filter-btn{padding:8px 16px;border:2px solid #d1d5db;border-radius:6px;background:#fff;cursor:pointer;font-size:.9em;font-weight:500;transition:all .2s ease;color:#4b5563}.half-filter-btn:hover{border-color:#667eea;transform:translateY(-1px);box-shadow:0 2px 6px #667eea4d}.half-filter-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea;box-shadow:0 4px 8px #667eea66}.action-type-filters{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:20px;padding:20px;background:#f8f9fa;border-radius:10px}.filter-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;border:2px solid transparent;border-radius:8px;background:#fff;cursor:pointer;font-size:.95em;font-weight:500;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.filter-btn .filter-marker{width:14px;height:14px;border-radius:50%;background:var(--action-color, #ccc);transition:all .2s ease;box-shadow:0 0 4px #0003}.filter-btn.active{border-color:var(--action-color, #ccc);background:#fff;box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.filter-btn.active .filter-marker{box-shadow:0 0 8px var(--action-color, #ccc)}.filter-btn.inactive{opacity:.5;background:#f5f5f5}.filter-btn.inactive .filter-marker{opacity:.4}.filter-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.filter-btn:active{transform:translateY(0)}.shots-legend{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-bottom:20px;padding:15px;background:#f8f9fa;border-radius:8px}.legend-item{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001a;font-size:.9em}.legend-marker{width:16px;height:16px;border-radius:50%;box-shadow:0 0 4px #0003}.shots-field{width:100%;aspect-ratio:2;background:linear-gradient(135deg,#f4d03f,#ffeb99,#f4d03f,#ffeb99,#f4d03f);border:3px solid white;border-radius:4px;position:relative;box-shadow:inset 0 0 20px #00000026;margin:20px 0;overflow:visible}.shots-field:after{content:"";position:absolute;right:-50px;top:-20px;bottom:-20px;width:50px;background:#ffc8c833;border:2px dashed rgba(220,38,38,.3);border-left:none;pointer-events:none;z-index:0}.shots-field .field-lines{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.shots-field .center-line{position:absolute;left:50%;top:0;bottom:0;width:2px;background:#fff;transform:translate(-50%)}.shots-field .center-circle{position:absolute;left:50%;top:50%;width:180px;height:180px;border:2px solid white;border-radius:50%;transform:translate(-50%,-50%)}.shots-field .penalty-area{position:absolute;width:12%;height:60%;border:2px solid white;top:20%}.shots-field .penalty-area.left{left:0;border-left:none;border-radius:0 50% 50% 0}.shots-field .penalty-area.right{right:0;border-right:none;border-radius:50% 0 0 50%}.shots-field .goal{position:absolute;width:8px;height:30%;top:35%;background:#ffffffe6;z-index:5}.shots-field .goal.left{left:-4px;border-left:3px solid white;border-top:3px solid white;border-bottom:3px solid white}.shots-field .goal.right{right:-4px;border-right:3px solid white;border-top:3px solid white;border-bottom:3px solid white}.shots-field .zone-line{position:absolute;z-index:2;pointer-events:none}.shots-field .zone-line-v{top:0;bottom:0;width:0;border-left:5px dashed rgba(0,0,0,.6)}.shots-field .zone-line-h{left:0;right:0;height:0;border-top:5px dashed rgba(0,0,0,.6)}.shots-field .zone-overlay{position:absolute;top:0;bottom:0;z-index:1;pointer-events:none;transition:background .3s ease}.shots-field .zone-overlay-left{left:0;width:35%;border-radius:8px 0 0 8px}.shots-field .zone-overlay-right{right:0;width:35%;border-radius:0 8px 8px 0}.shots-field .field-half-label{position:absolute;top:50%;transform:translateY(-50%);z-index:3;font-size:.85rem;font-weight:700;color:#00000073;pointer-events:none;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.shots-field .field-half-label-left{left:5%}.shots-field .field-half-label-right{right:5%}.shot-marker{position:absolute;border-radius:50%;border:3px solid;transform:translate(-50%,-50%);z-index:10}.shot-marker.start{width:12px;height:12px;box-shadow:0 0 6px #0006;cursor:pointer;pointer-events:auto}.shot-marker.end{width:10px;height:10px;box-shadow:0 0 4px #0000004d;pointer-events:none}.shot-marker.end.outside{width:14px;height:14px;border-style:dashed;opacity:.8}.shots-svg{z-index:5;overflow:visible}.shots-stats-summary{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-top:20px;padding-top:20px;border-top:2px solid #e5e7eb}.stat-box{flex:1;min-width:120px;max-width:150px;padding:15px;background:#f8f9fa;border-radius:8px;text-align:center;transition:transform .2s,box-shadow .2s}.stat-box:hover{transform:translateY(-3px);box-shadow:0 4px 12px #00000026}.stat-box.highlight{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.stat-number{font-size:2em;font-weight:700;color:#2c3e50;margin-bottom:5px}.stat-box.highlight .stat-number{color:#fff}.stat-label{font-size:.85em;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.stat-box.highlight .stat-label{color:#ffffffe6}@media (max-width: 768px){.half-filter{gap:8px;padding:12px}.half-filter-btn{padding:6px 12px;font-size:.85em}.action-type-filters{gap:8px;padding:15px}.filter-btn{padding:8px 12px;font-size:.85em}.filter-btn .filter-marker{width:12px;height:12px}.shots-legend{gap:10px}.legend-item{font-size:.8em;padding:4px 8px}.legend-marker{width:12px;height:12px}.shots-field{margin:15px 0}.shot-marker.start{width:10px;height:10px}.shot-marker.end{width:8px;height:8px}.stat-box{min-width:100px}.stat-number{font-size:1.6em}.stat-label{font-size:.75em}}.action-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#000000e6;color:#fff;padding:8px 12px;border-radius:8px;font-size:.8em;line-height:1.4;white-space:nowrap;z-index:100;pointer-events:auto;box-shadow:0 2px 8px #0000004d}.action-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#000000e6}.heatmap-type-filter{margin-bottom:12px}.heatmap-type-filter-label{color:#9ca3af;font-size:.8rem;font-weight:600;margin-bottom:6px;display:block}.heatmap-type-filter-row{display:flex;flex-wrap:wrap;gap:6px}.heatmap-type-chip{padding:5px 10px;border-radius:8px;border:1.5px solid;background:transparent;color:#ccc;font-size:.78rem;font-weight:500;cursor:pointer;transition:all .15s}.heatmap-type-chip:hover{opacity:.85}.heatmap-type-chip.on{color:#fff}.goal-heatmap{margin-top:30px;padding:25px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.goal-heatmap h3{margin:0 0 10px;color:#2c3e50;text-align:center;font-size:1.4em}.heatmap-description{text-align:center;color:#6b7280;font-size:.9em;margin-bottom:20px;font-style:italic}.goal-heatmap .half-filter{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:15px;padding:15px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.goal-heatmap .half-filter-btn{padding:8px 16px;border:2px solid #d1d5db;border-radius:6px;background:#fff;cursor:pointer;font-size:.9em;font-weight:500;transition:all .2s ease;color:#4b5563}.goal-heatmap .half-filter-btn:hover{border-color:#667eea;transform:translateY(-1px);box-shadow:0 2px 6px #667eea4d}.goal-heatmap .half-filter-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea;box-shadow:0 4px 8px #667eea66}.action-type-filters{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:15px;padding:12px;background:#f8f9fa;border-radius:8px}.action-type-filters .filter-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:2px solid var(--action-color, #d1d5db);border-radius:20px;background:#fff;cursor:pointer;font-size:.85em;font-weight:500;transition:all .2s ease}.action-type-filters .filter-btn .filter-marker{font-size:1.1em}.action-type-filters .filter-btn.active{background:var(--action-color, #667eea);color:#fff;border-color:var(--action-color, #667eea);box-shadow:0 2px 6px #0003}.action-type-filters .filter-btn.inactive{opacity:.5;background:#f3f4f6;color:#6b7280}.action-type-filters .filter-btn:hover{transform:translateY(-1px);box-shadow:0 3px 8px #00000026}.heatmap-legend{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-bottom:20px;padding:15px;background:#f8f9fa;border-radius:8px}.heatmap-legend .legend-item{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001a;font-size:.9em}.legend-dot{width:16px;height:16px;border-radius:50%;box-shadow:0 0 4px #0003}.futsal-goal-visualization{position:relative;width:100%;max-width:450px;aspect-ratio:1.5;margin:0 auto 20px;border-radius:8px;overflow:visible}.futsal-goal-visualization .goal-background{border-radius:8px;overflow:hidden}.futsal-goal-visualization .action-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#000000e6;color:#fff;padding:8px 12px;border-radius:8px;font-size:.8em;line-height:1.4;white-space:nowrap;z-index:100;pointer-events:auto;box-shadow:0 2px 8px #0000004d}.futsal-goal-visualization .action-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#000000e6}.futsal-goal-visualization .goal-background{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,#87ceeb,#a8d8ea,#c9e4ca,#d4a76a,#c4956a)}.futsal-goal-visualization .miss-zone{position:absolute;display:flex;align-items:center;justify-content:center;background:#ff64641a}.futsal-goal-visualization .miss-zone.top-zone{top:0;left:20%;width:60%;height:25%;border-bottom:2px dashed rgba(255,0,0,.3)}.futsal-goal-visualization .miss-zone.left-zone{top:25%;left:0;width:20%;height:50%;border-right:2px dashed rgba(255,0,0,.3)}.futsal-goal-visualization .miss-zone.right-zone{top:25%;right:0;width:20%;height:50%;border-left:2px dashed rgba(255,0,0,.3)}.miss-label{font-size:.6em;font-weight:700;color:#b4000080;text-transform:uppercase;letter-spacing:1px;text-align:center;padding:4px}.goal-frame-visual.futsal-goal{position:absolute;background:linear-gradient(180deg,#fffffff2,#f0f8ffe6);border:none;border-radius:0;box-shadow:inset 0 0 20px #0064001a,0 4px 20px #0000004d;overflow:hidden}.futsal-goal-visualization .goal-net{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent,transparent 10%,rgba(200,200,200,.4) 10%,rgba(200,200,200,.4) 10.5%),repeating-linear-gradient(0deg,transparent,transparent 15%,rgba(200,200,200,.4) 15%,rgba(200,200,200,.4) 15.5%)}.futsal-goal-visualization .net-line{position:absolute;background:#b4b4b480;pointer-events:none}.futsal-goal-visualization .net-line.horizontal{height:1px;width:100%;left:0}.futsal-goal-visualization .net-line.vertical{width:1px;height:100%;top:0}.futsal-goal-visualization .goalpost{position:absolute;width:8px;height:100%;background:linear-gradient(90deg,#f0f0f0,#fff,#e0e0e0);border:1px solid #ccc;box-shadow:2px 0 8px #0000004d}.futsal-goal-visualization .goalpost.left-post{left:-4px;border-radius:4px 0 0 4px}.futsal-goal-visualization .goalpost.right-post{right:-4px;border-radius:0 4px 4px 0}.futsal-goal-visualization .crossbar{position:absolute;top:-4px;left:-4px;right:-4px;height:8px;background:linear-gradient(180deg,#f0f0f0,#fff,#e0e0e0);border:1px solid #ccc;border-radius:4px 4px 0 0;box-shadow:0 2px 8px #0000004d}.futsal-goal-visualization .goal-label{position:absolute;bottom:10px;left:50%;transform:translate(-50%);font-size:.7em;font-weight:700;color:#00640066;text-transform:uppercase;letter-spacing:2px;pointer-events:none}.futsal-goal-visualization .goal-dot{position:absolute;width:28px;height:28px;border-radius:50%;border:3px solid;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;font-size:.9em;z-index:10;box-shadow:0 2px 8px #0000004d;cursor:pointer;transition:all .2s ease}.futsal-goal-visualization .goal-dot.in-goal{opacity:1;border-width:3px;animation:dotPulse 2s infinite}.futsal-goal-visualization .goal-dot.outside-goal{opacity:.85;border-style:dashed;border-width:2px}.futsal-goal-visualization .goal-dot:hover{transform:translate(-50%,-50%) scale(1.4);z-index:20;box-shadow:0 4px 16px #00000080;opacity:1}@keyframes dotPulse{0%,to{box-shadow:0 2px 8px #0000004d}50%{box-shadow:0 2px 16px #00000080}}.zone-stats{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-top:20px;padding-top:20px;border-top:2px solid #e5e7eb}.stat-card{flex:1;min-width:100px;max-width:150px;padding:18px 15px;background:#f8f9fa;border-radius:10px;text-align:center;transition:all .2s ease;border:2px solid transparent}.stat-card:hover{transform:translateY(-3px);box-shadow:0 6px 16px #00000026;border-color:#667eea}.stat-card.success{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.stat-card.missed{background:linear-gradient(135deg,#fee2e2,#fecaca)}.stat-card.saves{background:linear-gradient(135deg,#e0e7ff,#c7d2fe)}.stat-card.highlight{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.stat-icon{font-size:1.8em;margin-bottom:8px}.stat-value{font-size:2em;font-weight:700;color:#2c3e50;margin-bottom:5px}.stat-card.highlight .stat-value{color:#fff}.stat-label{font-size:.8em;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.stat-card.highlight .stat-label{color:#fffffff2}@media (max-width: 768px){.goal-heatmap{padding:20px 15px}.goal-heatmap h3{font-size:1.1em}.goal-heatmap .half-filter{gap:8px;padding:12px}.goal-heatmap .half-filter-btn{padding:6px 12px;font-size:.85em}.heatmap-legend{gap:10px}.heatmap-legend .legend-item{font-size:.8em;padding:4px 8px}.legend-dot{width:12px;height:12px}.futsal-goal-visualization{max-width:320px}.futsal-goal-visualization .goal-dot{width:22px;height:22px;font-size:.75em}.miss-label{font-size:.5em}.futsal-goal-visualization .goal-label{font-size:.55em}.futsal-goal-visualization .goalpost{width:6px}.futsal-goal-visualization .crossbar{height:6px}.stat-card{min-width:80px;padding:12px 10px}.stat-value{font-size:1.6em}.stat-label{font-size:.7em}.stat-icon{font-size:1.4em}}.stats-chart{background:var(--surface-color, #fff);border-radius:12px;padding:20px;margin-top:20px;box-shadow:0 2px 8px #0000001a}.stats-chart h3{margin:0 0 15px;color:var(--text-color, #1f2937);font-size:1.2em}.metrics-selector{margin-bottom:20px}.selector-label{display:block;font-size:.9em;color:var(--text-secondary, #6b7280);margin-bottom:10px}.metrics-buttons{display:flex;flex-wrap:wrap;gap:8px}.metric-btn{padding:6px 12px;border:2px solid #d1d5db;border-radius:20px;background:var(--surface-color, #fff);cursor:pointer;font-size:.85em;transition:all .2s ease;color:var(--text-color, #374151)}.metric-btn:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.metric-btn.active{background:var(--metric-color, #3b82f6);color:#fff;border-color:var(--metric-color, #3b82f6)}.chart-container{margin-top:15px}.chart-tooltip{background:var(--surface-color, #fff);border:1px solid #e5e7eb;border-radius:8px;padding:12px;box-shadow:0 4px 12px #00000026}.tooltip-title{font-weight:700;margin:0 0 5px;color:var(--text-color, #1f2937);font-size:.95em}.tooltip-date{color:var(--text-secondary, #6b7280);font-size:.85em;margin:0 0 10px}.tooltip-values p{margin:4px 0;font-size:.9em}.no-data,.no-metrics{text-align:center;color:var(--text-secondary, #6b7280);padding:30px;font-style:italic}.stats-chart .recharts-legend-wrapper{padding-top:10px!important}.stats-chart .recharts-legend-item{margin-right:15px!important}[data-theme=dark] .stats-chart{background:var(--surface-color)}[data-theme=dark] .chart-tooltip{background:var(--surface-color);border-color:var(--border-color)}[data-theme=dark] .metric-btn{background:var(--bg-color);color:var(--text-color)}[data-theme=dark] .metric-btn.active{color:#fff}@media (max-width: 768px){.stats-chart{padding:15px}.metric-btn{padding:5px 10px;font-size:.8em}.chart-container{margin-left:-10px;margin-right:-10px}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-color);padding:1rem;transition:background-color .3s ease}.login-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2rem;width:100%;max-width:400px;box-shadow:var(--shadow-lg);transition:background-color .3s ease,border-color .3s ease}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{color:var(--text-color);font-size:2rem;margin-bottom:.5rem}.login-header p{color:var(--text-secondary);font-size:1rem}.login-form{display:flex;flex-direction:column;gap:1.25rem}.login-form .form-group{display:flex;flex-direction:column;gap:.5rem}.login-form label{color:var(--text-secondary);font-size:.9rem;font-weight:500}.login-form input{padding:.875rem 1rem;background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius);color:var(--text-color);font-size:1rem;transition:all .2s ease}.login-form input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f633}.login-form input::placeholder{color:var(--text-muted)}.login-form input:disabled{opacity:.6;cursor:not-allowed}.login-error{background:#fef2f2;color:#dc2626;padding:.75rem 1rem;border-radius:var(--radius);font-size:.9rem;text-align:center;border:1px solid #fecaca}[data-theme=dark] .login-error{background:#7f1d1d;color:#fecaca;border-color:#991b1b}.login-button{padding:1rem;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:.5rem}.login-button:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px)}.login-button:disabled{opacity:.7;cursor:not-allowed}.login-theme-toggle{position:absolute;top:1rem;right:1rem}@media (max-width: 480px){.login-card{padding:1.5rem;border-radius:var(--radius);box-shadow:var(--shadow)}.login-header h1{font-size:1.5rem}.login-header p{font-size:.9rem}.login-header{margin-bottom:1.5rem}.login-form{gap:1rem}.login-form input{padding:.75rem .875rem}.login-button{padding:.875rem}.login-theme-toggle{top:.75rem;right:.75rem}}.online-status{display:flex;align-items:center;gap:8px;padding:6px 14px;border-radius:20px;font-size:.8rem;font-weight:500;white-space:nowrap;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.online-status.offline{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.online-status.syncing{background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe}.online-status.syncing .online-status-icon{animation:spin 1s linear infinite}.online-status.error{background:#fffbeb;color:#d97706;border:1px solid #fde68a}.online-status.pending{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.online-status-icon{font-size:.9rem;display:inline-flex}.online-status-text{font-weight:600}.online-status-detail{opacity:.8;font-size:.75rem}.online-status-sync-btn{padding:2px 10px;background:currentColor;color:#fff;border:none;border-radius:12px;font-size:.7rem;font-weight:600;cursor:pointer;opacity:.9;transition:opacity .2s}.online-status-sync-btn:hover{opacity:1}[data-theme=dark] .online-status.offline{background:#7f1d1d;color:#fca5a5;border-color:#991b1b}[data-theme=dark] .online-status.syncing{background:#1e3a5f;color:#93c5fd;border-color:#1e40af}[data-theme=dark] .online-status.error{background:#78350f;color:#fcd34d;border-color:#92400e}[data-theme=dark] .online-status.pending{background:#14532d;color:#86efac;border-color:#166534}@media (max-width: 768px){.online-status{padding:4px 10px;font-size:.75rem;gap:5px}.online-status-detail{display:none}}@media (max-width: 480px){.online-status{padding:3px 8px;font-size:.7rem}.online-status-sync-btn{display:none}}.app-header{display:flex;justify-content:space-between;align-items:center;padding:.6rem 1.5rem;background:var(--header-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--header-border);position:sticky;top:0;z-index:100;transition:background-color .3s ease,border-color .3s ease}.header-left{display:flex;align-items:center;gap:2rem}.header-brand{font-size:1.2rem;font-weight:800;margin:0;letter-spacing:-.03em}.brand-link{color:var(--text-color);text-decoration:none;transition:color .2s;display:flex;align-items:center;gap:.4rem}.brand-link:hover{color:var(--primary-color)}.header-nav{display:flex;gap:.35rem}.nav-link{padding:.45rem .9rem;color:var(--text-secondary);text-decoration:none;border-radius:var(--radius);font-weight:600;font-size:.85rem;transition:all .2s;letter-spacing:-.01em}.nav-link:hover{background:var(--bg-secondary);color:var(--text-color)}.nav-link.active{background:var(--gradient-primary);color:#fff;box-shadow:0 2px 8px #6366f14d}.header-actions,.header-user{display:flex;align-items:center;gap:.75rem}.user-info{display:flex;align-items:center;gap:.6rem}.user-name{color:var(--text-secondary);font-size:.85rem;font-weight:500}.user-role{padding:.2rem .5rem;border-radius:var(--radius-sm);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.badge-superadmin{background:var(--badge-superadmin-bg);color:var(--badge-superadmin-color)}.badge-admin{background:var(--badge-admin-bg);color:var(--badge-admin-color)}.badge-editor{background:var(--badge-editor-bg);color:var(--badge-editor-color)}.badge-reader{background:var(--badge-reader-bg);color:var(--badge-reader-color)}.theme-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-size:1rem}.theme-toggle:hover{background:var(--surface-hover);color:var(--warning-color);border-color:var(--warning-color);transform:rotate(15deg)}.logout-button{display:flex;align-items:center;justify-content:center;padding:.5rem;background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all .2s ease}.logout-button:hover{background:#ef444414;color:var(--danger-color);border-color:var(--danger-color)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-color);color:var(--text-secondary);gap:1rem}.loading-spinner{width:36px;height:36px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.app-header{padding:.5rem .75rem;flex-wrap:wrap;gap:.5rem}.header-left{gap:.5rem;flex:1;min-width:0}.header-brand{font-size:1.05rem}.header-nav{gap:.25rem;flex-wrap:wrap;order:3;width:100%;justify-content:center}.nav-link{padding:.35rem .55rem;font-size:.78rem}.user-name{display:none}.user-role{font-size:.62rem;padding:.15rem .35rem}.header-actions{gap:.4rem}.theme-toggle,.logout-button{width:32px;height:32px}}@media (max-width: 480px){.app-header{padding:.5rem}.header-brand{font-size:.95rem}.nav-link{padding:.3rem .45rem;font-size:.72rem}.header-actions{gap:.3rem}.theme-toggle,.logout-button{width:28px;height:28px;font-size:.8rem}}.user-management{padding:20px;max-width:1000px;margin:0 auto}.user-management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.user-management-header h2{margin:0;color:var(--text-primary)}.btn-primary{background:var(--primary-color);color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:500;transition:background .2s}.btn-primary:hover{background:var(--primary-hover)}.alert{padding:12px 16px;border-radius:8px;margin-bottom:16px}.alert-error{background:#fee2e2;color:#dc2626;border:1px solid #fecaca}.alert-success{background:#d1fae5;color:#059669;border:1px solid #a7f3d0}[data-theme=dark] .alert-error{background:#dc262620;border-color:#dc262650}[data-theme=dark] .alert-success{background:#05966920;border-color:#05966950}.user-form{background:var(--card-background);padding:20px;border-radius:12px;margin-bottom:20px;border:1px solid var(--border-color)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-weight:500;color:var(--text-secondary);font-size:14px}.form-group input,.form-group select{padding:10px 12px;border:1px solid var(--border-color);border-radius:8px;font-size:14px;background:var(--input-background);color:var(--text-primary)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.loading,.no-users{text-align:center;padding:40px;color:var(--text-secondary)}.users-table{width:100%;border-collapse:collapse;background:var(--card-background);border-radius:12px;overflow:hidden;border:1px solid var(--border-color)}.users-table th,.users-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border-color)}.users-table th{background:var(--background-secondary);font-weight:600;color:var(--text-secondary);font-size:13px;text-transform:uppercase;letter-spacing:.5px}.users-table td{color:var(--text-primary)}.users-table tr:last-child td{border-bottom:none}.users-table tr.inactive{opacity:.6}.role-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.role-badge.badge-superadmin{background:var(--badge-superadmin-bg);color:var(--badge-superadmin-color)}.role-badge.badge-admin{background:var(--badge-admin-bg);color:var(--badge-admin-color)}.role-badge.badge-editor{background:var(--badge-editor-bg);color:var(--badge-editor-color)}.role-badge.badge-reader{background:var(--badge-reader-bg);color:var(--badge-reader-color)}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.status-badge.active{background:#d1fae5;color:#059669}.status-badge.inactive{background:#fee2e2;color:#dc2626}[data-theme=dark] .status-badge.active{background:#05966920}[data-theme=dark] .status-badge.inactive{background:#dc262620}.action-buttons{display:flex;gap:8px}.btn-small{padding:6px 10px;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.btn-toggle{background:var(--background-secondary);color:var(--text-primary)}.btn-toggle:hover{background:var(--border-color)}.btn-danger{background:#fee2e2;color:#dc2626}.btn-danger:hover{background:#fecaca}[data-theme=dark] .btn-danger{background:#dc262620}[data-theme=dark] .btn-danger:hover{background:#dc262640}@media (max-width: 768px){.user-management{padding:12px}.form-row{grid-template-columns:1fr}.user-management-header{flex-direction:column;gap:12px;align-items:stretch}.btn-primary{width:100%;text-align:center}.user-form{padding:14px}.users-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -12px;padding:0 12px}.users-table{font-size:13px;min-width:600px}.users-table th,.users-table td{padding:8px 10px}.action-buttons{flex-wrap:wrap}.btn-small{padding:5px 8px;font-size:13px}}@media (max-width: 480px){.user-management{padding:8px}.users-table{font-size:12px}.users-table th,.users-table td{padding:6px 8px}.role-badge,.status-badge{font-size:11px;padding:3px 8px}}.teams-management{padding:1.5rem;max-width:1200px;margin:0 auto}.teams-management h1{margin-bottom:.5rem}.teams-hint{color:var(--text-secondary, #888);margin-bottom:1.5rem;font-size:.95rem}.teams-management-actions{margin-bottom:1.5rem}.create-team-form{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.create-team-form input{padding:.5rem .75rem;min-width:200px}.create-team-form select,.team-edit-row select{padding:.5rem .75rem}.add-team-btn{padding:.5rem 1rem;background:var(--primary-color, #0d6efd);color:#fff;border:none;border-radius:6px;font-size:1rem;cursor:pointer}.add-team-btn:hover{opacity:.9}.teams-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.team-card{border:1px solid var(--border-color, #333);border-radius:8px;padding:1rem;background:var(--surface, #1a1a1a)}.team-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.team-header h3{margin:0;cursor:pointer;flex:1}.team-header h3:hover{text-decoration:underline}.team-strength{font-size:.8rem;padding:.2rem .55rem;border-radius:999px;border:1px solid var(--border-color, #444)}.team-strength.level-1{color:#22c55e;border-color:#22c55e}.team-strength.level-2{color:#eab308;border-color:#eab308}.team-strength.level-3{color:#f97316;border-color:#f97316}.player-count{font-size:.85rem;color:var(--text-secondary, #888)}.rename-btn{padding:.25rem .5rem;font-size:.9rem;cursor:pointer;background:transparent;border:none;opacity:.8}.rename-btn:hover{opacity:1}.team-edit-row{display:flex;gap:.5rem;flex-wrap:wrap;width:100%}.team-edit-row input{flex:1;min-width:120px;padding:.4rem}.players-list{list-style:none;margin:.75rem 0 0;padding:0}.player-row{display:flex;align-items:center;justify-content:space-between;padding:.4rem 0;border-bottom:1px solid var(--border-color, #2a2a2a);gap:.5rem}.player-row:last-child{border-bottom:none}.player-info{flex:1;font-size:.9rem}.player-actions{display:flex;gap:.25rem}.player-actions button{padding:.2rem .4rem;font-size:.85rem;cursor:pointer;background:transparent;border:none;opacity:.8}.player-actions button:hover{opacity:1}.player-actions button.delete:hover{color:#f44}.player-edit-form,.player-move-form{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;width:100%}.player-edit-form input,.player-move-form select{padding:.3rem .5rem}button.cancel{color:var(--text-secondary, #888)}.player-add-form{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-color, #2a2a2a)}.player-add-form input{padding:.4rem .5rem}.add-player-btn{margin-top:.75rem;padding:.4rem .75rem;font-size:.9rem;cursor:pointer;background:var(--primary-color, #0d6efd);color:#fff;border:none;border-radius:6px}.add-player-btn:hover{opacity:.9}@media (max-width: 768px){.teams-management{padding:1rem}.teams-grid{grid-template-columns:1fr}.create-team-form{flex-direction:column}.create-team-form input{min-width:0;width:100%}.add-team-btn{width:100%}.team-card{padding:.75rem}.player-edit-form,.player-move-form,.player-add-form{flex-direction:column;align-items:stretch}.player-edit-form input,.player-move-form select,.player-add-form input{width:100%}.player-row{flex-wrap:wrap}.player-actions{width:100%;justify-content:flex-end}}@media (max-width: 480px){.teams-management{padding:.75rem}.teams-management h1{font-size:1.3rem}.team-header h3{font-size:1rem}.player-info{font-size:.85rem}.player-actions button{font-size:.8rem}}.goal-map-simulator{max-width:700px;margin:0 auto;padding:25px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.goal-map-simulator h3{margin:0 0 8px;color:#2c3e50;text-align:center;font-size:1.4em}.sim-description{text-align:center;color:#6b7280;font-size:.9em;margin-bottom:20px;font-style:italic}.sim-controls{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.sim-player-input{display:flex;align-items:center;gap:10px}.sim-player-input label{font-weight:600;color:#374151;white-space:nowrap;font-size:.95em}.sim-input{flex:1;padding:10px 14px;border:2px solid #d1d5db;border-radius:8px;font-size:.95em;background:#fff;color:#1f2937;transition:border-color .2s}.sim-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea26}.sim-type-selector{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.sim-type-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;border:2px solid var(--btn-color, #d1d5db);border-radius:10px;background:#fff;cursor:pointer;font-size:.9em;font-weight:600;color:#374151;transition:all .2s ease}.sim-type-btn:hover{transform:translateY(-1px);box-shadow:0 3px 8px #0000001f}.sim-type-btn.active{background:var(--btn-color, #667eea);color:#fff;border-color:var(--btn-color, #667eea);box-shadow:0 3px 10px #0003}.sim-goal-area{position:relative;width:100%;max-width:500px;aspect-ratio:1.5;margin:0 auto 20px;border-radius:8px;overflow:hidden;cursor:crosshair;-webkit-user-select:none;user-select:none}.sim-goal-background{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,#87ceeb,#a8d8ea,#c9e4ca,#d4a76a,#c4956a)}.sim-miss-zone{position:absolute;display:flex;align-items:center;justify-content:center;background:#ff64641a}.sim-top-zone{top:0;left:20%;width:60%;height:25%;border-bottom:2px dashed rgba(255,0,0,.3)}.sim-left-zone{top:25%;left:0;width:20%;height:50%;border-right:2px dashed rgba(255,0,0,.3)}.sim-right-zone{top:25%;right:0;width:20%;height:50%;border-left:2px dashed rgba(255,0,0,.3)}.sim-miss-label{font-size:.6em;font-weight:700;color:#b4000080;text-transform:uppercase;letter-spacing:1px;text-align:center;padding:4px}.sim-goal-frame{position:absolute;background:linear-gradient(180deg,#fffffff2,#f0f8ffe6);box-shadow:inset 0 0 20px #0064001a,0 4px 20px #0000004d;overflow:hidden}.sim-goal-net{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent,transparent 10%,rgba(200,200,200,.4) 10%,rgba(200,200,200,.4) 10.5%),repeating-linear-gradient(0deg,transparent,transparent 15%,rgba(200,200,200,.4) 15%,rgba(200,200,200,.4) 15.5%)}.sim-goalpost{position:absolute;width:8px;height:100%;background:linear-gradient(90deg,#f0f0f0,#fff,#e0e0e0);border:1px solid #ccc;box-shadow:2px 0 8px #0000004d}.sim-left-post{left:-4px;border-radius:4px 0 0 4px}.sim-right-post{right:-4px;border-radius:0 4px 4px 0}.sim-crossbar{position:absolute;top:-4px;left:-4px;right:-4px;height:8px;background:linear-gradient(180deg,#f0f0f0,#fff,#e0e0e0);border:1px solid #ccc;border-radius:4px 4px 0 0;box-shadow:0 2px 8px #0000004d}.sim-goal-label{position:absolute;bottom:10px;left:50%;transform:translate(-50%);font-size:.7em;font-weight:700;color:#00640066;text-transform:uppercase;letter-spacing:2px;pointer-events:none}.sim-shot-dot{position:absolute;width:28px;height:28px;border-radius:50%;border:3px solid;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;font-size:.9em;z-index:10;box-shadow:0 2px 8px #0000004d;cursor:pointer;transition:all .15s ease}.sim-shot-dot:hover,.sim-shot-dot.hovered{transform:translate(-50%,-50%) scale(1.4);z-index:20;box-shadow:0 4px 16px #00000080}.sim-player-filter{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:16px;padding:12px;background:#f8f9fa;border-radius:8px}.sim-filter-label{font-weight:600;color:#374151;font-size:.9em;margin-right:4px}.sim-filter-btn{padding:6px 14px;border:2px solid #d1d5db;border-radius:20px;background:#fff;cursor:pointer;font-size:.85em;font-weight:500;color:#4b5563;transition:all .2s ease}.sim-filter-btn:hover{border-color:#667eea;transform:translateY(-1px)}.sim-filter-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea;box-shadow:0 2px 8px #667eea66}.sim-stats{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:20px}.sim-stat-card{flex:1;min-width:80px;max-width:130px;padding:14px 10px;background:#f8f9fa;border-radius:10px;text-align:center;transition:all .2s ease;border:2px solid transparent}.sim-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.sim-stat-goals{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.sim-stat-on-target{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.sim-stat-missed{background:linear-gradient(135deg,#fee2e2,#fecaca)}.sim-stat-saves{background:linear-gradient(135deg,#e0e7ff,#c7d2fe)}.sim-stat-highlight{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.sim-stat-icon{font-size:1.5em;margin-bottom:4px}.sim-stat-value{font-size:1.6em;font-weight:700;color:#2c3e50}.sim-stat-highlight .sim-stat-value{color:#fff}.sim-stat-label{font-size:.75em;color:#6b7280;text-transform:uppercase;font-weight:500;margin-top:2px}.sim-stat-highlight .sim-stat-label{color:#ffffffe6}.sim-shots-list{border-top:2px solid #e5e7eb;padding-top:16px}.sim-shots-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.sim-shots-header h4{margin:0;color:#2c3e50;font-size:1em}.sim-clear-btn{padding:6px 14px;border:2px solid #ef4444;border-radius:8px;background:#fff;color:#ef4444;cursor:pointer;font-size:.85em;font-weight:600;transition:all .2s}.sim-clear-btn:hover{background:#ef4444;color:#fff}.sim-shots-table{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.sim-table-head{display:grid;grid-template-columns:40px 1fr 1fr 40px;padding:10px 12px;background:#f3f4f6;font-weight:600;font-size:.85em;color:#6b7280}.sim-table-row{display:grid;grid-template-columns:40px 1fr 1fr 40px;padding:8px 12px;align-items:center;border-top:1px solid #f3f4f6;transition:background .15s}.sim-table-row:hover{background:#f9fafb}.sim-row-num{color:#9ca3af;font-size:.85em;font-weight:500}.sim-row-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:12px;color:#fff;font-size:.8em;font-weight:600}.sim-row-player{color:#374151;font-size:.9em}.sim-row-delete{background:none;border:none;color:#d1d5db;cursor:pointer;font-size:1.1em;padding:4px;border-radius:4px;transition:all .15s}.sim-row-delete:hover{color:#ef4444;background:#fee2e2}[data-theme=dark] .goal-map-simulator{background:#1f2937;box-shadow:0 2px 8px #0000004d}[data-theme=dark] .goal-map-simulator h3{color:#f3f4f6}[data-theme=dark] .sim-description{color:#9ca3af}[data-theme=dark] .sim-player-input label{color:#d1d5db}[data-theme=dark] .sim-input{background:#374151;border-color:#4b5563;color:#f3f4f6}[data-theme=dark] .sim-input:focus{border-color:#667eea}[data-theme=dark] .sim-type-btn{background:#374151;color:#d1d5db}[data-theme=dark] .sim-type-btn.active{color:#fff}[data-theme=dark] .sim-player-filter{background:#374151}[data-theme=dark] .sim-filter-label{color:#d1d5db}[data-theme=dark] .sim-filter-btn{background:#1f2937;border-color:#4b5563;color:#d1d5db}[data-theme=dark] .sim-stat-card{background:#374151}[data-theme=dark] .sim-stat-value{color:#f3f4f6}[data-theme=dark] .sim-stat-label{color:#9ca3af}[data-theme=dark] .sim-shots-list{border-color:#374151}[data-theme=dark] .sim-shots-header h4{color:#f3f4f6}[data-theme=dark] .sim-shots-table{border-color:#374151}[data-theme=dark] .sim-table-head{background:#374151;color:#9ca3af}[data-theme=dark] .sim-table-row{border-color:#374151}[data-theme=dark] .sim-table-row:hover{background:#2d3748}[data-theme=dark] .sim-row-player{color:#d1d5db}[data-theme=dark] .sim-row-delete{color:#4b5563}[data-theme=dark] .sim-row-delete:hover{color:#ef4444;background:#ef44441a}[data-theme=dark] .sim-clear-btn{background:#374151}@media (max-width: 768px){.goal-map-simulator{padding:16px}.goal-map-simulator h3{font-size:1.15em}.sim-type-selector{gap:6px}.sim-type-btn{padding:8px 12px;font-size:.8em}.sim-goal-area{max-width:340px}.sim-shot-dot{width:22px;height:22px;font-size:.75em}.sim-miss-label{font-size:.5em}.sim-stat-card{min-width:65px;padding:10px 6px}.sim-stat-icon{font-size:1.2em}.sim-stat-value{font-size:1.3em}.sim-stat-label{font-size:.65em}.sim-table-head,.sim-table-row{grid-template-columns:30px 1fr 1fr 30px;padding:6px 8px;font-size:.85em}}.episode-modeling{max-width:1200px;margin:0 auto;padding:20px}.episode-modeling h2{text-align:center;margin-bottom:20px;color:#2c3e50}.episode-game-selector{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.episode-game-selector label{font-weight:600;color:#374151;white-space:nowrap}.episode-game-selector select{flex:1;min-width:200px;padding:10px 14px;border:2px solid #d1d5db;border-radius:8px;font-size:.95em;background:#fff;color:#1f2937;cursor:pointer;transition:border-color .2s}.episode-game-selector select:focus{outline:none;border-color:#667eea}.episodes-panel{display:flex;gap:12px;margin-bottom:20px;align-items:center;flex-wrap:wrap}.episodes-panel select{flex:1;min-width:200px;padding:10px 14px;border:2px solid #d1d5db;border-radius:8px;font-size:.95em;background:#fff;cursor:pointer}.episodes-panel select:focus{outline:none;border-color:#667eea}.btn-create-episode,.btn-delete-episode,.btn-rename-episode{padding:10px 18px;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:.9em;transition:all .2s;white-space:nowrap}.btn-create-episode{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-create-episode:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn-rename-episode{background:#f59e0b;color:#fff}.btn-rename-episode:hover{background:#d97706}.btn-delete-episode{background:#ef4444;color:#fff}.btn-delete-episode:hover{background:#dc2626}.episode-field-container{position:relative;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px}.episode-field{width:100%;aspect-ratio:2;background:linear-gradient(135deg,#f4d03f,#ffeb99,#f4d03f,#ffeb99,#f4d03f);border:3px solid white;border-radius:4px;position:relative;box-shadow:inset 0 0 20px #00000026;overflow:hidden;cursor:default;touch-action:none;-webkit-user-select:none;user-select:none}.episode-field .field-lines{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:1}.episode-field .center-line{position:absolute;left:50%;top:0;bottom:0;width:2px;background:#fff;transform:translate(-50%)}.episode-field .center-circle{position:absolute;left:50%;top:50%;width:60px;height:60px;border:2px solid white;border-radius:50%;transform:translate(-50%,-50%)}.episode-field .penalty-area{position:absolute;width:15%;height:50%;border:2px solid white;top:25%}.episode-field .penalty-area.left{left:0;border-left:none;border-radius:0 50% 50% 0}.episode-field .penalty-area.right{right:0;border-right:none;border-radius:50% 0 0 50%}.episode-field .goal{position:absolute;width:8px;height:30%;top:35%;background:#ffffffe6;z-index:2}.episode-field .goal.left{left:-4px;border-left:3px solid white;border-top:3px solid white;border-bottom:3px solid white}.episode-field .goal.right{right:-4px;border-right:3px solid white;border-top:3px solid white;border-bottom:3px solid white}.episode-chip{position:absolute;display:flex;align-items:center;justify-content:center;transform:translate(-50%,-50%);cursor:grab;z-index:10;transition:box-shadow .15s;-webkit-user-select:none;user-select:none;touch-action:none}.episode-chip:active{cursor:grabbing}.episode-chip.dragging{cursor:grabbing;z-index:100;box-shadow:0 4px 16px #0006!important;transform:translate(-50%,-50%) scale(1.15)}.episode-chip.home-player{width:32px;height:32px;border-radius:50%;background:#3b82f6;color:#fff;font-size:11px;font-weight:700;border:2px solid #1d4ed8;box-shadow:0 2px 6px #3b82f680}.episode-chip.away-player{width:32px;height:32px;border-radius:50%;background:#ef4444;color:#fff;font-size:11px;font-weight:700;border:2px solid #b91c1c;box-shadow:0 2px 6px #ef444480}.episode-chip.ball{width:22px;height:22px;border-radius:50%;background:#fff;border:2px solid #1f2937;box-shadow:0 2px 6px #00000059}.chip-palette{display:flex;gap:16px;margin-top:16px;padding:16px;background:#f9fafb;border-radius:10px;flex-wrap:wrap;align-items:flex-start}.palette-group{display:flex;flex-direction:column;gap:8px}.palette-group-title{font-size:.8em;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.palette-chips{display:flex;gap:6px;flex-wrap:wrap}.palette-chip{display:flex;align-items:center;justify-content:center;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;transition:transform .15s,box-shadow .15s}.palette-chip:hover{transform:scale(1.1)}.palette-chip.home-player{width:32px;height:32px;border-radius:50%;background:#3b82f6;color:#fff;font-size:11px;font-weight:700;border:2px solid #1d4ed8;box-shadow:0 2px 4px #3b82f64d}.palette-chip.away-player{width:32px;height:32px;border-radius:50%;background:#ef4444;color:#fff;font-size:11px;font-weight:700;border:2px solid #b91c1c;box-shadow:0 2px 4px #ef44444d}.palette-chip.ball{width:22px;height:22px;border-radius:50%;background:#fff;border:2px solid #1f2937;box-shadow:0 2px 4px #0003}.palette-chip.on-field{opacity:.35;pointer-events:none}.frames-panel{margin-top:20px}.frames-panel h4{margin:0 0 10px;color:#374151}.frames-toolbar{display:flex;gap:10px;margin-bottom:12px;flex-wrap:wrap}.frames-toolbar button{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-weight:600;font-size:.85em;transition:all .2s}.btn-save-frame{background:#10b981;color:#fff}.btn-save-frame:hover{background:#059669}.btn-save-frame:disabled{background:#9ca3af;cursor:not-allowed}.btn-update-frame{background:#f59e0b;color:#fff}.btn-update-frame:hover{background:#d97706}.btn-delete-frame{background:#ef4444;color:#fff}.btn-delete-frame:hover{background:#dc2626}.btn-play{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:8px 22px!important}.btn-play:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn-play:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.btn-stop{background:#ef4444;color:#fff}.btn-stop:hover{background:#dc2626}.frames-timeline{display:flex;gap:8px;overflow-x:auto;padding:10px 0}.frame-thumb{min-width:70px;padding:8px 12px;border:2px solid #d1d5db;border-radius:8px;background:#fff;cursor:pointer;font-size:.85em;font-weight:500;text-align:center;transition:all .2s;white-space:nowrap;color:#374151}.frame-thumb:hover{border-color:#667eea;background:#f0f0ff}.frame-thumb.active{border-color:#667eea;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 8px #667eea66}.no-frames-msg{color:#9ca3af;font-style:italic;padding:10px 0}.episode-hint{margin-top:12px;padding:12px;background:#eff6ff;border-radius:8px;color:#1e40af;font-size:.85em;line-height:1.5}.episode-chip.animating{transition:left .8s ease-in-out,top .8s ease-in-out}[data-theme=dark] .episode-modeling h2{color:#e5e7eb}[data-theme=dark] .episode-field-container{background:#1f2937}[data-theme=dark] .chip-palette{background:#111827}[data-theme=dark] .palette-group-title{color:#9ca3af}[data-theme=dark] .episode-game-selector label{color:#d1d5db}[data-theme=dark] .episode-game-selector select,[data-theme=dark] .episodes-panel select{background:#374151;color:#e5e7eb;border-color:#4b5563}[data-theme=dark] .frame-thumb{background:#374151;border-color:#4b5563;color:#d1d5db}[data-theme=dark] .frame-thumb:hover{background:#4b5563;border-color:#667eea}[data-theme=dark] .episode-hint{background:#1e3a5f;color:#93c5fd}[data-theme=dark] .frames-panel h4{color:#d1d5db}[data-theme=dark] .no-frames-msg{color:#6b7280}@media (max-width: 768px){.episode-modeling{padding:12px}.episode-chip.home-player,.episode-chip.away-player,.palette-chip.home-player,.palette-chip.away-player{width:26px;height:26px;font-size:9px}.episode-chip.ball,.palette-chip.ball{width:18px;height:18px}.chip-palette{gap:10px;padding:10px}}.editor-settings{max-width:1000px;margin:0 auto;padding:1.5rem}.editor-settings h1{font-size:1.8rem;margin-bottom:1.5rem}.settings-message{padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-weight:500}.settings-error{background-color:#fef2f2;color:#dc2626;border:1px solid #fecaca}.settings-success{background-color:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.settings-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid #e5e7eb;padding-bottom:0}.settings-tab{padding:.75rem 1.25rem;border:none;background:none;cursor:pointer;font-size:.95rem;font-weight:500;color:#6b7280;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .2s}.settings-tab:hover{color:#374151}.settings-tab.active{color:#3b82f6;border-bottom-color:#3b82f6}.settings-section h2{font-size:1.3rem;margin-bottom:1rem}.section-description{color:#6b7280;margin-bottom:1rem;font-size:.9rem;line-height:1.5}.actions-table{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;margin-bottom:1.5rem}.actions-table-header{display:grid;grid-template-columns:1.5fr 1.5fr 1fr 1fr .5fr;padding:.75rem 1rem;background-color:#f9fafb;font-weight:600;font-size:.85rem;color:#374151;border-bottom:1px solid #e5e7eb}.actions-table-row{display:grid;grid-template-columns:1.5fr 1.5fr 1fr 1fr .5fr;padding:.6rem 1rem;border-bottom:1px solid #f3f4f6;align-items:center;font-size:.9rem}.actions-table-row.custom-row{grid-template-columns:1.2fr 1.2fr 1fr 1fr .5fr auto;background-color:#fefce8}.actions-table-row:last-child{border-bottom:none}.action-key{font-family:SF Mono,Fira Code,monospace;font-size:.8rem;color:#6366f1;word-break:break-all}.cat-badge{display:inline-block;padding:.15rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500}.cat-positive{background-color:#dcfce7;color:#16a34a}.cat-negative{background-color:#fef2f2;color:#dc2626}.cat-neutral{background-color:#f3f4f6;color:#6b7280}.coord-badge{font-size:.8rem;color:#6b7280}.color-dot{display:inline-block;width:14px;height:14px;border-radius:50%;vertical-align:middle;margin-right:.4rem;border:1px solid rgba(0,0,0,.1)}.row-actions{display:flex;gap:.4rem}.btn-edit-sm,.btn-delete-sm,.btn-save-sm,.btn-cancel-sm{padding:.3rem .6rem;border:none;border-radius:4px;cursor:pointer;font-size:.75rem;font-weight:500}.btn-edit-sm{background:#dbeafe;color:#2563eb}.btn-delete-sm{background:#fef2f2;color:#dc2626}.btn-save-sm{background:#dcfce7;color:#16a34a}.btn-cancel-sm{background:#f3f4f6;color:#6b7280}.custom-actions-title{display:flex;align-items:center;justify-content:space-between;margin-top:2rem}.add-action-btn{padding:.5rem 1rem;background:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500}.add-action-btn:hover{background:#2563eb}.empty-text{color:#9ca3af;font-style:italic;padding:1rem 0}.add-action-form{border:2px dashed #d1d5db;border-radius:8px;padding:1.25rem;margin-top:1rem;background:#fafafa}.add-action-form h3{margin-bottom:1rem;font-size:1.1rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-field label{display:block;font-size:.85rem;font-weight:500;margin-bottom:.3rem;color:#374151}.settings-input{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;outline:none;transition:border-color .2s;box-sizing:border-box}.settings-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.settings-input.sm{padding:.3rem .5rem;font-size:.8rem}.settings-select{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;background:#fff;cursor:pointer;box-sizing:border-box}.settings-select.sm{padding:.3rem .5rem;font-size:.8rem}.color-input{width:50px;height:36px;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;padding:2px}.form-actions{display:flex;gap:.75rem}.btn-primary{padding:.6rem 1.5rem;background:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500}.btn-primary:hover{background:#2563eb}.btn-primary:disabled{background:#93c5fd;cursor:not-allowed}.btn-secondary{padding:.6rem 1.5rem;background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:.9rem}.points-table{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;margin-bottom:1rem}.points-table-header{display:grid;grid-template-columns:2fr 1fr 1fr .7fr;padding:.75rem 1rem;background-color:#f9fafb;font-weight:600;font-size:.85rem;color:#374151;border-bottom:1px solid #e5e7eb}.points-table-row{display:grid;grid-template-columns:2fr 1fr 1fr .7fr;padding:.5rem 1rem;border-bottom:1px solid #f3f4f6;align-items:center;font-size:.9rem}.points-table-row:last-child{border-bottom:none}.points-group-title{font-size:.85rem;font-weight:600;padding:.5rem 1rem;background:#f0f9ff;color:#1e40af;border-bottom:1px solid #e5e7eb;margin:0}.points-label{display:flex;align-items:center;gap:.3rem}.points-input{width:80px;text-align:center}.default-val{font-size:.8rem;color:#9ca3af}.save-points-btn{margin-top:1rem}.formula-variables{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.75rem 1rem;margin-bottom:1.5rem}.var-item{font-size:.85rem;padding:.25rem 0;color:#475569}.var-item code{background:#e0e7ff;color:#4338ca;padding:.1rem .4rem;border-radius:4px;font-size:.85rem;font-weight:500}.formula-editor{margin-bottom:1rem}.formula-editor label{display:block;font-weight:600;margin-bottom:.4rem}.formula-textarea{width:100%;padding:.75rem;border:2px solid #d1d5db;border-radius:8px;font-family:SF Mono,Fira Code,monospace;font-size:1rem;resize:vertical;outline:none;transition:border-color .2s;box-sizing:border-box}.formula-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.formula-preview{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:.75rem 1rem;margin-bottom:1.5rem;font-size:.9rem;font-weight:500;color:#15803d}.formula-preview-level{display:flex;align-items:center;gap:12px;margin-bottom:12px}.formula-preview-level label{font-size:.9rem;color:var(--text-secondary)}.formula-params{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.param-field label{display:block;font-size:.85rem;font-weight:500;margin-bottom:.3rem;color:#374151}.save-formula-btn{margin-top:.5rem}[data-theme=dark] .editor-settings h1,[data-theme=dark] .editor-settings h2,[data-theme=dark] .editor-settings h3{color:#f1f5f9}[data-theme=dark] .settings-error{background-color:#451a1a;border-color:#7f1d1d;color:#fca5a5}[data-theme=dark] .settings-success{background-color:#14532d;border-color:#166534;color:#86efac}[data-theme=dark] .settings-tab{color:#94a3b8}[data-theme=dark] .settings-tab:hover{color:#e2e8f0}[data-theme=dark] .settings-tab.active{color:#60a5fa;border-bottom-color:#60a5fa}[data-theme=dark] .settings-tabs{border-bottom-color:#334155}[data-theme=dark] .section-description{color:#94a3b8}[data-theme=dark] .actions-table{border-color:#334155}[data-theme=dark] .actions-table-header{background-color:#1e293b;color:#e2e8f0;border-bottom-color:#334155}[data-theme=dark] .actions-table-row{border-bottom-color:#1e293b}[data-theme=dark] .actions-table-row.custom-row{background-color:#1c1917}[data-theme=dark] .action-key{color:#818cf8}[data-theme=dark] .cat-positive{background-color:#14532d;color:#86efac}[data-theme=dark] .cat-negative{background-color:#451a1a;color:#fca5a5}[data-theme=dark] .cat-neutral{background-color:#1e293b;color:#94a3b8}[data-theme=dark] .settings-input,[data-theme=dark] .settings-select{background:#1e293b;border-color:#475569;color:#e2e8f0}[data-theme=dark] .add-action-form{background:#1e293b;border-color:#475569}[data-theme=dark] .form-field label,[data-theme=dark] .param-field label{color:#cbd5e1}[data-theme=dark] .points-table{border-color:#334155}[data-theme=dark] .points-table-header{background-color:#1e293b;color:#e2e8f0;border-bottom-color:#334155}[data-theme=dark] .points-table-row{border-bottom-color:#1e293b}[data-theme=dark] .points-group-title{background:#172554;color:#93c5fd;border-bottom-color:#334155}[data-theme=dark] .formula-variables{background:#1e293b;border-color:#334155}[data-theme=dark] .var-item{color:#cbd5e1}[data-theme=dark] .var-item code{background:#312e81;color:#a5b4fc}[data-theme=dark] .formula-textarea{background:#1e293b;border-color:#475569;color:#e2e8f0}[data-theme=dark] .formula-preview{background:#14532d;border-color:#166534;color:#86efac}[data-theme=dark] .btn-edit-sm{background:#1e3a5f;color:#93c5fd}[data-theme=dark] .btn-delete-sm{background:#451a1a;color:#fca5a5}[data-theme=dark] .btn-save-sm{background:#14532d;color:#86efac}[data-theme=dark] .btn-cancel-sm{background:#334155;color:#94a3b8}[data-theme=dark] .btn-secondary{background:#334155;border-color:#475569;color:#e2e8f0}@media (max-width: 768px){.editor-settings{padding:1rem}.editor-settings h1{font-size:1.4rem}.settings-tabs{flex-wrap:wrap}.settings-tab{font-size:.85rem;padding:.5rem .75rem}.actions-table-header,.actions-table-row{grid-template-columns:1fr 1fr .8fr;font-size:.8rem}.actions-table-header span:nth-child(4),.actions-table-header span:nth-child(5),.actions-table-row span:nth-child(4),.actions-table-row span:nth-child(5){display:none}.actions-table-row.custom-row{grid-template-columns:1fr 1fr .8fr auto}.form-grid{grid-template-columns:1fr}.points-table-header,.points-table-row{grid-template-columns:1.5fr .8fr .8fr .5fr;font-size:.8rem;padding:.4rem .5rem}.formula-params{grid-template-columns:1fr 1fr}.team-strength-row{grid-template-columns:1fr}}.team-selector{display:flex;gap:12px;align-items:center;margin-top:12px}.team-select{flex:1;max-width:400px;padding:10px 14px;font-size:1rem}.team-strength-editor{margin-top:16px;padding:16px;border:1px solid var(--border-color);border-radius:var(--radius);background:var(--surface-color)}.team-strength-editor h3{margin-bottom:8px}.team-strength-list{display:grid;gap:8px;margin-bottom:12px}.team-strength-row{display:grid;grid-template-columns:1fr 160px;gap:10px;align-items:center}.system-setting-block{margin-top:20px;padding:16px;border:1px solid var(--border-color);border-radius:var(--radius);background:var(--surface-color)}.system-setting-block h3{margin-bottom:8px}.system-setting-checkbox{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:.95rem;color:var(--text-color)}.system-setting-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary-color)}.system-setting-warning{margin-bottom:10px;color:#f59e0b;font-size:.9rem}.visible-actions-controls{display:flex;align-items:center;gap:16px;margin-bottom:16px}.visible-count{color:var(--text-secondary);font-size:.9rem}.visible-actions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px}.visible-action-item{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--radius);background:var(--bg-color);cursor:pointer;transition:all .15s;border:2px solid transparent}.visible-action-item:hover{background:var(--surface-color)}.visible-action-item.selected{border-color:var(--primary-color);background:#3b82f614}.visible-action-item input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary-color)}.visible-action-label{flex:1;font-size:.9rem;color:var(--text-color)}.cat-badge.small{font-size:.7rem;padding:2px 6px}.visible-actions-subtitle{margin-top:20px;margin-bottom:10px;color:var(--text-color);font-size:1rem}.save-visible-btn{margin-top:20px}.video-editor-page{max-width:960px;margin:0 auto;padding:24px 16px}.video-editor-page h1{font-size:1.6rem;font-weight:800;letter-spacing:-.03em;margin-bottom:24px}.ve-submenu{display:flex;gap:10px;margin-bottom:16px}.ve-submenu-btn{padding:9px 14px;border:1px solid var(--border-color);background:var(--surface-color);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;font-weight:600}.ve-submenu-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.ve-upload-section{background:var(--surface-color);border-radius:var(--radius);padding:24px;margin-bottom:20px;border:1px solid var(--border-color)}.ve-upload-section h2{font-size:1.1rem;font-weight:700;margin-bottom:16px}.ve-upload-row{display:flex;gap:12px;align-items:center;margin-bottom:12px}.ve-upload-row input[type=file]{display:none}.ve-file-label{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;background:var(--gradient-primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;font-weight:600;font-size:.9rem;transition:opacity .15s}.ve-file-label:hover{opacity:.85}.ve-divider{text-align:center;color:var(--text-secondary);font-size:.8rem;margin:12px 0;position:relative}.ve-divider:before,.ve-divider:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:var(--border-color)}.ve-divider:before{left:0}.ve-divider:after{right:0}.ve-server-sources{margin:16px 0}.ve-server-sources-title{font-size:1rem;font-weight:700;margin:0 0 8px}.ve-server-sources-hint{font-size:.85rem;color:var(--text-secondary);margin:0 0 12px;line-height:1.45}.ve-server-sources-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.ve-server-sources-select{flex:1;min-width:200px;padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--background-color);color:var(--text-primary);font-size:.9rem}.ve-server-sources-use-btn,.ve-server-sources-refresh-btn{padding:10px 14px;border-radius:var(--radius-sm);font-weight:600;font-size:.85rem;cursor:pointer;border:1px solid var(--border-color);background:var(--surface-color);color:var(--text-primary)}.ve-server-sources-use-btn{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.ve-server-sources-use-btn:disabled,.ve-server-sources-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.ve-youtube-block{margin-top:8px}.ve-youtube-block-title{font-size:1rem;font-weight:700;margin:0 0 6px}.ve-youtube-block-lead{font-size:.85rem;color:var(--text-secondary);margin:0 0 12px;line-height:1.45}.ve-yt-name-label{display:block;font-size:.85rem;font-weight:600;margin-bottom:6px;color:var(--text-primary)}.ve-yt-required{font-weight:500;color:var(--text-secondary)}.gh-youtube-save-name{margin:14px 0 18px;padding:14px 16px;background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-sm)}.gh-youtube-save-label{display:block;font-size:.9rem;font-weight:700;margin-bottom:8px}.gh-youtube-filename-input{width:100%;max-width:480px;padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.95rem;background:var(--background-color);color:var(--text-primary);box-sizing:border-box}.gh-youtube-save-hint{margin:8px 0 0;font-size:.8rem;color:var(--text-secondary);line-height:1.4}.gh-server-sources{margin:14px 0 16px;padding:14px 16px;background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-sm)}.gh-server-sources-title{font-size:.95rem;font-weight:700;margin:0 0 8px}.gh-server-sources-hint{margin:0 0 12px;font-size:.8rem;color:var(--text-secondary);line-height:1.45}.gh-server-sources-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.gh-server-sources-select{flex:1;min-width:200px;padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--background-color);color:var(--text-primary);font-size:.9rem}.gh-server-sources-use-btn,.gh-server-sources-refresh-btn{padding:10px 14px;border-radius:var(--radius-sm);font-weight:600;font-size:.85rem;cursor:pointer;border:1px solid var(--border-color);background:var(--surface-color);color:var(--text-primary)}.gh-server-sources-use-btn{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.gh-server-sources-use-btn:disabled,.gh-server-sources-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.gh-source-or-youtube{margin:0 0 10px;font-size:.85rem;font-weight:600;color:var(--text-secondary)}.gh-active-source-banner{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:12px 0 14px;padding:12px 14px;background:var(--surface-color);border:1px solid var(--primary-color);border-radius:var(--radius-sm);font-size:.9rem}.gh-active-source-clear{padding:6px 12px;font-size:.8rem;font-weight:600;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--surface-color);cursor:pointer}.gh-active-source-clear:disabled{opacity:.5;cursor:not-allowed}.ve-url-row{display:flex;gap:8px}.ve-url-name-input{width:100%;padding:10px 14px;border:2px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-color);color:var(--text-color);font-size:.9rem;margin-bottom:8px;transition:border-color .2s}.ve-url-name-input:focus{outline:none;border-color:var(--primary-color)}.ve-url-input{flex:1;padding:10px 14px;border:2px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-color);color:var(--text-color);font-size:.9rem;transition:border-color .2s}.ve-url-input:focus{outline:none;border-color:var(--primary-color)}.ve-url-btn{padding:10px 18px;background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:600;font-size:.9rem;white-space:nowrap;transition:opacity .15s}.ve-url-btn:hover:not(:disabled){opacity:.85}.ve-url-btn:disabled{opacity:.5;cursor:not-allowed}.ve-file-info{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-color);border-radius:var(--radius-sm);font-size:.85rem;color:var(--text-secondary)}.ve-file-info strong{color:var(--text-color)}.ve-clear-btn{padding:4px 10px;background:#ef4444;color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.8rem}.ve-preview{margin-bottom:20px;border-radius:var(--radius);overflow:hidden;background:#000}.ve-preview video{width:100%;display:block}.ve-segments-section{background:var(--surface-color);border-radius:var(--radius);padding:24px;margin-bottom:20px;border:1px solid var(--border-color)}.ve-compress-section{background:var(--surface-color);border-radius:var(--radius);padding:20px;margin-bottom:20px;border:1px solid var(--border-color)}.ve-compress-section h2{margin:0 0 12px;font-size:1.05rem;font-weight:700}.ve-compress-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.ve-compress-row label{font-size:.85rem;color:var(--text-secondary);font-weight:600}.ve-compress-input{width:110px;padding:8px 10px;border:2px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-color);color:var(--text-color)}.ve-compress-input:focus{outline:none;border-color:var(--primary-color)}.ve-compress-btn{padding:9px 16px;background:linear-gradient(135deg,#0ea5e9,#2563eb);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:700}.ve-compress-btn:disabled{opacity:.5;cursor:not-allowed}.ve-compress-note{margin-top:10px;font-size:.8rem;color:var(--text-secondary)}.ve-segments-section h2{font-size:1.1rem;font-weight:700;margin-bottom:16px}.ve-segment-row{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding:10px 12px;background:var(--bg-color);border-radius:var(--radius-sm);border:1px solid var(--border-color)}.ve-segment-num{font-weight:800;font-size:.9rem;min-width:20px;color:var(--text-secondary)}.ve-segment-label{font-size:.8rem;color:var(--text-secondary);font-weight:500}.ve-time-input{width:90px;padding:6px 10px;border:2px solid var(--border-color);border-radius:var(--radius-sm);background:var(--surface-color);color:var(--text-color);font-size:.9rem;font-variant-numeric:tabular-nums;text-align:center;transition:border-color .2s}.ve-time-input:focus{outline:none;border-color:var(--primary-color)}.ve-now-btn{padding:4px 8px;background:var(--primary-color);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.7rem;font-weight:600;opacity:.8;transition:opacity .15s}.ve-now-btn:hover{opacity:1}.ve-segment-arrow{color:var(--text-secondary);font-weight:700}.ve-segment-delete{margin-left:auto;padding:4px 10px;background:transparent;color:#ef4444;border:1px solid #ef4444;border-radius:var(--radius-sm);cursor:pointer;font-size:.8rem;transition:all .15s}.ve-segment-delete:hover{background:#ef4444;color:#fff}.ve-add-segment-btn{display:flex;align-items:center;gap:6px;padding:10px 18px;background:transparent;color:var(--primary-color);border:2px dashed var(--primary-color);border-radius:var(--radius-sm);cursor:pointer;font-weight:600;font-size:.9rem;width:100%;justify-content:center;transition:all .15s;margin-top:6px}.ve-add-segment-btn:hover{background:var(--primary-color);color:#fff;border-style:solid}.ve-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.ve-create-btn{padding:12px 28px;background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:700;font-size:1rem;transition:opacity .15s,transform .15s}.ve-create-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.ve-create-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.ve-download-btn{display:inline-flex;align-items:center;gap:6px;padding:12px 28px;background:var(--gradient-success);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:700;font-size:1rem;text-decoration:none;transition:opacity .15s,transform .15s}.ve-download-btn:hover{opacity:.9;transform:translateY(-1px)}.ve-progress{margin-top:16px}.ve-video-info{background:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:12px 16px;margin-bottom:12px}.ve-video-title{font-weight:700;font-size:.95rem;color:var(--text-color);margin-bottom:4px;line-height:1.3}.ve-video-meta{display:flex;gap:16px;font-size:.8rem;color:var(--text-secondary)}.ve-progress-bar{width:100%;height:8px;background:var(--border-color);border-radius:4px;overflow:hidden;margin-bottom:8px}.ve-progress-fill{height:100%;background:var(--gradient-primary);border-radius:4px}.ve-progress-details{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.ve-progress-text{font-size:.85rem;color:var(--text-secondary);font-weight:600}.ve-progress-speed{font-size:.8rem;color:var(--primary-color);font-weight:600;font-variant-numeric:tabular-nums}.ve-progress-eta{font-size:.8rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.ve-error{padding:10px 14px;background:#fef2f2;color:#dc2626;border-radius:var(--radius-sm);font-size:.85rem;margin-top:12px}.ve-cookies-warning{display:flex;align-items:center;gap:10px;margin-top:12px;padding:10px 14px;background:#fef9c3;color:#854d0e;border-radius:var(--radius-sm);font-size:.82rem;flex-wrap:wrap}[data-theme=dark] .ve-cookies-warning{background:#422006;color:#fde68a}.ve-cookies-warning input[type=file]{display:none}.ve-cookies-upload-btn{padding:5px 12px;background:#ca8a04;color:#fff;border-radius:var(--radius-sm);cursor:pointer;font-size:.78rem;font-weight:600;white-space:nowrap;transition:opacity .15s}.ve-cookies-upload-btn:hover{opacity:.85}.ve-cookies-ok{display:flex;align-items:center;gap:10px;margin-top:12px;padding:10px 14px;background:#f0fdf4;color:#166534;border-radius:var(--radius-sm);font-size:.82rem}[data-theme=dark] .ve-cookies-ok{background:#052e16;color:#86efac}.ve-cookies-delete-btn{padding:4px 10px;background:transparent;color:#dc2626;border:1px solid #dc2626;border-radius:var(--radius-sm);cursor:pointer;font-size:.75rem;transition:all .15s}.ve-cookies-delete-btn:hover{background:#dc2626;color:#fff}[data-theme=dark] .ve-error{background:#450a0a;color:#fca5a5}@media (max-width: 600px){.ve-segment-row{flex-wrap:wrap;gap:6px}.ve-time-input{width:75px;font-size:.85rem}.ve-upload-row{flex-direction:column;align-items:stretch}.ve-url-row{flex-direction:column}}.ve-uploads-section{background:var(--surface-color);border-radius:var(--radius);padding:24px;margin-top:24px;border:1px solid var(--border-color)}.ve-uploads-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.ve-uploads-header h2{font-size:1.1rem;font-weight:700;margin:0}.ve-uploads-actions{display:flex;gap:8px}.ve-uploads-refresh{padding:6px 14px;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.8rem;font-weight:600}.ve-uploads-refresh:disabled{opacity:.5;cursor:not-allowed}.ve-uploads-delete-all{padding:6px 14px;background:#ef4444;color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.8rem;font-weight:600}.ve-uploads-delete-all:hover{background:#dc2626}.ve-uploads-total{font-size:.82rem;color:var(--text-secondary);margin-bottom:12px;font-weight:600}.ve-uploads-empty{font-size:.85rem;color:var(--text-secondary);text-align:center;padding:20px}.ve-uploads-list{display:flex;flex-direction:column;gap:6px;max-height:400px;overflow-y:auto}.ve-upload-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-color);border-radius:var(--radius-sm);border:1px solid var(--border-color)}.ve-upload-item-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.ve-upload-item-name{font-size:.8rem;font-weight:600;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px;font-family:monospace}.ve-upload-item-size{font-size:.78rem;color:var(--primary-color);font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.ve-upload-item-date{font-size:.75rem;color:var(--text-secondary);white-space:nowrap}.ve-upload-item-delete{padding:4px 10px;background:transparent;color:#ef4444;border:1px solid #ef4444;border-radius:var(--radius-sm);cursor:pointer;font-size:.75rem;transition:all .15s;white-space:nowrap}.ve-upload-item-delete:hover{background:#ef4444;color:#fff}.ve-upload-item-actions{display:flex;gap:6px;align-items:center;margin-left:8px}.ve-upload-item-download{padding:4px 10px;background:var(--primary-color);color:#fff;border-radius:var(--radius-sm);cursor:pointer;font-size:.75rem;font-weight:600;text-decoration:none;white-space:nowrap}.ve-upload-item-download:hover{opacity:.85}.ve-save-r2-btn{padding:12px 28px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:700;font-size:1rem;transition:opacity .15s,transform .15s}.ve-save-r2-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.ve-save-r2-btn:disabled{opacity:.5;cursor:not-allowed}.ve-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ve-dialog{background:var(--surface-color);border-radius:var(--radius);padding:28px;min-width:380px;max-width:500px;border:1px solid var(--border-color);box-shadow:0 20px 60px #0000004d}.ve-dialog h3{font-size:1.15rem;font-weight:700;margin:0 0 16px}.ve-dialog-input{width:100%;padding:12px 14px;border:2px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-color);color:var(--text-color);font-size:.95rem;margin-bottom:16px;transition:border-color .2s;box-sizing:border-box}.ve-dialog-input:focus{outline:none;border-color:var(--primary-color)}.ve-dialog-actions{display:flex;gap:10px;justify-content:flex-end}.ve-dialog-save{padding:10px 24px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:600;font-size:.9rem}.ve-dialog-save:disabled{opacity:.5;cursor:not-allowed}.ve-dialog-cancel{padding:10px 24px;background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;font-weight:600;font-size:.9rem}.ve-saved-section{background:var(--surface-color);border-radius:var(--radius);padding:24px;margin-top:24px;border:1px solid var(--border-color)}.ve-saved-section h2{font-size:1.1rem;font-weight:700;margin:0 0 16px}.ve-team-filter{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.ve-team-filter-btn{padding:4px 12px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;font-size:.8rem;font-weight:600;transition:all .15s ease}.ve-team-filter-btn.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.ve-team-filter-btn:hover:not(.active){border-color:var(--accent-primary);color:var(--accent-primary)}.ve-saved-item-team{font-size:.75rem;padding:2px 8px;border-radius:4px;background:#3b82f626;color:#60a5fa;font-weight:600}.ve-saved-list{display:flex;flex-direction:column;gap:8px}.ve-saved-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--bg-color);border-radius:var(--radius-sm);border:1px solid var(--border-color);gap:8px}.ve-saved-item-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.ve-saved-item-name{font-weight:700;font-size:.9rem;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ve-saved-item-size{font-size:.8rem;color:var(--primary-color);font-weight:600;white-space:nowrap}.ve-saved-item-user{font-size:.78rem;color:var(--text-secondary);background:var(--border-color);padding:2px 8px;border-radius:4px;white-space:nowrap}.ve-saved-item-date{font-size:.78rem;color:var(--text-secondary);white-space:nowrap}.ve-saved-item-actions{display:flex;gap:6px;flex-shrink:0}.ve-saved-item-download{padding:5px 12px;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.78rem;font-weight:600;text-decoration:none;white-space:nowrap}.ve-saved-item-download:hover{opacity:.85}.ve-saved-item-delete{padding:5px 12px;background:transparent;color:#ef4444;border:1px solid #ef4444;border-radius:var(--radius-sm);cursor:pointer;font-size:.78rem;transition:all .15s;white-space:nowrap}.ve-saved-item-delete:hover{background:#ef4444;color:#fff}@media (max-width: 600px){.ve-saved-item{flex-direction:column;align-items:flex-start}.ve-saved-item-info{flex-wrap:wrap}.ve-saved-item-actions{width:100%}.ve-dialog{min-width:90vw;margin:0 16px}}.gh-section{margin-top:8px}.gh-game-select h2{font-size:1.1rem;font-weight:700;margin-bottom:10px}.gh-game-dropdown{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--surface-color);color:var(--text-color);font-size:.95rem;cursor:pointer}.gh-loading,.gh-loading-game{color:var(--text-secondary);font-size:.9rem;padding:12px 0}.gh-game-info{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--border-color);margin-bottom:12px}.gh-game-name{font-weight:700;font-size:1.05rem}.gh-video-badge{padding:3px 10px;border-radius:12px;font-size:.8rem;font-weight:600;background:#ef444420;color:#ef4444}.gh-actions-count{color:var(--text-secondary);font-size:.9rem;margin-left:auto}.gh-no-actions{padding:24px 16px;text-align:center;color:var(--text-secondary);background:var(--surface-color);border-radius:var(--radius-sm);line-height:1.5}.gh-filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px}.gh-filter-group{display:flex;align-items:center;gap:6px}.gh-filter-group label{font-size:.85rem;font-weight:600;color:var(--text-secondary);white-space:nowrap}.gh-filter-select{padding:7px 10px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--surface-color);color:var(--text-color);font-size:.88rem;min-width:160px}.gh-multiselect{position:relative}.gh-multiselect-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--surface-color);color:var(--text-color);font-size:.88rem;min-width:160px;cursor:pointer;text-align:left}.gh-multiselect-toggle:hover{border-color:var(--accent-color, #3b82f6)}.gh-ms-arrow{font-size:.7rem;color:var(--text-secondary)}.gh-multiselect-dropdown{position:absolute;top:100%;left:0;z-index:50;min-width:220px;max-height:280px;overflow-y:auto;background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:0 4px 16px #00000026;margin-top:4px;padding:4px 0}.gh-ms-clear{width:100%;padding:6px 12px;border:none;border-bottom:1px solid var(--border-color);background:transparent;color:var(--accent-color, #3b82f6);font-size:.82rem;cursor:pointer;text-align:left;font-weight:600}.gh-ms-clear:hover{background:var(--hover-color, #f3f4f6)}.gh-ms-option{display:flex;align-items:center;gap:8px;padding:6px 12px;cursor:pointer;font-size:.88rem;transition:background .1s}.gh-ms-option:hover{background:var(--hover-color, #f3f4f6)}.gh-ms-option input[type=checkbox]{flex-shrink:0;width:15px;height:15px;cursor:pointer}.gh-padding-input{width:60px;padding:7px 8px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--surface-color);color:var(--text-color);font-size:.88rem;text-align:center}.gh-actions-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.gh-actions-title{font-weight:700;font-size:.95rem}.gh-select-btns{display:flex;gap:8px}.gh-select-btn{padding:5px 10px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--surface-color);color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:background .15s}.gh-select-btn:hover{background:var(--hover-color, #f3f4f6)}.gh-actions-list{max-height:400px;overflow-y:auto;border:1px solid var(--border-color);border-radius:var(--radius-sm);margin-bottom:14px}.gh-action-item{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;border-bottom:1px solid var(--border-color);transition:background .12s;font-size:.88rem}.gh-action-item:last-child{border-bottom:none}.gh-action-item:hover{background:var(--hover-color, #f9fafb)}.gh-action-item.selected{background:#3b82f610}.gh-action-item input[type=checkbox]{flex-shrink:0;width:16px;height:16px;cursor:pointer}.gh-action-time{font-family:SF Mono,Fira Code,monospace;font-size:.82rem;color:var(--text-secondary);white-space:nowrap;min-width:120px}.gh-ts-editable{cursor:pointer;border-bottom:1px dashed var(--text-secondary);transition:color .15s,border-color .15s}.gh-ts-editable:hover{color:#3b82f6;border-bottom-color:#3b82f6}.gh-ts-input{width:72px;padding:1px 4px;border:1px solid #3b82f6;border-radius:3px;background:var(--surface-color);color:var(--text-color);font-size:.82rem;font-family:SF Mono,Fira Code,monospace;outline:none}.gh-action-type{font-weight:600;white-space:nowrap;min-width:140px}.gh-action-player{white-space:nowrap}.gh-action-team{color:var(--text-secondary);font-size:.82rem;margin-left:auto;white-space:nowrap}.gh-create-section{display:flex;gap:12px;align-items:center;margin-bottom:14px}@media (max-width: 768px){.gh-filters{flex-direction:column;gap:8px}.gh-filter-select{min-width:0;flex:1}.gh-action-item{flex-wrap:wrap;gap:4px 8px}.gh-action-time,.gh-action-type{min-width:auto}}.app{min-height:100vh;padding:2rem;max-width:1400px;margin:0 auto;padding-top:0}.app:has(.video-analysis-mode){max-width:100%;padding-left:1rem;padding-right:1rem}.app,.game-setup,.game-card,.form-section,.player-card,.action-button,input,select,textarea{transition:background-color .3s ease,border-color .3s ease,color .3s ease}.game-setup{background:var(--surface-color);padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:1200px;margin:0 auto;border:1px solid var(--border-color)}.game-setup h1{margin-bottom:2rem;color:var(--primary-color);text-align:center}.existing-games-section{margin-bottom:2rem;padding:1.5rem;background:var(--bg-color);border-radius:var(--radius-lg)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--border-color)}.section-header h2{margin:0;color:var(--text-color)}.section-header-actions{display:flex;gap:.75rem;align-items:center}.delete-all-games-button{padding:.5rem 1rem;background:transparent;color:var(--danger-color, #dc3545);border:1px solid var(--danger-color, #dc3545);border-radius:var(--radius);font-size:.9rem;cursor:pointer}.delete-all-games-button:hover:not(:disabled){background:var(--danger-color, #dc3545);color:#fff}.toggle-create-button{padding:.7rem 1.5rem;background:var(--gradient-primary);color:#fff;border-radius:var(--radius);font-weight:600;transition:all .2s ease;box-shadow:0 2px 8px #6366f140}.toggle-create-button:hover{transform:translateY(-1px);box-shadow:0 4px 16px #6366f159}.loading-text{text-align:center;color:var(--text-secondary);padding:2rem;font-style:italic}.no-games{text-align:center;padding:3rem 2rem;color:var(--text-secondary);background:var(--surface-color);border-radius:var(--radius);border:2px dashed var(--border-color)}.no-games p{margin:0;font-size:1.1rem}.games-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.game-card{background:var(--surface-color);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow);transition:all .2s cubic-bezier(.4,0,.2,1);border:1px solid var(--border-color)}.game-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-xl);border-color:var(--primary-light)}.game-card-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:1rem;gap:1rem}.game-card-header h3{margin:0;color:var(--primary-color);font-size:1.25rem;flex:1;word-break:break-word}.game-status{padding:.25rem .75rem;border-radius:var(--radius);font-size:.85rem;font-weight:600;white-space:nowrap}.game-status.finished{background:var(--badge-admin-bg);color:var(--badge-admin-color)}.game-status.in_progress{background:var(--badge-editor-bg);color:var(--badge-editor-color)}.game-status.setup{background:#fef3c7;color:#92400e}[data-theme=dark] .game-status.setup{background:#f59e0b20;color:#fbbf24}.game-card-body{margin-bottom:1rem}.game-date{color:var(--text-secondary);font-size:.9rem;margin:0}.game-card-actions{display:flex;gap:.75rem}.load-game-button,.delete-game-button{flex:1;padding:.75rem;border-radius:var(--radius);font-weight:500;transition:all .2s ease}.load-game-button{background:var(--primary-color);color:#fff}.load-game-button:hover:not(:disabled){background:var(--primary-dark)}.delete-game-button{background:transparent;color:var(--danger-color);border:2px solid var(--danger-color)}.delete-game-button:hover:not(:disabled){background:var(--danger-color);color:#fff}.create-game-form{margin-top:2rem;padding:2rem;background:var(--surface-color);border-radius:var(--radius-lg);border:2px solid var(--border-color)}.create-game-form h2{text-align:center;margin-bottom:1.5rem;color:var(--primary-color)}.form-section{margin-bottom:2rem;padding:1.5rem;background:var(--bg-color);border-radius:var(--radius)}.form-section h2{margin-bottom:1rem;color:var(--text-color)}.form-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.form-section-header h3{margin:0;color:var(--text-color)}.teams-manage-link{color:var(--primary-color);text-decoration:none;font-weight:500;font-size:.95rem}.teams-manage-link:hover{text-decoration:underline}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-color)}.form-group input{width:100%}.team-selector{display:flex;gap:.5rem;margin-bottom:1rem;background:var(--bg-secondary);padding:4px;border-radius:var(--radius-lg)}.team-selector button{flex:1;padding:.65rem 1.5rem;background:transparent;color:var(--text-secondary);border:none;border-radius:var(--radius);font-weight:600;font-size:.9rem;letter-spacing:-.01em}.team-selector button.active{background:var(--surface-color);color:var(--text-color);box-shadow:var(--shadow)}.mode-switch{display:flex;gap:.5rem;margin-bottom:1rem;background:var(--bg-secondary);padding:4px;border-radius:var(--radius-lg)}.mode-switch button{flex:1;padding:.65rem 1.5rem;background:transparent;color:var(--text-secondary);border:none;border-radius:var(--radius);cursor:pointer;transition:all .2s ease;font-weight:600;font-size:.9rem}.mode-switch button:hover{color:var(--text-color)}.mode-switch button.active{background:var(--surface-color);color:var(--text-color);box-shadow:var(--shadow)}.team-select{width:100%;padding:.75rem 1rem;background:var(--surface-color);color:var(--text-color);border:2px solid var(--border-color);border-radius:var(--radius);font-size:1rem;cursor:pointer;transition:all .2s ease}.team-select:hover{border-color:var(--primary-color)}.team-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f633}.selected-team-info{margin-top:.5rem;color:var(--success-color);font-size:.9rem}.game-type-buttons{display:flex;gap:.75rem}.game-type-btn{flex:1;padding:.75rem 1rem;background:var(--surface-color);color:var(--text-color);border:2px solid var(--border-color);border-radius:var(--radius);cursor:pointer;transition:all .2s ease;font-weight:500}.game-type-btn:hover{border-color:var(--primary-color)}.game-type-btn.active{background:#1e3a5f;border-color:var(--primary-color);color:#fff}.game-meta{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.game-tags{display:flex;gap:.5rem;align-items:center}.game-season-badge{padding:.25rem .75rem;border-radius:var(--radius);font-size:.85rem;font-weight:500;background:#a78bfa20;color:#a78bfa}.game-type-badge{padding:.25rem .75rem;border-radius:var(--radius);font-size:.85rem;font-weight:500}.game-type-badge.championship{background:#f59e0b20;color:#f59e0b}.game-type-badge.cup{background:#8b5cf620;color:#8b5cf6}.game-type-badge.friendly{background:#10b98120;color:#10b981}.add-player-form{display:grid;grid-template-columns:2fr 1fr 2fr auto;gap:1rem;align-items:end;margin-bottom:1.5rem}.add-button,.create-game-button{padding:.75rem 1.5rem;background:var(--primary-color);color:#fff;border-radius:var(--radius);font-weight:500}.add-button:hover,.create-game-button:hover{background:var(--primary-dark)}.create-game-button{width:100%;margin-top:2rem;padding:1rem;font-size:1.1rem}.players-list{background:var(--surface-color);padding:1rem;border-radius:var(--radius);max-height:300px;overflow-y:auto}.players-list h3{margin-bottom:1rem;color:var(--primary-color)}.player-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;margin-bottom:.5rem;background:var(--bg-color);border-radius:var(--radius)}.remove-button{padding:.5rem 1rem;background:var(--danger-color);color:#fff;border-radius:var(--radius);font-size:.9rem}.remove-button:hover{background:#dc2626}.game-tracker{background:var(--surface-color);padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.game-tracker.video-analysis-mode{padding:.5rem}.video-analysis-mode .game-info,.video-analysis-mode .half-controls,.video-analysis-mode .half-status-debug,.video-analysis-mode .attacks-section,.video-analysis-mode .game-controls{display:none}.va-status-bar{background:var(--card-bg, #1e293b);border:1px solid var(--border-color, #334155);border-radius:8px;padding:8px 16px;margin-bottom:12px;text-align:center;font-size:.9rem}.va-status-hint{color:var(--text-secondary, #94a3b8)}.va-status-hint.va-start-marked{color:#f59e0b}.va-status-hint.va-playing{color:#22c55e}.va-game-header{padding:8px 0!important;margin-bottom:8px!important;border-bottom:1px solid var(--border-color, #334155)!important}.va-game-header h1{font-size:1.1rem;margin:0}.va-team-block{margin-bottom:6px;padding:4px 6px;border-radius:8px;border:2px solid transparent;transition:border-color .2s}.va-team-block.va-team-active{border-color:var(--primary-color, #3b82f6);background:#3b82f60d}.va-team-name{margin:0 0 4px;font-size:.85rem;color:#fff}.va-player-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.va-player-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 2px;border:2px solid var(--border-color, #334155);border-radius:6px;background:var(--card-bg, #1e293b);color:#fff;cursor:pointer;transition:all .15s;min-height:40px}.va-player-cell:hover{border-color:var(--primary-color, #3b82f6);background:#3b82f61a}.va-player-cell.selected{border-color:var(--primary-color, #3b82f6);background:var(--primary-color, #3b82f6);color:#fff}.va-player-cell.va-player-excluded{opacity:.25;text-decoration:line-through;pointer-events:auto;cursor:pointer}.va-player-cell.va-player-gk-active{border-color:#f59e0b;box-shadow:0 0 6px #f59e0b80}.va-player-cell.va-player-swap{border-color:#a855f7;background:#a855f74d;animation:va-swap-pulse .8s ease-in-out infinite alternate}@keyframes va-swap-pulse{0%{box-shadow:0 0 4px #a855f766}to{box-shadow:0 0 10px #a855f7cc}}.va-gk-badge{font-size:.65rem;line-height:1}.va-ts-editable{cursor:pointer;border-bottom:1px dashed rgba(255,255,255,.3);transition:border-color .15s}.va-ts-editable:hover{border-bottom-color:#3b82f6;color:#3b82f6}.va-ts-edit-input{width:90px;padding:2px 4px;border:1px solid #3b82f6;border-radius:3px;background:#0000004d;color:#fff;font-size:.82rem;font-family:SF Mono,Fira Code,monospace;outline:none}.va-game-selector{padding:24px 16px;max-width:800px;margin:0 auto}.va-game-selector h2{font-size:1.3rem;font-weight:700;margin-bottom:16px;color:#fff}.va-games-list{display:flex;flex-direction:column;gap:8px;max-height:70vh;overflow-y:auto}.va-game-card{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--border-color, #334155);border-radius:var(--radius-sm, 6px);background:var(--surface-color, #1e293b);color:#fff;cursor:pointer;text-align:left;transition:border-color .15s,background .15s}.va-game-card:hover{border-color:#3b82f6;background:#1e293b}.va-game-card.loading{opacity:.6;pointer-events:none}.va-game-card-name{font-weight:600;flex:1}.va-game-card-date{color:#ffffff80;font-size:.85rem}.va-game-card-status{padding:2px 8px;border-radius:10px;font-size:.75rem;font-weight:600}.va-game-card-status.finished{background:#22c55e20;color:#22c55e}.va-game-card-status.in_progress{background:#3b82f620;color:#3b82f6}.va-game-card-video{color:#ef4444;font-size:.9rem}.va-finished-badge{padding:3px 10px;border-radius:12px;font-size:.75rem;font-weight:600;background:#22c55e20;color:#22c55e}.va-change-game-btn{padding:5px 12px;border:1px solid var(--border-color, #334155);border-radius:var(--radius-sm, 6px);background:transparent;color:#ffffffb3;cursor:pointer;font-size:.82rem;transition:color .15s,border-color .15s;margin-left:auto}.va-change-game-btn:hover{color:#fff;border-color:#3b82f6}.va-edit-video-btn{background:none;border:1px solid var(--border-color, #334155);color:var(--text-secondary, #94a3b8);padding:4px 10px;font-size:.75rem;border-radius:4px;cursor:pointer;margin-top:4px}.va-edit-video-row{display:flex;gap:4px;margin-top:4px}.va-video-input{flex:1;padding:6px 8px;font-size:.8rem;border:1px solid var(--border-color, #334155);border-radius:4px;background:var(--card-bg, #1e293b);color:#fff}.va-video-save-btn,.va-video-cancel-btn{padding:4px 8px;border:1px solid var(--border-color, #334155);border-radius:4px;background:var(--card-bg, #1e293b);color:#fff;cursor:pointer;font-size:.8rem}.va-player-number{font-size:1rem;font-weight:700;line-height:1;color:#fff}.va-player-name{font-size:.6rem;line-height:1.1;text-align:center;overflow:hidden;color:#fff;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.va-quick-actions{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin-bottom:8px}.va-quick-btn{padding:4px 8px;font-size:.75rem;font-weight:600;border:1px solid var(--primary-color, #3b82f6);border-radius:4px;background:#3b82f61a;color:var(--primary-color, #3b82f6);cursor:pointer;transition:all .15s}.va-quick-btn:hover:not(:disabled){background:var(--primary-color, #3b82f6);color:#fff}.va-quick-btn:disabled{opacity:.4;cursor:default}.va-action-category{margin-bottom:4px}.va-action-category h4{margin:0 0 2px;font-size:.75rem;color:var(--text-secondary, #94a3b8)}.va-action-category .action-buttons{gap:3px}.va-action-category .action-button{padding:11px 6px;font-size:15px}.video-analysis-current-pane .action-item{padding:11px .75rem;margin-bottom:0;font-size:15px}.video-analysis-current-pane .actions-list{display:flex;flex-direction:column;gap:11px}.va-status-hint.va-end-marked{color:#3b82f6}.game-header{text-align:center;margin-bottom:2rem;padding-bottom:2rem;border-bottom:2px solid var(--border-color)}.game-header h1{color:var(--primary-color);margin-bottom:1rem}.teams{font-size:1.5rem;font-weight:600;margin-bottom:1rem}.teams .team{color:var(--text-color)}.teams .vs{color:var(--text-secondary);margin:0 1rem}.teams .team{cursor:default}.teams .team[title]{cursor:pointer}.team-edit{display:inline-flex;align-items:center;gap:.25rem}.team-edit input{padding:.25rem .5rem;width:140px}.edit-teams-toggle{margin:.5rem 0;padding:.4rem .8rem;font-size:.9rem;cursor:pointer;background:var(--secondary-color);color:#fff;border:none;border-radius:4px}.edit-teams-panel{display:flex;gap:2rem;margin-top:1rem;padding:1rem;background:var(--surface-color, #1a1a1a);border:1px solid var(--border-color, #333);border-radius:8px}.edit-teams-col h4{margin:0 0 .5rem;font-size:1rem}.edit-player-row{display:flex;justify-content:space-between;align-items:center;padding:.3rem 0;border-bottom:1px solid var(--border-color, #2a2a2a);gap:.5rem}.edit-player-row span button{padding:.2rem .4rem;margin-left:.2rem;font-size:.85rem;cursor:pointer;background:transparent;border:none}.edit-player-form{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}.edit-player-form input{padding:.25rem .4rem;font-size:.9rem}.add-player-inline{margin-top:.5rem;padding:.3rem .6rem;font-size:.85rem;cursor:pointer;background:var(--primary-color);color:#fff;border:none;border-radius:4px}.add-player-inline:hover{opacity:.9}.game-info p{color:var(--text-secondary)}.current-half{font-weight:600;color:var(--primary-color)!important}.half-controls{margin:1.5rem 0;display:flex;flex-direction:column;gap:.5rem;align-items:center;padding:1.5rem;background:#f8f9fa;border-radius:var(--radius);border:3px solid #dee2e6}.half-status-debug{margin-bottom:.5rem;padding:.5rem;background:#fff3cd;border-radius:4px}.half-button{padding:.75rem 2rem;border-radius:var(--radius);font-weight:500;font-size:1rem;min-width:250px;border:none;cursor:pointer;transition:all .3s ease}.half-button.start-half{background:var(--secondary-color);color:#fff}.half-button.start-new-half{background:linear-gradient(135deg,#28a745,#20c997)!important;color:#fff!important;font-size:1.4em!important;padding:20px 50px!important;font-weight:700!important;box-shadow:0 8px 25px #28a74580!important;border:4px solid #fff!important;animation:pulse 2s infinite;text-transform:uppercase;letter-spacing:1px}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 8px 25px #28a74580}50%{transform:scale(1.05);box-shadow:0 12px 35px #28a745b3}}.half-button.start-half:hover:not(:disabled){background:#059669}.half-button.start-new-half:hover:not(:disabled){transform:translateY(-3px) scale(1.05)!important;box-shadow:0 12px 40px #28a745cc!important}.half-button.finish-half{background:var(--warning-color);color:#fff}.half-button.finish-half:hover:not(:disabled){background:#d97706}.no-active-half{text-align:center;padding:2rem;background:var(--bg-color);border-radius:var(--radius)}.no-active-half h2{color:var(--text-secondary);margin-bottom:.5rem}.no-active-half p{color:var(--text-secondary)}.hint-text{margin-top:1rem;padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:var(--radius);color:#856404!important;font-weight:500}.attack-selection{text-align:center;padding:3rem}.attack-selection h2{margin-bottom:2rem}.attack-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;max-width:600px;margin:0 auto}.start-attack-button{padding:2rem;font-size:1.2rem;font-weight:600;border-radius:var(--radius-lg);color:#fff}.start-attack-button.home{background:var(--primary-color)}.start-attack-button.away{background:var(--secondary-color)}.start-attack-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.edit-lineup-button{display:block;margin:1.5rem auto 0;padding:.75rem 1.5rem;background:var(--surface-color);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius);font-size:.95rem;cursor:pointer;transition:all .2s ease}.edit-lineup-button:hover{background:var(--bg-color);color:var(--text-color);border-color:var(--primary-color)}.edit-lineup-button.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.lineup-editor{margin-top:1.5rem;padding:1.5rem;background:var(--surface-color);border-radius:var(--radius-lg);border:1px solid var(--border-color);text-align:left}.lineup-swap-hint{color:var(--text-secondary);font-size:.85rem;margin-bottom:1.25rem;text-align:center}.team-lineup{margin-bottom:1.5rem}.team-lineup:last-child{margin-bottom:0}.team-lineup-title{font-size:1.1rem;font-weight:600;color:var(--primary-color);margin-bottom:.75rem}.lineup-label{font-size:.85rem;color:var(--text-secondary);margin-bottom:.5rem;font-weight:500}.lineup-players{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem;margin-bottom:.75rem}.lineup-player-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-color);color:var(--text-color);border:2px solid var(--border-color);border-radius:var(--radius);cursor:pointer;font-size:.9rem;transition:all .15s ease}.lineup-player-btn:hover{border-color:var(--primary-color)}.lineup-player-btn.bench{opacity:.7;border-style:dashed}.lineup-player-btn.bench:hover{opacity:1}.lineup-player-btn.swap-selected{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.lineup-player-btn.swap-target{border-color:var(--success-color, #28a745);opacity:1;animation:pulse-border 1s infinite}@keyframes pulse-border{0%,to{border-color:var(--success-color, #28a745)}50%{border-color:transparent}}.lineup-player-number{font-weight:700;min-width:20px}.lineup-player-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lineup-player-action{font-size:.8rem;opacity:.6}.attack-tracking{padding:1.5rem;background:var(--bg-color);border-radius:var(--radius-lg)}.attack-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.end-attack-button{padding:.75rem 1.5rem;background:var(--danger-color);color:#fff;border-radius:var(--radius);font-weight:500}.end-attack-button:hover{background:#dc2626}.player-selection{margin-bottom:2rem}.player-selection .players-section{margin-bottom:1.5rem}.player-selection .players-section h3{margin-bottom:.75rem;font-size:1rem}.player-selection .bench-section{margin-top:.5rem}.player-selection .bench-toggle{padding:.5rem 1rem;background:var(--surface-color);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius);font-size:.9rem;cursor:pointer;width:100%;text-align:left}.player-selection .bench-toggle:hover{background:var(--bg-color);color:var(--text-color)}.player-selection .player-buttons-bench{margin-top:.75rem}.player-selection .player-button-bench{padding:.5rem .75rem;font-size:.9rem}.player-selection h3{margin-bottom:1rem}.player-buttons{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}.player-button{padding:.75rem 1rem;background:var(--surface-color);color:var(--text-color);border:2px solid var(--border-color);border-radius:var(--radius);font-weight:500;text-align:center}.player-button.selected{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.player-button:hover:not(.selected){border-color:var(--primary-color)}.actions-grid{margin-bottom:2rem}.actions-grid h3{margin-bottom:1rem}.action-category{margin-bottom:1.5rem;padding:1rem;background:var(--surface-color);border-radius:var(--radius)}.action-category h4{margin-bottom:.75rem;color:var(--primary-color);font-size:1rem}.action-buttons{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.5rem}.action-button{padding:.75rem 1rem;background:var(--primary-color);color:#fff;border-radius:var(--radius);font-weight:500;font-size:.9rem}.action-button:hover:not(:disabled){background:var(--primary-dark)}.current-attack-actions{padding:1.5rem;background:var(--surface-color);border-radius:var(--radius)}.current-attack-actions h3,.video-analysis-video{margin-bottom:1rem}.actions-list{max-height:400px;overflow-y:auto}.action-item{display:grid;grid-template-columns:auto 1fr 1fr auto auto;gap:1rem;align-items:center;padding:.75rem;margin-bottom:.5rem;background:var(--bg-color);border-radius:var(--radius)}.action-number{font-weight:600;color:var(--text-secondary)}.action-type{font-weight:500;color:var(--primary-color)}.action-player{color:var(--text-color)}.action-coordinates{color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.delete-action-button{padding:.25rem .5rem;background:var(--danger-color);color:#fff;border-radius:var(--radius);font-size:1rem}.delete-action-button:hover{background:#dc2626}.game-controls{display:flex;gap:1rem;margin-top:2rem}.view-stats-button,.finish-game-button,.back-to-game-button,.new-game-button{flex:1;padding:1rem;border-radius:var(--radius);font-weight:500;font-size:1rem}.view-stats-button{background:var(--secondary-color);color:#fff}.view-stats-button:hover{background:#059669}.finish-game-button{background:var(--warning-color);color:#fff}.finish-game-button:hover{background:#d97706}.stats-page{background:var(--surface-color);padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.stats-header{text-align:center;margin-bottom:2rem;padding-bottom:2rem;border-bottom:2px solid var(--border-color)}.stats-header h1{color:var(--primary-color);margin-bottom:1rem}.offline-data-banner{background-color:#fef3c7;color:#92400e;border:1px solid #f59e0b;border-radius:8px;padding:.5rem 1rem;margin-bottom:1rem;font-size:.9rem;font-weight:500}[data-theme=dark] .offline-data-banner{background-color:#78350f;color:#fef3c7;border-color:#b45309}.game-summary{color:var(--text-secondary)}.game-summary p{margin-bottom:.25rem}.field-side-toggle{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:.85rem}.field-side-toggle span{color:var(--text-secondary)}.field-side-btn{padding:4px 12px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;font-size:.8rem;font-weight:600;transition:all .15s ease}.field-side-btn.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.field-side-btn:hover:not(.active){border-color:var(--accent-primary);color:var(--accent-primary)}.view-selector{display:flex;gap:1rem;margin-bottom:2rem;justify-content:center}.view-selector button{padding:.75rem 2rem;background:var(--surface-color);color:var(--text-color);border:2px solid var(--border-color);border-radius:var(--radius);font-weight:500}.view-selector button.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.team-stats{padding:1.5rem;background:var(--bg-color);border-radius:var(--radius-lg)}.team-stats h2{text-align:center;margin-bottom:1.5rem}.stats-comparison{margin-top:1.5rem}.comparison-table{background:var(--surface-color);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--border-color)}.comparison-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:.9rem 1.5rem;background:var(--gradient-primary);gap:1rem}.comparison-team-name{font-weight:800;color:#fff;font-size:.95rem;letter-spacing:-.02em}.comparison-team-name:first-child{text-align:left}.comparison-team-name:last-child{text-align:right}.comparison-label-header{text-align:center;font-weight:500;color:#ffffffb3;font-size:.8rem}.comparison-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:.5rem 1.5rem;border-bottom:1px solid var(--border-light);gap:1rem;transition:background .15s}.comparison-row:hover{background:var(--surface-hover)}.comparison-row:last-child{border-bottom:none}.comparison-row-separator{margin-top:4px;border-top:2px solid var(--border-color);padding-top:.7rem}.comparison-value{font-weight:700;font-size:1.05rem;color:var(--text-color);font-variant-numeric:tabular-nums}.comparison-value:first-child{text-align:left}.comparison-value:last-child{text-align:right}.comparison-value.highlight{color:var(--success-color)}.comparison-value-bold{font-weight:800;font-size:1.1rem}.comparison-label{text-align:center;font-weight:500;font-size:.82rem;min-width:140px;color:var(--text-secondary)}.comparison-label-bold{font-weight:700;font-size:.92rem}.team-column{background:var(--surface-color);padding:1.5rem;border-radius:var(--radius)}.team-column h3{text-align:center;margin-bottom:1.5rem;color:var(--primary-color);padding-bottom:1rem;border-bottom:2px solid var(--border-color)}.stat-row{display:flex;justify-content:space-between;align-items:center;padding:.65rem .85rem;margin-bottom:.35rem;background:var(--bg-color);border-radius:var(--radius);gap:.75rem;transition:background .15s}.stat-row:hover{background:var(--surface-hover)}.stat-label{font-weight:500;color:var(--text-color);flex:1;font-size:.9rem}.stat-value{font-weight:700;color:var(--primary-color);font-variant-numeric:tabular-nums;min-width:50px;text-align:right}.stat-avg{min-width:110px;text-align:right;color:var(--text-secondary);font-size:.85em}.team-aggregated-row{align-items:center;padding:.48rem .7rem;margin-bottom:.24rem}.team-aggregated-values{min-width:120px;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.team-aggregated-avg{font-size:1.05rem;font-weight:700;color:var(--text-color);font-variant-numeric:tabular-nums}.team-aggregated-total{font-size:.78rem;color:var(--text-secondary);opacity:.8;font-variant-numeric:tabular-nums}.player-aggregated-row{padding:.5rem .75rem;margin-bottom:.22rem}.stats-section.player-section .player-selector{margin-bottom:.6rem}.stats-section.player-section .player-select{padding:.4rem .55rem;font-size:.9rem}.player-stats{padding:1.5rem;background:var(--bg-color);border-radius:var(--radius-lg)}.player-stats h2{text-align:center;margin-bottom:1.5rem}.players-stats-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:1.5rem}.player-stat-card{background:var(--surface-color);padding:1.5rem;border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:1rem}.player-stat-card .player-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid var(--border-color)}.player-stat-card h3{color:var(--primary-color);margin:0}.player-rating{font-size:1.4em;font-weight:700;color:#fff;padding:8px 14px;border-radius:8px;min-width:50px;text-align:center;box-shadow:0 2px 6px #0003}.player-stats-grid{display:grid;gap:.5rem;margin-bottom:1rem}.player-stat-card .team-shots-viz{margin-top:0;padding:15px}.player-stat-card .team-shots-viz h3{font-size:1.1em;margin-bottom:15px}.player-stat-card .action-type-filters{padding:15px;gap:8px}.player-stat-card .filter-btn{padding:8px 12px;font-size:.85em}.player-stat-card .shots-field{margin:15px 0}.player-stat-card .shots-stats-summary{gap:10px;margin-top:15px;padding-top:15px}.stat-item{display:flex;justify-content:space-between;padding:.5rem;background:var(--bg-color);border-radius:var(--radius)}.no-stats{color:var(--text-secondary);font-style:italic;text-align:center;padding:1rem}.mode-selector{display:flex;gap:1rem;margin-bottom:2rem;justify-content:center}.mode-selector button{padding:1rem 2rem;background:var(--surface-color);color:var(--text-color);border:2px solid var(--border-color);border-radius:var(--radius);font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s}.mode-selector button.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.mode-selector button:hover:not(.active){border-color:var(--primary-color)}.games-selector{padding:1.5rem;background:var(--bg-color);border-radius:var(--radius-lg)}.games-selector-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.games-selector-header h3{margin:0;color:var(--text-color)}.delete-finished-games-button{padding:.4rem .8rem;font-size:.85rem;background:transparent;color:var(--danger-color, #dc3545);border:1px solid var(--danger-color, #dc3545);border-radius:var(--radius);cursor:pointer}.delete-finished-games-button:hover{background:var(--danger-color, #dc3545);color:#fff}.games-selector h3{margin-bottom:1rem;color:var(--text-color)}.games-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.game-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem;background:var(--surface-color);border-radius:var(--radius);border:2px solid var(--border-color);cursor:pointer;transition:all .2s}.game-item-content{flex:1;min-width:0}.game-item-delete{flex-shrink:0;padding:.35rem .5rem;background:transparent;border:none;cursor:pointer;opacity:.7;font-size:1rem;border-radius:4px}.game-item-delete:hover{opacity:1;background:#dc354533;color:var(--danger-color, #dc3545)}.game-item.active .game-item-delete{color:#fffc}.game-item.active .game-item-delete:hover{background:#fff3;color:#fff}.game-item:hover{border-color:var(--primary-color)}.game-item.active{border-color:var(--primary-color);background:var(--primary-color);color:#fff}.game-item.active .game-item-teams,.game-item.active .game-item-date{color:#fffc}.game-item-name{font-weight:600;margin-bottom:.5rem}.game-item-teams{font-size:.9rem;color:var(--text-secondary);margin-bottom:.25rem}.game-item-date{font-size:.8rem;color:var(--text-muted)}.team-template-selector{padding:1.5rem;background:var(--bg-color);border-radius:var(--radius-lg);margin-bottom:2rem}.team-filters{display:flex;gap:1.5rem;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:.5rem;min-width:200px}.filter-group label{font-weight:500;color:var(--text-secondary);font-size:.9rem}.team-select,.games-limit-select,.player-select{width:100%;padding:.75rem 1rem;border:2px solid var(--border-color);border-radius:var(--radius);background:var(--surface-color);color:var(--text-color);font-size:1rem}.team-select:focus,.games-limit-select:focus,.player-select:focus{outline:none;border-color:var(--primary-color)}.player-section{background:var(--surface-color);padding:1.5rem;border-radius:var(--radius-lg)}.player-selector{margin-bottom:1.5rem}.player-selector .player-select{max-width:400px}.select-player-hint{color:var(--text-muted);font-style:italic;text-align:center;padding:1rem}.selected-player-stats{background:var(--bg-color);padding:1.5rem;border-radius:var(--radius)}.selected-player-stats h4{color:var(--primary-color);margin-bottom:1rem;font-size:1.2rem}.player-stats-detailed{display:grid;gap:.5rem}.stat-row.detailed{padding:.75rem 1rem;background:var(--surface-color)}.stat-row.detailed .stat-value{min-width:40px}.stat-row.detailed .stat-avg{min-width:130px}.players-stats-table{overflow-x:auto}.players-stats-table table{width:100%;border-collapse:collapse;min-width:600px}.players-stats-table th,.players-stats-table td{padding:.75rem 1rem;text-align:right;border-bottom:1px solid var(--border-color)}.players-stats-table th:first-child,.players-stats-table td:first-child{text-align:left}.players-stats-table th{background:var(--surface-color);font-weight:600;color:var(--text-secondary);font-size:.85rem;text-transform:uppercase}.players-stats-table td{color:var(--text-color);font-variant-numeric:tabular-nums}.players-stats-table td.rating-avg-cell{font-weight:800;font-size:1.05rem}.players-stats-table td:first-child{font-weight:500}.players-stats-table tr:hover{background:var(--surface-color)}.players-stats-table tr.selected{background:var(--primary-color);color:#fff}.players-stats-table tr.selected td{color:#fff}.aggregated-stats{padding:1.5rem;background:var(--bg-color);border-radius:var(--radius-lg)}.aggregated-header{text-align:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--border-color)}.aggregated-header h2{color:var(--primary-color);margin-bottom:.5rem}.games-count{color:var(--text-secondary);font-size:1.1rem}.aggregated-games-list{margin-bottom:2rem;padding:1rem;background:var(--surface-color);border-radius:var(--radius)}.aggregated-games-list h4{margin-bottom:.75rem;color:var(--text-color)}.aggregated-games-list ul{list-style:none;padding:0;margin:0}.aggregated-games-list li{padding:.5rem 0;border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-size:.9rem}.aggregated-games-list li:last-child{border-bottom:none}.stats-section{margin-bottom:2rem}.stats-section h3{margin-bottom:1rem;color:var(--text-color)}.stats-grid{display:grid;gap:.5rem}.stat-avg{font-size:.85rem;color:var(--text-muted);margin-left:.5rem}.back-btn{padding:.5rem 1rem;background:var(--surface-color);color:var(--text-color);border:1px solid var(--border-color);border-radius:var(--radius);cursor:pointer;margin-bottom:1rem}.back-btn:hover{background:var(--bg-color)}.stats-loading{text-align:center;padding:3rem;color:var(--text-secondary)}.game-stats-content .stats-header{text-align:left}.stats-controls{display:flex;gap:1rem;margin-top:2rem}.back-to-game-button{background:var(--primary-color);color:#fff}.back-to-game-button:hover{background:var(--primary-dark)}.new-game-button{background:var(--secondary-color);color:#fff}.new-game-button:hover{background:#059669}.stats-empty{text-align:center;padding:3rem;background:var(--surface-color);border-radius:var(--radius-lg)}.stats-empty button{margin-top:1rem;padding:1rem 2rem;background:var(--primary-color);color:#fff;border-radius:var(--radius);font-weight:500}.half-stats{padding:1.5rem;background:var(--bg-color);border-radius:var(--radius-lg)}.half-stats h2{text-align:center;margin-bottom:1.5rem}.half-section{margin-bottom:2rem;padding:1.5rem;background:var(--surface-color);border-radius:var(--radius)}.half-section h3{text-align:center;margin-bottom:1.5rem;color:var(--primary-color);text-transform:uppercase;font-size:1.1rem}.half-section h4{font-size:1rem;margin-bottom:1rem}.attacks-section{margin:2rem 0;padding:1.5rem;background:var(--bg-color);border-radius:var(--radius-lg)}.toggle-attacks-button{width:100%;padding:1rem;background:var(--primary-color);color:#fff;border-radius:var(--radius);font-weight:500;font-size:1rem;text-align:left;display:flex;align-items:center;gap:.5rem}.toggle-attacks-button:hover{background:var(--primary-dark)}.attacks-list-container{margin-top:1.5rem}.attacks-list-header{margin-bottom:1.5rem}.attacks-list-header h2{margin-bottom:1rem;color:var(--primary-color)}.team-filter-tabs{display:flex;gap:.5rem;flex-wrap:wrap}.team-filter-tab{flex:1;min-width:150px;padding:.75rem 1.5rem;background:var(--surface-color);color:var(--text-color);border:2px solid var(--border-color);border-radius:var(--radius);font-weight:500;transition:all .2s ease;cursor:pointer}.team-filter-tab:hover{border-color:var(--primary-color);transform:translateY(-1px)}.team-filter-tab.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.team-filter-tab.home.active{background:#2563eb;border-color:#2563eb}.team-filter-tab.away.active{background:#10b981;border-color:#10b981}.attacks-list{display:flex;flex-direction:column;gap:1rem}.attack-card{background:var(--surface-color);border-radius:var(--radius);overflow:hidden;border:2px solid var(--border-color);transition:all .2s ease;position:relative}.attack-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;transition:all .2s ease}.attack-card.team-home:before{background:#2563eb}.attack-card.team-away:before{background:#10b981}.attack-card:hover{border-color:var(--primary-color)}.attack-card.expanded{border-color:var(--primary-color);box-shadow:var(--shadow-lg)}.attack-card.team-home.expanded:before{width:6px;background:#1e40af}.attack-card.team-away.expanded:before{width:6px;background:#059669}.attack-card-header{padding:1rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;background:var(--bg-color);transition:background .2s ease}.attack-card-header:hover{background:#e8eef7}.attack-info{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.attack-number{font-weight:600;color:var(--primary-color);font-size:1.1rem}.attack-team{color:var(--text-color);font-weight:500}.attack-actions-count{color:var(--text-secondary);font-size:.9rem;padding:.25rem .75rem;background:var(--surface-color);border-radius:var(--radius)}.attack-time{color:var(--text-secondary);font-size:.9rem;font-family:monospace}.attack-card-body{padding:1.5rem;border-top:2px solid var(--border-color)}.attack-actions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.attack-actions-header h4{margin:0;color:var(--text-color)}.attack-card-buttons{display:flex;gap:.5rem}.edit-attack-button,.delete-attack-button,.save-attack-button{padding:.5rem 1rem;border-radius:var(--radius);font-size:.9rem;font-weight:500;transition:all .2s ease}.edit-attack-button{background:var(--secondary-color);color:#fff}.edit-attack-button:hover{background:#059669}.delete-attack-button{background:var(--danger-color);color:#fff}.delete-attack-button:hover{background:#dc2626}.save-attack-button{background:var(--primary-color);color:#fff}.save-attack-button:hover{background:var(--primary-dark)}.attack-actions-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.attack-action-item{display:grid;grid-template-columns:auto 1fr 1fr auto;gap:1rem;align-items:center;padding:.75rem;background:var(--bg-color);border-radius:var(--radius);transition:all .2s ease}.attack-action-item:hover{background:#e8eef7}.delete-action-btn{padding:.25rem .5rem;background:var(--danger-color);color:#fff;border-radius:var(--radius);font-size:1rem;transition:all .2s ease}.delete-action-btn:hover{background:#dc2626}.edit-attack-form{margin-top:1.5rem;padding:1.5rem;background:var(--bg-color);border-radius:var(--radius);border:2px solid var(--primary-color)}.edit-attack-form h4{margin-bottom:1rem;color:var(--primary-color)}.player-selection-compact{margin-bottom:1.5rem}.player-selection-compact label{display:block;margin-bottom:.75rem;font-weight:500;color:var(--text-color)}.player-buttons-compact{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem}.player-btn-compact{padding:.5rem .75rem;background:var(--surface-color);color:var(--text-color);border:2px solid var(--border-color);border-radius:var(--radius);font-size:.85rem;transition:all .2s ease}.player-btn-compact:hover{border-color:var(--primary-color)}.player-btn-compact.selected{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.actions-grid-compact{display:flex;flex-direction:column;gap:1rem}.action-category-compact{padding:1rem;background:var(--surface-color);border-radius:var(--radius)}.action-category-compact h5{margin-bottom:.75rem;color:var(--primary-color);font-size:.9rem;font-weight:600}.action-buttons-compact{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.5rem}.action-btn-compact{padding:.5rem .75rem;background:var(--primary-color);color:#fff;border-radius:var(--radius);font-size:.85rem;font-weight:500;transition:all .2s ease}.action-btn-compact:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px)}.action-btn-compact:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.app{padding:.75rem}.game-setup,.game-tracker,.stats-page{padding:1rem}.section-header{flex-direction:column;align-items:stretch;gap:.75rem}.section-header-actions{flex-direction:column;width:100%}.toggle-create-button,.delete-all-games-button{width:100%;text-align:center}.games-list{grid-template-columns:1fr}.game-card{padding:1rem}.game-card-actions{flex-direction:column}.create-game-form,.form-section{padding:1rem}.add-player-form{grid-template-columns:1fr}.team-selector{gap:.5rem}.team-selector button{padding:.6rem .75rem;font-size:.9rem}.mode-switch{gap:.5rem}.mode-switch button{padding:.6rem .75rem;font-size:.9rem}.game-type-buttons{flex-wrap:wrap}.game-type-btn{padding:.6rem .75rem;font-size:.9rem}.game-header h1{font-size:1.3rem}.teams{font-size:1.1rem}.teams .vs{margin:0 .5rem}.edit-teams-panel{flex-direction:column;gap:1rem}.half-controls{padding:1rem}.half-button{min-width:200px;padding:.6rem 1.5rem;font-size:.95rem}.half-button.start-new-half{font-size:1.1em!important;padding:14px 30px!important}.attack-buttons{grid-template-columns:1fr}.start-attack-button{padding:1.25rem;font-size:1rem}.attack-tracking{padding:1rem}.player-selection h3{font-size:1rem}.player-buttons{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.5rem}.player-button{padding:.6rem .75rem;font-size:.85rem}.action-buttons{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.action-button{padding:.6rem .75rem;font-size:.85rem}.action-category{padding:.75rem}.action-item{grid-template-columns:auto 1fr;gap:.5rem}.game-controls{flex-direction:column}.view-stats-button,.finish-game-button,.back-to-game-button,.new-game-button{padding:.75rem;font-size:.95rem}.view-selector{flex-wrap:wrap;gap:.5rem}.view-selector button{padding:.6rem 1rem;font-size:.85rem;flex:1;min-width:0}.mode-selector{flex-wrap:wrap;gap:.5rem}.mode-selector button{padding:.6rem 1rem;font-size:.9rem;flex:1;min-width:0}.stats-comparison{margin-top:1rem}.comparison-header{padding:.75rem 1rem}.comparison-row{padding:.5rem 1rem}.comparison-label{min-width:100px;font-size:.78rem}.comparison-team-name{font-size:.85rem}.team-column{padding:1rem}.stat-row{padding:.5rem .75rem;gap:.5rem}.stat-label{font-size:.85rem}.stat-value{min-width:35px;font-size:.9rem}.stat-avg{min-width:80px;font-size:.75em}.players-stats-list{grid-template-columns:1fr}.player-stat-card{padding:1rem}.player-stat-card .action-type-filters{gap:6px;padding:12px}.player-stat-card .filter-btn{padding:6px 10px;font-size:.8em}.player-stat-card .shots-stats-summary .stat-box{min-width:80px}.team-stats,.player-stats,.half-stats,.half-section,.team-template-selector{padding:1rem}.team-filters{flex-direction:column;gap:1rem}.filter-group{min-width:0;width:100%}.games-selector{padding:1rem}.game-item{padding:.75rem}.passes-stats{padding:12px}.player-passes-header{padding:12px 14px;flex-direction:column;gap:.5rem;align-items:flex-start}.player-passes-header h3{font-size:15px}.passes-breakdown{padding:12px}.pass-item{padding:10px 12px}.attack-card-header{flex-direction:column;align-items:flex-start;gap:.5rem}.attack-info{width:100%}.attack-card-body{padding:1rem}.attack-card-buttons{flex-direction:column;width:100%}.edit-attack-button,.delete-attack-button,.save-attack-button{width:100%}.attack-action-item{grid-template-columns:auto 1fr;grid-template-rows:auto auto}.attack-action-item .action-number{grid-row:1 / 3}.attack-action-item .action-player{grid-column:2}.attack-action-item .delete-action-btn{grid-column:2;justify-self:end}.player-buttons-compact{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.action-buttons-compact{grid-template-columns:1fr}.team-filter-tabs{flex-direction:column}.team-filter-tab{width:100%;min-width:auto}.lineup-editor{padding:1rem}.lineup-players{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.lineup-player-btn{padding:.4rem .6rem;font-size:.85rem}.aggregated-stats{padding:1rem}.stats-controls{flex-direction:column}.players-stats-table{margin:0 -1rem;width:calc(100% + 2rem)}.players-stats-table th,.players-stats-table td{padding:.5rem .6rem;font-size:.8rem}}@media (max-width: 480px){.app{padding:.5rem}.game-setup,.game-tracker,.stats-page,.game-card{padding:.75rem}.game-header{padding-bottom:1rem;margin-bottom:1rem}.teams{font-size:1rem}.view-selector{gap:.35rem}.view-selector button{padding:.5rem;font-size:.78rem}.mode-selector button{padding:.5rem .75rem;font-size:.85rem}.player-buttons{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.35rem}.player-button{padding:.5rem;font-size:.8rem}.action-buttons{grid-template-columns:1fr}.action-button{padding:.5rem .6rem;font-size:.8rem}.stat-row{flex-wrap:wrap}.stat-avg{width:100%;text-align:left;min-width:0;margin-left:0;padding-top:.25rem}.half-button{min-width:auto;width:100%}.attack-buttons{max-width:100%}.start-attack-button{padding:1rem;font-size:.95rem}.player-buttons-compact{grid-template-columns:repeat(auto-fill,minmax(85px,1fr))}.lineup-players{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.player-passes-header h3{font-size:14px}}.passes-stats{padding:20px}.passes-description{color:#666;font-size:14px;margin-bottom:20px;font-style:italic;text-align:center}.passes-stats-content{display:flex;flex-direction:column;gap:15px;margin-top:20px}.player-passes-card{background:#fff;border:1px solid #ddd;border-radius:8px;overflow:hidden;transition:box-shadow .2s}.player-passes-card:hover{box-shadow:0 4px 8px #0000001a}.player-passes-header{padding:15px 20px;background:#f8f9fa;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s}.player-passes-header:hover{background:#e9ecef}.player-passes-header h3{margin:0;font-size:18px;color:#333}.total-passes{font-size:16px;color:#666}.total-passes strong{color:#007bff;font-size:20px;margin-left:5px}.passes-breakdown{padding:20px;border-top:1px solid #ddd;background:#fafafa}.passes-breakdown h4{margin:0 0 15px;font-size:16px;color:#555}.passes-list{display:flex;flex-direction:column;gap:10px}.pass-item{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;background:#fff;border-radius:6px;border-left:4px solid #007bff;transition:transform .2s,box-shadow .2s}.pass-item:hover{transform:translate(5px);box-shadow:0 2px 4px #0000001a}.receiver-name{font-weight:500;color:var(--text-color);font-size:15px}.pass-count{background:var(--primary-color);color:#fff;padding:5px 14px;border-radius:12px;font-weight:700;font-size:14px;min-width:35px;text-align:center}[data-theme=dark] .pass-item,[data-theme=dark] .passes-section,[data-theme=dark] .pass-legend{background:var(--surface-color);border-color:var(--border-color)}[data-theme=dark] .field-display,[data-theme=dark] .lineup-container{background:var(--bg-secondary);border-color:var(--border-color)}[data-theme=dark] .player-slot{background:var(--surface-color);border-color:var(--border-color)}[data-theme=dark] .warning-box{background:#f59e0b20;border-color:#f59e0b40;color:#fbbf24}[data-theme=dark] .info-text{color:var(--text-secondary)}[data-theme=dark] .modal-content{background:var(--surface-color);border:1px solid var(--border-color)}[data-theme=dark] .modal-header{background:var(--bg-secondary);border-color:var(--border-color)}[data-theme=dark] .player-card.selected,[data-theme=dark] .action-button.selected{background:var(--primary-color);color:#fff}[data-theme=dark] .action-button:hover:not(.selected){background:var(--surface-hover)}.action-ranking{margin-top:20px}.action-ranking h2{text-align:center;margin-bottom:20px}.action-type-multi-select{margin:16px 0;padding:16px;background:var(--surface-color);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow)}.action-type-multi-select h4{margin:0 0 10px;color:var(--text-color);font-size:.95em;font-weight:700}.action-type-chips{display:flex;flex-wrap:wrap;gap:6px}.action-chip{padding:5px 12px;border:1.5px solid;border-radius:20px;cursor:pointer;font-size:.82em;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap}.action-chip:hover{transform:translateY(-1px);box-shadow:0 3px 10px #0000001f}.action-chip.selected{box-shadow:0 2px 10px #0000002e}.ranking-table-container{margin-top:20px;overflow-x:auto}.ranking-table{width:100%;border-collapse:collapse;background:var(--surface-color);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--border-color)}.ranking-table thead th{background:var(--gradient-primary);color:#fff;padding:10px 14px;font-size:.85em;font-weight:700;text-align:left;white-space:nowrap;letter-spacing:-.01em}.ranking-table tbody tr{border-bottom:1px solid var(--border-light);transition:background .15s}.ranking-table tbody tr:hover{background:var(--surface-hover)}.ranking-table tbody tr.zero-row{opacity:.4}.ranking-table td{padding:8px 14px;font-size:.9em}.ranking-table .rank-cell{font-weight:800;color:var(--primary-color);width:36px;text-align:center}.ranking-table .player-cell{font-weight:600}.ranking-table .count-cell{font-size:1.05em;text-align:center;font-variant-numeric:tabular-nums}.ranking-table .breakdown-cell{text-align:center;color:var(--text-secondary, #6b7280)}[data-theme=dark] .action-type-multi-select{background:var(--bg-secondary);border-color:var(--border-color)}[data-theme=dark] .action-type-multi-select h4{color:var(--text-primary)}[data-theme=dark] .action-chip:not(.selected){background:var(--surface-color)!important;color:var(--text-primary)!important;border-color:var(--border-color)!important}[data-theme=dark] .ranking-table{background:var(--surface-color)}[data-theme=dark] .ranking-table tbody tr{border-color:var(--border-color)}@media (max-width: 768px){.action-ranking h2{font-size:1.2rem}.action-type-multi-select{padding:14px}.action-type-chips{gap:6px}.action-chip{padding:5px 10px;font-size:.8em}.ranking-table td,.ranking-table thead th{padding:8px 10px;font-size:.85em}}@media (max-width: 480px){.action-type-multi-select{padding:10px;margin:12px 0}.action-chip{padding:4px 8px;font-size:.75em}.ranking-table td,.ranking-table thead th{padding:6px 8px;font-size:.8em}.ranking-table .player-cell{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.top-players-categories{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.top-players-card{border:1.5px solid;border-radius:var(--radius-lg);padding:12px 14px;background:var(--surface-color);box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}.top-players-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.top-players-card-title{font-weight:800;font-size:.88rem;margin-bottom:8px;letter-spacing:-.02em}.top-players-row{display:grid;grid-template-columns:20px 1fr auto;gap:4px;align-items:baseline;padding:3px 0;font-size:.85rem}.top-players-rank{font-weight:800;font-size:.9rem}.top-players-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-players-total{font-weight:800;font-size:.95rem;background:var(--bg-secondary);padding:1px 8px;border-radius:var(--radius-sm)}.top-players-details{grid-column:2 / -1;font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 600px){.top-players-categories{grid-template-columns:1fr}}.video-timestamp-btn{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;font-size:.75rem;font-weight:600;background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:opacity .15s ease;font-variant-numeric:tabular-nums}.video-timestamp-btn:hover{opacity:.85}.stats-page,.game-tracker{background:transparent}.stats-header,.game-header,.game-summary,.stats-comparison,.comparison-table,.players-stats-list,.player-stat-card,.half-section,.passes-stats,.action-ranking,.ranking-table-container,.attacks-section,.attack-tracking,.lineup-editor,.current-attack-actions{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.view-selector,.team-selector,.games-selector-header,.game-card-header,.attack-header{border-bottom:1px solid var(--border-color)}.view-selector button,.team-selector button,.toggle-attacks-button,.half-button,.start-attack-button,.view-stats-button,.finish-game-button,.end-attack-button,.bench-toggle{border-radius:10px;font-weight:600;border:1px solid transparent}.view-selector button.active,.team-selector button.active,.toggle-attacks-button.active,.half-button.start-half,.start-attack-button,.view-stats-button{background:var(--gradient-primary);color:#fff;box-shadow:0 10px 24px #ff3b8b3d}.comparison-row,.stat-row,.action-item,.pass-item,.ve-upload-item,.ve-saved-item{border-color:var(--border-color)}.ranking-table th{background:var(--bg-secondary);color:var(--text-secondary);border-bottom:1px solid var(--border-color)}.ranking-table td{border-bottom:1px solid var(--border-light)}.ranking-table tr:hover td{background:#4f7cff14}.action-button,.player-button,.lineup-player-btn{border-radius:10px;border:1px solid var(--border-color);background:var(--surface-color)}.action-button:hover:not(:disabled),.player-button:hover:not(:disabled),.lineup-player-btn:hover:not(:disabled){border-color:var(--primary-color);transform:translateY(-1px)}.stats-header h1,.game-header .team,.comparison-team-name{color:#dce9ff}.stats-page .game-summary,.game-tracker .game-info,.half-status-debug,.current-half{color:var(--text-secondary)}.comparison-label-header,.comparison-label,.stat-label{color:#a9bedf}@media (min-width: 1200px){.video-analysis-mode{--va-app-pad: .75rem;--va-gap: 1rem;--va-left-fr: 1.2;--va-right-fr: 1}.app:has(.video-analysis-mode){padding-left:.75rem;padding-right:.75rem}.video-analysis-mode .attack-tracking.video-analysis-layout{display:grid;grid-template-columns:minmax(480px,1.2fr) minmax(380px,1fr);grid-template-areas:"left actions";column-gap:.75rem;row-gap:.75rem;align-items:start}.video-analysis-mode .video-analysis-left-pane{grid-area:left;display:flex;flex-direction:column;gap:.5rem;position:sticky;top:.5rem}.video-analysis-mode .video-analysis-video,.video-analysis-mode .video-analysis-player-pane{margin-bottom:0}.video-analysis-mode .video-analysis-actions-pane{grid-area:actions;margin-bottom:0}.video-analysis-mode .video-analysis-current-pane{margin-bottom:0}.video-analysis-mode .attack-tracking{padding:1rem}.video-analysis-mode .actions-grid,.video-analysis-mode .current-attack-actions{margin-bottom:0}.video-analysis-mode .field-coordinates-overlay.right-column-overlay{position:fixed;top:64px;right:var(--va-app-pad, .75rem);left:auto;bottom:0;width:max(420px,calc(((100vw - (2 * var(--va-app-pad, .75rem)) - var(--va-gap, 1rem)) * (var(--va-right-fr, 1) / (var(--va-left-fr, 1.2) + var(--va-right-fr, 1))))));align-items:flex-start;justify-content:center;padding:12px;background:#00000073;z-index:1300}.video-analysis-mode .field-coordinates-modal.right-column-modal{width:100%;max-width:100%!important;max-height:calc(100vh - 88px);overflow:auto;padding:16px}}:root,[data-theme=light]{--primary-color: #ff3b8b;--primary-dark: #d72672;--primary-light: #ff6aa7;--secondary-color: #32c9ff;--success-color: #22c55e;--danger-color: #ef4444;--warning-color: #f59e0b;--bg-color: #0a1528;--bg-secondary: #101f3a;--surface-color: #122543;--surface-hover: #173054;--text-color: #e8f1ff;--text-secondary: #9db2d6;--text-muted: #6f86ad;--border-color: #254770;--border-light: #1a3357;--shadow: 0 10px 24px rgba(2, 10, 24, .35);--shadow-lg: 0 20px 44px rgba(2, 10, 24, .45);--shadow-xl: 0 34px 72px rgba(2, 10, 24, .55);--input-bg: #0f1f3b;--input-border: #31598d;--input-focus: #32c9ff;--header-bg: rgba(9, 19, 37, .86);--header-border: rgba(50, 201, 255, .26);--card-bg: #122543;--card-border: #2a4f7f;--text-primary: #e8f1ff;--primary-hover: #d72672;--card-background: #122543;--background-secondary: #0f1f3b;--input-background: #0f1f3b;--badge-superadmin-bg: rgba(255, 59, 139, .18);--badge-superadmin-color: #ff7fb4;--badge-admin-bg: rgba(50, 201, 255, .18);--badge-admin-color: #7ddbff;--badge-editor-bg: rgba(34, 197, 94, .18);--badge-editor-color: #6de8a4;--badge-reader-bg: rgba(251, 191, 36, .18);--badge-reader-color: #ffd36d;--radius: 12px;--radius-lg: 18px;--radius-sm: 8px;--gradient-primary: linear-gradient(135deg, #ff3b8b, #32c9ff);--gradient-success: linear-gradient(135deg, #06b6d4, #22c55e);--gradient-danger: linear-gradient(135deg, #ef4444, #f87171);--gradient-surface: linear-gradient(180deg, #122543, #101f3a)}[data-theme=dark]{--primary-color: #ff3b8b;--primary-dark: #d72672;--primary-light: #ff6aa7;--secondary-color: #32c9ff;--success-color: #34d399;--danger-color: #f87171;--warning-color: #fbbf24;--bg-color: #070f1f;--bg-secondary: #0d1a33;--surface-color: #101f3a;--surface-hover: #162c4d;--text-color: #e8f1ff;--text-secondary: #9db2d6;--text-muted: #6f86ad;--border-color: #254770;--border-light: #1a3357;--shadow: 0 8px 24px rgba(0, 0, 0, .35);--shadow-lg: 0 18px 44px rgba(0, 0, 0, .45);--shadow-xl: 0 28px 68px rgba(0, 0, 0, .52);--input-bg: #0f1f3b;--input-border: #31598d;--input-focus: #32c9ff;--header-bg: rgba(7, 15, 31, .9);--header-border: rgba(50, 201, 255, .28);--card-bg: #101f3a;--card-border: #2a4f7f;--text-primary: #e8f1ff;--primary-hover: #d72672;--card-background: #101f3a;--background-secondary: #0f1f3b;--input-background: #0f1f3b;--badge-superadmin-bg: rgba(255, 59, 139, .18);--badge-superadmin-color: #ff7fb4;--badge-admin-bg: rgba(50, 201, 255, .18);--badge-admin-color: #7ddbff;--badge-editor-bg: rgba(34, 197, 94, .18);--badge-editor-color: #6de8a4;--badge-reader-bg: rgba(251, 191, 36, .18);--badge-reader-color: #ffd36d;--gradient-primary: linear-gradient(135deg, #ff3b8b, #32c9ff);--gradient-success: linear-gradient(135deg, #06b6d4, #10b981);--gradient-danger: linear-gradient(135deg, #dc2626, #ef4444);--gradient-surface: linear-gradient(180deg, #101f3a, #0d1a33)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(1200px 500px at -10% -20%,rgba(255,59,139,.18),transparent 55%),radial-gradient(900px 420px at 110% -10%,rgba(50,201,255,.16),transparent 55%),linear-gradient(180deg,#071427 0%,var(--bg-color) 100%);color:var(--text-color);line-height:1.6;transition:background-color .3s ease,color .3s ease;letter-spacing:-.01em}button{font-family:inherit;cursor:pointer;border:none;outline:none;transition:all .2s cubic-bezier(.4,0,.2,1);letter-spacing:-.01em}button:disabled{opacity:.5;cursor:not-allowed}button:active:not(:disabled){transform:scale(.97)}input,select,textarea{font-family:inherit;background-color:var(--input-bg);border:1.5px solid var(--input-border);border-radius:var(--radius);padding:.6rem .85rem;font-size:.95rem;color:var(--text-color);transition:border-color .2s ease,background-color .3s ease,box-shadow .2s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--input-focus);box-shadow:0 0 0 3px #6366f126}input::placeholder,textarea::placeholder{color:var(--text-muted)}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;margin-bottom:.5rem;color:var(--text-color);letter-spacing:-.025em}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.2rem}.empty-list{color:var(--text-secondary);font-style:italic;text-align:center;padding:2rem}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@media (max-width: 768px){h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.1rem}body{font-size:.95rem;-webkit-text-size-adjust:100%}}@media (max-width: 480px){h1{font-size:1.3rem}h2{font-size:1.15rem}h3{font-size:1rem}body{font-size:.9rem}}.login-card,.user-form,.users-table,.team-card,.editor-settings,.actions-table,.points-table,.stats-chart,.chart-tooltip,.formula-variables,.formula-preview,.add-action-form{background:var(--surface-color)!important;border-color:var(--border-color)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow)!important}.btn-primary,.add-team-btn,.add-player-btn,.add-action-btn,.login-button,.ve-url-btn,.ve-create-btn,.ve-compress-btn{background:var(--gradient-primary)!important;color:#fff!important;border:none!important;box-shadow:0 10px 24px #ff3b8b38!important}.btn-primary:hover,.add-team-btn:hover,.add-player-btn:hover,.add-action-btn:hover,.login-button:hover,.ve-url-btn:hover,.ve-create-btn:hover,.ve-compress-btn:hover{filter:brightness(1.06);transform:translateY(-1px)}.btn-secondary,.btn-toggle,.metric-btn,.settings-tab,.nav-link,.theme-toggle,.logout-button{background:var(--bg-secondary)!important;color:var(--text-secondary)!important;border:1px solid var(--border-color)!important}.metric-btn.active,.settings-tab.active,.nav-link.active{background:var(--gradient-primary)!important;color:#fff!important;border-color:transparent!important}.users-table th,.actions-table-header,.points-table-header,.comparison-header{background:var(--bg-secondary)!important;color:var(--text-secondary)!important;border-color:var(--border-color)!important}.users-table td,.actions-table-row,.points-table-row{color:var(--text-color)!important;border-color:var(--border-light)!important}.settings-input,.settings-select,.team-select,.games-limit-select,.player-select,.ve-url-input,.ve-url-name-input,.ve-compress-input{background:var(--input-bg)!important;color:var(--text-color)!important;border-color:var(--input-border)!important}.settings-input:focus,.settings-select:focus,.team-select:focus,.games-limit-select:focus,.player-select:focus,.ve-url-input:focus,.ve-url-name-input:focus,.ve-compress-input:focus{border-color:var(--input-focus)!important;box-shadow:0 0 0 3px #32c9ff2e!important}
