:root{--primary: #e65100;--primary-light: #ff833a;--primary-dark: #ac1900;--secondary: #1565c0;--secondary-light: #5e92f3;--secondary-dark: #003c8f;--success: #2e7d32;--success-light: #60ad5e;--danger: #c62828;--danger-light: #ff5f52;--warning: #f9a825;--info: #0288d1;--dark: #1a1a2e;--dark-light: #16213e;--gray-100: #f8f9fa;--gray-200: #e9ecef;--gray-300: #dee2e6;--gray-400: #ced4da;--gray-500: #adb5bd;--gray-600: #6c757d;--gray-700: #495057;--gray-800: #343a40;--white: #ffffff;--shadow-sm: 0 2px 4px rgba(0,0,0,.08);--shadow: 0 4px 12px rgba(0,0,0,.1);--shadow-lg: 0 8px 24px rgba(0,0,0,.15);--shadow-xl: 0 12px 48px rgba(0,0,0,.2);--radius-sm: 6px;--radius: 12px;--radius-lg: 16px;--radius-xl: 24px;--transition: all .3s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,sans-serif;background:linear-gradient(135deg,#f5f7fa,#e4e8ec);min-height:100vh;color:var(--gray-800);line-height:1.6}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--gray-200);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--gray-400);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}.navbar{background:linear-gradient(135deg,var(--dark) 0%,var(--dark-light) 100%);padding:0;box-shadow:var(--shadow-lg);position:sticky;top:0;z-index:1000;width:100%}.navbar-container{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 24px;min-height:56px;gap:16px}.navbar-brand{display:flex;align-items:center;gap:12px;padding:12px 0;text-decoration:none;flex-shrink:0}.navbar-logo{width:36px;height:36px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;font-weight:700;box-shadow:0 4px 12px #e6510066;flex-shrink:0}.navbar-title{color:var(--white);font-size:1.1rem;font-weight:700;letter-spacing:.5px;white-space:nowrap}.navbar-links{display:flex;align-items:center;gap:2px;flex-wrap:nowrap;overflow-x:auto}.navbar-links a{color:#ffffffe6;text-decoration:none;padding:10px 14px;border-radius:var(--radius-sm);font-weight:500;font-size:.85rem;transition:var(--transition);white-space:nowrap;flex-shrink:0}.navbar-links a:hover{background:#ffffff26;color:var(--white)}.navbar-links a.active{background:var(--primary);color:var(--white)}.navbar-user{display:flex;flex-direction:column;align-items:flex-end;padding:8px 12px;background:#ffffff1a;border-radius:var(--radius-sm);margin-left:8px;flex-shrink:0}.navbar-user .user-info{color:var(--white);font-weight:600;font-size:.85rem;line-height:1.2}.navbar-user .user-role{font-size:.7rem;color:var(--primary-light);text-transform:uppercase;letter-spacing:.5px}.navbar-logout{background:#c62828cc!important;color:#fff!important;padding:8px 16px!important;border-radius:var(--radius-sm)!important;font-size:.85rem!important;font-weight:500!important;border:none!important;cursor:pointer;transition:var(--transition);flex-shrink:0;box-shadow:none!important}.navbar-logout:hover{background:var(--danger)!important;transform:none!important}.navbar button{background:#c62828cc;color:#fff;padding:8px 16px;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;border:none;cursor:pointer;transition:var(--transition);box-shadow:none}.navbar button:hover{background:var(--danger);transform:none;box-shadow:none}.user-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--secondary) 0%,var(--secondary-light) 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:1rem;border:2px solid rgba(255,255,255,.3);overflow:hidden}.user-avatar img{width:100%;height:100%;object-fit:cover}.container{max-width:1400px;margin:0 auto;padding:16px 24px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:16px}.page-header h1,.page-header h2{font-size:1.5rem;font-weight:700;color:var(--dark);display:flex;align-items:center;gap:12px}.page-header h2:before{content:"";width:4px;height:24px;background:linear-gradient(180deg,var(--primary) 0%,var(--primary-light) 100%);border-radius:3px}h2{font-size:1.4rem;font-weight:700;color:var(--dark);margin-bottom:8px}h3{font-size:1.15rem;font-weight:600;color:var(--gray-700);margin-bottom:6px}h4{font-size:1rem;font-weight:600;color:var(--gray-700);margin-bottom:4px}.card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:16px;margin-bottom:16px;transition:var(--transition);border:1px solid var(--gray-200)}.card:hover{box-shadow:var(--shadow-lg)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:10px;border-bottom:2px solid var(--gray-100)}.card-title{font-size:1.1rem;font-weight:700;color:var(--dark)}.card-icon{width:48px;height:48px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:1.5rem}.card-icon.primary{background:#e651001a;color:var(--primary)}.card-icon.secondary{background:#1565c01a;color:var(--secondary)}.card-icon.success{background:#2e7d321a;color:var(--success)}.card-icon.danger{background:#c628281a;color:var(--danger)}.btn,button[type=submit],.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;font-size:.95rem;font-weight:600;border:none;border-radius:var(--radius);cursor:pointer;transition:var(--transition);text-decoration:none;background:linear-gradient(135deg,#ff833a,#ffab76);color:var(--white);box-shadow:0 4px 12px #e6510026}.btn:hover,button[type=submit]:hover{transform:translateY(-2px);box-shadow:0 6px 20px #e6510040}.btn:active{transform:translateY(0)}.btn-secondary{background:linear-gradient(135deg,var(--secondary) 0%,var(--secondary-light) 100%);box-shadow:0 4px 12px #1565c04d}.btn-secondary:hover{box-shadow:0 6px 20px #1565c066}.btn-success{background:#e8f5e9;color:#2e7d32;box-shadow:0 2px 6px #2e7d3226;border:1px solid #c8e6c9}.btn-success:hover{background:#c8e6c9;box-shadow:0 4px 12px #2e7d3240}.btn-danger{background:linear-gradient(135deg,var(--danger) 0%,var(--danger-light) 100%);box-shadow:0 4px 12px #c628284d}.btn-warning{background:#fff3e0;color:#e65100;box-shadow:0 2px 6px #e6510026;border:1px solid #ffe0b2}.btn-warning:hover{background:#ffe0b2;box-shadow:0 4px 12px #e6510040}.btn-outline{background:transparent;border:2px solid var(--primary);color:var(--primary);box-shadow:none}.btn-outline:hover{background:var(--primary);color:var(--white);box-shadow:0 4px 12px #e651004d}.btn-sm{padding:8px 16px;font-size:.85rem;border-radius:var(--radius-sm)}.btn-lg{padding:16px 32px;font-size:1.1rem}.btn-icon{width:40px;height:40px;padding:0;border-radius:50%}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid #d0d5dd;border-radius:8px;background:#fff;color:#475467;cursor:pointer;transition:all .15s ease;position:relative;flex-shrink:0}.icon-btn:hover{background:#f0f4ff;border-color:#1565c0;color:#1565c0;transform:translateY(-1px);box-shadow:0 2px 6px #0000001a}.icon-btn.danger{color:#c62828;border-color:#ffcdd2}.icon-btn.danger:hover{background:#ffebee;border-color:#c62828;color:#c62828}.icon-btn.success,.icon-btn.icon-success{color:#2e7d32;background:#e8f5e9;border-color:#c8e6c9}.icon-btn.success:hover,.icon-btn.icon-success:hover{background:#c8e6c9;border-color:#2e7d32;color:#2e7d32;box-shadow:0 2px 6px #2e7d3233}.icon-btn.warning,.icon-btn.icon-warning{color:#e65100;background:#fff3e0;border-color:#ffe0b2}.icon-btn.warning:hover,.icon-btn.icon-warning:hover{background:#ffe0b2;border-color:#e65100;color:#e65100;box-shadow:0 2px 6px #e6510033}.icon-btn.primary{color:#1565c0;border-color:#bbdefb}.icon-btn.primary:hover{background:#e3f2fd;border-color:#1565c0;color:#1565c0}.btn-with-icon{display:inline-flex;align-items:center;gap:6px}.btn-with-icon svg{flex-shrink:0}.btn-group{display:flex;gap:12px;flex-wrap:wrap}.form-group{margin-bottom:20px}label{display:block;font-weight:600;color:var(--gray-700);margin-bottom:8px;font-size:.9rem}input,select,textarea{width:100%;padding:14px 16px;font-size:1rem;border:2px solid var(--gray-300);border-radius:var(--radius);background:var(--white);transition:var(--transition);color:var(--gray-800)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #e651001a}input::placeholder{color:var(--gray-500)}input[type=checkbox],input[type=radio]{width:auto;margin-right:8px;accent-color:var(--primary)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:20px}.form-section{background:var(--gray-100);padding:20px;border-radius:var(--radius);margin-bottom:24px}.form-section h4{margin-bottom:16px;color:var(--dark)}.inline-form{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.inline-form input,.inline-form select{flex:1;min-width:180px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;padding:12px 16px;background:var(--gray-100);border-radius:var(--radius);transition:var(--transition)}.checkbox-label:hover{background:var(--gray-200)}.checkbox-label input{width:20px;height:20px}.file-upload{position:relative;display:inline-block}.file-upload input[type=file]{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer}.file-upload-label{display:flex;align-items:center;gap:12px;padding:16px 24px;background:var(--gray-100);border:2px dashed var(--gray-400);border-radius:var(--radius);cursor:pointer;transition:var(--transition)}.file-upload-label:hover{border-color:var(--primary);background:#e651000d}.badge{display:inline-flex;align-items:center;padding:6px 14px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border-radius:50px;background:var(--gray-200);color:var(--gray-700)}.badge.upcoming{background:#0288d126;color:var(--info)}.badge.live{background:#2e7d3226;color:var(--success);animation:pulse 2s infinite}.badge.completed{background:#6c757d26;color:var(--gray-600)}.badge.cancelled{background:#c6282826;color:var(--danger)}.badge.male{background:#1565c026;color:var(--secondary)}.badge.female{background:#c2185b26;color:#c2185b}.badge.mixed{background:#9c27b026;color:#9c27b0}.badge.primary{background:#e6510026;color:var(--primary)}.badge.success{background:#2e7d3226;color:var(--success)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.table-container{overflow-x:auto;border-radius:var(--radius);box-shadow:var(--shadow)}table,.stats-table,.match-table{width:100%;border-collapse:collapse;background:var(--white)}thead{background:linear-gradient(135deg,var(--dark) 0%,var(--dark-light) 100%)}th{padding:16px;text-align:left;font-weight:600;color:var(--white);font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}td{padding:14px 16px;border-bottom:1px solid var(--gray-200);font-size:.95rem}tbody tr{transition:var(--transition)}tbody tr:hover{background:var(--gray-100)}tbody tr:last-child td{border-bottom:none}.cancelled-row{opacity:.5;text-decoration:line-through}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:16px}.stat-card{background:var(--white);border-radius:var(--radius-lg);padding:14px 16px;box-shadow:var(--shadow);display:flex;align-items:center;gap:14px;transition:var(--transition);border-left:4px solid var(--primary);min-height:70px}.stat-card:hover{box-shadow:var(--shadow-lg)}.stat-card.color-primary{border-left-color:var(--primary)}.stat-card.color-secondary{border-left-color:var(--secondary)}.stat-card.color-success{border-left-color:var(--success)}.stat-card.color-warning{border-left-color:var(--warning)}.stat-icon{width:44px;height:44px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:1.4rem}.stat-card.color-primary .stat-icon{background:#e651001a;color:var(--primary)}.stat-card.color-secondary .stat-icon{background:#1565c01a;color:var(--secondary)}.stat-card.color-success .stat-icon{background:#2e7d321a;color:var(--success)}.stat-card.color-warning .stat-icon{background:#f9a8251a;color:var(--warning)}.stat-content h3{font-size:1.5rem;font-weight:700;color:var(--dark);margin:0;line-height:1}.stat-content p{color:var(--gray-600);font-size:.9rem;margin-top:4px}.tournaments-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.tournament-card{position:relative;overflow:hidden;border-radius:var(--radius-lg)}.tournament-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary) 0%,var(--primary-light) 100%)}.tournament-card-header{display:flex;align-items:flex-start;gap:20px;margin-bottom:20px}.tournament-logo{width:80px;height:80px;border-radius:var(--radius);object-fit:contain;background:var(--gray-100);padding:8px}.tournament-card h3{font-size:1.4rem;margin-bottom:8px;display:flex;align-items:center;flex-wrap:wrap;gap:10px}.tournament-teams-section{background:var(--gray-100);padding:16px;border-radius:var(--radius);margin:16px 0}.team-group{margin:12px 0}.group-label{font-weight:700;color:var(--primary);margin-right:12px}.team-chip{display:inline-block;padding:6px 14px;background:var(--white);border-radius:50px;font-size:.85rem;margin:4px;box-shadow:var(--shadow-sm)}.card-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px;padding-top:20px;border-top:1px solid var(--gray-200)}.create-tournament-card{background:linear-gradient(135deg,var(--gray-100) 0%,var(--white) 100%);border:2px solid var(--primary)}.tournament-form{display:flex;flex-direction:column;gap:20px}.tournament-form.compact{gap:8px}.tournament-form.compact .form-row{gap:10px;margin-bottom:8px}.tournament-form.compact .form-row label{font-size:.85rem;margin-bottom:0}.tournament-form.compact .form-section{padding:10px 14px;margin-bottom:10px}.tournament-form.compact .form-section h4{margin-bottom:8px;font-size:.9rem}.tournament-form.compact input,.tournament-form.compact select,.tournament-form.compact textarea{padding:6px 8px;font-size:.85rem}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 16px;font-size:.9rem}.detail-grid .detail-item{display:flex;flex-direction:column;gap:2px}.detail-grid .detail-item .detail-label{font-size:.75rem;color:#888;text-transform:uppercase;letter-spacing:.5px}.detail-grid .detail-item .detail-value{color:#333}.detail-section-title{font-size:.8rem;color:#888;text-transform:uppercase;letter-spacing:.5px;margin:10px 0 4px;padding-top:8px;border-top:1px solid #eee}.img-preview-sm{width:80px;height:80px;object-fit:contain;border-radius:var(--radius);margin-top:8px;border:2px solid var(--gray-300)}.team-card{cursor:pointer;position:relative;overflow:hidden}.team-card:after{content:"";position:absolute;bottom:0;left:0;right:0;height:4px;background:var(--secondary);transform:scaleX(0);transition:var(--transition)}.team-card:hover:after{transform:scaleX(1)}.team-card.selected{border:2px solid var(--primary);background:#e6510005}.team-logo{width:60px;height:60px;border-radius:var(--radius);object-fit:contain;background:var(--gray-100)}.team-detail{background:var(--white);border-radius:var(--radius-lg);padding:24px;margin-top:24px;box-shadow:var(--shadow)}.team-detail h3{font-size:1.5rem;margin-bottom:20px;display:flex;align-items:center;gap:12px}.player-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.player-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:var(--gray-100);border-radius:50px;font-size:.9rem;transition:var(--transition)}.player-chip:hover{background:var(--gray-200)}.match-section{margin-bottom:32px}.match-section h4{background:linear-gradient(135deg,var(--secondary) 0%,var(--secondary-light) 100%);color:var(--white);padding:14px 20px;border-radius:var(--radius) var(--radius) 0 0;margin:0}.match-table{border-radius:0 0 var(--radius) var(--radius);overflow:hidden}.referee-select{min-width:150px;padding:8px 12px;font-size:.85rem}.score-sheet{background:var(--white);max-width:1200px;margin:0 auto;padding:32px;box-shadow:var(--shadow-xl);border-radius:var(--radius-lg)}.bfi-header{display:flex;justify-content:space-between;align-items:center;padding:24px;background:linear-gradient(135deg,var(--dark) 0%,var(--dark-light) 100%);border-radius:var(--radius);margin-bottom:24px;color:var(--white)}.bfi-logo-section{flex:0 0 100px;text-align:center}.bfi-tournament-logo{width:80px;height:80px;object-fit:contain;background:var(--white);border-radius:var(--radius);padding:8px}.bfi-title-section{flex:1;text-align:center}.bfi-title-section h1{font-size:1.5rem;font-weight:700;margin-bottom:4px;letter-spacing:2px}.bfi-title-section h2{font-size:1.1rem;font-weight:400;margin-bottom:8px;color:var(--primary-light)}.bfi-title-section h3{font-size:1rem;font-weight:600;color:var(--gray-300)}.bfi-badge{background:var(--primary);padding:12px 20px;border-radius:var(--radius);font-size:1.25rem;font-weight:700}.bfi-match-info{background:var(--gray-100);padding:20px;border-radius:var(--radius);margin-bottom:24px}.info-row{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:12px}.info-row:last-child{margin-bottom:0}.info-row span{font-size:.95rem}.bfi-score-display{display:flex;align-items:center;justify-content:center;gap:40px;padding:32px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);border-radius:var(--radius-lg);margin-bottom:24px;color:var(--white)}.team-score{text-align:center}.team-score .team-name{font-size:1.25rem;font-weight:600;display:block;margin-bottom:8px}.team-score .score{font-size:4rem;font-weight:800;line-height:1;text-shadow:2px 4px 8px rgba(0,0,0,.3)}.vs-divider{font-size:1.5rem;font-weight:700;opacity:.7}.bfi-table{margin:24px 0}.bfi-table th{font-size:.75rem;padding:12px 8px}.bfi-table td{padding:10px 8px;text-align:center;font-size:.9rem}.team-section{margin-bottom:32px}.team-header{background:linear-gradient(135deg,var(--secondary) 0%,var(--secondary-light) 100%);color:var(--white);padding:14px 20px;border-radius:var(--radius);margin-bottom:16px}.team-total-row{background:var(--gray-100);font-weight:700}.player-select{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;padding:16px;background:var(--gray-100);border-radius:var(--radius)}.select-label{font-weight:600;margin-right:12px;align-self:center}.player-btn{padding:10px 18px;border:2px solid var(--gray-300);border-radius:50px;background:var(--white);cursor:pointer;transition:var(--transition);font-weight:500}.player-btn:hover{border-color:var(--primary);background:#e651000d}.player-btn.active{background:var(--primary);color:var(--white);border-color:var(--primary)}.controls{display:flex;flex-wrap:wrap;gap:16px;align-items:center;padding:20px;background:var(--gray-100);border-radius:var(--radius);margin-bottom:24px}.quarter-controls,.score-buttons{display:flex;align-items:center;gap:8px}.score-btn{min-width:80px}.foul-controls{display:flex;align-items:center;gap:8px;margin-top:16px;padding:16px;background:#c628281a;border-radius:var(--radius)}.foul-btn{background:var(--danger)}.bfi-signature-section{margin-top:32px;padding-top:24px;border-top:2px solid var(--gray-200)}.signature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}.signature-box{text-align:center}.signature-box label{display:block;margin-bottom:12px;font-weight:600}.signature-img{max-width:200px;border:1px solid var(--gray-300);border-radius:var(--radius)}.signature-placeholder{padding:40px;background:var(--gray-100);border-radius:var(--radius);color:var(--gray-500)}.bfi-footer{margin-top:32px;text-align:center;padding:16px;background:var(--gray-100);border-radius:var(--radius);font-size:.85rem;color:var(--gray-600)}.fiba-sheet{max-width:1400px;margin:0 auto;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.fiba-header{display:flex;align-items:center;background:linear-gradient(135deg,#1a237e,#283593);color:#fff;padding:16px 24px}.fiba-header-left,.fiba-header-right{flex:0 0 80px;display:flex;align-items:center;justify-content:center}.fiba-logo{width:60px;height:60px;object-fit:contain;background:#fff;border-radius:8px;padding:4px}.fiba-header-center{flex:1;text-align:center}.fiba-header-title{font-size:1.4rem;font-weight:800;letter-spacing:3px}.fiba-header-subtitle{font-size:1rem;opacity:.9;margin-top:2px}.fiba-header-meta{font-size:.8rem;opacity:.7;margin-top:4px}.fiba-format-badge{background:#ff6f00;color:#fff;font-weight:800;font-size:1.1rem;padding:8px 16px;border-radius:8px;letter-spacing:1px}.fiba-score-bar{display:flex;align-items:center;background:linear-gradient(135deg,#0d47a1,#b71c1c);padding:12px 24px;color:#fff}.fiba-sb-team{display:flex;align-items:center;gap:16px;flex:1}.fiba-sb-team-a{justify-content:flex-start}.fiba-sb-team-b{justify-content:flex-end}.fiba-sb-name{font-size:1.1rem;font-weight:700}.fiba-sb-score{font-size:3rem;font-weight:900;line-height:1;text-shadow:2px 2px 4px rgba(0,0,0,.3);min-width:60px;text-align:center}.fiba-sb-center{display:flex;flex-direction:column;align-items:center;gap:6px;padding:0 20px}.fiba-quarter-tabs{display:flex;gap:4px}.fiba-qt{padding:6px 14px;border:2px solid rgba(255,255,255,.5);border-radius:6px;background:transparent;color:#fff;font-weight:700;cursor:pointer;font-size:.9rem;transition:all .15s}.fiba-qt:hover{background:#fff3}.fiba-qt-active{background:#fff;color:#1a237e;border-color:#fff}.fiba-qt:disabled{opacity:.5;cursor:default}.fiba-sb-status{font-size:.75rem}.fiba-start-btn{background:#4caf50!important;margin-top:4px;font-size:.8rem;padding:4px 16px}.fiba-end-btn{margin-top:4px;font-size:.8rem;padding:4px 16px}.fiba-action-bar{display:flex;align-items:center;gap:16px;background:#fff3e0;padding:12px 24px;border-bottom:2px solid #ff9800;flex-wrap:wrap}.fiba-action-player{flex:0 0 auto;font-size:.95rem}.fiba-selected-info{color:#e65100;font-size:1rem}.fiba-select-hint{color:#999;font-style:italic}.fiba-action-buttons{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.fiba-action-divider{width:1px;height:32px;background:#ccc}.fiba-score-btn{padding:10px 20px;border:none;border-radius:8px;font-weight:800;font-size:1rem;cursor:pointer;color:#fff;transition:all .15s;min-width:70px}.fiba-score-btn:disabled{opacity:.4;cursor:not-allowed}.fiba-btn-ft{background:#4caf50}.fiba-btn-ft:hover:not(:disabled){background:#388e3c}.fiba-btn-2pt{background:#2196f3}.fiba-btn-2pt:hover:not(:disabled){background:#1976d2}.fiba-btn-3pt{background:#ff9800}.fiba-btn-3pt:hover:not(:disabled){background:#f57c00}.fiba-btn-foul{background:#f44336}.fiba-btn-foul:hover:not(:disabled){background:#d32f2f}.fiba-btn-combo{background:#7b1fa2}.fiba-btn-combo:hover:not(:disabled){background:#6a1b9a}.fiba-btn-undo{background:#546e7a}.fiba-btn-undo:hover:not(:disabled){background:#455a64}.fiba-main{display:grid;grid-template-columns:1fr auto;gap:0;min-height:400px}.fiba-main-3col{grid-template-columns:1fr auto 1fr}.fiba-rosters{border-right:2px solid #ddd}.fiba-team-panel{border-bottom:1px solid #e0e0e0}.fiba-team-label{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;color:#fff;font-weight:700;font-size:.95rem}.fiba-team-score-small{font-size:1.3rem;font-weight:900}.fiba-team-fouls-row{display:flex;gap:8px;padding:4px 16px;background:#f5f5f5;font-size:.8rem;align-items:center;flex-wrap:wrap}.fiba-tf-label{font-weight:600;color:#666}.fiba-tf-quarter{padding:2px 8px;border-radius:4px;background:#e0e0e0}.fiba-tf-active{background:#ffeb3b;font-weight:700}.fiba-roster-table{width:100%;border-collapse:collapse;font-size:.85rem}.fiba-roster-table th{padding:4px 8px;background:#eee;font-weight:600;font-size:.75rem;text-transform:uppercase;color:#666;border-bottom:1px solid #ddd}.fiba-r-no{width:40px;text-align:center}.fiba-r-name{text-align:left}.fiba-r-pts{width:45px;text-align:center}.fiba-r-fouls{width:100px;text-align:center}.fiba-r-action{width:45px;text-align:center}.fiba-player-row{cursor:pointer;transition:background .1s;border-bottom:1px solid #f0f0f0}.fiba-player-row td{padding:6px 8px}.fiba-player-row:hover{background:#e3f2fd}.fiba-player-selected{background:#bbdefb!important;outline:2px solid #1565c0}.fiba-player-fouled-out{background:#ffebee!important}.fiba-player-fouled-out .fiba-r-name{text-decoration:line-through;color:#c62828}.fiba-foul-dots{display:flex;gap:4px;justify-content:center}.foul-dot{width:16px;height:16px;border-radius:50%;border:2px solid #f44336;display:inline-block}.foul-dot-filled{background:#f44336}.fiba-foul-btn{padding:4px 8px;background:#ef5350;color:#fff;border:none;border-radius:4px;font-weight:700;font-size:.75rem;cursor:pointer}.fiba-foul-btn:hover{background:#d32f2f}.fiba-undo-foul-btn{background:#78909c!important;margin-left:2px}.fiba-undo-foul-btn:hover{background:#546e7a!important}.fiba-r-oncourt{width:28px;text-align:center}.fiba-oncourt-dot{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid #4caf50;cursor:pointer;transition:all .15s;vertical-align:middle}.fiba-oncourt-dot:hover{background:#4caf504d}.fiba-oncourt-active{background:#4caf50}.fiba-playing-header{padding:4px 16px;font-size:.78rem;color:#333;background:#e8f5e9;border-bottom:1px solid #c8e6c9}.fiba-player-bench{opacity:.5}.fiba-player-bench:hover{opacity:.8}.fiba-r-jersey{width:35px;text-align:center;font-weight:600;color:#1565c0}.fiba-undo-stat-buttons{margin-top:4px}.fiba-btn-undo-stat{background:#90a4ae!important;font-size:.8rem;padding:6px 12px;min-width:50px}.fiba-btn-undo-stat:hover:not(:disabled){background:#78909c!important}.fiba-running-score{padding:8px 12px;overflow-y:auto;max-height:700px}.fiba-section-title{font-size:.9rem;font-weight:800;text-transform:uppercase;letter-spacing:2px;color:#333;margin:8px 0;text-align:center}.fiba-score-blocks{display:flex;gap:8px;flex-wrap:wrap}.fiba-score-block{flex:1;min-width:140px}.fiba-score-table{width:auto;border-collapse:collapse;font-size:.75rem}.fiba-score-table th{padding:3px 4px;background:#263238;color:#fff;font-size:.65rem;text-transform:uppercase;text-align:center}.fiba-score-table td{padding:2px 4px;text-align:center;border:1px solid #e0e0e0;font-size:.75rem;font-weight:500}.fiba-col-a{background:#e3f2fd;width:32px;text-align:center}.fiba-col-b{background:#fce4ec;width:32px;text-align:center}.fiba-col-num{background:#f5f5f5;font-weight:700;color:#666;width:28px}.score-crossed{text-decoration:line-through;font-weight:800}.team-a-hit{background:#1565c0!important;color:#fff!important}.team-b-hit{background:#c62828!important;color:#fff!important}.fiba-score-current td{outline:2px solid #ff9800}.fiba-score-ten td{border-bottom:2px solid #999}.fiba-period-summary{padding:16px 24px;border-top:2px solid #ddd}.fiba-period-table{width:100%;border-collapse:collapse;max-width:600px;margin:0 auto}.fiba-period-table th,.fiba-period-table td{padding:8px 16px;text-align:center;border:1px solid #ddd;font-size:.9rem}.fiba-period-table th{background:#263238;color:#fff;font-size:.8rem}.fiba-pt-team{text-align:left;font-weight:700}.fiba-details-toggle{padding:16px 24px;text-align:center}.fiba-details{padding:0 24px 24px}.fiba-detail-section{margin-bottom:24px}.fiba-detail-section h4{background:linear-gradient(90deg,#263238,#37474f);color:#fff;padding:8px 16px;border-radius:4px;margin-bottom:8px}.fiba-print-only{display:none}.fiba-signatures{padding:24px;border-top:2px solid #ddd}.fiba-footer{text-align:center;padding:12px;background:#f5f5f5;font-size:.8rem;color:#888}.fiba-coaches-row{display:flex;gap:6px;align-items:center;padding:4px 12px;font-size:.78rem;color:#555;background:#ffffff26}.fiba-coach-label{font-weight:700}.fiba-stat-buttons{margin-top:6px}.fiba-btn-stat{background:#607d8b!important;font-size:.85rem;padding:8px 14px;min-width:55px}.fiba-btn-stat:hover:not(:disabled){background:#455a64!important}@keyframes fiba-flash{0%{transform:scale(1);filter:brightness(1)}30%{transform:scale(.9);filter:brightness(1.5)}60%{transform:scale(1.05);filter:brightness(1.2)}to{transform:scale(1);filter:brightness(1)}}.fiba-btn-flash{animation:fiba-flash .3s ease-out!important}.fiba-score-btn:active:not(:disabled){transform:scale(.92);filter:brightness(1.3)}.fiba-timeout-bar{display:flex;justify-content:space-between;background:#fff8e1;padding:8px 24px;border-bottom:2px solid #ffc107;font-size:.85rem}.fiba-timeout-team{display:flex;align-items:center;gap:12px}.fiba-timeout-label{font-weight:700}.fiba-timeout-btn{padding:6px 12px;border:none;border-radius:6px;background:#ffc107;color:#333;font-weight:700;cursor:pointer;font-size:.8rem}.fiba-timeout-btn:hover{background:#ffb300}.fiba-qt-ot{border-color:#ff6f00}.fiba-qt-ot.fiba-qt-active{background:#ff6f00;color:#fff;border-color:#ff6f00}.fiba-ot-btn{background:#ff6f00!important;color:#fff!important;margin-top:4px;font-size:.8rem;padding:4px 16px}.fiba-r-stat-sm{width:35px;text-align:center;font-size:.75rem;color:#555}.fiba-score-scroll{max-height:600px;overflow-y:auto;border:1px solid #e0e0e0;border-radius:4px}.fiba-score-scroll thead{position:sticky;top:0;z-index:1}.fiba-officials-section{padding:16px 24px;border-top:2px solid #ddd}.fiba-officials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:8px}.fiba-official-box{background:#f5f5f5;padding:10px 14px;border-radius:6px;border-left:3px solid #1565c0}.fiba-official-box label{display:block;font-size:.7rem;text-transform:uppercase;color:#888;font-weight:600;margin-bottom:4px}.fiba-official-box span{font-weight:600;font-size:.9rem}.fiba-officials-assign{padding:12px 0;margin-top:12px}.fiba-assign-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:12px;padding:12px;background:#f9f9f9;border-radius:8px}.fiba-assign-row{display:flex;flex-direction:column;gap:4px}.fiba-assign-row label{font-size:.8rem;font-weight:600;color:#555;text-transform:capitalize}.fiba-assign-row select{padding:6px 8px;border:1px solid #ccc;border-radius:4px;font-size:.85rem}@media (max-width: 900px){.fiba-main,.fiba-main-3col{grid-template-columns:1fr}.fiba-rosters{border-right:none;border-bottom:2px solid #ddd}.fiba-score-bar{flex-direction:column;gap:8px;text-align:center}.fiba-sb-team{justify-content:center}.fiba-sb-score{font-size:2.5rem}.fiba-action-bar{flex-direction:column;align-items:stretch}.fiba-action-buttons{justify-content:center}.fiba-timeout-bar{flex-direction:column;gap:8px}.fiba-coaches-row{flex-wrap:wrap}}@media print{.fiba-print-only{display:block!important}.fiba-running-score,.fiba-score-scroll{max-height:none;overflow:visible}.fiba-sheet{box-shadow:none;max-width:100%}.fiba-header,.fiba-score-bar,.team-a-hit,.team-b-hit{print-color-adjust:exact;-webkit-print-color-adjust:exact}.fiba-details-toggle,.fiba-officials-assign{display:none}}.filters-section{background:var(--white);padding:14px 16px;border-radius:var(--radius-lg);box-shadow:var(--shadow);margin-bottom:16px}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;align-items:end}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group label{font-size:.75rem;font-weight:600;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.filter-group input,.filter-group select{padding:10px 12px;font-size:.85rem}.filter-actions{display:flex;gap:8px;align-items:flex-end}.data-table-container{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.data-table{width:100%;border-collapse:collapse}.data-table thead{background:linear-gradient(135deg,var(--dark) 0%,var(--dark-light) 100%)}.data-table th{padding:10px 12px;text-align:left;font-weight:600;color:var(--white);font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.data-table td{padding:8px 12px;border-bottom:1px solid var(--gray-200);font-size:.9rem;vertical-align:middle}.data-table tbody tr{transition:var(--transition)}.data-table tbody tr:hover{background:var(--gray-100)}.data-table tbody tr:last-child td{border-bottom:none}.data-table .user-cell{display:flex;align-items:center;gap:12px}.data-table .user-avatar-sm{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--secondary) 0%,var(--secondary-light) 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.85rem;flex-shrink:0;overflow:hidden}.data-table .user-avatar-sm img{width:100%;height:100%;object-fit:cover}.data-table .user-name{font-weight:600;color:var(--dark)}.data-table .user-username{font-size:.8rem;color:var(--gray-600)}.data-table .actions-cell{display:flex;gap:6px;flex-wrap:nowrap}.table-info{padding:12px 16px;background:var(--gray-100);border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:var(--gray-600)}.table-pagination{display:flex;align-items:center;justify-content:space-between;padding:16px;background:var(--gray-100)}.page-info{font-size:.85rem;color:var(--gray-600)}.page-buttons{display:flex;gap:4px}.page-btn{padding:8px 14px;border:1px solid var(--gray-300);background:var(--white);border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem;transition:var(--transition)}.page-btn:hover:not(:disabled){background:var(--gray-200)}.page-btn:disabled{opacity:.5;cursor:not-allowed}.page-btn.active{background:var(--primary);color:var(--white);border-color:var(--primary)}.user-card{display:flex;align-items:center;gap:16px;padding:20px;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:var(--transition)}.user-card:hover{box-shadow:var(--shadow);transform:translate(4px)}.user-avatar-lg{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--secondary) 0%,var(--secondary-light) 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.25rem;overflow:hidden;flex-shrink:0}.user-avatar-lg img{width:100%;height:100%;object-fit:cover}.user-details{flex:1}.user-details h4{margin:0 0 4px;font-size:1.1rem}.user-details p{margin:0;font-size:.85rem;color:var(--gray-600)}.user-actions{display:flex;gap:8px}.profile-header{display:flex;align-items:center;gap:16px;margin-bottom:16px;padding:14px 20px;background:linear-gradient(135deg,var(--dark) 0%,var(--dark-light) 100%);border-radius:var(--radius-lg);color:var(--white)}.profile-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;border:3px solid rgba(255,255,255,.3);overflow:hidden;position:relative;flex-shrink:0}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-avatar-upload{position:absolute;bottom:0;left:0;right:0;background:#000000b3;padding:8px;font-size:.75rem;cursor:pointer;opacity:0;transition:var(--transition)}.profile-avatar:hover .profile-avatar-upload{opacity:1}.profile-info h2{margin:0 0 8px;font-size:1.75rem;color:var(--white)}.profile-info .role-badge{background:var(--primary);padding:6px 16px;border-radius:50px;font-size:.8rem;font-weight:600;text-transform:uppercase}.live-container{max-width:800px;margin:0 auto}.live-score-card{background:linear-gradient(135deg,var(--dark) 0%,var(--dark-light) 100%);border-radius:var(--radius-xl);padding:40px;color:var(--white);text-align:center;margin-bottom:32px;position:relative;overflow:hidden}.live-score-card:before{content:"LIVE";position:absolute;top:20px;right:20px;background:var(--danger);padding:6px 16px;border-radius:50px;font-size:.75rem;font-weight:700;animation:pulse 2s infinite}.live-teams{display:flex;align-items:center;justify-content:center;gap:40px}.live-team{text-align:center}.live-team-name{font-size:1.25rem;font-weight:600;margin-bottom:16px}.live-team-score{font-size:5rem;font-weight:800;line-height:1;text-shadow:0 4px 12px rgba(0,0,0,.3)}.live-vs{font-size:1.5rem;font-weight:700;color:var(--gray-400)}.quarter-indicator{margin-top:24px;font-size:1.1rem;color:var(--primary-light)}.error,.alert-error{background:#c628281a;border:1px solid var(--danger);color:var(--danger);padding:16px 20px;border-radius:var(--radius);margin-bottom:20px;font-weight:500}.success,.alert-success{background:#2e7d321a;border:1px solid var(--success);color:var(--success);padding:16px 20px;border-radius:var(--radius);margin-bottom:20px;font-weight:500}.info,.alert-info{background:#0288d11a;border:1px solid var(--info);color:var(--info);padding:16px 20px;border-radius:var(--radius);margin-bottom:20px;font-weight:500}.warning,.alert-warning{background:#f9a8251a;border:1px solid var(--warning);color:#8c6d1f;padding:16px 20px;border-radius:var(--radius);margin-bottom:20px;font-weight:500}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;padding:24px}.modal{background:var(--white);border-radius:var(--radius-lg);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--gray-200)}.modal-header h3{margin:0;font-size:1.25rem}.modal-close{width:36px;height:36px;border:none;background:var(--gray-100);border-radius:50%;cursor:pointer;font-size:1.25rem;color:var(--gray-600);transition:var(--transition)}.modal-close:hover{background:var(--gray-200);color:var(--dark)}.modal-body{padding:24px}.modal-footer{padding:16px 24px;border-top:1px solid var(--gray-200);display:flex;justify-content:flex-end;gap:12px}.modal-content{background:var(--white);border-radius:var(--radius-lg);max-width:700px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);padding:24px}.modal-content h3{margin-top:0;margin-bottom:20px;font-size:1.25rem;color:var(--dark)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--dark) 0%,var(--dark-light) 100%);padding:24px}.login-card{background:var(--white);border-radius:var(--radius-xl);padding:48px;width:100%;max-width:420px;box-shadow:var(--shadow-xl)}.login-logo{text-align:center;margin-bottom:32px}.login-logo .logo-icon{width:80px;height:80px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:2.5rem;color:#fff;margin-bottom:16px;box-shadow:0 8px 24px #e6510066}.login-logo h1{font-size:1.5rem;color:var(--dark);margin:0}.login-logo p{color:var(--gray-600);margin-top:8px}.login-form .form-group{margin-bottom:24px}.login-form .btn{width:100%;padding:16px;font-size:1.1rem}.login-footer{text-align:center;margin-top:24px;padding-top:24px;border-top:1px solid var(--gray-200)}.login-footer a{color:var(--primary);text-decoration:none;font-weight:600}@media (max-width: 1024px){.navbar-container{flex-wrap:wrap;padding:12px 16px}.navbar-links{order:3;width:100%;overflow-x:auto;padding:12px 0}.navbar-links a{padding:10px 14px;font-size:.85rem;white-space:nowrap}}@media (max-width: 768px){.container{padding:12px}.page-header h2{font-size:1.25rem}.dashboard-grid,.card-grid,.form-row{grid-template-columns:1fr}.bfi-header{flex-direction:column;text-align:center;gap:16px}.bfi-score-display{flex-direction:column;gap:24px}.team-score .score{font-size:3rem}.live-teams{flex-direction:column;gap:24px}.live-team-score{font-size:3.5rem}.profile-header{flex-direction:column;text-align:center}.filters-grid{grid-template-columns:1fr 1fr}table{font-size:.85rem}th,td{padding:10px 8px}}@media (max-width: 480px){.navbar-brand{padding:12px 0}.navbar-title{font-size:1rem}.card{padding:16px}.btn{padding:10px 16px;font-size:.9rem}.filters-grid{grid-template-columns:1fr}.login-card{padding:32px 24px}}.fiba-print-sheet{display:none}.ps-header{text-align:center;border:2px solid #000;padding:3px}.ps-title-org{font-size:10px;font-weight:600;letter-spacing:.5px}.ps-title-main{font-size:14px;font-weight:800;margin-top:1px}.ps-info-bar{border:1px solid #000;border-top:none;padding:2px 4px}.ps-info-row{display:flex;gap:8px;flex-wrap:wrap;font-size:10px;padding:1px 0}.ps-info-row span{white-space:nowrap}.ps-body{display:flex;border:1px solid #000;border-top:none}.ps-teams-col{flex:0 0 68%;border-right:2px solid #000}.ps-running-col{flex:1;padding:1px}.ps-team-panel{border-bottom:2px solid #000;padding:2px}.ps-team-name{font-size:10px;font-weight:700;padding:1px 4px;background:#eee;border-bottom:1px solid #000}.ps-to-tf-row{display:flex;gap:6px;padding:2px 0}.ps-to-section,.ps-tf-section{flex:1}.ps-label{font-size:10px;font-weight:700;display:block;margin-bottom:1px}.ps-box-table{border-collapse:collapse;font-size:10px}.ps-box-table td{border:2px solid #000;width:16px;height:14px;text-align:center;padding:0;font-weight:700}.ps-box-label{width:auto!important;border:none!important;padding-right:3px!important;font-weight:600;font-size:10px;white-space:nowrap}.ps-box-filled{background:#000;color:#fff;font-weight:700}.ps-player-table{width:100%;border-collapse:collapse;font-size:10px}.ps-player-table th,.ps-player-table td{border:1px solid #000;padding:1px 3px}.ps-th-sm{width:18px;text-align:center;font-size:10px}.ps-th-name{text-align:left;font-size:10px}.ps-th-fouls,.ps-cell-sm{text-align:center;font-size:10px}.ps-cell-name{font-size:10px;max-width:36px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ps-cell-foul{width:14px;text-align:center;font-size:10px}.ps-foul-marked{background:#ddd}.ps-fouled-out{background:#000;color:#fff}.ps-coach-line{font-size:10px;padding:1px 4px;border-top:1px solid #ccc}.ps-rs-title{text-align:center;font-size:10px;font-weight:800;padding:1px;border-bottom:1px solid #000}.ps-rs-table{width:100%;border-collapse:collapse;font-size:10px}.ps-rs-table th{border:1px solid #000;padding:1px;text-align:center;font-size:10px;font-weight:800;background:#eee}.ps-rs-table td{border:1px solid #000;width:12.5%;padding:0;text-align:center;height:13px;font-size:10px}.ps-rs-hit{background:#000;color:#fff;font-weight:700;-webkit-print-color-adjust:exact;print-color-adjust:exact}.ps-rs-ten td{border-bottom:2px solid #000}.ps-rs-table td:nth-child(2),.ps-rs-table th:nth-child(2),.ps-rs-table td:nth-child(4),.ps-rs-table th:nth-child(4),.ps-rs-table td:nth-child(6),.ps-rs-table th:nth-child(6){border-right:2px solid #000}.ps-bottom{display:flex;border:1px solid #000;border-top:none;font-size:10px}.ps-officials-col{flex:0 0 50%;border-right:2px solid #000;padding:2px 4px}.ps-scores-col{flex:1;padding:2px 4px}.ps-sign-line{padding:1px 0;font-size:10px;border-bottom:1px dotted #999}.ps-period-scores{width:100%;border-collapse:collapse;font-size:10px}.ps-period-scores td{padding:1px 3px;border:1px solid #ccc;font-size:10px;white-space:nowrap}.ps-ps-label{font-weight:600;font-size:10px}.ps-final-row td{border-top:2px solid #000;font-weight:700}.ps3-body{flex-direction:row}.ps3-teams-col{flex:0 0 45%}.ps3-running-col{flex:1;padding:4px}.ps3-team-panel{border-bottom:2px solid #000;padding:4px}.ps3-team-name{font-size:9px;font-weight:700;padding:2px 3px;background:#eee;border-bottom:1px solid #000}.ps3-to-tf{display:flex;gap:8px;padding:3px 0}.ps3-timeout{flex:0 0 auto}.ps3-fouls{flex:1}.ps3-player-table{font-size:7px}.ps3-player-table th,.ps3-player-table td{padding:2px 4px}.ps3-officials{padding:4px}.ps3-rs-table{font-size:8px}.ps3-rs-table td{height:16px;font-size:8px;width:25%}.ps3-rs-table th{font-size:9px}.ps3-rs-table td:nth-child(2),.ps3-rs-table th:nth-child(2){border-right:2px solid #000}.ps3-final-scores{margin-top:8px;border-top:2px solid #000;padding-top:4px}.ps3-score-row{display:flex;justify-content:space-between;font-size:8px;padding:2px 0;border-bottom:1px solid #ccc}.ps3-signatures{margin-top:8px}.ps3-sig-box{min-height:24px;border-bottom:1px solid #000;margin-bottom:2px}.ps3-protest{margin-top:8px;font-size:7px}.ps3-protest-row{display:flex;align-items:center;gap:6px;margin-bottom:3px}@media print{@page{size:A4 portrait;margin:2mm}body{background:#fff!important;margin:0;padding:0}.navbar,.no-print,.controls,.container>*:not(.fiba-sheet){display:none!important}.fiba-sheet>*:not(.fiba-print-sheet){display:none!important}.fiba-print-only{display:none!important}.fiba-print-sheet{display:block!important;width:100%;max-width:100%;margin:0;padding:0;font-family:Arial,Helvetica,sans-serif;color:#000}.fiba-sheet{box-shadow:none!important;max-width:100%!important;padding:0!important;margin:0!important;border-radius:0!important;background:#fff!important}.container{padding:0!important;max-width:100%!important}.ps-rs-hit,.ps-box-filled,.ps-fouled-out{background:#000!important;color:#fff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.ps-team-name,.ps3-team-name,.ps-rs-table th{background:#eee!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.ps-header{padding:3px}.ps-title-org{font-size:10px}.ps-title-main{font-size:14px;margin-top:1px}.ps-info-bar{padding:2px 4px}.ps-info-row{font-size:10px;padding:1px 0;gap:8px}.ps-body{font-size:10px}.ps-teams-col{flex:0 0 68%}.ps-running-col{flex:1;padding:1px}.ps-rs-title{font-size:10px;padding:1px}.ps-rs-table{font-size:10px}.ps-rs-table td{height:13px;font-size:10px;padding:0;width:12.5%}.ps-rs-table th{font-size:10px;padding:0}.ps-team-panel{padding:2px}.ps-team-name{font-size:10px;padding:1px 3px}.ps-to-tf-row{padding:1px 0;gap:4px}.ps-label{font-size:10px;margin-bottom:1px}.ps-box-table{font-size:10px}.ps-box-table td{width:14px;height:12px;font-size:10px;border:1px solid #000}.ps-box-label{font-size:10px!important}.ps-player-table{font-size:10px}.ps-player-table th,.ps-player-table td{padding:1px 2px;font-size:10px}.ps-th-sm{width:18px;font-size:10px}.ps-th-name{font-size:10px}.ps-cell-name{font-size:10px;max-width:36px}.ps-cell-sm{font-size:10px}.ps-cell-foul{width:14px;font-size:10px}.ps-coach-line{font-size:10px;padding:1px 3px}.ps-bottom{font-size:10px}.ps-officials-col{flex:0 0 50%;padding:2px 4px}.ps-scores-col{padding:2px 4px}.ps-sign-line{padding:1px 0;font-size:10px}.ps-period-scores{font-size:10px}.ps-period-scores td{padding:1px 3px;font-size:10px}.score-sheet{box-shadow:none;padding:0;max-width:100%}.card{box-shadow:none;border:1px solid #ddd}}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--gray-600)}.text-primary{color:var(--primary)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mt-4{margin-top:32px}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.mb-4{margin-bottom:32px}.d-flex{display:flex}.align-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:8px}.gap-2{gap:16px}.gap-3{gap:24px}.w-100{width:100%}.hidden{display:none}.rule-note{font-size:.85rem;color:var(--gray-600);font-style:italic;margin-top:8px}.group-assignment{margin:16px 0;padding:16px;background:var(--gray-100);border-radius:var(--radius)}.group-assign-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:8px;margin-top:12px}.group-assign-row{display:flex;align-items:center;gap:8px;min-width:0}.group-assign-row span{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.group-assign-row input{width:80px;flex-shrink:0;padding:6px 8px;font-size:.85rem}.group-assign-row .btn-sm{flex-shrink:0;white-space:nowrap}.android-tabs-screen{max-width:1200px;margin:0 auto;padding:32px 24px 120px}.android-tabs-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px}.android-tabs-kicker{font-size:.85rem;text-transform:uppercase;letter-spacing:1px;color:var(--secondary);font-weight:600}.android-tabs-subtitle{color:var(--gray-600);margin-top:8px;max-width:520px}.android-tabs-alert{background:#fff3cd;border:1px solid #ffeeba;color:#856404;padding:12px 16px;border-radius:var(--radius-sm);margin-bottom:16px}.android-tabs-content{display:flex;flex-direction:column;gap:16px}.android-tabs-panel{display:flex;flex-direction:column;gap:20px}.android-tabs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.android-tabs-card{background:var(--white);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:12px}.android-tabs-card h3{margin:0}.android-tabs-metric{font-size:2rem;font-weight:700;color:var(--primary)}.android-tabs-note{color:var(--gray-600)}.android-tabs-muted{color:var(--gray-600);font-size:.95rem}.android-tabs-highlight{background:linear-gradient(135deg,#1565c014,#e6510014);border-radius:var(--radius);padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.android-tabs-list{display:flex;flex-direction:column;gap:12px}.android-tabs-list-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;background:var(--gray-100);border-radius:var(--radius-sm)}.android-tabs-actions{display:flex;gap:8px;flex-wrap:wrap}.android-tabs-checklist{list-style:none;display:grid;gap:8px;padding-left:0;color:var(--gray-700)}.android-tabs-checklist li:before{content:"✓";color:var(--success);margin-right:8px}.android-tabs-bar{position:fixed;bottom:0;left:0;right:0;background:var(--white);border-top:1px solid var(--gray-200);display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:10px 16px 14px;box-shadow:0 -8px 24px #00000014;z-index:999}.android-tab-button{background:transparent;border:none;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.75rem;color:var(--gray-600);cursor:pointer;transition:var(--transition)}.android-tab-button.active{color:var(--primary);font-weight:700}.android-tab-icon{font-size:1.1rem}@media (max-width: 768px){.android-tabs-header,.android-tabs-highlight,.android-tabs-list-item{flex-direction:column;align-items:flex-start}}.login-page{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;align-items:center;justify-content:flex-end;padding-right:20px;overflow:hidden;z-index:2000;background:url(/basketball-bg.jpg) center/cover no-repeat;background-color:#0d1117}.login-bg-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at 20% 50%,rgba(230,81,0,.15) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(21,101,192,.12) 0%,transparent 50%),radial-gradient(ellipse at 50% 80%,rgba(230,81,0,.08) 0%,transparent 50%),#00000073;z-index:1}.login-bg-pattern{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.04;background-image:repeating-linear-gradient(0deg,transparent,transparent 60px,rgba(255,255,255,.1) 60px,rgba(255,255,255,.1) 61px),repeating-linear-gradient(90deg,transparent,transparent 60px,rgba(255,255,255,.1) 60px,rgba(255,255,255,.1) 61px);z-index:1}.login-container{position:relative;z-index:10;display:flex;width:950px;max-width:95vw;min-height:580px;border-radius:20px;overflow:hidden;box-shadow:0 25px 80px #00000080,0 0 0 1px #ffffff0d}.login-branding{flex:1;background:linear-gradient(145deg,#e65100,#bf360c 40%,#1a1a2e);display:flex;flex-direction:column;justify-content:space-between;padding:48px 40px 32px;position:relative;overflow:hidden}.login-branding:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 50%,rgba(255,255,255,.06) 0%,transparent 50%);pointer-events:none}.login-branding:after{content:"";position:absolute;bottom:20px;right:20px;width:180px;height:180px;border:2px solid rgba(255,255,255,.08);border-radius:50%;pointer-events:none}.login-brand-content{position:relative;z-index:1}.login-brand-icon{margin-bottom:20px;opacity:.9}.login-brand-name{font-size:3rem;font-weight:900;color:#fff;letter-spacing:6px;line-height:1;margin-bottom:8px;text-shadow:0 2px 20px rgba(0,0,0,.3)}.login-brand-tagline{font-size:1rem;color:#ffffffbf;font-weight:400;letter-spacing:1px;margin-bottom:40px}.login-brand-features{display:flex;flex-direction:column;gap:14px}.login-feature{display:flex;align-items:center;gap:12px;color:#ffffffd9;font-size:.92rem;font-weight:500}.login-feature-icon{font-size:1.2rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffff1f;border-radius:8px;flex-shrink:0}.login-brand-footer{position:relative;z-index:1}.login-brand-footer p{color:#fff6;font-size:.8rem;letter-spacing:.5px}.login-made-in{margin-top:4px;display:flex;align-items:center;gap:6px}.india-flag{width:20px;height:auto;vertical-align:middle}.login-form-section{flex:1;background:#fff;display:flex;align-items:center;justify-content:center;padding:48px 40px}.login-form-wrapper{width:100%;max-width:360px}.login-form-header{margin-bottom:32px}.login-form-header h2{font-size:1.75rem;font-weight:800;color:#1a1a2e;margin-bottom:6px}.login-form-header p{font-size:.95rem;color:#6c757d}.login-form{display:flex;flex-direction:column;gap:20px}.login-input-group{display:flex;flex-direction:column;gap:6px}.login-input-group label{font-size:.85rem;font-weight:600;color:#495057;letter-spacing:.3px}.login-input-wrap{position:relative;display:flex;align-items:center}.login-input-icon{position:absolute;left:14px;font-size:1rem;opacity:.5;pointer-events:none}.login-input-wrap input{width:100%;padding:14px 14px 14px 44px;border:2px solid #e9ecef;border-radius:12px;font-size:.95rem;transition:all .2s ease;background:#f8f9fa;color:#1a1a2e}.login-input-wrap input:focus{border-color:#e65100;background:#fff;outline:none;box-shadow:0 0 0 4px #e6510014}.login-toggle-pw{position:absolute;right:12px;background:none;border:none;font-size:1.1rem;cursor:pointer;opacity:.5;padding:4px;line-height:1}.login-toggle-pw:hover{opacity:.8}.login-forgot-link{text-align:right;margin-top:-8px}.login-forgot-link button{background:none;border:none;color:#e65100;font-size:.85rem;font-weight:600;cursor:pointer;padding:0;transition:color .2s}.login-forgot-link button:hover{color:#bf360c;text-decoration:underline}.login-submit-btn{width:100%;padding:14px;background:linear-gradient(135deg,#e65100,#bf360c);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:700;letter-spacing:.5px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #e651004d}.login-submit-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px #e6510066}.login-submit-btn:active{transform:translateY(0)}.login-error{background:#fef2f2;color:#c62828;padding:12px 16px;border-radius:10px;font-size:.88rem;border:1px solid #fecaca;margin-bottom:8px}.login-success{background:#f0fdf4;color:#166534;padding:12px 16px;border-radius:10px;font-size:.88rem;border:1px solid #bbf7d0;margin-bottom:8px}.login-form-footer{margin-top:32px;text-align:center}.login-form-footer p{font-size:.78rem;color:#adb5bd;letter-spacing:.5px}.login-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:3000}.login-modal{background:#fff;border-radius:16px;padding:32px;width:420px;max-width:90vw;max-height:90vh;overflow-y:auto;box-shadow:0 25px 60px #0000004d}.login-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.login-modal-header h3{font-size:1.3rem;font-weight:800;color:#1a1a2e}.login-modal-close{background:none;border:none;font-size:1.8rem;color:#adb5bd;cursor:pointer;line-height:1;padding:0 4px}.login-modal-close:hover{color:#495057}.login-modal-desc{font-size:.88rem;color:#6c757d;margin-bottom:20px;line-height:1.5}.login-modal .login-input-group{margin-bottom:14px}.login-modal input{width:100%;padding:12px 14px;border:2px solid #e9ecef;border-radius:10px;font-size:.92rem;background:#f8f9fa;transition:all .2s}.login-modal input:focus{border-color:#e65100;background:#fff;outline:none;box-shadow:0 0 0 3px #e6510014}@media (max-width: 768px){.login-page{justify-content:center;padding-right:0}.login-container{flex-direction:column;min-height:auto;max-height:95vh;overflow-y:auto}.login-branding{padding:32px 28px 24px;min-height:auto}.login-brand-name{font-size:2.2rem}.login-brand-features{display:none}.login-branding:after{width:100px;height:100px}.login-form-section{padding:32px 28px}.login-brand-icon svg{width:50px;height:50px}}.login-container.register-active{min-height:620px;max-height:95vh}.login-form-section.register-mode{overflow-y:auto;align-items:flex-start;padding-top:28px;padding-bottom:28px}.login-form-section.register-mode .login-form-wrapper{max-width:440px}.login-reg-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.login-reg-form input,.login-reg-form select,.login-reg-form textarea{width:100%;padding:10px 12px;border:2px solid #e9ecef;border-radius:10px;font-size:.85rem;background:#f8f9fa;transition:all .2s;color:#1a1a2e;font-family:inherit}.login-reg-form input:focus,.login-reg-form select:focus,.login-reg-form textarea:focus{border-color:#e65100;background:#fff;outline:none;box-shadow:0 0 0 3px #e6510014}.login-reg-form textarea{resize:vertical;min-height:50px}.login-reg-form .login-input-group{margin-bottom:2px}.login-reg-form .login-input-group label{font-size:.78rem;font-weight:600;color:#495057;margin-bottom:2px;display:block}.login-reg-form .login-input-group label small{font-weight:400;color:#adb5bd}.login-role-checks{display:flex;gap:24px;margin-top:4px}.login-check-label{display:flex;align-items:center;gap:6px;font-size:.9rem;font-weight:500;cursor:pointer}.login-check-label input[type=checkbox]{width:18px;height:18px;accent-color:#e65100}.login-field-error{color:#c62828;font-size:.72rem;display:block;margin-top:1px}.login-field-hint{color:#888;font-size:.7rem;display:block;margin-top:2px}.login-register-link{margin-top:16px;text-align:center}.login-register-link p{font-size:.88rem;color:#6c757d}.login-register-link button{background:none;border:none;color:#e65100;font-weight:700;cursor:pointer;font-size:.88rem;padding:0;transition:color .2s}.login-register-link button:hover{color:#bf360c;text-decoration:underline}.login-reg-steps{display:flex;justify-content:center;gap:8px;margin-bottom:16px}.login-reg-step{width:28px;height:28px;border-radius:50%;background:#e9ecef;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#6c757d;transition:all .3s}.login-reg-step.active{background:#e65100;color:#fff}.login-reg-step.done{background:#4caf50;color:#fff}.login-otp-info{text-align:center;margin-bottom:20px}.login-otp-info p{font-size:.92rem;color:#495057;margin-bottom:6px}.login-otp-timer{font-size:.85rem!important;color:#e65100!important;font-weight:600}.login-otp-input{text-align:center;font-size:1.5rem!important;letter-spacing:8px;font-weight:700;padding:14px!important}.login-otp-actions{text-align:center;margin-top:12px}.login-otp-actions button{background:none;border:none;color:#e65100;font-weight:600;font-size:.85rem;cursor:pointer}.login-otp-actions button:disabled{color:#adb5bd;cursor:not-allowed}@media (max-width: 768px){.login-reg-grid{grid-template-columns:1fr}.login-form-section.register-mode{padding:24px 20px}.login-container.register-active{max-height:95vh}}.live-view{max-width:900px;margin:0 auto;padding:20px}.match-score-huge{display:flex;align-items:center;justify-content:center;gap:32px;padding:32px;background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:24px}.match-score-huge .team-side{text-align:center;flex:1}.match-score-huge .team-side h3{font-size:1rem;font-weight:600;margin-bottom:8px;color:var(--gray-700)}.match-score-huge .huge-score{font-size:3.5rem;font-weight:900;color:var(--gray-900);line-height:1}.match-score-huge .vs{display:flex;flex-direction:column;align-items:center;gap:6px;font-weight:700;color:var(--gray-500)}.match-score-huge .quarter-badge{font-size:.85rem;font-weight:700;background:var(--primary);color:#fff;padding:2px 10px;border-radius:10px}.match-score-huge .status-badge{font-size:.7rem;font-weight:700;text-transform:uppercase;padding:2px 8px;border-radius:8px;background:var(--gray-200);color:var(--gray-600)}.match-score-huge .status-badge.live{background:#c62828;color:#fff;animation:pulse-badge 1.5s ease-in-out infinite}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.6}}.match-score-huge.pulse .huge-score{animation:pulse-badge 1.5s ease-in-out infinite}.live-stats-split{display:grid;grid-template-columns:1fr 1fr;gap:20px}.live-team-stats{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.live-team-stats h3{font-size:.95rem;font-weight:700;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid var(--gray-200)}@media (max-width: 600px){.match-score-huge{gap:16px;padding:20px}.match-score-huge .huge-score{font-size:2.5rem}.live-stats-split{grid-template-columns:1fr}}.date-input-wrapper{position:relative;display:inline-flex;align-items:center;width:100%}.date-input-wrapper .date-input-text{flex:1;padding-right:36px;font-variant-numeric:tabular-nums;letter-spacing:.5px}.date-input-wrapper .date-input-cal-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;padding:4px;cursor:pointer;color:var(--gray-500);display:flex;align-items:center;justify-content:center;border-radius:4px;width:auto;min-width:auto}.date-input-wrapper .date-input-cal-btn:hover{color:var(--primary);background:var(--gray-100)}.date-input-wrapper .date-input-hidden{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:0;height:0;opacity:0;overflow:hidden;border:none;padding:0;pointer-events:none}.date-input-wrapper.datetime{gap:4px}.date-input-wrapper.datetime .date-part{flex:1.2;padding-right:16px}.date-input-wrapper.datetime .date-input-time{flex:.8;min-width:80px}.date-input-wrapper.datetime .date-input-cal-btn{position:relative;right:auto;top:auto;transform:none}.searchable-select{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 16px;font-size:1rem;border:2px solid var(--gray-300);border-radius:var(--radius);background:var(--white);cursor:pointer;transition:var(--transition);color:var(--gray-800);-webkit-user-select:none;user-select:none}.searchable-select:hover{border-color:var(--gray-400)}.searchable-select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.searchable-select-placeholder{color:var(--gray-500);flex:1}.searchable-select-arrow{color:var(--gray-500);font-size:.8rem;margin-left:8px;flex-shrink:0}.searchable-select-dropdown{position:absolute;top:100%;left:0;right:0;z-index:100;background:var(--white);border:2px solid var(--primary);border-radius:var(--radius);margin-top:4px;box-shadow:0 8px 24px #0000001f;overflow:hidden}.searchable-select-search{width:100%;padding:10px 14px;border:none;border-bottom:1px solid var(--gray-200);font-size:.9rem;outline:none;background:var(--gray-50)}.searchable-select-search:focus{border-color:var(--primary);box-shadow:none}.searchable-select-options{max-height:240px;overflow-y:auto}.searchable-select-option{padding:10px 14px;cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:space-between;gap:8px;transition:background .15s}.searchable-select-option:hover{background:var(--gray-100)}.searchable-select-option.active{background:#e6510014;color:var(--primary);font-weight:600}.searchable-select-empty{padding:16px 14px;text-align:center;color:var(--gray-500);font-size:.85rem}.calendar-container{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.calendar-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:linear-gradient(135deg,#1a237e,#283593);color:var(--white)}.calendar-header .btn-outline{border-color:#fff6;color:var(--white)}.calendar-header .btn-outline:hover{background:#ffffff26;border-color:#ffffffb3;color:var(--white)}.calendar-header-center{display:flex;align-items:center;gap:12px}.calendar-month-title{margin:0;font-size:1.3rem;font-weight:700;color:var(--white)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day-header{padding:10px 8px;text-align:center;font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-600);background:var(--gray-100);border-bottom:2px solid var(--gray-200)}.calendar-cell{min-height:110px;border:1px solid var(--gray-200);padding:4px;display:flex;flex-direction:column;transition:background .15s ease}.calendar-cell:hover{background:var(--gray-50, #fafafa)}.calendar-cell-empty{background:var(--gray-100);opacity:.4;min-height:110px}.calendar-cell-today{background:#e651000a;box-shadow:inset 0 0 0 2px var(--primary)}.calendar-cell-today .calendar-cell-date{color:var(--white);background:var(--primary)}.calendar-cell-date{font-size:.85rem;font-weight:700;color:var(--gray-700);width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:50%;margin-bottom:4px;flex-shrink:0}.calendar-cell-events{display:flex;flex-direction:column;gap:3px;overflow:hidden;flex:1}.calendar-event{padding:3px 6px;border-radius:4px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;overflow:hidden}.calendar-event:hover{transform:translateY(-1px);box-shadow:0 2px 6px #00000026;z-index:1}.calendar-event-name{font-size:.72rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:1.3}.calendar-event-meta{display:flex;align-items:center;gap:4px;margin-top:2px;flex-wrap:wrap}.calendar-event-more{font-size:.7rem;color:var(--gray-600);font-weight:600;padding:2px 6px;text-align:center}.calendar-legend{display:flex;flex-wrap:wrap;gap:12px;padding:14px 20px;border-top:1px solid var(--gray-200);background:var(--gray-50, #fafafa)}.calendar-legend-item{display:flex;align-items:center;gap:6px;font-size:.8rem}.calendar-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.calendar-legend-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px;font-weight:500;color:var(--gray-700)}@media (max-width: 768px){.calendar-cell{min-height:75px;padding:2px}.calendar-cell-empty{min-height:75px}.calendar-cell-date{font-size:.75rem;width:22px;height:22px}.calendar-event-name{font-size:.65rem}.calendar-event-meta{display:none}.calendar-day-header{padding:6px 2px;font-size:.7rem}.calendar-header{flex-wrap:wrap;gap:8px;padding:12px}.calendar-month-title{font-size:1.1rem}.calendar-legend{gap:8px;padding:10px 12px}}@media (max-width: 480px){.calendar-cell,.calendar-cell-empty{min-height:55px}.calendar-event-name{font-size:.58rem}.calendar-day-header{font-size:.6rem;letter-spacing:0}.calendar-event{padding:2px 3px;border-left-width:2px}.calendar-legend-label{max-width:100px;font-size:.7rem}}
