@media (max-width:768px){.col-md-3,.col-md-9{margin-bottom:20px}.teams-panel{height:auto;max-height:300px}.fixture-details,.player-details{flex-direction:column;gap:5px}.player-actions{position:static;margin-top:10px}.competition-selector-card .row>div{margin-bottom:.5rem}.competition-selector-card .col-md-3:last-child{text-align:center}}.manage-lineup-btn{cursor:pointer}.fixture-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.fixture-teams{flex:1}.fixture-menu{margin-left:1rem}.fixture-menu-btn{padding:.25rem .5rem;border:none;background:0 0;color:#6c757d}.fixture-menu-btn:hover{background-color:#f8f9fa;color:#495057}.fixture-details{margin-bottom:1rem}.fixture-details>div{margin-bottom:.25rem}.fixture-actions{display:flex;gap:.5rem}.team-vs{font-size:1.1rem}.dropdown-item{padding:.5rem 1rem}.dropdown-item:hover{background-color:#f8f9fa}.dropdown-item i{width:1rem;text-align:center}.btn-loading{position:relative;pointer-events:none}.btn-loading::after{content:'';position:absolute;top:50%;left:50%;width:16px;height:16px;margin-top:-8px;margin-left:-8px;border:2px solid transparent;border-top-color:#fff;border-radius:50%;animation:1s linear infinite btn-loading-spin}.btn-loading .btn-text{opacity:0}@keyframes btn-loading-spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:9999}@keyframes loading-spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.btn-sm.btn-loading::after{width:12px;height:12px;margin-top:-6px;margin-left:-6px;border-width:1px}.lineup-player .btn.btn-loading{min-width:80px}.lineup-controls .btn.btn-loading{min-width:120px}.sse-status-card{border:1px solid #dee2e6;border-radius:8px;padding:20px;margin-bottom:20px;background:#fff}.sse-status-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.sse-status-title{font-size:1.2rem;font-weight:600;color:#333}.sse-status-badge{padding:4px 12px;border-radius:20px;font-size:.85rem;font-weight:500}.sse-status-online{background:#d4edda;color:#155724}.sse-status-offline{background:#f8d7da;color:#721c24}.sse-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:20px}.sse-metric-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;padding:15px;text-align:center}.sse-metric-value{font-size:2rem;font-weight:700;color:#0d6efd}.sse-metric-label{font-size:.9rem;color:#6c757d;margin-top:5px}.sse-connections-table{width:100%;border-collapse:collapse;margin-top:15px}.sse-connections-table td,.sse-connections-table th{padding:10px 12px;text-align:left;border-bottom:1px solid #dee2e6}.sse-connections-table th{background:#f8f9fa;font-weight:600;color:#495057}.sse-connection-id{font-family:monospace;font-size:.9rem;color:#6c757d}.sse-connection-duration{font-size:.9rem;color:#28a745}.sse-error-message{padding:15px;background:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:6px;margin:10px 0}.sse-no-connections{text-align:center;color:#6c757d;font-style:italic;padding:30px}.sse-refresh-indicator{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:8px}.sse-refresh-active{background:#28a745;box-shadow:0 0 6px rgba(40,167,69,.6)}.sse-refresh-inactive{background:#dc3545}.memory-stat-large{font-size:1.5em;font-weight:700;color:#007bff}.memory-stat{font-weight:700;color:#28a745}.sse-metric-subtitle{font-size:.8em;color:#6c757d;margin-top:2px}.competition-selector-card{background:linear-gradient(135deg,#667eea 0,#764ba2 100%);border:none;color:#fff;margin-bottom:1.5rem}.competition-selector-card .card-body{padding:1rem 1.5rem}.competition-selector-card .form-label{color:#fff;font-weight:500}.competition-selector-card .form-select{border:2px solid rgba(255,255,255,.2);background-color:rgba(255,255,255,.9);backdrop-filter:blur(10px)}.competition-selector-card .form-select:focus{border-color:#fff;box-shadow:0 0 0 .2rem rgba(255,255,255,.25)}.competition-selector-card .text-muted{color:rgba(255,255,255,.8)!important}.tournament-setup-wizard{max-width:1000px;margin:0 auto}.wizard-header{border-bottom:2px solid #e9ecef;padding-bottom:2rem;margin-bottom:2rem}.wizard-steps .nav-pills .nav-link{border-radius:.5rem;margin:0 .25rem;padding:.75rem 1rem}.wizard-steps .nav-pills .nav-link.active{background:linear-gradient(135deg,#667eea 0,#764ba2 100%);border:none}.age-group-config{animation:.3s ease-out slideIn}@keyframes slideIn{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.knockout-preview{background:#f8f9fa;border-radius:.5rem;padding:1rem}.knockout-stage{border-left:3px solid #0d6efd;padding-left:1rem;margin-bottom:1rem}.fixture-preview{background:#fff;padding:.5rem;border-radius:.25rem;display:inline-block;margin-right:1rem;margin-bottom:.5rem;box-shadow:0 1px 3px rgba(0,0,0,.1)}.available-team-item{cursor:grab;transition:.2s;background:#fff}.available-team-item:active{cursor:grabbing}.pool-drop-zone{transition:.3s;min-height:150px}.pool-drop-zone:hover{border-color:#0d6efd;transform:scale(1.02)}.assigned-team{animation:.3s ease-out teamAssigned;transition:.3s}@keyframes teamAssigned{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.configured-tournament{animation:.5s ease-out fadeIn}.tournament-header{background:linear-gradient(135deg,#667eea 0,#764ba2 100%);color:#fff;padding:1.5rem;border-radius:.5rem;margin-bottom:2rem}.empty-pools-notice{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:.5rem;margin:2rem 0}@media (max-width:768px){.wizard-steps .nav-pills{flex-direction:column}.wizard-steps .nav-pills .nav-link{margin:.25rem 0;text-align:center}.team-assignment-section .row>div{margin-bottom:1rem}}.tournament-header .card{background:linear-gradient(135deg,#667eea 0,#764ba2 100%);border:none;color:#fff}.tournament-header .card-body{padding:1.5rem}.tournament-header .text-primary{color:#fff!important}.tournament-header .text-muted{color:rgba(255,255,255,.8)!important}.tournament-header h5{color:#fff!important;margin-bottom:.5rem}.tournament-header .btn-outline-secondary{border-color:rgba(255,255,255,.5);color:#fff}.tournament-header .btn-outline-secondary:hover{background-color:rgba(255,255,255,.1);border-color:#fff;color:#fff}.pool-drop-zone.drag-over{background:#e3f2fd;border-color:#2196f3;border-width:2px;transform:scale(1.02)}.available-team-item:hover{background:#f0f0f0;transform:translateX(5px)}.available-team-item[draggable=true]{cursor:grab}.available-team-item[draggable=true]:active{cursor:grabbing}.assigned-team:hover{background:#f0f8ff!important}.remove-team-btn{opacity:.7}.remove-team-btn:hover{opacity:1}.reset-game-btn{color:#e67e22!important}.reset-game-btn:hover{background-color:#ffeaa7!important;color:#d35400!important}.reset-game-btn i{color:#f39c12!important}.team-transfer-warning{background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:.375rem;padding:.75rem;margin-top:.5rem}.team-transfer-warning .fas{color:#856404}#editPlayerTeam{border:2px solid #dee2e6;transition:border-color .3s}#editPlayerTeam:focus{border-color:#0d6efd;box-shadow:0 0 0 .2rem rgba(13,110,253,.25)}#editPlayerTeam option[selected]{background-color:#e3f2fd;font-weight:700}.sidebar{position:fixed;top:56px;bottom:0;left:0;z-index:100;padding:48px 0 0;box-shadow:inset -1px 0 0 rgba(0,0,0,.1)}.sidebar .nav-link{font-weight:500;color:#333;padding:.75rem 1rem;border-radius:.375rem;margin:.125rem .5rem;transition:.2s}.sidebar .nav-link:hover{background-color:#e9ecef;color:#0d6efd}.sidebar .nav-link.active{background-color:#0d6efd;color:#fff}.sidebar .nav-link i{width:16px}main{margin-top:56px;min-height:calc(100vh - 56px)}.admin-table{margin-top:1rem}.admin-table th{background-color:#f8f9fa;border-top:none;font-weight:600;color:#495057}.admin-table td{vertical-align:middle}.search-filter-bar{background:#f8f9fa;border-radius:.375rem;padding:1rem;margin-bottom:1rem}.action-buttons{white-space:nowrap}.action-buttons .btn{margin-right:.25rem}.action-buttons .btn:last-child{margin-right:0}.status-badge{font-size:.75rem;padding:.25rem .5rem}.competition-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem}.competition-grid .form-check{background:#f8f9fa;padding:.75rem;border-radius:.375rem;border:1px solid #dee2e6;transition:.2s}.competition-grid .form-check:hover{background:#e9ecef;border-color:#0d6efd}.competition-grid .form-check-input:checked+.form-check-label{color:#0d6efd;font-weight:500}.player-search-result{padding:1rem;border:1px solid #dee2e6;border-radius:.375rem;margin-bottom:.5rem;cursor:pointer;transition:.2s}.player-search-result:hover{background:#f8f9fa;border-color:#0d6efd;transform:translateY(-1px)}.player-search-result .player-name{font-weight:600;color:#333}.player-search-result .player-team{color:#6c757d;font-size:.9rem}.stats-card{background:linear-gradient(135deg,#667eea 0,#764ba2 100%);color:#fff;border:none;border-radius:.5rem;padding:1.5rem;text-align:center}.stats-card .stats-number{font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.stats-card .stats-label{font-size:.9rem;opacity:.9}.quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:2rem}.quick-action-card{text-align:center;padding:2rem;border:2px dashed #dee2e6;border-radius:.5rem;transition:.3s;cursor:pointer}.quick-action-card:hover{border-color:#0d6efd;background:#f8f9fa;transform:translateY(-2px)}.quick-action-card i{font-size:2rem;color:#0d6efd;margin-bottom:1rem}.quick-action-card h6{color:#333;margin-bottom:.5rem}.quick-action-card p{color:#6c757d;font-size:.9rem;margin:0}@media (max-width:768px){.sidebar{position:static;height:auto}main{margin-top:0;min-height:auto}.quick-actions{grid-template-columns:1fr}.action-buttons{display:flex;flex-direction:column;gap:.25rem}.action-buttons .btn{margin-right:0;width:100%}}.loading-spinner{display:inline-block;width:1rem;height:1rem;border:2px solid #f3f3f3;border-top:2px solid #0d6efd;border-radius:50%;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.teams-panel{height:calc(100vh - 120px);overflow-y:auto}.teams-list{max-height:calc(100vh - 200px);overflow-y:auto}.team-item{padding:8px 12px;border:1px solid #dee2e6;border-radius:4px;margin-bottom:8px;cursor:pointer;transition:.2s;background:#fff}.team-item:hover{background-color:#f8f9fa;border-color:#0d6efd}.team-item.active{background-color:#0d6efd;color:#fff;border-color:#0d6efd}.team-name{font-weight:500;margin-bottom:2px}.team-id{font-size:.85em;opacity:.7}.player-card{border:1px solid #dee2e6;border-radius:8px;padding:15px;margin-bottom:10px;background:#fff;transition:box-shadow .2s;position:relative}.player-card:hover{box-shadow:0 2px 8px rgba(0,0,0,.1)}.player-name{font-weight:600;color:#333;margin-bottom:5px}.player-details{display:flex;gap:15px;flex-wrap:wrap}.player-detail{font-size:.9em;color:#666}.player-detail strong{color:#333}.player-actions{position:absolute;top:10px;right:10px}.fixture-card{border:1px solid #dee2e6;border-radius:8px;padding:15px;margin-bottom:15px;background:#fff}.fixture-teams{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.team-vs{font-weight:600;color:#0d6efd}.fixture-details{display:flex;gap:20px;flex-wrap:wrap;font-size:.9em;color:#666}.fixture-actions{margin-top:10px;text-align:right}.lineup-section{max-height:400px;overflow-y:auto;border:1px solid #dee2e6;border-radius:4px;padding:10px;background:#f8f9fa;min-height:200px}.lineup-player{padding:8px;margin-bottom:5px;background:#fff;border-radius:4px;border:1px solid #dee2e6;display:flex;justify-content:space-between;align-items:center}.lineup-controls{border:1px solid #dee2e6;border-radius:4px;padding:10px;background:#f8f9fa}.team-lineup-section{border:1px solid #dee2e6;border-radius:8px;padding:15px;background:#fff}.loading-placeholder{text-align:center;padding:40px;color:#666;font-style:italic}.player-placeholder{text-align:center;padding:60px;color:#666;font-style:italic;background:#f8f9fa;border-radius:8px}.connection-indicator{display:inline-flex;align-items:center;gap:5px}.status-connected{color:#198754!important}.status-disconnected{color:#dc3545!important}.btn-lineup{background-color:#6f42c1;border-color:#6f42c1;color:#fff}.btn-lineup:hover{background-color:#5a369a;border-color:#5a369a;color:#fff}.squad-number{background-color:#0d6efd;color:#fff;padding:2px 8px;border-radius:12px;font-size:.8em;font-weight:600;margin-right:8px}.role-badge{background-color:#6c757d;color:#fff;padding:2px 6px;border-radius:10px;font-size:.75em;margin-left:5px}.role-goalkeeper{background-color:#fd7e14}.role-captain{background-color:#ffc107;color:#000}.search-input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.search-input-group .form-control{position:relative;flex:1 1 auto;width:1%;min-width:0;padding-right:35px}.search-clear-btn{position:absolute;right:1px;top:1px;bottom:1px;z-index:10;background:0 0;border:none;color:#6c757d;padding:0;width:32px;border-radius:0 calc(.375rem - 1px) calc(.375rem - 1px) 0;transition:.2s;display:flex;align-items:center;justify-content:center}.search-clear-btn:hover{background-color:rgba(108,117,125,.1);color:#dc3545}.search-clear-btn:focus{outline:0;box-shadow:none;background-color:rgba(108,117,125,.1);color:#dc3545}.search-clear-btn:active{background-color:rgba(108,117,125,.2)}.search-clear-btn i{font-size:.875rem}.search-input-group .form-control:focus{z-index:3;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.search-input-group .form-control:focus+.search-clear-btn{z-index:10}.search-input-group .input-group-text{z-index:5;background-color:#e9ecef;border-color:#ced4da}@media (max-width:768px){.search-clear-btn{width:28px}.search-input-group .form-control{padding-right:30px}.search-clear-btn i{font-size:.8rem}}.image-upload-container{border:2px dashed #dee2e6;border-radius:8px;padding:16px;background-color:#f8f9fa}.current-image-preview{text-align:center;margin-bottom:12px;min-height:120px;display:flex;align-items:center;justify-content:center}.current-image-display{max-width:100%;max-height:120px;border-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.no-image-placeholder{padding:20px;color:#6c757d}.no-image-placeholder i{margin-bottom:8px}.no-image-placeholder p{margin:0;font-size:.9rem}.image-upload-controls{text-align:center}.upload-progress{margin:8px 0}.image-remove-btn{margin-top:8px}.entity-image-preview{width:32px;height:32px;object-fit:cover;border-radius:4px;border:1px solid #dee2e6}.entity-image-placeholder{width:32px;height:32px;background-color:#e9ecef;border-radius:4px;display:flex;align-items:center;justify-content:center;color:#6c757d;font-size:.8rem}.player-photo-preview{width:80px;height:80px;object-fit:cover;border-radius:8px}.player-photo-placeholder{width:80px;height:80px;background-color:#e9ecef;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#6c757d}.upload-loading .image-upload-container{border-color:#0d6efd;background-color:#e7f1ff}.upload-success .image-upload-container{border-color:#198754;background-color:#d1e7dd}.upload-error .image-upload-container{border-color:#dc3545;background-color:#f8d7da}.upload-progress .progress{height:8px;border-radius:4px}.upload-progress .progress-bar{background-color:#0d6efd;transition:width .3s}.admin-override-notification{position:fixed;top:20px;right:20px;background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;padding:12px 20px;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.3);z-index:9999;font-size:14px;font-weight:500;animation:.5s ease-out slideInRight;min-width:300px}.admin-override-notification .btn-outline-light{border-color:rgba(255,255,255,.5);color:rgba(255,255,255,.9);padding:2px 8px;font-size:12px}.admin-override-notification .btn-outline-light:hover{background-color:rgba(255,255,255,.2);border-color:rgba(255,255,255,.8);color:#fff}@keyframes slideInRight{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.badge.bg-warning{color:#000!important;font-weight:700}.badge.bg-warning i{margin-right:4px}.dropdown-item small.text-warning{font-size:.75em;font-style:italic;margin-top:2px}.manage-lineup-btn small.text-warning{font-size:.7em;font-style:italic;margin-top:2px}#connectionStatus{display:flex;align-items:center;font-size:.875rem;padding:.25rem .5rem;border-radius:4px;background-color:rgba(255,255,255,.1)}#connectionStatus .fas{font-size:.75rem;animation:2s infinite pulse}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.7}}#connectionStatus .text-success{color:#28a745!important}#connectionStatus .text-danger{color:#dc3545!important}