.notification-container{position:fixed;z-index:9999;pointer-events:none}.notification-container.top-right{top:20px;right:20px}.notification-container.top-left{top:20px;left:20px}.notification-container.top-center{top:20px;left:50%;transform:translate(-50%)}.notification-container.bottom-right{bottom:20px;right:20px}.notification-container.bottom-left{bottom:20px;left:20px}.notification-container.bottom-center{bottom:20px;left:50%;transform:translate(-50%)}.notification{min-width:300px;max-width:500px;padding:0;border-radius:8px;box-shadow:0 4px 12px #00000026;opacity:0;transform:translateY(-20px);transition:all .3s cubic-bezier(.68,-.55,.265,1.55);pointer-events:auto;margin-bottom:10px}.notification.show{opacity:1;transform:translateY(0)}.notification-content{display:flex;align-items:center;padding:16px;gap:12px}.notification-icon{font-size:18px;font-weight:700;flex-shrink:0;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.notification-message{flex:1;font-size:14px;font-weight:500;line-height:1.4;color:#fff}.notification-close{background:none;border:none;color:#fff;font-size:18px;font-weight:700;cursor:pointer;padding:0;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease;flex-shrink:0}.notification-close:hover{background-color:#ffffff1a}.notification.success{background:linear-gradient(135deg,#10b981,#059669);border:1px solid #10b981}.notification.success .notification-icon{background-color:#fff3}.notification.error{background:linear-gradient(135deg,#ef4444,#dc2626);border:1px solid #ef4444}.notification.error .notification-icon{background-color:#fff3}.notification.warning{background:linear-gradient(135deg,#f59e0b,#d97706);border:1px solid #f59e0b}.notification.warning .notification-icon{background-color:#fff3}.notification.info{background:linear-gradient(135deg,#3b82f6,#2563eb);border:1px solid #3b82f6}.notification.info .notification-icon{background-color:#fff3}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@media(max-width:768px){.notification-container{left:10px!important;right:10px!important;transform:none!important}.notification{min-width:auto;max-width:none}.notification-message{font-size:13px}}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background-color:#fff;color:#111827;font-size:14px}a{font-weight:500;color:#dc2626;text-decoration:inherit}a:hover{color:#b91c1c}h1{font-size:2rem;line-height:1.2;font-weight:600;letter-spacing:-.025em}button{border-radius:6px;border:1px solid transparent;padding:.5rem 1rem;font-size:.875rem;font-weight:500;font-family:inherit;background-color:#dc2626;color:#fff;cursor:pointer;transition:background-color .15s ease}button:hover{background-color:#b91c1c}button:focus,button:focus-visible{outline:2px solid #dc2626;outline-offset:1px}.auth-loading-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:#fff}.auth-loading-spinner{text-align:center;color:#6b7280}.spinner-icon{width:32px;height:32px;border:3px solid #f3f4f6;border-top:3px solid #dc2626;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.auth-loading-spinner p{font-size:16px;font-weight:500;margin:0}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:20px}.login-card{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;padding:48px;width:100%;max-width:420px;border:1px solid #e5e7eb}.login-header{text-align:center;margin-bottom:32px}.login-logo-container{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:24px}.login-logo{width:48px;height:48px;flex-shrink:0}.login-header h1{color:#dc2626;font-size:24px;font-weight:600;margin:0;letter-spacing:-.025em}.login-header h2{color:#111827;font-size:20px;font-weight:600;margin:0 0 8px;letter-spacing:-.025em}.login-header p{color:#6b7280;font-size:14px;margin:0;line-height:1.5}.login-form{margin-bottom:24px}.form-group{margin-bottom:20px}.form-group label{display:block;font-weight:500;color:#374151;margin-bottom:6px;font-size:14px}.form-group input{width:100%;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:16px;transition:all .15s ease;background-color:#fff;color:#374151;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#dc2626;box-shadow:0 0 0 2px #dc26261a}.form-group input:disabled{background-color:#f9fafb;color:#6b7280;cursor:not-allowed}.form-group input::placeholder{color:#9ca3af}.login-button{width:100%;padding:12px 24px;background-color:#dc2626;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .15s ease;position:relative}.login-button:hover:not(:disabled){background-color:#b91c1c;transform:translateY(-1px);box-shadow:0 4px 12px #dc26264d}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{background-color:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.login-button:disabled:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite;margin-left:8px}.login-footer{text-align:center;padding-top:20px;border-top:1px solid #e5e7eb}.login-footer p{color:#6b7280;font-size:13px;margin:0;line-height:1.5}@media(max-width:480px){.login-container{padding:16px}.login-card{padding:32px 24px}.login-logo-container{flex-direction:column;gap:8px}.login-header h1{font-size:20px}.login-header h2{font-size:18px}}.login-button:disabled:not(:hover){animation:pulse 2s infinite}.club-selection-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:20px}.club-selection-card{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;padding:48px;width:100%;max-width:520px;border:1px solid #e5e7eb}.club-selection-header{text-align:center;margin-bottom:32px}.club-logo-container{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:24px}.club-logo{width:48px;height:48px;flex-shrink:0}.club-selection-header h1{color:#dc2626;font-size:24px;font-weight:600;margin:0;letter-spacing:-.025em}.club-selection-header h2{color:#111827;font-size:20px;font-weight:600;margin:0 0 8px;letter-spacing:-.025em}.club-selection-header p{color:#6b7280;font-size:14px;margin:0;line-height:1.5}.club-selection-content{margin-bottom:24px}.error-message{background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px 16px;margin-bottom:20px}.error-message p{margin:0;color:#dc2626;font-size:14px;font-weight:500}.clubs-list{display:flex;flex-direction:column;gap:12px}.club-button{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border:2px solid #e5e7eb;border-radius:8px;background-color:#fff;cursor:pointer;transition:all .15s ease;text-align:left;width:100%}.club-button:hover:not(:disabled){border-color:#dc2626;background-color:#fef2f2;transform:translateY(-1px);box-shadow:0 4px 12px #dc262626}.club-button:active:not(:disabled){transform:translateY(0)}.club-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.club-info{flex:1}.club-info h3{color:#111827;font-size:16px;font-weight:600;margin:0 0 4px;letter-spacing:-.025em}.club-description{color:#6b7280;font-size:14px;margin:0;line-height:1.4}.club-arrow{color:#dc2626;font-size:18px;font-weight:600;flex-shrink:0;margin-left:16px}.no-access-message{text-align:center;padding:40px 20px;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:16px 0}.security-icon{font-size:48px;margin-bottom:16px;opacity:.7}.no-access-message h3{color:#dc2626;font-size:18px;font-weight:600;margin:0 0 12px;letter-spacing:-.025em}.no-access-message p:first-of-type{font-size:16px;font-weight:500;margin-bottom:8px;color:#991b1b}.no-access-message p:last-of-type{font-size:14px;margin:0;color:#dc2626}.no-clubs-message{text-align:center;padding:32px 20px;color:#6b7280}.no-clubs-message p:first-child{font-size:16px;font-weight:500;margin-bottom:8px;color:#374151}.no-clubs-message p:last-child{font-size:14px;margin:0}.club-selection-footer{text-align:center;padding-top:20px;border-top:1px solid #e5e7eb}.back-to-login-button{padding:10px 20px;background-color:transparent;color:#6b7280;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.back-to-login-button:hover:not(:disabled){background-color:#f3f4f6;color:#374151;border-color:#9ca3af}.back-to-login-button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:480px){.club-selection-container{padding:16px}.club-selection-card{padding:32px 24px}.club-logo-container{flex-direction:column;gap:8px}.club-selection-header h1{font-size:20px}.club-selection-header h2{font-size:18px}.club-button{padding:14px 16px}.club-info h3{font-size:15px}.club-description{font-size:13px}}.club-button:disabled{animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:.4}}.logout-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.logout-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #00000026;width:100%;max-width:400px;margin:20px;animation:modalSlideIn .2s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.logout-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0;border-bottom:1px solid #e5e7eb;margin-bottom:20px}.logout-modal-header h3{margin:0;font-size:18px;font-weight:600;color:#111827}.logout-modal-close{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .15s ease}.logout-modal-close:hover{background-color:#f3f4f6;color:#374151}.logout-modal-content{padding:0 24px 20px}.user-info{display:flex;align-items:center;gap:16px;margin-bottom:20px;padding:16px;background-color:#f9fafb;border-radius:8px}.user-avatar-large{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600;font-size:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-details-modal{flex:1}.user-name-modal{font-weight:600;color:#111827;font-size:16px;margin-bottom:2px}.user-role-modal{color:#6b7280;font-size:14px;margin-bottom:4px}.current-club{color:#059669;font-size:12px;background-color:#ecfdf5;padding:4px 8px;border-radius:4px;display:inline-block}.logout-modal-message{text-align:center;color:#374151;font-size:16px;margin-bottom:4px}.logout-modal-actions{display:flex;flex-direction:column;gap:8px;padding:0 24px 24px}.logout-modal-button{padding:12px 16px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px}.logout-modal-button:focus{outline:2px solid #3b82f6;outline-offset:2px}.logout-modal-button-primary{background-color:#dc2626;color:#fff}.logout-modal-button-primary:hover{background-color:#b91c1c}.logout-modal-button-secondary{background-color:#059669;color:#fff}.logout-modal-button-secondary:hover{background-color:#047857}.logout-modal-button-cancel{background-color:#f3f4f6;color:#374151;border:1px solid #d1d5db}.logout-modal-button-cancel:hover{background-color:#e5e7eb}.button-icon{font-size:16px}@media(max-width:480px){.logout-modal{margin:10px;max-width:none}.logout-modal-header{padding:16px 20px 0}.logout-modal-content{padding:0 20px 16px}.logout-modal-actions{padding:0 20px 20px}.user-info{flex-direction:column;text-align:center;gap:12px}.user-details-modal{text-align:center}}.athletes-list-container{flex:1;display:flex;flex-direction:column;overflow:hidden}.loading-spinner{text-align:center;color:#6b7280;font-size:14px;padding:40px;position:relative}.loading-spinner:after{content:"";display:inline-block;width:16px;height:16px;border:2px solid #f3f4f6;border-top:2px solid #dc2626;border-radius:50%;animation:spin 1s linear infinite;margin-left:8px}.error-message{text-align:center;color:#dc2626;padding:16px;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin:16px 0}.retry-button{padding:6px 12px;background-color:#dc2626;color:#fff;border:none;border-radius:4px;cursor:pointer;margin-top:8px;font-size:14px;transition:background-color .15s ease}.retry-button:hover{background-color:#0056b3}.athletes-list{background-color:#fff;border-radius:6px;border:1px solid #e5e5e5;overflow:hidden;flex:1;display:flex;flex-direction:column}.athletes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;padding:16px;overflow-y:auto;max-height:calc(100vh - 380px)}.athlete-card{background-color:#fafafa;border:1px solid #e5e5e5;border-radius:6px;padding:16px;transition:all .15s ease;position:relative;display:flex;flex-direction:column;min-height:200px;cursor:pointer}.athlete-card:hover{border-color:#d1d5db;background-color:#f9fafb;transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.athlete-card.inactive{opacity:.6;border-left:3px solid #dc2626}.athlete-info{margin-bottom:12px;flex-grow:1;flex-direction:column}.athlete-name{color:#111827;font-size:16px;font-weight:600;margin:0 0 6px;letter-spacing:-.025em}.athlete-details{color:#6b7280;font-size:13px;margin:3px 0}.athlete-status.inactive{color:#dc2626;font-size:12px;font-weight:500;margin:6px 0 0;text-transform:uppercase}.athlete-tags{display:flex;gap:8px;margin-top:auto;flex-wrap:wrap;margin-bottom:0}.athlete-tag{display:inline-flex;align-items:center;padding:4px 8px;border-radius:12px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.025em}.stroke-tag{background-color:#dbeafe;color:#1e40af;border:1px solid #bfdbfe}.training-group-tag{background-color:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.athlete-fina-points{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb;gap:8px;flex-shrink:0}.fina-point-item{display:flex;flex-direction:column;align-items:center;flex:1}.fina-label{font-size:10px;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px;font-weight:500}.fina-value{font-size:14px;color:#111827;font-weight:600}.athlete-actions{position:absolute;top:12px;right:12px;display:flex;gap:6px}.action-button{width:28px;height:28px;border:none;border-radius:4px;background-color:#f3f4f6;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;color:#6b7280}.action-button:hover{background-color:#e5e7eb;color:#374151}.action-button.edit:hover{background-color:#fbbf24;color:#fff}.action-button.view:hover{background-color:#3b82f6;color:#fff}.age-group-label{position:absolute;top:-2px;left:-2px;background-color:#6b7280;color:#fff;padding:2px 6px;border-radius:3px;font-size:8px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;z-index:1;box-shadow:0 1px 3px #0000001a}.empty-state{text-align:center;padding:48px 20px;color:#6b7280}.empty-state p:first-child{font-size:16px;margin-bottom:8px;font-weight:500}.empty-state p:last-child{font-size:14px}.clear-search-button-large{padding:8px 16px;background-color:#6b7280;color:#fff;border:none;border-radius:6px;cursor:pointer;margin-top:12px;font-size:14px;transition:background-color .15s ease}.clear-search-button-large:hover{background-color:#4b5563}.pagination-container{background-color:#fafafa;border-top:1px solid #e5e5e5;padding:12px 16px}.pagination-container.pagination-top{border-top:none;border-bottom:1px solid #e5e5e5;margin-bottom:0}.pagination-controls{display:flex;justify-content:space-between;align-items:center;gap:24px}.pagination-section{display:flex;align-items:center;gap:16px;width:100%}.pagination-left{flex:1;display:flex;align-items:center;gap:12px;justify-content:flex-start}.pagination-center{flex:0 0 auto;display:flex;align-items:center;gap:12px;justify-content:center}.pagination-right{flex:1;display:flex;align-items:center;justify-content:flex-end}.view-mode-toggle{display:flex;gap:4px;background-color:#f3f4f6;border-radius:6px;padding:2px}.view-toggle-button{padding:6px 10px;border:none;background-color:transparent;border-radius:4px;cursor:pointer;font-size:14px;color:#6b7280;transition:all .15s ease}.view-toggle-button:hover{background-color:#e5e7eb;color:#374151}.view-toggle-button.active{background-color:#dc2626;color:#fff}.sort-controls{display:flex;align-items:center;gap:8px}.sort-controls label{font-size:13px;color:#6b7280;white-space:nowrap}.sort-select{padding:4px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:13px;outline:none;cursor:pointer;background-color:#fff;color:#374151}.sort-select:focus{border-color:#dc2626;box-shadow:0 0 0 1px #dc2626}.sort-direction-button{padding:4px 8px;border:1px solid #d1d5db;border-radius:4px;background-color:#fff;color:#374151;font-size:14px;cursor:pointer;transition:background-color .15s ease;min-width:32px}.sort-direction-button:hover{background-color:#f3f4f6}.sort-direction-button:active{background-color:#e5e7eb}.export-controls{display:flex;align-items:center}.export-button{padding:6px 12px;border:1px solid #d1d5db;border-radius:4px;background-color:#dc2626;color:#fff;font-size:13px;cursor:pointer;transition:background-color .15s ease;font-weight:500}.export-button:hover{background-color:#b91c1c}.export-dropdown-content{display:none;position:absolute;right:0;background-color:#fff;min-width:140px;box-shadow:0 8px 16px #0000001a;border:1px solid #e5e7eb;border-radius:4px;z-index:1000;margin-top:4px}.export-option{display:block;width:100%;padding:8px 12px;text-align:left;border:none;background-color:transparent;color:#374151;font-size:13px;cursor:pointer;transition:background-color .15s ease}.export-option:first-child{border-radius:4px 4px 0 0}.export-option:last-child{border-radius:0 0 4px 4px}.pagination-info{text-align:center;margin-bottom:12px;color:#6b7280;font-size:13px}.pagination-info-inline{display:flex;align-items:center;color:#6b7280;font-size:13px;font-weight:500;white-space:nowrap}.records-per-page{display:flex;align-items:center;gap:6px}.records-per-page label{font-size:13px;color:#6b7280;white-space:nowrap}.records-select{padding:4px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:13px;outline:none;cursor:pointer;background-color:#fff;color:#374151;min-width:60px}.pagination-buttons{display:flex;align-items:center;gap:8px}.pagination-button{padding:6px 10px;border:1px solid #d1d5db;border-radius:4px;background-color:#fff;color:#374151;font-size:13px;cursor:pointer;transition:background-color .15s ease}.pagination-button:hover:not(:disabled){background-color:#dc2626;color:#fff}.pagination-button:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed;border-color:#e5e7eb}.page-indicator{font-size:13px;color:#6b7280;font-weight:500;white-space:nowrap;min-width:60px;text-align:center}@media(max-width:768px){.athletes-grid{grid-template-columns:1fr;gap:12px;padding:12px}.athlete-actions{position:static;justify-content:flex-end;margin-top:12px}.pagination-controls{flex-direction:column;gap:12px;align-items:stretch}.pagination-section{justify-content:center!important}.pagination-left,.pagination-center,.pagination-right{flex:none;width:100%}.pagination-info-inline{text-align:center;justify-content:center}.pagination-buttons,.records-per-page{justify-content:center}.pagination-button{min-width:80px}}.athletes-table-container{background-color:#fff;border-radius:6px;border:1px solid #e5e5e5;overflow:hidden;display:flex;flex-direction:column;max-height:calc(100vh - 280px)}.athletes-table{width:100%;border-collapse:collapse;font-size:14px;display:block}.athletes-table thead{display:table;width:100%;table-layout:fixed}.athletes-table tbody{display:block;overflow-y:auto;max-height:calc(100vh - 380px)}.athletes-table tbody tr{display:table;width:100%;table-layout:fixed}.athletes-table th{background-color:#f9fafb;color:#374151;font-weight:600;text-align:left;padding:12px 16px;border-bottom:1px solid #e5e5e5;font-size:13px;text-transform:uppercase;letter-spacing:.05em}.athletes-table th.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s ease;position:relative}.athletes-table th.sortable-header:hover{background-color:#f3f4f6;color:#111827}.athletes-table th.sortable-header:active{background-color:#e5e7eb}.athletes-table td{padding:12px 16px;border-bottom:1px solid #f3f4f6;color:#374151;vertical-align:middle}.athletes-table tr:hover{background-color:#f9fafb}.athletes-table tr.clickable-row:hover{background-color:#f0f9ff;transition:background-color .15s ease}.athletes-table tr.inactive-row{opacity:.6}.athletes-table tr.inactive-row td{color:#6b7280}.athlete-name-cell{min-width:180px}.status-badge{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.025em}.status-badge.active{background-color:#d1fae5;color:#065f46}.status-badge.inactive{background-color:#fee2e2;color:#991b1b}.stroke-badge{padding:4px 8px;border-radius:12px;font-size:11px;font-weight:500;background-color:#dbeafe;color:#1e40af;border:1px solid #bfdbfe;display:inline-flex;align-items:center}.training-group-badge{padding:4px 8px;border-radius:12px;font-size:11px;font-weight:500;background-color:#f0fdf4;color:#166534;border:1px solid #bbf7d0;display:inline-flex;align-items:center}.table-actions{display:flex;gap:6px}.fina-points-cell{text-align:center;font-weight:600;color:#374151}.age-group-cell{display:inline-block;padding:3px 8px;background-color:#f3f4f6;color:#374151;border-radius:12px;font-size:11px;font-weight:500;border:1px solid #d1d5db;text-align:center}@media(max-width:768px){.athletes-table-container{overflow-x:auto}.athletes-table{min-width:600px}.athletes-table th,.athletes-table td{padding:8px 12px}.view-mode-toggle{order:2}.sort-controls{order:1;justify-content:center}.export-controls{order:0;margin-bottom:8px}.pagination-controls{flex-wrap:wrap}}.modal-overlay{position:fixed;inset:0;background-color:#0006;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px;overflow:hidden}.modal-content{background:#fff;border-radius:8px;border:1px solid #e5e5e5;max-width:580px;width:100%;max-height:90vh;overflow-y:auto;position:relative}.athlete-form-modal{max-width:720px;max-height:95vh;min-height:600px;height:85vh;display:flex;flex-direction:column;overflow:hidden}.tabs-container{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.tabs-header{display:flex;border-bottom:1px solid #e5e5e5;background-color:#f9fafb;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;flex-shrink:0}.tabs-header::-webkit-scrollbar{display:none}.tab-button{flex:1;min-width:100px;display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 16px;border:none;border-bottom:3px solid transparent;background:none;cursor:pointer;transition:all .2s ease;color:#6b7280;font-size:14px;font-weight:500;outline:none}.tab-button:hover:not(.active):not(:disabled){color:#374151;background-color:#f3f4f6}.tab-button:focus{outline:none;border-left:none;border-right:none;border-top:none}.tab-button.active{color:#dc2626;background-color:#fff;border-bottom-color:#dc2626;border-left:none;border-right:none;border-top:none}.tab-button:disabled{opacity:.5;cursor:not-allowed}.tab-icon{font-size:16px}.tab-label{white-space:nowrap}.tab-content{flex:1;overflow-y:auto;min-height:0;display:flex;flex-direction:column}.tab-content h4{margin:0 0 12px;color:#374151;font-size:16px;font-weight:600;border-bottom:1px solid #e5e5e5;padding-bottom:6px}.tab-content h4:not(:first-child){margin-top:24px}.form-group.full-width{grid-column:1 / -1}.form-group textarea{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:border-color .15s ease;background-color:#fff;color:#374151;resize:vertical;min-height:80px;font-family:inherit}.form-group textarea:focus{outline:none;border-color:#dc2626;box-shadow:0 0 0 1px #dc2626}.form-group textarea:disabled{background-color:#f9fafb;color:#6b7280;cursor:not-allowed}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px 0;border-bottom:1px solid #e5e5e5;margin-bottom:16px}.modal-header h2{margin:0;color:#111827;font-size:18px;font-weight:600;letter-spacing:-.025em}.close-button{background:none;border:none;font-size:20px;cursor:pointer;color:#6b7280;padding:4px;border-radius:4px;transition:all .15s ease}.close-button:hover:not(:disabled){background-color:#f3f4f6;color:#374151}.close-button:disabled{opacity:.5;cursor:not-allowed}.athlete-form{display:flex;flex-direction:column;flex:1;padding:20px;overflow-y:auto;min-height:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.form-group{display:flex;flex-direction:column}.form-group label{font-weight:500;color:#374151;margin-bottom:4px;font-size:14px}.form-group input,.form-group select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:border-color .15s ease;background-color:#fff;color:#374151}.form-group input:focus,.form-group select:focus{outline:none;border-color:#dc2626;box-shadow:0 0 0 1px #dc2626}.form-group input:disabled,.form-group select:disabled{background-color:#f9fafb;color:#6b7280;cursor:not-allowed}.checkbox-group{justify-content:center;align-items:center;margin-top:12px}.checkbox-label{display:flex;align-items:center;cursor:pointer;font-weight:500;color:#374151;font-size:14px}.checkbox-label input[type=checkbox]{margin-right:8px;width:16px;height:16px;cursor:pointer}.error-message{background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:10px;margin-bottom:12px}.error-message p{margin:0;color:#dc2626;font-size:14px}.loading-message{background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;padding:10px;margin-bottom:12px}.loading-message p{margin:0;color:#0369a1;font-size:14px;font-weight:500}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding:12px 20px 20px;border-top:1px solid #e5e5e5;background:#fff;margin-top:auto;flex-shrink:0}.cancel-button,.submit-button{padding:8px 16px;border-radius:6px;font-weight:500;font-size:14px;cursor:pointer;transition:all .15s ease;border:none}.cancel-button{background-color:#f9fafb;color:#374151;border:1px solid #d1d5db}.cancel-button:hover:not(:disabled){background-color:#f3f4f6}.submit-button{background-color:#dc2626;color:#fff}.submit-button:hover:not(:disabled){background-color:#b91c1c}.delete-button{padding:8px 16px;border-radius:6px;font-weight:500;font-size:14px;cursor:pointer;transition:all .15s ease;border:1px solid #dc3545;background-color:#dc3545;color:#fff}.delete-button:hover:not(:disabled){background-color:#c82333;border-color:#c82333}.cancel-button:disabled,.submit-button:disabled,.delete-button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.athlete-form-modal{max-width:95vw;margin:10px}.tab-button{min-width:80px;padding:10px 12px;font-size:13px}.tab-icon{font-size:14px}.tab-content{padding:20px}}@media(max-width:640px){.modal-overlay{padding:16px}.modal-content{max-height:95vh}.athlete-form-modal{max-width:100%;margin:0}.modal-header{padding:16px 20px 0;margin-bottom:0}.athlete-form{padding:0 16px 16px}.tab-content{padding:12px 16px}.form-row{grid-template-columns:1fr;gap:10px;margin-bottom:10px}.modal-header h2{font-size:16px}.tab-button{min-width:60px;padding:8px 6px;font-size:12px;gap:4px}.tab-icon{font-size:14px}}.submit-button:disabled{position:relative}.submit-button:disabled:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:14px;height:14px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.confirmation-dialog{background:#fff;border-radius:8px;box-shadow:0 25px 50px -12px #00000040;max-width:400px;width:90%;padding:24px;text-align:center}.multi-select-dropdown{position:relative;min-width:180px}.dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:14px;color:#374151;transition:all .15s ease;-webkit-user-select:none;user-select:none}.dropdown-header:hover{border-color:#9ca3af;background-color:#f9fafb}.dropdown-header.disabled{background-color:#f3f4f6;color:#9ca3af;cursor:not-allowed}.dropdown-header.disabled:hover{border-color:#d1d5db;background-color:#f3f4f6}.dropdown-label{font-weight:500}.dropdown-arrow{font-size:10px;color:#6b7280;transition:transform .15s ease}.dropdown-arrow.open{transform:rotate(180deg)}.dropdown-content{position:absolute;top:100%;left:0;right:0;background-color:#fff;border:1px solid #d1d5db;border-top:none;border-radius:0 0 6px 6px;box-shadow:0 4px 6px -1px #0000001a;z-index:1000;max-height:200px;overflow-y:auto}.dropdown-options{padding:4px 0}.clear-all-button{width:100%;padding:6px 12px;background-color:#f3f4f6;color:#374151;border:none;border-bottom:1px solid #e5e7eb;font-size:12px;cursor:pointer;font-weight:500;transition:background-color .15s ease;text-align:left}.clear-all-button:hover{background-color:#e5e7eb}.dropdown-option{display:flex;align-items:center;padding:6px 12px;cursor:pointer;font-size:13px;color:#374151;transition:background-color .15s ease;-webkit-user-select:none;user-select:none}.dropdown-option:hover:not(.disabled){background-color:#f3f4f6}.dropdown-option.selected{background-color:#fef2f2;color:#dc2626}.dropdown-option.selected:hover{background-color:#fee2e2}.dropdown-option.disabled{color:#9ca3af;cursor:default;font-style:italic}.option-checkbox{width:16px;height:16px;display:flex;align-items:center;justify-content:center;margin-right:8px;border:1px solid #d1d5db;border-radius:3px;font-size:10px;font-weight:700;transition:all .15s ease}.dropdown-option.selected .option-checkbox{background-color:#dc2626;border-color:#dc2626;color:#fff}.option-text{flex:1}.search-container{display:flex;align-items:center;gap:12px}.search-box{position:relative;flex:1}.search-input{width:280px;padding:8px 36px 8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;outline:none;transition:border-color .15s ease;background-color:#fff;color:#374151}.clear-search-button{position:absolute;right:8px;background:none;border:none;color:#9ca3af;cursor:pointer;padding:4px;border-radius:4px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:12px;transition:all .15s ease}.clear-search-button:hover{background-color:#f3f4f6;color:#6b7280}@media(max-width:768px){.search-container{flex-direction:column;align-items:stretch;gap:12px}.search-box,.search-input{width:100%}}.athletes-container{display:flex;flex-direction:column;height:100vh;overflow:hidden;padding:32px}.athletes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:0 0 16px;border-bottom:1px solid #e5e5e5;flex-shrink:0;background:#fff;z-index:10}.athletes-header h2{color:#111827;margin:0;font-size:20px;font-weight:600;letter-spacing:-.025em}.active-filter-select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;outline:none;transition:border-color .15s ease;background-color:#fff;cursor:pointer;color:#374151}.active-filter-select:focus{border-color:#dc2626;box-shadow:0 0 0 1px #dc2626}.filter-dropdown{position:relative;display:inline-block}.filter-toggle-button{padding:8px 16px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;background-color:#fff;color:#374151;white-space:nowrap;position:relative}.filter-toggle-button:hover{background-color:#f9fafb;border-color:#dc2626}.filter-toggle-button.has-filters{border-color:#dc2626;background-color:#fef2f2;color:#dc2626}.filter-indicator{position:absolute;top:-4px;right:-4px;width:10px;height:10px;background-color:#dc2626;border:2px solid white;border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.export-dropdown-content{display:none;position:absolute;background-color:#fff;min-width:160px;box-shadow:0 8px 16px #0003;border-radius:6px;z-index:1;right:0;top:100%;margin-top:4px;border:1px solid #e5e7eb}.export-option{color:#374151;padding:8px 12px;text-decoration:none;display:block;background:none;border:none;width:100%;text-align:left;cursor:pointer;font-size:14px;transition:background-color .15s ease}.export-option:first-child{border-radius:6px 6px 0 0}.export-option:last-child{border-radius:0 0 6px 6px}.athletes-stats{display:flex;gap:16px;margin-bottom:24px;flex-shrink:0}.stat-card{background-color:#fafafa;padding:16px;border-radius:6px;border:1px solid #e5e5e5;text-align:center;min-width:100px}.stat-number{display:block;font-size:24px;font-weight:600;color:#111827;margin-bottom:4px;letter-spacing:-.025em}.stat-label{display:block;font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-weight:500}.age-groups-section{margin-bottom:24px;padding:16px;background-color:#fafafa;border-radius:6px;border:1px solid #e5e5e5;flex-shrink:0;z-index:9}.athletes-content-wrapper{flex:1;min-height:0;padding:0}.age-groups-section h3{margin:0 0 12px;font-size:16px;font-weight:600;color:#111827;letter-spacing:-.025em}.age-groups-header{display:flex;justify-content:flex-end;align-items:center;margin-bottom:12px;min-height:24px}.age-groups-content{display:flex;justify-content:space-between;align-items:center;gap:16px}.age-groups-list{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.age-groups-content{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.filter-selects-container{display:flex;gap:16px;align-items:flex-start;flex:1}.view-toggle-container{display:flex;align-items:flex-start;flex-shrink:0}.training-group-dropdown,.strokes-dropdown{flex-shrink:0}.training-group-select{padding:6px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;outline:none;transition:border-color .15s ease;background-color:#fff;cursor:pointer;color:#374151;min-width:160px}.training-group-select:focus{border-color:#dc2626;box-shadow:0 0 0 1px #dc2626}.strokes-select-container{flex-shrink:0}.strokes-select{padding:6px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;outline:none;transition:border-color .15s ease;background-color:#fff;cursor:pointer;color:#374151;min-width:140px}.strokes-select:focus{border-color:#dc2626;box-shadow:0 0 0 1px #dc2626}.age-groups-loading{color:#6b7280;font-size:14px;text-align:center;padding:12px}.age-groups-error{text-align:center;color:#dc2626;padding:12px}.age-groups-error p{margin:0 0 8px;font-size:14px}.retry-button{padding:6px 12px;background-color:#dc2626;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .15s ease}.filters-panel{position:absolute;top:calc(100% + 8px);left:0;background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px;box-shadow:0 10px 25px #0000001a,0 4px 10px #0000000d;z-index:1000;min-width:320px;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.filters-content{display:flex;flex-direction:column;gap:16px}.clear-filters-btn{padding:8px 16px;background:#6c757d;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .15s ease;margin-top:8px;width:100%}.filter-item{display:flex;flex-direction:column;gap:6px}.filter-item label{font-size:14px;font-weight:500;color:#374151}.filter-item .active-filter-select{width:100%}@media(max-width:768px){.athletes-container{padding:24px}.athletes-header{flex-direction:column;align-items:flex-start;gap:16px}.header-actions{width:100%;flex-direction:column;align-items:stretch;gap:12px}.search-input{width:100%}.athletes-stats{flex-direction:column;gap:12px}.stat-card{text-align:left}}.header-tabs{width:100%}.header-tabs-container{position:relative;display:flex;align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;border-radius:8px 8px 0 0;overflow:hidden}.header-tabs-nav{display:flex;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;flex:1}.header-tabs-nav::-webkit-scrollbar{display:none}.tab-button{padding:12px 20px;background:none;border:none;font-size:18px;font-weight:500;color:#6c757d;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;min-width:fit-content;border-bottom:2px solid transparent;flex-shrink:0}.tab-button:hover:not(.active){background:#e9ecef;color:#495057}.tab-button.active{background:#fff;color:#007bff;border-bottom-color:#007bff}.tab-icon,.tab-label{font-size:16px}.scroll-button{background:#f8f9fa;border:none;color:#6c757d;cursor:pointer;font-size:18px;font-weight:700;padding:0;width:32px;height:100%;display:flex;align-items:center;justify-content:center;transition:all .2s ease;border-right:1px solid #e9ecef;flex-shrink:0}.scroll-button:hover:not(.disabled){background:#e9ecef;color:#495057}.scroll-button.disabled{opacity:.4;cursor:not-allowed}.scroll-button.scroll-right{border-right:none;border-left:1px solid #e9ecef}@media(max-width:768px){.tab-button{padding:10px 16px;font-size:13px;gap:4px}.tab-icon,.tab-label{font-size:13px}.scroll-button{width:28px;font-size:16px}}@media(max-width:480px){.tab-button{padding:8px 12px;font-size:12px}.tab-icon,.tab-label{font-size:12px}.scroll-button{width:24px;font-size:14px}}.header-tabs.compact .tab-button{padding:8px 16px;font-size:18px}.header-tabs.compact .tab-icon,.header-tabs.compact .tab-label{font-size:16px}.header-tabs.compact .scroll-button{width:28px;font-size:16px}.header-tabs.full-width .tab-button{flex:1;min-width:0;flex-shrink:1;text-align:center}.header-tabs.full-width .header-tabs-nav{overflow:visible}.header-tabs.full-width .scroll-button{display:none}@media(max-width:400px){.header-tabs.wrap .header-tabs-nav{flex-wrap:wrap;overflow:visible}.header-tabs.wrap .scroll-button{display:none}.header-tabs.wrap .tab-button{min-width:0;flex:1;flex-basis:calc(50% - 2px)}}.athlete-details-page{margin:0 auto;padding:20px 24px;min-height:100vh;background:#fff;max-width:none;overflow:visible}.athlete-details-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:20px}.loading-spinner{width:40px;height:40px;border:3px solid #f3f4f6;border-top:3px solid #0c5aa6;border-radius:50%;animation:spin 1s linear infinite}.athlete-details-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:20px;text-align:center}.error-icon{font-size:48px}.athlete-details-error h2{color:#dc3545;margin:0}.athlete-details-error p{color:#6c757d;margin:0}.athlete-details-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px}.nav-left{display:flex;align-items:center;gap:16px}.back-button{background:#f8f9fa;border:1px solid #dee2e6;color:#495057;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;gap:8px}.back-button:hover{background:#e9ecef;border-color:#ced4da;color:#343a40}.athlete-navigation{display:flex;align-items:center;gap:12px;padding:4px 12px;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px}.nav-arrow-button{background:#fff;border:1px solid #dee2e6;color:#495057;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:all .15s ease;display:inline-flex;align-items:center;justify-content:center;min-width:36px}.nav-arrow-button:hover:not(:disabled){background:#0c5aa6;border-color:#0c5aa6;color:#fff}.nav-arrow-button:disabled{background:#f8f9fa;border-color:#e9ecef;color:#adb5bd;cursor:not-allowed;opacity:.6}.athlete-position{font-size:13px;color:#6c757d;font-weight:500;min-width:60px;text-align:center}.athlete-header{background:#fff;color:#212529;border-radius:12px;padding:16px 20px;margin-bottom:24px;box-shadow:0 8px 25px #00000026;border:1px solid #e9ecef}.athlete-header-card{margin-bottom:8px}.athlete-title-section{display:flex;flex-direction:column;gap:8px}.athlete-name-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.athlete-name-row h1{font-size:28px;font-weight:700;margin:0;line-height:1.2;color:#212529}.athlete-info-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.athlete-age{background:#e3f2fd;color:#0d47a1;padding:6px 12px;border-radius:16px;font-size:14px;font-weight:600}.athlete-birth-year{background:#f3e5f5;color:#6a1b9a;padding:6px 12px;border-radius:16px;font-size:14px;font-weight:600}.athlete-age-group{background:#fff3e0;color:#e65100;padding:6px 12px;border-radius:16px;font-size:14px;font-weight:600}.athlete-training-group{background:#e8f5e9;color:#2e7d32;padding:6px 12px;border-radius:16px;font-size:14px;font-weight:600}.athlete-club-row{display:flex;align-items:center;gap:12px;margin-left:2px}.club-badge{background:#28a745;color:#fff;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.club-name{font-size:14px;color:#6b7280;font-weight:500}.athlete-fina-points{display:flex;gap:16px;margin-top:12px;padding-top:12px;border-top:1px solid #e9ecef}.fina-point-item{display:flex;flex-direction:column;gap:4px}.fina-label{font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.fina-value{font-size:16px;color:#1f2937;font-weight:700}.athlete-tabs-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;border:1px solid #e9ecef;overflow:visible}.athlete-tabs-container .header-tabs.minimal-width .header-tabs-nav{justify-content:flex-start}.athlete-tabs-container .header-tabs.minimal-width .tab-button{flex:0 0 auto;min-width:fit-content;width:auto}.tab-content{padding:24px;min-height:400px}.athlete-home-content{display:flex;flex-direction:column;gap:24px}.athlete-overview{margin-bottom:24px}.stat-inline{display:flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid #dee2e6;border-radius:3px}.stat-inline .stat-icon{font-size:16px}.stat-inline .stat-text{font-size:14px;font-weight:500;color:inherit}.athlete-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.info-section{background:#f8f9fa;border-radius:8px;padding:20px;border:1px solid #e9ecef}.info-section h3{margin:0 0 16px;color:#343a40;font-size:18px;font-weight:600;border-bottom:2px solid #dee2e6;padding-bottom:8px}.info-details{display:flex;flex-direction:column;gap:12px}.info-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #e9ecef}.info-item:last-child{border-bottom:none}.info-label{font-weight:600;color:#495057;flex-shrink:0;margin-right:16px}.info-value{color:#212529;text-align:right;flex:1}.coming-soon{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;text-align:center;gap:16px;background:#f8f9fa;border-radius:12px;padding:40px;border:2px dashed #dee2e6}.coming-soon-icon{font-size:48px;margin-bottom:8px}.coming-soon h3{color:#343a40;margin:0 0 8px;font-size:24px;font-weight:600}.coming-soon p{color:#6c757d;margin:0;font-size:16px;line-height:1.5}.coming-soon p:last-child{font-style:italic;font-size:14px;color:#868e96}@media(max-width:768px){.athlete-details-page{padding:16px}.athlete-header{padding:12px 16px}.athlete-name-row{gap:12px}.athlete-name-row h1{font-size:24px}.athlete-info-badges{gap:6px}.athlete-age,.athlete-birth-year,.athlete-age-group,.athlete-training-group{font-size:12px;padding:4px 8px}.athlete-club-row{gap:8px}.tab-content{padding:16px}.athlete-info-grid{grid-template-columns:1fr;gap:16px}.info-section{padding:16px}.overview-stats-inline{gap:8px}.stat-inline{padding:3px 6px}.stat-inline .stat-text{font-size:12px}.coming-soon{padding:24px;min-height:250px}.coming-soon-icon{font-size:36px}.coming-soon h3{font-size:20px}.coming-soon p{font-size:14px}}@media(max-width:480px){.athlete-details-nav{flex-direction:column;align-items:stretch;gap:12px}.nav-actions,.back-button,.edit-button-primary{justify-content:center}.athlete-name-row{flex-direction:column;align-items:flex-start;gap:8px}.athlete-name-row h1{font-size:20px}.athlete-club-row{margin-left:0}}.athlete-meets-content{padding:20px}.loading-message,.error-message,.no-data-message{text-align:center;padding:40px 20px;font-size:16px;color:#6b7280}.error-message{color:#dc2626}.meets-filters{display:flex;gap:16px;margin-bottom:20px;padding:16px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000000d}.filter-group{display:flex;align-items:center;gap:8px}.filter-group label{font-size:13px;font-weight:500;color:#374151;white-space:nowrap}.filter-select{padding:6px 12px;font-size:13px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#111827;cursor:pointer;transition:border-color .15s;min-width:120px}.filter-select:hover{border-color:#9ca3af}.filter-select:focus{outline:none;border-color:#0c5aa6;box-shadow:0 0 0 3px #0c5aa61a}.meets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(450px,1fr));gap:20px}.meet-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a;transition:box-shadow .2s;max-width:100%}.meet-card:hover{box-shadow:0 4px 6px #0000001a}.meet-header{background:#f9fafb;padding:10px 12px;border-bottom:1px solid #e5e7eb}.meet-name{font-size:14px;font-weight:600;color:#111827;margin:0 0 3px}.meet-info{display:flex;flex-wrap:wrap;gap:4px;font-size:11px;color:#6b7280}.meet-date,.meet-location,.meet-course{font-size:11px;color:#6b7280}.meet-swims{padding:0;display:flex;flex-direction:column}.swim-table-header{display:grid;grid-template-columns:100px 1fr;gap:12px;padding:6px 12px;background:#f9fafb;border-bottom:2px solid #e5e7eb;font-size:9px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.header-event{display:flex;align-items:center}.header-details{display:grid;grid-template-columns:70px 60px 50px auto;gap:12px;align-items:center}.header-time,.header-diff,.header-points,.header-record{display:flex;align-items:center}.swim-card{background:#fff;border-bottom:1px solid #e5e7eb;padding:6px 12px;display:grid;grid-template-columns:100px 1fr;gap:12px;align-items:center;transition:background-color .15s}.swim-card:hover{background:#f9fafb}.swim-card:last-child{border-bottom:none}.swim-event{font-size:12px;font-weight:600;color:#0c5aa6;margin:0;white-space:nowrap}.swim-details{display:grid;grid-template-columns:70px 60px 50px auto;gap:12px;align-items:center}.swim-time,.swim-diff,.swim-points{display:flex;align-items:center}.swim-details .value{font-size:12px;font-weight:600;color:#111827;font-family:Courier New,monospace;white-space:nowrap}.swim-diff.improvement .value{color:#059669}.swim-diff.slower .value{color:#dc2626}.swim-record{display:flex;gap:6px}.pb-badge,.sb-badge{display:inline-block;padding:2px 5px;border-radius:2px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}.pb-badge{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}.sb-badge{background:#dbeafe;color:#1e40af;border:1px solid #93c5fd}@media(max-width:768px){.meets-grid{grid-template-columns:1fr}.swim-table-header{display:none}.swim-card{grid-template-columns:1fr;gap:8px;padding:12px 16px}.swim-event{white-space:normal}.swim-details{grid-template-columns:repeat(2,1fr);gap:12px}.swim-time:before{content:"TIME: ";font-size:10px;color:#6b7280;font-weight:500;margin-right:4px}.swim-diff:before{content:"DIFF: ";font-size:10px;color:#6b7280;font-weight:500;margin-right:4px}.swim-points:before{content:"POINTS: ";font-size:10px;color:#6b7280;font-weight:500;margin-right:4px}.swim-record{grid-column:1 / -1}}.athlete-times-content{padding:20px}.times-sub-tabs{display:flex;gap:8px;margin-bottom:20px;border-bottom:2px solid #e5e7eb;padding-bottom:0}.sub-tab-button{padding:10px 20px;background:transparent;border:none;border-bottom:3px solid transparent;color:#6b7280;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;position:relative;bottom:-2px;outline:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.sub-tab-button:focus{outline:none}.sub-tab-button:active{outline:none}.sub-tab-button:hover{color:#0c5aa6;background:#f9fafb}.sub-tab-button.active{color:#0c5aa6;border-bottom-color:#0c5aa6;font-weight:600}.personal-bests-content,.event-progression-content{min-height:400px}.progression-filters{display:flex;gap:16px;padding:16px;background:#fff;border-radius:8px}.progression-filters .filter-group{display:flex;align-items:center;gap:8px}.progression-filters .filter-select{padding:6px 12px;font-size:13px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#111827;cursor:pointer;min-width:180px;transition:all .15s}.progression-filters .filter-select:hover:not(:disabled){border-color:#9ca3af}.progression-filters .filter-select:focus{outline:none;border-color:#0c5aa6;box-shadow:0 0 0 3px #0c5aa61a}.progression-filters .filter-select:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.event-navigation-buttons{display:flex;gap:8px;align-items:center;margin-left:auto}.event-nav-button{padding:6px 16px;font-size:13px;font-weight:500;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;cursor:pointer;transition:all .15s;white-space:nowrap}.event-nav-button:hover:not(:disabled){background:#f3f4f6;border-color:#0c5aa6;color:#0c5aa6}.event-nav-button:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed;border-color:#e5e7eb}.personal-bests-charts{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}.personal-bests-charts .chart-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px}.personal-bests-charts .chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.personal-bests-charts .chart-title{margin:0;font-size:14px;font-weight:600;color:#374151;text-align:center;flex:1}.chart-expand-btn{background:none;border:1px solid #e5e7eb;border-radius:4px;width:32px;height:32px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0}.chart-expand-btn:hover{background:#f3f4f6;border-color:#d1d5db}.chart-modal-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.chart-modal-content{background:#fff;border-radius:12px;width:90vw;height:85vh;max-width:1400px;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.chart-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.chart-modal-header h3{margin:0;font-size:18px;font-weight:600;color:#111827}.chart-modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#6b7280;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s;padding:0}.chart-modal-close:hover{background:#f3f4f6;color:#111827}.chart-modal-body{flex:1;padding:24px;overflow:auto}.progression-chart-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px;margin-top:16px}.progression-chart{width:100%;height:auto;display:block}.progression-table-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;margin-top:16px}.progression-table{width:100%;border-collapse:collapse;font-size:13px}.progression-table thead{background:#f9fafb;border-bottom:1px solid #e5e7eb}.progression-table th{padding:12px 16px;text-align:left;font-weight:600;color:#374151;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.progression-table th:nth-child(2){text-align:center}.progression-table th:nth-child(4),.progression-table th:nth-child(5){text-align:right}.progression-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background-color .1s}.progression-table tbody tr:hover{background:#f9fafb}.progression-table tbody tr:last-child{border-bottom:none}.progression-table td{padding:12px 16px;color:#1f2937}.progression-table .date-cell{font-size:13px}.progression-table .time-cell{font-family:Courier New,monospace;font-weight:600;font-size:14px;text-align:center}.progression-table .meet-cell{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progression-table .points-cell{text-align:right;font-weight:500}.progression-table .improvement-cell{font-family:Courier New,monospace;font-weight:600;font-size:13px;text-align:right}.progression-table .improvement-cell.improved{color:#059669}.progression-table .improvement-cell.slower{color:#dc2626}.times-filters{display:flex;gap:16px;padding:16px;background:#fff;border-radius:8px}.times-filters .filter-group{display:flex;align-items:center;gap:8px}.times-filters .filter-select{padding:6px 12px;font-size:13px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#111827;cursor:pointer;min-width:150px;transition:all .15s}.times-filters .filter-select:hover{border-color:#9ca3af}.times-filters .filter-select:focus{outline:none;border-color:#0c5aa6;box-shadow:0 0 0 3px #0c5aa61a}.times-table-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.times-table{width:100%;border-collapse:collapse;font-size:13px}.times-table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.times-table th{padding:10px 12px;text-align:left;font-size:10px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.times-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .15s}.times-table tbody tr:hover{background:#f9fafb}.times-table tbody tr.podium-first{background:#fef3c7;border-left:4px solid #f59e0b}.times-table tbody tr.podium-first:hover{background:#fde68a}.times-table tbody tr.podium-second{background:#f3f4f6;border-left:4px solid #9ca3af}.times-table tbody tr.podium-second:hover{background:#e5e7eb}.times-table tbody tr.podium-third{background:#fef5e7;border-left:4px solid #cd7f32}.times-table tbody tr.podium-third:hover{background:#fee8c8}.times-table tbody tr:last-child{border-bottom:none}.times-table td{padding:10px 12px;vertical-align:middle}.event-cell{display:flex;align-items:center;gap:8px}.event-name{font-size:12px;font-weight:600;color:#0c5aa6;white-space:nowrap}.course-badge{display:inline-block;padding:2px 6px;background:#f3f4f6;color:#6b7280;border-radius:3px;font-size:10px;font-weight:600}.time-cell{font-family:Courier New,monospace;font-weight:600;color:#111827;white-space:nowrap;text-align:right}.points-cell{text-align:right;color:#374151;font-weight:500}.count-cell{text-align:center;color:#6b7280;font-weight:500;width:50px}.improvement-cell{text-align:right;color:#059669;font-weight:600;font-family:Courier New,monospace;white-space:nowrap}.meet-cell{color:#374151;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.date-cell{color:#6b7280;white-space:nowrap}.days-ago{color:#9ca3af;font-size:11px}.clickable-row{transition:background-color .15s ease}.clickable-row:hover{background-color:#f3f4f6!important}@media(max-width:768px){.times-table-container{overflow-x:auto}.times-table{font-size:12px}.times-table th,.times-table td{padding:8px 10px}.meet-cell{max-width:200px}}.season-planning{padding:20px 24px;width:calc(100vw - 240px);height:100vh;max-width:calc(100vw - 240px);max-height:100vh;overflow:auto;background:#fff;position:fixed;top:0;left:240px;box-sizing:border-box;display:flex;flex-direction:column;transition:width .3s ease,left .3s ease}.sidebar.collapsed~.main-content .season-planning{width:calc(100vw - 60px);max-width:calc(100vw - 60px);left:60px}.season-planning h2{color:#111827;font-size:24px;font-weight:600;margin:0 0 24px;letter-spacing:-.025em;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;flex-shrink:0}.planning-table-container{flex:1;overflow:auto;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a;width:100%;max-width:calc(100vw - 288px);transition:max-width .3s ease}.sidebar.collapsed~.main-content .planning-table-container{max-width:calc(100vw - 108px)}.planning-table{border:1px solid #e5e5e5;background:#fff;border-collapse:collapse;min-width:2000px;width:max-content;font-size:11px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;border-radius:8px;overflow:visible;box-shadow:0 4px 6px -1px #0000001a;flex-shrink:0}.table-row{display:flex;border-bottom:1px solid #e5e5e5;min-height:25px}.header-row{background:#fafafa;font-weight:600;min-height:33px;position:sticky;top:0;z-index:100;border-bottom:2px solid #e5e5e5}.weeks-row{min-height:66px;position:sticky;top:33px;z-index:99;background:#fff;border-bottom:2px solid #e5e5e5}.activities-row{min-height:248px}.volume-header-row .row-label{border-bottom:1px solid #6b7280}.row-label{min-width:132px;max-width:132px;border-right:1px solid #e5e5e5;background:#fafafa;display:flex;align-items:center;justify-content:center;font-weight:600;padding:4px;text-align:center;font-size:12px;writing-mode:horizontal-tb;color:#374151}.volume-header{writing-mode:vertical-lr;text-orientation:mixed;height:100%}.weeks-container{display:flex;flex:1}.volume-weeks{flex:1}.month-header{display:flex;align-items:center;justify-content:center;font-weight:600;border-right:1px solid #374151;text-align:center;padding:4px 2px;background:#f3f4f6;width:calc(var(--weeks) * 35px);min-width:calc(var(--weeks) * 35px);color:#111827}.week-cell{width:35px;min-width:35px;border-right:1px solid #e5e5e5;display:flex;align-items:center;justify-content:center;padding:2px;text-align:center;font-size:9px;cursor:pointer;transition:all .15s ease;color:#6b7280}.week-cell:hover{background-color:#f3f4f6;color:#374151}.week-cell.selected{background-color:#dc2626;color:#fff}.activity-cell{width:35px;min-width:35px;border-right:1px solid #e5e5e5;padding:2px;text-align:center;font-size:8px;position:relative;overflow:hidden}.activity-text{transform:rotate(-90deg);white-space:nowrap;position:absolute;left:50%;top:50%;transform-origin:center;transform:translate(-50%,-50%) rotate(-90deg);font-size:7px;line-height:1;max-width:200px;color:#374151;font-weight:500}.competition-cell{width:35px;min-width:35px;border-right:1px solid #e5e5e5;background:#f9fafb}.competition-cell.has-competition{background:#fef3c7}.camp-cell{width:35px;min-width:35px;border-right:1px solid #e5e5e5;background:#f9fafb}.camp-cell.has-camp{background:#dcfce7}.test-cell{width:35px;min-width:35px;border-right:1px solid #e5e5e5;background:#f9fafb}.test-cell.has-test{background:#fef2f2}.competitions-cell{width:35px;min-width:35px;border-right:1px solid #e5e5e5;background:#f9fafb}.competitions-cell.has-competitions{background:#fef3c7}.trainingcamp-cell{width:35px;min-width:35px;border-right:1px solid #e5e5e5;background:#f9fafb}.trainingcamp-cell.has-trainingcamp{background:#dcfce7}.tests-cell{width:35px;min-width:35px;border-right:1px solid #e5e5e5;background:#f9fafb}.tests-cell.has-tests{background:#fef2f2}.other-cell{width:35px;min-width:35px;border-right:1px solid #e5e5e5;background:#fafafa}.other-cell.has-other{background:#f3f4f6}.activity-count{display:flex;align-items:center;justify-content:center;width:18px;height:18px;background:#ffffffe6;border-radius:50%;font-size:10px;font-weight:700;color:#374151;margin:auto;border:1px solid rgba(0,0,0,.1);box-shadow:0 1px 2px #0000001a}.activity-tooltip{background:#fff;border:1px solid #e5e5e5;border-radius:8px;box-shadow:0 10px 25px #00000026;max-width:300px;font-size:12px;z-index:1000}.tooltip-header{background:#f8f9fa;padding:8px 12px;border-bottom:1px solid #e5e5e5;border-radius:7px 7px 0 0;font-weight:600;color:#374151}.tooltip-content{padding:8px 12px}.tooltip-activity{margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid #f1f1f1}.tooltip-activity:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.activity-name{font-weight:600;color:#111827;margin-bottom:2px}.activity-dates{color:#6b7280;font-size:11px}.micro-cell{width:35px;min-width:35px;border-right:1px solid #e5e5e5;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:10px;background:#fef3c7;color:#92400e}.meso-cell{width:35px;min-width:35px;height:25px;border-right:1px solid #e5e5e5;display:flex;align-items:center;justify-content:center;position:relative;font-size:9px;font-weight:600;text-align:center;cursor:pointer;transition:all .15s ease}.meso-cell:hover{transform:scale(1.02);box-shadow:0 2px 4px #0000001a;z-index:10}.meso-cell.selected{border:2px solid #dc2626;box-shadow:0 4px 8px #dc26264d;z-index:10}.meso-label{writing-mode:horizontal-tb;text-orientation:mixed;display:flex;align-items:center;justify-content:center;font-weight:700;text-shadow:1px 1px 2px rgba(0,0,0,.3);white-space:nowrap}.macro-cell{width:35px;min-width:35px;height:25px;border-right:1px solid #e5e5e5;display:flex;align-items:center;justify-content:center;position:relative;font-size:9px;font-weight:600;text-align:center;cursor:pointer;transition:all .15s ease}.macro-cell:hover{transform:scale(1.02);box-shadow:0 2px 4px #0000001a;z-index:10}.macro-cell.selected{border:2px solid #dc2626;box-shadow:0 4px 8px #dc26264d;z-index:10}.macro-label{writing-mode:horizontal-tb;text-orientation:mixed;height:100%;display:flex;align-items:center;justify-content:center;white-space:nowrap;font-weight:700;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.sessions-cell{width:35px;min-width:35px;border-right:1px solid #e5e5e5;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:10px;background:#fafafa;color:#374151}.water-sessions-cell{background:#dbeafe;color:#1e40af}.gym-sessions-cell{background:#fef3c7;color:#92400e}.volume-week-cell{width:35px;min-width:35px;border-right:1px solid #e5e5e5;border-bottom:1px solid #6b7280}.volume-cell{width:35px;min-width:35px;border-right:1px solid #e5e5e5;min-height:33px}.volume-bar-cell{height:130px;display:flex;align-items:flex-end;justify-content:center;position:relative;padding:10px 2px 20px}.volume-bar-container{width:20px;display:flex;flex-direction:column;align-items:center;position:relative;min-height:2px}.volume-bar{width:20px;background:linear-gradient(to top,#e5e7eb,#f3f4f6);border-radius:2px;position:relative;transition:all .3s ease;min-height:2px;box-shadow:0 1px 3px #0000001a;border:1px solid #d1d5db}.completion-indicator{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,#10b981,#34d399);border-radius:1px;transition:all .3s ease;box-shadow:inset 0 1px 2px #0000001a}.volume-bar-container:hover .volume-bar{background:linear-gradient(to top,#d1d5db,#e5e7eb);transform:scaleX(1.1)}.volume-bar-container:hover .completion-indicator{background:linear-gradient(to top,#059669,#10b981)}.volume-values{position:absolute;bottom:-18px;display:flex;flex-direction:column;align-items:center;gap:1px}.volume-value{font-size:8px;font-weight:600;color:#374151;text-align:center;white-space:nowrap}.sessions-value{font-size:7px;font-weight:600;color:#10b981;text-align:center;white-space:nowrap}.volume-row{min-height:33px}.volume-label{background:#fafafa;border-bottom:none}.planning-legend{margin-top:30px;background:#fff;padding:20px;border:1px solid #e5e5e5;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a}.planning-legend h3{margin-top:0;margin-bottom:15px;color:#111827;font-size:18px;font-weight:600}.legend-section{margin-bottom:15px}.legend-section h4{margin:0 0 10px;color:#374151;font-size:14px;font-weight:500}.legend-items{display:flex;flex-wrap:wrap;gap:15px}.legend-item{display:flex;align-items:center;gap:8px}.legend-item span{color:#6b7280;font-size:13px}.legend-color{width:20px;height:15px;border:1px solid #e5e5e5;border-radius:3px}.week-details{margin-top:20px;background:#fafafa;padding:16px 20px;border-radius:8px;border:1px solid #e5e5e5;box-shadow:0 4px 6px -1px #0000001a}.week-details h3{margin-top:0;color:#111827;font-size:18px;font-weight:600;margin-bottom:12px}.week-details p{margin:8px 0;color:#6b7280;font-size:14px;line-height:1.5}.week-details p strong{color:#374151;font-weight:500}.week-activities{margin-top:12px}.activity-group{margin-bottom:6px;padding:6px 8px;background:#f8f9fa;border-radius:3px;border-left:3px solid #3b82f6}.group-title{margin:0 0 3px;color:#1f2937;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;line-height:1.2}.activity-list{list-style:none;padding:0;margin:0}.activity-item{line-height:1}.activity-item:last-child{border-bottom:none;padding-bottom:0}.activity-name{font-weight:500;color:#111827;margin-bottom:1px;font-size:12px;line-height:1.3}.activity-details{display:flex;flex-wrap:wrap;gap:8px;font-size:10px;line-height:1.2}.activity-dates{color:#059669;font-weight:500}.activity-type{color:#7c3aed;font-weight:500;text-transform:capitalize}.activities-summary{margin-top:8px;padding:4px 8px;border-top:1px solid #e5e7eb;background:#f3f4f6;border-radius:3px}.activities-summary p{margin:0;font-size:11px;color:#374151;line-height:1.3}.session-breakdown{margin-top:8px;padding:8px 12px;background:#f8f9fa;border-radius:4px;border-left:3px solid #3b82f6}.session-breakdown p{margin:4px 0;font-size:12px;line-height:1.3}.session-meters{color:#6b7280;font-weight:400;font-style:italic}.cycle-details{margin-top:20px;background:#fafafa;padding:16px 20px;border-radius:8px;border:1px solid #e5e5e5;box-shadow:0 4px 6px -1px #0000001a}.details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.details-header h3,.week-details .details-header h3{margin:0;color:#111827;font-size:18px;font-weight:600}.cycle-details h3{margin-top:0;color:#111827;font-size:18px;font-weight:600;margin-bottom:12px}.close-button{background:none;border:none;font-size:24px;font-weight:700;color:#6b7280;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;line-height:1}.close-button:hover{background-color:#f3f4f6;color:#374151;transform:scale(1.1)}.close-button:active{background-color:#e5e7eb;transform:scale(.95)}.cycle-details h4{margin:12px 0 6px;color:#374151;font-size:14px;font-weight:600}.cycle-details p{margin:8px 0;color:#6b7280;font-size:14px;line-height:1.5}.cycle-details p strong{color:#374151;font-weight:500}.meso-details{border-left:4px solid #3b82f6}.macro-details{border-left:4px solid #059669}.contained-cycles{margin-top:12px;padding:8px 12px;background:#f8f9fa;border-radius:4px;border-left:3px solid #6b7280}.contained-cycles h4{margin-top:0;margin-bottom:6px;color:#374151;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.contained-cycles p{margin:3px 0;font-size:12px;line-height:1.3}@media(max-width:1200px){.season-planning{padding:10px 16px}.planning-table{font-size:10px}.legend-items{gap:10px}.season-planning h2{font-size:20px}}@media(max-width:768px){.season-planning{padding:16px 12px}.season-planning h2{font-size:18px;margin-bottom:16px}.planning-legend{padding:16px}.week-details{padding:12px 16px}.planning-table{font-size:9px}.week-cell,.activity-cell,.competition-cell,.camp-cell,.test-cell,.other-cell,.micro-cell,.meso-cell,.sessions-cell,.volume-cell{width:30px;min-width:30px}}@media print{.season-planning{padding:0}.week-details{display:none}.planning-legend{margin-top:20px;break-inside:avoid}.planning-table{font-size:9px}}.season-planning,.planning-table-container{scrollbar-width:thin;scrollbar-color:#9ca3af #f3f4f6}.season-planning::-webkit-scrollbar:horizontal,.planning-table-container::-webkit-scrollbar:horizontal{height:12px}.season-planning::-webkit-scrollbar:vertical,.planning-table-container::-webkit-scrollbar:vertical{width:8px}.season-planning::-webkit-scrollbar-track,.planning-table-container::-webkit-scrollbar-track{background:#f3f4f6;border-radius:6px;margin:2px}.season-planning::-webkit-scrollbar-thumb,.planning-table-container::-webkit-scrollbar-thumb{background:#9ca3af;border-radius:6px;border:1px solid #f3f4f6}.season-planning::-webkit-scrollbar-thumb:hover,.planning-table-container::-webkit-scrollbar-thumb:hover{background:#6b7280}.season-planning::-webkit-scrollbar-corner,.planning-table-container::-webkit-scrollbar-corner{background:#f3f4f6}.meetings-calendar{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.calendar-header{padding:20px;border-bottom:1px solid #e1e5e9;background:#f8f9fa}.calendar-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.view-toggle{display:flex;gap:4px;background:#e9ecef;border-radius:6px;padding:2px}.view-button{padding:8px 16px;border:none;background:transparent;color:#6c757d;border-radius:4px;cursor:pointer;font-weight:500;transition:all .2s ease}.view-button:hover{color:#495057;background:#ffffffb3}.view-button.active{background:#fff;color:#007bff;box-shadow:0 1px 3px #0000001a}.month-navigation{display:flex;align-items:center;gap:12px}.nav-button{padding:8px 12px;border:1px solid #dee2e6;background:#fff;color:#495057;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s ease}.nav-button:hover{background:#e9ecef;border-color:#adb5bd}.today-button{padding:8px 16px;border:1px solid #007bff;background:#007bff;color:#fff;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.today-button:hover{background:#0056b3;border-color:#0056b3}.current-month{margin:0;font-size:18px;font-weight:600;color:#343a40;min-width:200px;text-align:center}.calendar-container{max-height:700px;overflow-y:auto}.calendar-container.scroll{max-height:800px}.month-calendar{padding:20px}.month-calendar+.month-calendar{border-top:1px solid #e1e5e9}.month-title{margin:18px 0 20px;padding:10px 16px;background-color:#f8fafc;border-left:3px solid #dc2626;border-radius:4px;font-size:16px;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.05em;text-align:center}.calendar-grid{width:100%;border:1px solid #e1e5e9;border-radius:4px;overflow:hidden;display:flex;flex-direction:column}.weekdays,.calendar-days{width:100%;box-sizing:border-box}.weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:#e1e5e9;overflow:hidden}.weekday-header{background:#343a40;color:#fff;padding:12px 8px;text-align:center;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;border-right:1px solid #e1e5e9}.weekday-header:last-child{border-right:none}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);background:#e1e5e9;overflow:hidden}.calendar-day{background:#fff;min-height:120px;padding:6px;position:relative;display:flex;flex-direction:column;transition:background-color .2s ease;border-right:1px solid #e1e5e9;border-bottom:1px solid #e1e5e9}.calendar-day:hover{background:#f8f9fa}.calendar-day:nth-child(7n){border-right:none}.calendar-day.other-month{background:#f8f9fa;opacity:.6}.calendar-day.today{background:#e3f2fd;border:2px solid #2196f3}.calendar-day.today .day-number{color:#1976d2;font-weight:700}.day-number{font-size:14px;font-weight:600;color:#495057;margin-bottom:4px;flex-shrink:0}.day-meetings{flex:1;display:flex;flex-direction:column;gap:1px;overflow:hidden}.meeting-item{background:#007bff;color:#fff;padding:3px 5px;border-radius:3px;font-size:10px;line-height:1.2;cursor:pointer;transition:all .2s ease;overflow:hidden;position:relative;border-left:3px solid transparent;margin-bottom:1px;min-height:18px;display:flex;flex-direction:column;justify-content:center}.meeting-item:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0003}.meeting-item.multi-day.color-0{background:#e91e63;border-left-color:#ad1457}.meeting-item.multi-day.color-1{background:#9c27b0;border-left-color:#6a1b9a}.meeting-item.multi-day.color-2{background:#673ab7;border-left-color:#4527a0}.meeting-item.multi-day.color-3{background:#3f51b5;border-left-color:#283593}.meeting-item.multi-day.color-4{background:#2196f3;border-left-color:#1565c0}.meeting-item.multi-day.color-5{background:#03a9f4;border-left-color:#0277bd}.meeting-item.multi-day{border-radius:3px;position:relative}.meeting-item.multi-day.first-day{border-radius:3px 0 0 3px}.meeting-item.multi-day.last-day{border-radius:0 3px 3px 0}.meeting-item.multi-day:not(.first-day):not(.last-day){border-radius:0}.meeting-item.highlighted,.popup-meeting-item.highlighted{border:2px solid #000!important;box-shadow:0 2px 4px #0000004d}.meeting-item.highlighted:hover,.popup-meeting-item.highlighted:hover{box-shadow:0 3px 6px #0006}.multi-day-indicator{font-size:10px;margin-right:2px;opacity:.8}.meeting-name{font-weight:600;margin-bottom:1px;overflow:hidden;display:flex;align-items:center;font-size:12px;line-height:1.1;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;white-space:normal}.meeting-details{font-size:11px;opacity:.9;overflow:hidden;line-height:1.1;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;white-space:normal}.meeting-organizer{font-size:10px;opacity:.8;font-style:italic;overflow:hidden;line-height:1.1;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;white-space:normal}.meeting-edit-btn{position:absolute;top:2px;right:2px;background:#ffffffe6;border:1px solid rgba(0,0,0,.2);border-radius:3px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:10px;cursor:pointer;color:#495057;transition:all .2s ease;z-index:10;opacity:0;visibility:hidden}.meeting-item:hover .meeting-edit-btn{opacity:1;visibility:visible}.meeting-edit-btn:hover{background:#fff;transform:scale(1.1);box-shadow:0 1px 3px #0000004d}.meeting-edit-btn.popup{position:absolute;top:3px;right:3px;opacity:0;visibility:hidden}.popup-meeting-item:hover .meeting-edit-btn.popup{opacity:1;visibility:visible}.more-meetings{background:#6c757d;color:#fff;padding:2px 6px;border-radius:3px;font-size:10px;text-align:center;margin-top:1px;transition:background-color .2s ease;font-weight:500;line-height:1.2}.more-meetings.clickable{cursor:pointer}.more-meetings.clickable:hover{background:#5a6268}.more-events-overlay{position:fixed;inset:0;background:transparent;z-index:999}.more-events-popup{background:#fff;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:1000;overflow:hidden;resize:none;position:relative}.popup-header{background:#f8f9fa;border-bottom:1px solid #dee2e6;padding:8px 12px;display:flex;justify-content:space-between;align-items:center;cursor:move;-webkit-user-select:none;user-select:none}.popup-date{font-weight:600;color:#495057;font-size:14px}.popup-close-btn{background:none;border:none;font-size:18px;font-weight:700;color:#6c757d;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.popup-close-btn:hover{background:#e9ecef;color:#495057}.popup-content{padding:8px;overflow-y:auto;flex:1;height:calc(100% - 45px)}.resize-handle{position:absolute;background:transparent;z-index:10}.resize-handle:hover{background:#007bff4d}.resize-se{bottom:0;right:0;width:15px;height:15px;cursor:se-resize}.resize-s{bottom:0;left:15px;right:15px;height:5px;cursor:s-resize}.resize-e{top:45px;right:0;width:5px;bottom:15px;cursor:e-resize}.popup-meeting-item{background:#007bff;color:#fff;padding:8px 10px;border-radius:4px;margin-bottom:4px;cursor:pointer;transition:all .2s ease;border-left:3px solid transparent}.popup-meeting-item:last-child{margin-bottom:0}.popup-meeting-item:hover{transform:translate(2px);box-shadow:0 2px 6px #0003}.popup-meeting-item.multi-day.color-0{background:#e91e63;border-left-color:#ad1457}.popup-meeting-item.multi-day.color-1{background:#9c27b0;border-left-color:#6a1b9a}.popup-meeting-item.multi-day.color-2{background:#673ab7;border-left-color:#4527a0}.popup-meeting-item.multi-day.color-3{background:#3f51b5;border-left-color:#283593}.popup-meeting-item.multi-day.color-4{background:#2196f3;border-left-color:#1565c0}.popup-meeting-item.multi-day.color-5{background:#03a9f4;border-left-color:#0277bd}.popup-meeting-name{font-weight:600;font-size:13px;margin-bottom:2px;display:flex;align-items:center}.popup-meeting-details{font-size:11px;opacity:.9;margin-bottom:1px}.popup-meeting-organizer{font-size:10px;opacity:.8;font-style:italic}.calendar-no-meetings{padding:60px 20px;text-align:center;color:#6c757d}.no-meetings-icon{font-size:48px;margin-bottom:16px;opacity:.6}.calendar-no-meetings h3{margin:0 0 8px;color:#495057;font-size:18px}.calendar-no-meetings p{margin:0;font-size:14px}@media(max-width:768px){.calendar-controls{flex-direction:column;align-items:stretch}.month-navigation{justify-content:center;flex-wrap:wrap;gap:8px}.current-month{font-size:16px;min-width:auto}.calendar-day{min-height:80px;padding:4px}.meeting-item{font-size:10px;padding:2px 4px}.meeting-details,.meeting-organizer{display:none}.more-events-popup{max-width:250px;left:10px!important;right:10px;width:auto}}@media(max-width:480px){.weekday-header{padding:8px 4px;font-size:10px}.calendar-day{min-height:60px;padding:2px}.day-number{font-size:12px}.meeting-item{font-size:9px;padding:1px 3px}.view-button{padding:6px 12px;font-size:12px}.nav-button,.today-button{padding:6px 10px;font-size:12px}}.modal-backdrop{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.meeting-modal{background:#fff;border-radius:8px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:800px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-header{padding:24px 24px 16px;border-bottom:1px solid #e5e5e5;display:flex;justify-content:space-between;align-items:center;background-color:#fafafa}.modal-title{margin:0;font-size:20px;font-weight:600;color:#111827;line-height:1.3;flex:1;padding-right:16px}.close-button{background:none;border:none;font-size:20px;cursor:pointer;color:#6b7280;padding:4px;border-radius:4px;transition:all .15s ease;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.close-button:hover{background-color:#f3f4f6;color:#374151}.modal-body{flex:1;overflow-y:auto;padding:20px}.meeting-form{display:flex;flex-direction:column;gap:16px}.upload-mode-selector{margin-bottom:20px}.mode-tabs{display:flex;border-radius:6px;border:1px solid #d1d5db;overflow:hidden;background-color:#f9fafb}.mode-tab{flex:1;padding:12px 16px;background:none;border:none;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;color:#6b7280;background-color:#f9fafb}.mode-tab:hover{background-color:#f3f4f6;color:#374151}.mode-tab.active{background-color:#3b82f6;color:#fff}.file-upload-section{padding:24px;border:2px dashed #d1d5db;border-radius:8px;background-color:#fafafa;text-align:center}.file-input{margin:16px 0;padding:8px;border:1px solid #d1d5db;border-radius:4px;background-color:#fff;width:100%;cursor:pointer}.file-info{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;padding:8px 12px;background-color:#e0f2fe;border-radius:4px;font-size:14px}.file-name{font-weight:500;color:#0277bd}.file-size{color:#546e7a}.upload-info{margin-top:16px}.upload-info p{margin:0;font-size:14px;color:#6b7280;line-height:1.5}.upload-error{display:flex;align-items:flex-start;gap:8px;margin-top:16px;padding:12px 16px;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;border-left:4px solid #dc2626}.error-icon{font-size:16px;line-height:1;margin-top:1px}.error-message{flex:1;font-size:14px;color:#dc2626;line-height:1.4;font-weight:500}.error-close{background:none;border:none;color:#dc2626;font-size:14px;font-weight:700;cursor:pointer;padding:2px 6px;border-radius:3px;transition:background-color .15s ease;line-height:1}.error-close:hover{background-color:#fee2e2}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.form-group{display:flex;flex-direction:column;gap:4px}.form-group label{font-size:13px;font-weight:600;color:#374151;letter-spacing:.025em}.form-input,.form-select{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#111827;background-color:#fff;transition:border-color .15s ease,box-shadow .15s ease}.form-input:focus,.form-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-select{cursor:pointer}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:12px;border-top:1px solid #e5e5e5}.cancel-button,.save-button{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;border:1px solid}.cancel-button{background-color:#fff;color:#6b7280;border-color:#d1d5db}.cancel-button:hover{background-color:#f9fafb;color:#374151}.save-button{background-color:#3b82f6;color:#fff;border-color:#3b82f6}.save-button:hover{background-color:#2563eb;border-color:#2563eb}.save-button:disabled{background-color:#9ca3af;border-color:#9ca3af;cursor:not-allowed;opacity:.6}.save-button:disabled:hover{background-color:#9ca3af;border-color:#9ca3af}.delete-button{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;border:1px solid #dc3545;background-color:#dc3545;color:#fff}.delete-button:hover{background-color:#c82333;border-color:#c82333}@media(max-width:768px){.modal-backdrop{padding:10px}.meeting-modal{max-height:95vh}.modal-header{padding:16px}.modal-title{font-size:18px}.modal-body{padding:16px}.form-grid{grid-template-columns:1fr;gap:16px}.form-actions{flex-direction:column}.cancel-button,.save-button{width:100%}}.confirmation-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:2000}.confirmation-dialog{background:#fff;border-radius:8px;box-shadow:0 25px 50px -12px #00000040;max-width:400px;width:90%;padding:24px;text-align:center;max-height:90vh;overflow-y:auto}.confirmation-dialog::-webkit-scrollbar{width:8px}.confirmation-dialog::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.confirmation-dialog::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.confirmation-dialog::-webkit-scrollbar-thumb:hover{background:#94a3b8}.confirmation-dialog.with-processing{max-width:700px;max-height:85vh}.confirmation-dialog h3{margin:0 0 16px;font-size:18px;font-weight:600;color:#dc2626}.confirmation-dialog p{margin:0 0 12px;color:#374151;line-height:1.5}.confirmation-dialog p:last-of-type{margin-bottom:24px;font-size:14px;color:#6b7280}.warning-text{color:#dc2626!important;font-size:14px!important;background-color:#fef2f2;padding:12px;border-radius:6px;border:1px solid #fecaca;margin:12px 0!important}.confirmation-actions{display:flex;gap:12px;justify-content:center}.confirmation-actions .cancel-button,.confirmation-actions .delete-button{min-width:80px;padding:8px 16px;font-size:14px}.confirmation-actions .cancel-button{background-color:#f3f4f6;color:#374151;border:1px solid #d1d5db}.confirmation-actions .cancel-button:hover{background-color:#e5e7eb}.confirmation-actions .delete-button{background-color:#dc2626;color:#fff}.confirmation-actions .delete-button:hover{background-color:#b91c1c}.loading-dialog{text-align:center}.loading-spinner{width:40px;height:40px;border:4px solid #f3f4f6;border-top:4px solid #dc2626;border-radius:50%;animation:spin 1s linear infinite;margin:20px auto}.result-dialog.success{border-left:5px solid #059669}.result-dialog.error{border-left:5px solid #dc2626}.result-dialog.success h3{color:#059669}.result-dialog.error h3{color:#dc2626}.success-button{background-color:#059669;color:#fff;border:none;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;min-width:80px}.success-button:hover{background-color:#047857}.upload-details{margin:16px 0;padding:16px;background-color:#f8f9fa;border-radius:6px;border:1px solid #e5e7eb}.upload-details h4{margin:0 0 8px;color:#374151;font-size:14px;font-weight:600}.file-details,.processing-details,.upload-meeting-details,.error-details{margin-bottom:16px}.file-details:last-child,.processing-details:last-child,.upload-meeting-details:last-child,.error-details:last-child{margin-bottom:0}.upload-details p{margin:4px 0;font-size:13px;color:#6b7280}.upload-details p strong{color:#374151;font-weight:500}.processing-info{margin-top:4px;padding:4px;background-color:#f3f4f6;border-radius:4px;border:1px solid #d1d5db}.processing-info p{font-size:11px;margin:1px 0;line-height:1.2}.error-details{background-color:#fef2f2;border:1px solid #fecaca;padding:12px;border-radius:6px}.error-details h4{color:#dc2626}.upload-meeting-details{background-color:#f0f9ff;border:1px solid #bae6fd;padding:12px;border-radius:6px}.processing-steps{margin:16px 0;padding:16px;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px}.processing-steps h4{margin:0 0 12px;color:#374151;font-size:14px;font-weight:600}.steps-list{max-height:200px;overflow-y:auto}.steps-list::-webkit-scrollbar{width:6px}.steps-list::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.steps-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.steps-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}.steps-list{max-height:400px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.step-item{padding:10px 12px;border-radius:6px;border:1px solid #e5e7eb;background-color:#fff;transition:all .2s ease}.step-item.pending{background-color:#f9fafb;border-color:#d1d5db}.step-item.processing{background-color:#fef3c7;border-color:#fbbf24;animation:pulse 2s infinite}.step-item.success{background-color:#ecfdf5;border-color:#10b981;padding:4px 8px}.step-item.error{background-color:#fef2f2;border-color:#ef4444;padding:4px 8px}.step-item.success .step-details{margin-top:2px;padding-left:24px}.step-item.success .step-description{margin:0;line-height:1.2}.step-item.success .step-message,.step-item.success .step-records{margin:1px 0 0;line-height:1.2}.step-item.error .step-details{margin-top:2px;padding-left:24px}.step-item.error .step-description{margin:0;line-height:1.2}.step-item.error .step-message{margin:1px 0 0;line-height:1.2}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.step-header{display:flex;align-items:center;gap:8px}.step-number{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background-color:#6b7280;color:#fff;border-radius:50%;font-size:11px;font-weight:600;flex-shrink:0}.step-item.processing .step-number{background-color:#f59e0b}.step-item.success .step-number{background-color:#10b981}.step-item.error .step-number{background-color:#ef4444}.step-title{font-weight:500;color:#374151;font-size:13px;flex:1}.step-status{font-size:14px}.step-details{margin-top:8px;padding-left:28px}.step-description{font-size:12px;color:#6b7280;margin:0 0 4px;font-style:italic}.step-message{font-size:12px;color:#374151;margin:2px 0}.step-records{font-size:11px;color:#10b981;margin:2px 0;font-weight:500}.processing-status{margin-top:12px;padding:8px 12px;background-color:#fef3c7;border:1px solid #fbbf24;border-radius:4px;text-align:center}.processing-status p{margin:0;font-size:12px;color:#92400e;font-weight:500}.processing-complete{margin-top:12px;padding:8px 12px;background-color:#ecfdf5;border:1px solid #10b981;border-radius:4px;text-align:center}.processing-complete p{margin:0;font-size:12px;color:#047857;font-weight:500}.processing-item{margin-bottom:6px}.processing-value{margin:2px 0 0 12px;font-family:monospace;background-color:#f3f4f6;padding:2px 6px;border-radius:3px;font-size:11px;line-height:1.2}.fix-counts{margin-left:12px;padding:4px;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:3px}.fix-count-item{margin:1px 0;font-size:11px;color:#374151;line-height:1.2}.meetings-container{padding:32px;display:flex;flex-direction:column;height:100vh;overflow:hidden}.meetings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e5e5e5;flex-shrink:0;background:#fff;z-index:10}.meetings-header h2{color:#111827;margin:0;font-size:20px;font-weight:600;letter-spacing:-.025em}.header-actions{display:flex;gap:12px;align-items:center}.filter-container{margin-right:0}.status-filter-select,.meet-type-filter-select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;outline:none;transition:border-color .15s ease;background-color:#fff;cursor:pointer;color:#374151}.status-filter-select:focus,.meet-type-filter-select:focus{border-color:#dc2626;box-shadow:0 0 0 1px #dc2626}.search-container{margin-right:0}.search-box{position:relative;display:flex;align-items:center}.search-input{width:320px;padding:8px 36px 8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;outline:none;transition:border-color .15s ease;background-color:#fff;color:#374151}.search-input:focus{border-color:#dc2626;box-shadow:0 0 0 1px #dc2626}.search-input::placeholder{color:#9ca3af}.search-icon{position:absolute;right:36px;color:#9ca3af;font-size:14px;pointer-events:none}.clear-search-button{position:absolute;right:8px;background:none;border:none;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;font-size:12px;line-height:1}.clear-search-button:hover{background-color:#f3f4f6;color:#374151}.add-button{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;background-color:#dc2626;color:#fff}.add-button:hover{background-color:#b91c1c}.export-controls{position:relative}.export-dropdown{position:relative;display:inline-block}.export-button{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;background-color:#059669;color:#fff}.export-button:hover{background-color:#047857}.export-dropdown-content{display:none;position:absolute;right:0;background-color:#fff;min-width:160px;box-shadow:0 8px 16px #0000001a;border-radius:6px;z-index:1000;border:1px solid #e5e7eb;overflow:hidden}.export-dropdown:hover .export-dropdown-content{display:block}.export-option{display:block;width:100%;padding:12px 16px;background:none;border:none;color:#374151;text-align:left;cursor:pointer;font-size:14px;transition:background-color .15s ease}.export-option:hover{background-color:#f3f4f6}.export-option:first-child{border-top:none}.export-option:last-child{border-bottom:none}.meetings-filter-section{margin-bottom:24px;padding:16px;background-color:#fafafa;border-radius:6px;border:1px solid #e5e5e5;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-shrink:0;z-index:9}.filter-selects-container{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap;flex:1}.view-toggle-container,.course-dropdown,.status-dropdown,.season-dropdown{flex-shrink:0}.checkbox-filter{display:flex;align-items:center;flex-shrink:0;height:40px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#374151;-webkit-user-select:none;user-select:none;height:100%}.checkbox-input{width:16px;height:16px;cursor:pointer;accent-color:#3b82f6}.checkbox-text{font-weight:500}.seasons-loading{padding:8px 12px;color:#6b7280;font-size:14px;background-color:#f9fafb;border:1px solid #d1d5db;border-radius:6px;flex-shrink:0}.seasons-error{padding:8px 12px;color:#dc2626;font-size:14px;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;flex-shrink:0}.seasons-error p{margin:0}.view-toggle-container{display:flex;align-items:flex-start}.view-buttons{display:flex;gap:4px;background-color:#f3f4f6;padding:2px;border-radius:6px;border:none}.view-btn{padding:6px 12px;border:none;background-color:transparent;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;color:#6b7280;transition:all .15s ease;display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.view-btn:hover{background-color:#e5e7eb;color:#374151}.view-btn.active{background-color:#dc2626;color:#fff}.pagination-container{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px;margin-bottom:16px}.meetings-content-wrapper{flex:1;overflow-y:auto;min-height:0}.pagination-top{margin-bottom:16px}.pagination-bottom{margin-top:16px;margin-bottom:0}.pagination-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.records-per-page{display:flex;align-items:center;gap:8px;font-size:14px;color:#374151}.records-select{padding:6px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;outline:none;transition:border-color .15s ease;background-color:#fff;cursor:pointer;color:#374151}.records-select:focus{border-color:#dc2626;box-shadow:0 0 0 1px #dc2626}.pagination-info-inline{font-size:14px;color:#6b7280}.pagination-buttons{display:flex;align-items:center;gap:12px}.pagination-button{padding:8px 12px;background-color:#fff;color:#374151;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.pagination-button:hover:not(:disabled){background-color:#f3f4f6;border-color:#9ca3af}.pagination-button:disabled{opacity:.5;cursor:not-allowed}.page-indicator{font-size:14px;color:#374151;font-weight:500;white-space:nowrap}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#6b7280}.loading-spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top:3px solid #dc2626;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.error-container h3{margin:0 0 8px;color:#ef4444;font-size:20px;font-weight:600}.error-container p{margin:0 0 24px;color:#6b7280;font-size:14px}.retry-button{padding:10px 20px;background-color:#dc2626;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .15s ease}.retry-button:hover{background-color:#b91c1c}.meetings-list-container{flex:1;display:flex;flex-direction:column}.meetings-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:20px;flex:1;padding:0 4px}.month-separator{grid-column:1 / -1;margin:18px 0 10px;padding:10px 16px;background-color:#f8fafc;border-left:3px solid #dc2626;border-radius:4px}.month-separator h3{margin:0;color:#374151;font-size:16px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;text-align:center}.month-separator:first-child{margin-top:24px}.meeting-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;transition:all .15s ease;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;height:fit-content;min-height:160px}.meeting-card:hover{border-color:#d1d5db;box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.meeting-card.highlighted{border:1px solid #000!important;box-shadow:0 2px 4px #0000004d}.meeting-card.highlighted:hover{box-shadow:0 3px 6px #0006}.meeting-header-card{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.meeting-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex:1}.meeting-title-left{display:flex;flex-direction:column;gap:8px;flex:1}.meeting-title h3{margin:0;color:#111827;font-size:16px;font-weight:600;line-height:1.3}.meeting-badges{display:flex;flex-wrap:wrap;gap:6px}.meeting-right-info{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}.meeting-actions{display:flex;gap:8px}.edit-button{background:none;border:none;cursor:pointer;font-size:14px;padding:4px;border-radius:4px;transition:all .15s ease;display:flex;align-items:center;justify-content:center;width:24px;height:24px}.edit-button:hover{background-color:#f3f4f6;transform:scale(1.1)}.athletes-count-tag{background-color:#6b7280;color:#fff;font-size:11px;font-weight:500;padding:3px 8px;border-radius:4px;display:flex;align-items:center;gap:4px;white-space:nowrap}.result-link-icon{font-size:14px;padding:2px 4px;border-radius:3px;transition:all .15s ease}.result-link-icon.active{color:#059669;text-decoration:none;cursor:pointer}.result-link-icon.active:hover{background-color:#ecfdf5;transform:scale(1.1)}.result-link-icon.inactive{color:#9ca3af;cursor:default;opacity:.6}.course-type{padding:2px 6px;border-radius:3px;font-size:10px;font-weight:500;background-color:#f3f4f6;color:#4b5563;text-transform:uppercase;letter-spacing:.025em;align-self:center}.meeting-location-line{display:flex;flex-direction:column;gap:8px;font-size:13px;margin-top:auto}.location-info{display:flex;align-items:center;gap:4px;flex:1;color:#6b7280}.location-label{font-weight:500;color:#374151}.location-value,.venue-value,.nation-value{color:#6b7280}.location-separator{color:#9ca3af}.organizer-info{color:#6b7280;font-weight:500;text-align:left;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;line-height:1.3;font-size:12px}.meeting-date{font-size:13px;color:#6b7280;font-weight:500;white-space:nowrap;text-align:right;line-height:1.2}.meeting-date>div{white-space:nowrap}.status-badge{padding:2px 6px;border-radius:3px;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.025em;align-self:center}.status-official{background-color:#dcfce7;color:#166534}.status-entries{background-color:#dbeafe;color:#1e40af}.status-seeded{background-color:#fef3c7;color:#92400e}.status-running{background-color:#fecaca;color:#991b1b}.status-default{background-color:#f3f4f6;color:#374151}.no-results{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:#6b7280}.no-results-icon{font-size:48px;margin-bottom:16px}.no-results h3{margin:0 0 8px;color:#374151;font-size:18px;font-weight:600}.no-results p{margin:0;font-size:14px}@media(max-width:768px){.meetings-container{padding:24px}.meetings-header{flex-direction:column;align-items:flex-start;gap:16px}.header-actions{width:100%;flex-direction:column;gap:12px}.search-input{width:100%}.filter-selects-container{flex-direction:column;gap:12px}.meetings-filter-section{flex-direction:column;align-items:stretch;gap:16px}.view-toggle-container{align-self:center}.course-dropdown,.status-dropdown,.season-dropdown{align-self:flex-start}.view-buttons{width:100%;justify-content:center}.view-btn{flex:1;justify-content:center;padding:8px 12px;font-size:13px;gap:4px}.pagination-controls{flex-direction:column;align-items:stretch;gap:12px}.pagination-buttons{justify-content:center}.meetings-list{grid-template-columns:1fr;gap:16px;padding:0 2px}.meeting-card{padding:16px;min-height:140px}.meeting-header-card{gap:8px;margin-bottom:12px}.meeting-title{gap:8px}.meeting-title-left{gap:6px}.meeting-badges{gap:4px}.meeting-location-line{gap:6px;font-size:12px}.organizer-info{text-align:left;max-width:none}}@media(max-width:1200px){.meetings-list{grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}}@media(max-width:992px){.meetings-list{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}}@media(max-width:480px){.view-btn{padding:6px 8px;font-size:12px;gap:4px}.meetings-filter-section{padding:12px}.meetings-list{grid-template-columns:1fr;gap:12px}.meeting-card{padding:12px;min-height:120px}.meeting-title h3{font-size:15px}}.meeting-details-page{margin:0 auto;padding:20px 24px;min-height:100vh;background:#fff;max-width:none;overflow:visible}.meeting-details-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:#6c757d}.loading-spinner{width:40px;height:40px;border:4px solid #f3f4f6;border-top:4px solid #007bff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.meeting-details-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;color:#6c757d}.error-icon{font-size:48px;margin-bottom:16px}.meeting-details-error h2{color:#dc3545;margin-bottom:12px}.meeting-details-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:0 8px}.nav-actions{display:flex;gap:12px}.meeting-header{background:#fff;color:#212529;border-radius:12px;padding:16px 20px;margin-bottom:24px;box-shadow:0 8px 25px #00000026;border:1px solid #e9ecef}.meeting-header-content{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;gap:20px}.meeting-header-main{flex:1}.meeting-header-title{font-size:28px;font-weight:700;margin:0 0 8px;line-height:1.1;text-shadow:none}.meeting-header-subtitle{display:flex;flex-direction:column;gap:4px;font-size:14px;opacity:.8}.meeting-location,.meeting-facility{display:flex;align-items:center;gap:8px}.meeting-header-details{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.meeting-date-range{display:flex;align-items:center;gap:8px;background:#ffffff26;padding:12px 16px;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.date-label{font-size:18px}.date-value{font-size:16px;font-weight:600}.meeting-header-badges{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.meeting-header-organizer{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f8f9fa;border-radius:6px;margin-bottom:8px}.organizer-label{font-size:14px;opacity:.8}.organizer-name{font-size:16px;font-weight:600}.meeting-header-card{margin-bottom:8px}.meeting-title-section{display:flex;flex-direction:column;gap:4px}.meeting-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.meeting-title-row h1{font-size:24px;font-weight:700;margin:0;line-height:1.2;flex-shrink:0}.meeting-date-row{font-size:14px;color:#6b7280;font-weight:500;margin-left:2px}.course-type{background:#e5f3ff;color:#0c5aa6;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.meeting-info-section{display:flex;flex-direction:column;gap:4px;padding:6px 0 0;border-top:1px solid #f3f4f6}.location-info{display:flex;align-items:center;gap:4px;font-size:14px;color:#6b7280;flex:1}.location-label{margin-right:4px}.location-value,.venue-value,.nation-value{color:#374151;font-weight:500}.organizer-info{font-size:14px;color:#6b7280;margin-left:20px}.meeting-header-summary{border-top:1px solid rgba(255,255,255,.2);padding-top:20px}.participation-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.summary-label{font-weight:600}.summary-count,.summary-athletes{background:#fff3;padding:4px 8px;border-radius:12px;font-size:14px;font-weight:600}.summary-separator{opacity:.6}.back-button{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#fff;border:1px solid #dee2e6;border-radius:6px;color:#495057;text-decoration:none;font-weight:500;cursor:pointer;transition:all .2s ease}.back-button:hover{background:#f8f9fa;border-color:#adb5bd;color:#343a40}.edit-button-primary{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#007bff;border:1px solid #007bff;border-radius:6px;color:#fff;font-weight:500;cursor:pointer;transition:all .2s ease}.edit-button-primary:hover{background:#0056b3;border-color:#0056b3}.add-button-primary{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#dc2626;border:1px solid #dc2626;border-radius:6px;color:#fff;font-weight:500;cursor:pointer;transition:all .2s ease;margin-right:12px}.add-button-primary:hover{background:#b91c1c;border-color:#b91c1c}.meeting-details-content{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.meeting-details-card{padding:32px}.meeting-title-section{padding-bottom:20px}.meeting-title{font-size:32px;font-weight:700;color:#212529;margin:0 0 16px;line-height:1.2}.meeting-badges{display:flex;gap:12px;flex-wrap:wrap}.status-badge,.course-badge,.type-badge{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.status-active{background:#d4edda;color:#155724}.status-badge.status-completed{background:#cce5ff;color:#004085}.status-badge.status-cancelled{background:#f8d7da;color:#721c24}.status-badge.status-draft{background:#fff3cd;color:#856404}.status-badge.status-pending{background:#e2e3e5;color:#383d41}.status-badge.status-default{background:#f8f9fa;color:#6c757d}.course-badge{background:#e7f3ff;color:#0c5aa6}.type-badge{background:#f0f8e7;color:#2d5016}.meeting-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px;margin-bottom:40px}.info-section h3{font-size:16px;font-weight:600;color:#495057;margin:0 0 12px;display:flex;align-items:center;gap:8px}.info-value{font-size:18px;font-weight:500;color:#212529;margin:0;line-height:1.4}.location-details .facility-name{font-size:14px;color:#6c757d;margin:4px 0 0;font-style:italic}.info-link{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#007bff;color:#fff;text-decoration:none;border-radius:6px;font-weight:500;font-size:14px;transition:all .2s ease}.info-link:hover{background:#0056b3;color:#fff;text-decoration:none;transform:translateY(-1px)}.club-participation-section{margin-bottom:40px;padding-top:32px;border-top:1px solid #e9ecef}.club-participation-section h3{font-size:18px;font-weight:600;color:#495057;margin:0 0 20px;display:flex;align-items:center;gap:8px}.clubs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.club-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;padding:16px;transition:all .2s ease}.club-card:hover{border-color:#adb5bd;background:#f1f3f4}.club-name{font-weight:600;color:#212529;margin-bottom:8px}.athletes-count{font-size:14px;color:#6c757d;display:flex;align-items:center;gap:4px}.links-section{margin-bottom:32px;padding-top:24px;border-top:1px solid #e9ecef}.links-section h3{font-size:18px;font-weight:600;color:#495057;margin:0 0 16px;display:flex;align-items:center;gap:8px}.result-link{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;background:#007bff;color:#fff;text-decoration:none;border-radius:6px;font-weight:500;transition:all .2s ease}.result-link:hover{background:#0056b3;color:#fff;text-decoration:none}.meeting-meta{padding-top:24px;border-top:1px solid #e9ecef;text-align:center}.meeting-id{color:#6c757d;font-size:12px}.meeting-tabs-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:visible}.meeting-tabs-container .header-tabs.minimal-width .header-tabs-nav{justify-content:flex-start}.meeting-tabs-container .header-tabs.minimal-width .tab-button{flex:0 0 auto;min-width:fit-content;width:auto}.tab-content{padding:24px;min-height:400px;position:relative}.tab-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;color:#6c757d}.tab-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;text-align:center;color:#6c757d}.tab-error .error-icon{font-size:48px;margin-bottom:16px}.tab-error h3{color:#dc3545;margin-bottom:12px}.tab-error .retry-button{padding:10px 20px;background-color:#007bff;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .15s ease}.tab-error .retry-button:hover{background-color:#0056b3}.agenda-data,.results-data{background:#f8f9fa;border-radius:6px;padding:20px;overflow:auto}.agenda-data pre,.results-data pre{margin:0;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;line-height:1.4;color:#495057;white-space:pre-wrap;word-wrap:break-word}.agenda-container{background:#fff;border-radius:8px;overflow:hidden}.overview-stats-inline{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:flex-start}.overview-stats-inline .stat-inline{display:flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid #dee2e6;border-radius:3px}.overview-stats-inline .stat-inline .stat-icon{font-size:16px}.overview-stats-inline .stat-inline .stat-text{font-size:14px;font-weight:500;color:inherit}.agenda-header{background:#f8f9fa;padding:20px;border-bottom:1px solid #e9ecef}.agenda-header h3{margin:0 0 4px;font-size:20px;font-weight:600;color:#212529}.agenda-header p{margin:0;color:#6c757d;font-size:14px}.agenda-empty{text-align:center;padding:60px 20px;color:#6c757d}.agenda-empty .empty-icon{font-size:48px;margin-bottom:16px}.agenda-empty h3{margin:0 0 8px;color:#495057}.agenda-empty p{margin:0;font-size:14px}.session-block{border-bottom:1px solid #e9ecef;margin-bottom:16px;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000000d}.session-block:last-child{border-bottom:none;margin-bottom:0}.session-header{background:#f1f3f4;padding:16px 20px;border-bottom:1px solid #dee2e6}.session-header.clickable{cursor:pointer;transition:background-color .2s ease;-webkit-user-select:none;user-select:none}.session-header.clickable:hover{background:#e9ecef}.session-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.expand-indicator{font-size:14px;color:#6c757d;font-weight:700;min-width:20px;text-align:center;transition:transform .2s ease}.session-info h4{margin:0;font-size:18px;font-weight:600;color:#212529}.session-name{flex-grow:1}.session-details{display:flex;gap:16px;flex-wrap:wrap;align-items:center;font-size:14px}.session-date,.session-time{color:#495057;display:flex;align-items:center;gap:4px}.session-status{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;text-transform:uppercase}.session-status.status-official{background:#d4edda;color:#155724}.session-status.status-preliminary{background:#fff3cd;color:#856404}.session-status.status-final{background:#cce5ff;color:#004085}.session-status.status-cancelled{background:#f8d7da;color:#721c24}.session-status.status-default{background:#e2e3e5;color:#383d41}.events-list{padding:0}.event-item{display:flex;align-items:center;padding:6px 20px;border-bottom:1px solid #f1f3f4;transition:background-color .15s ease}.event-item:hover{background:#f8f9fa}.event-item:last-child{border-bottom:none}.event-item.event-relay{position:relative}.event-item.event-relay:hover{background:#f8f9fa}.event-item.event-female{background:#fce4ec}.event-item.event-female:hover{background:#f8bbd9}.event-item.event-relay.event-female{background:#fce4ec;border-left:4px solid #e91e63}.event-item.event-relay.event-female:hover{background:#f8bbd9}.event-item.event-relay.event-female .event-number{background:#e91e63;box-shadow:0 2px 4px #e91e634d}.event-number{flex:0 0 32px;height:24px;display:flex;align-items:center;justify-content:center;background:#007bff;color:#fff;border-radius:12px;font-weight:600;font-size:12px;margin-right:12px}.event-details{flex:1;min-width:0}.event-name{font-size:16px;font-weight:500;color:#212529;text-transform:capitalize}.event-info-line{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13px}.event-info-line .event-name{margin-right:4px}.event-meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:13px}.event-time{color:#495057;font-weight:500}.event-round{padding:2px 6px;border-radius:8px;font-size:11px;font-weight:500;text-transform:uppercase}.event-round.status-preliminary{background:#fff3cd;color:#856404}.event-round.status-final{background:#cce5ff;color:#004085}.event-round.status-official{background:#d4edda;color:#155724}.event-round.status-default{background:#e9ecef;color:#6c757d}.event-round.status-cancelled{background:#f8d7da;color:#721c24}.event-round.status-timing{background:#e1f5fe;color:#01579b}.event-heat{color:#6c757d;font-size:12px}.event-status{flex:0 0 auto;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;text-transform:uppercase}.event-status.status-official{background:#d4edda;color:#155724}.event-status.status-preliminary{background:#fff3cd;color:#856404}.event-status.status-final{background:#cce5ff;color:#004085}.event-status.status-cancelled{background:#f8d7da;color:#721c24}.event-status.status-default{background:#e2e3e5;color:#383d41}.no-events{padding:20px;text-align:center;color:#6c757d;font-style:italic}.no-events p{margin:0}.results-container{max-width:100%}.results-overview{padding:12px 0;margin-bottom:8px}.results-overview .overview-stats-inline{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:flex-start}.results-overview .overview-title-section{display:flex;align-items:center;gap:8px;margin-right:16px}.results-overview .overview-icon{font-size:16px;color:#0c5aa6}.results-overview .age-group-filter,.results-overview .age-group-filter .multi-select-dropdown{min-width:140px}.results-overview .age-group-filter .dropdown-toggle{padding:6px 12px;border:1px solid #bee5eb;border-radius:6px;background:#fff;color:#0c5aa6;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:140px}.results-overview .age-group-filter .dropdown-toggle:focus{outline:none;border-color:#0c5aa6;box-shadow:0 0 0 2px #0c5aa640}.results-overview .age-group-filter .dropdown-toggle:hover{border-color:#0c5aa6}.results-overview .stat-inline{display:flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid #dee2e6;border-radius:3px}.results-overview .stat-inline .stat-icon{font-size:16px}.results-overview .stat-inline .stat-text{font-size:14px;font-weight:500;color:inherit;white-space:nowrap}.results-overview .club-stats-group{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 16px;border-radius:8px}.results-overview .club-code-label{font-size:14px;font-weight:600;color:#0c5aa6;white-space:nowrap}.results-header{text-align:left;padding:20px;background:#f8f9fa;border-radius:8px;margin-bottom:24px}.results-header h3{margin:0 0 8px;color:#212529;font-size:24px;font-weight:600}.results-header p{margin:0;color:#6c757d;font-size:14px}.results-empty{text-align:center;padding:60px 20px;color:#6c757d}.results-empty .empty-icon{font-size:48px;margin-bottom:16px}.results-empty h3{margin:0 0 8px;color:#495057}.results-empty p{margin:0;font-size:14px}.results-event-item{background:#fff;border-radius:8px;margin-bottom:16px;border:1px solid #e9ecef;overflow:hidden}.results-event-item.event-relay{background:#f8f9fa;border-left:4px solid #6c757d}.results-event-item.event-relay .event-header{background:#e9ecef}.results-event-item.event-relay .event-header.clickable:hover{background:#dee2e6}.event-header{background:#f1f3f4;padding:12px 20px;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;align-items:center}.event-header-main{flex:1}.event-header-main.clickable{cursor:pointer;transition:background-color .15s ease}.event-header:hover .event-header-main.clickable{background:transparent}.event-header:hover{background:#e9ecef}.event-export-buttons{display:flex;gap:8px;margin-left:16px}.export-button{padding:6px 12px;border:1px solid #dee2e6;border-radius:4px;background:#fff;color:#495057;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;gap:4px;white-space:nowrap}.export-button:hover{background:#f8f9fa;border-color:#adb5bd;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.export-button:active{transform:translateY(0);box-shadow:0 1px 2px #0000001a}.excel-button:hover{background:#e8f5e8;border-color:#28a745;color:#28a745}.pdf-button:hover{background:#fef2f2;border-color:#dc3545;color:#dc3545}.event-header-bar{display:flex;justify-content:space-between;align-items:center;background:#f8f9fa;padding:12px 20px;border-bottom:1px solid #dee2e6;margin-bottom:12px}.event-title-info{flex:1}.event-title{display:flex;justify-content:flex-start;align-items:center;font-weight:600;gap:12px}.event-title .expand-icon{font-size:12px;color:#495057;margin-right:8px;width:12px;text-align:center}.event-title .event-name{font-size:16px;color:#212529;text-transform:capitalize}.event-title .event-time{font-size:14px;color:#6c757d}.results-list{padding:0}.result-item{padding:4px 20px;border-bottom:1px solid #f1f3f4;transition:background-color .15s ease}.result-item:hover{background:#f8f9fa}.result-item:last-child{border-bottom:none}.result-position{display:inline-flex;align-items:center;justify-content:center;width:24px;height:20px;background:#28a745;color:#fff;border-radius:10px;font-weight:600;font-size:11px;margin-right:8px}.result-position.position-gold{background:gold;color:#000}.result-position.position-silver{background:silver;color:#000}.result-position.position-bronze{background:#cd7f32;color:#fff}.position-container{display:flex;align-items:center;gap:2px;margin-right:8px}.result-position.filtered{margin-right:0}.result-position.overall{background:#6c757d;color:#fff;font-size:10px}.position-separator{color:#6c757d;font-weight:600;font-size:12px;margin:0 1px}.result-details{flex:1;min-width:0}.result-line-1{display:grid;grid-template-columns:1fr auto 1fr auto;gap:16px;align-items:center;margin-bottom:2px;font-size:13px}.section-1{display:flex;gap:6px;align-items:center;justify-content:flex-start}.section-2{display:flex;justify-content:center;min-width:60px}.section-3{display:flex;gap:8px;align-items:center;justify-content:flex-end}.section-3a{display:flex;gap:8px;align-items:center;justify-content:flex-start}.section-3b{display:flex;align-items:center;justify-content:flex-end;min-width:60px}.result-line-1 .athlete-name{font-size:14px;font-weight:500;color:#212529}.result-line-1 .athlete-name.clickable{color:#007bff;cursor:pointer;text-decoration:none;transition:color .2s ease}.result-line-1 .athlete-name.clickable:hover{color:#0056b3;text-decoration:underline}.result-line-1 .athlete-year{font-size:12px;color:#6c757d;font-weight:400}.result-line-2{display:grid;grid-template-columns:1fr auto 1fr auto;gap:16px;align-items:center;font-size:12px}.result-line-1 .reaction-time{font-size:11px;color:#6c757d;font-family:Courier New,monospace}.result-line-1 .swim-time{font-weight:600;color:#007bff;font-family:Courier New,monospace}.result-line-1 .time-diff{color:#dc3545;font-weight:500;font-family:Courier New,monospace;font-size:11px}.result-line-1 .points{color:#28a745;font-weight:500;font-size:11px}.result-line-1 .club{color:#495057;background:#e9ecef;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;text-align:center}.result-line-2 .result-status{color:#dc3545;font-weight:500;text-transform:uppercase;background:#f8d7da;padding:2px 6px;border-radius:4px}.result-line-2 .result-comment{color:#495057;font-style:italic}.club{color:#6c757d;background:#f8f9fa;padding:2px 6px;border-radius:4px;font-size:12px}.club-selected{background:#dc3545!important;color:#fff!important;font-weight:600;box-shadow:0 1px 3px #dc35454d}.lane{color:#495057;font-size:12px}.no-results{text-align:center;padding:40px 20px;color:#6c757d}.no-results p{margin:0;font-style:italic}.splits-container{margin-top:6px;padding-left:16px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.splits-title{font-size:11px;font-weight:600;color:#495057;text-transform:uppercase;letter-spacing:.5px;margin-right:4px}.split-item{display:flex;gap:4px;align-items:center;background:#f8f9fa;padding:2px 8px;border-radius:4px;font-size:11px}.split-distance{color:#6c757d;font-weight:500}.split-time{color:#007bff;font-family:Courier New,monospace;font-weight:600}@media(max-width:768px){.meeting-details-page{padding:16px}.meeting-details-card{padding:20px}.meeting-title{font-size:24px}.meeting-header{padding:12px 16px}.meeting-header-card{margin-bottom:6px}.meeting-title-row{gap:8px}.meeting-title-row h1{font-size:20px}.meeting-date-row{font-size:13px}.meeting-info-section{gap:2px;padding:4px 0 0}.organizer-info{margin-left:16px;font-size:13px}.meeting-info-grid{grid-template-columns:1fr;gap:24px}.meeting-details-nav{flex-direction:column;align-items:stretch;gap:16px}.nav-actions{justify-content:center}.clubs-grid{grid-template-columns:1fr}.meeting-header{padding:20px}.meeting-header-content{flex-direction:column;gap:24px}.meeting-header-details{align-items:flex-start;width:100%}.meeting-header-badges{justify-content:flex-start}.meeting-date-range{align-self:stretch;justify-content:center}.participation-summary{justify-content:center}}@media(max-width:480px){.meeting-badges,.back-button,.edit-button-primary,.add-button-primary{justify-content:center}.meeting-header{padding:16px}.meeting-header-title{font-size:28px;text-align:center}.meeting-header-subtitle{align-items:center;text-align:center}.meeting-header-organizer{flex-direction:column;text-align:center;gap:8px}.tab-button{padding:12px 16px;font-size:20px}.tab-content{padding:16px}}@media(max-width:380px){.meeting-details-page{padding:16px 12px}.tab-button{padding:10px 12px;font-size:18px;gap:4px}.tab-content,.agenda-data,.results-data{padding:12px}.agenda-data pre,.results-data pre{font-size:11px}.overview-stats-inline{gap:8px}.overview-stats-inline .stat-inline{padding:3px 6px}.overview-stats-inline .stat-inline .stat-text{font-size:12px}.results-overview{padding:12px 16px}.results-overview .overview-stats-inline{gap:8px}.results-overview .overview-title-section{margin-right:8px}.results-overview .age-group-filter{min-width:120px}.results-overview .age-group-filter .dropdown-toggle{font-size:12px;padding:4px 8px;min-width:120px}.results-overview .stat-inline{padding:5px 8px}.results-overview .stat-inline .stat-text{font-size:12px}.results-overview .club-stats-group{gap:8px;padding:6px 12px}.results-overview .club-code-label{font-size:12px}.agenda-header{padding:16px}.session-header{padding:12px 16px}.event-item{padding:12px 16px;flex-direction:column;align-items:flex-start;gap:12px}.event-number{flex:0 0 auto;margin-right:0;margin-bottom:4px;width:36px;height:36px;font-size:13px}.event-details{width:100%}.event-meta{gap:8px;font-size:12px}.session-details{flex-direction:column;align-items:flex-start;gap:8px}}.results-layout{display:flex;gap:24px;min-height:100vh;overflow:visible;position:relative}.results-main{flex:1;min-width:0;padding:24px 0}.results-sidebar{width:320px;position:sticky;top:20px;align-self:flex-start;height:fit-content;max-height:calc(100vh - 40px);overflow-y:auto;z-index:10}.results-filters{background:#f8f9fa;border:1px solid #dee2e6;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000001a}.results-filters h3{margin:0 0 20px;color:#212529;font-size:18px;font-weight:600;text-align:center;border-bottom:2px solid #007bff;padding-bottom:12px}@media(max-width:1024px){.results-layout{flex-direction:column}.results-sidebar{width:100%;position:static;max-height:none;order:-1}.results-filters{margin-bottom:24px}}.filters-header{margin-bottom:16px}.filters-header h3{margin:0;color:#212529;font-size:18px;font-weight:600}.filters-grid{display:flex;flex-direction:column;gap:20px}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group label{font-size:12px;font-weight:600;color:#495057;text-transform:uppercase;letter-spacing:.5px}.filter-group input,.filter-group select{padding:8px 12px;border:1px solid #ced4da;border-radius:4px;font-size:14px;background:#fff;transition:border-color .15s ease}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.clear-filters-btn{padding:8px 16px;background:#6c757d;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .15s ease}.clear-filters-btn:hover{background:#5a6268}@media(max-width:768px){.filters-grid{gap:16px}}.tab-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;text-align:center;color:#6c757d;padding:40px 20px}.tab-placeholder .placeholder-icon{font-size:64px;margin-bottom:24px;opacity:.7}.tab-placeholder h3{color:#495057;margin:0 0 12px;font-size:24px;font-weight:600}.tab-placeholder p{margin:0 0 24px;font-size:16px;line-height:1.5;max-width:400px}.coming-soon{padding:8px 20px;background:#e7f3ff;color:#0c5aa6;border-radius:20px;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.events-section{margin-bottom:32px}.section-header{margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid #e9ecef}.section-title{display:flex;align-items:center;gap:8px;margin:0;font-size:20px;font-weight:600;color:#495057}.section-icon{font-size:24px}.section-count{font-size:16px;font-weight:400;color:#6c757d;margin-left:4px}.all-events-container{margin-top:16px}.events-list{display:flex;flex-direction:column;gap:16px}.results-sub-tabs-container{margin-top:16px}.results-sub-tabs{display:flex;border-bottom:2px solid #e9ecef;margin-bottom:24px;gap:2px}.sub-tab{display:flex;align-items:center;gap:8px;padding:12px 20px;background:#f8f9fa;border:none;border-radius:8px 8px 0 0;cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:500;color:#6c757d;position:relative;outline:none}.sub-tab:focus{outline:none;box-shadow:none}.sub-tab:hover{background:#e9ecef;color:#495057}.sub-tab.active{background:#fff;color:#007bff;border-bottom:2px solid #007bff;margin-bottom:-2px}.sub-tab-icon{font-size:16px}.sub-tab-label{font-weight:600}.sub-tab-count{font-size:12px;background:#e9ecef;color:#6c757d;padding:2px 8px;border-radius:12px;font-weight:600}.sub-tab.active .sub-tab-count{background:#007bff;color:#fff}.results-sub-tab-content{min-height:200px}.no-events-message{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;text-align:center;color:#6c757d;padding:40px 20px}.no-events-message .empty-icon{font-size:64px;margin-bottom:16px;opacity:.6}.no-events-message h3{color:#495057;margin:0 0 8px;font-size:20px;font-weight:600}.no-events-message p{margin:0;font-size:14px;line-height:1.5;max-width:400px}@media(max-width:768px){.results-sub-tabs{flex-direction:column;gap:0}.sub-tab{border-radius:0;justify-content:center}.sub-tab.active{border-bottom:none;border-left:4px solid #007bff;margin-bottom:0;margin-left:-2px}}.relay-name{font-weight:600;color:#007bff}.relay-number{font-size:12px;background:#007bff;color:#fff;padding:2px 6px;border-radius:4px;margin-left:8px;font-weight:600}.relay-athletes-container{margin-top:8px;padding:8px 12px;background:#f8f9fa;border-radius:6px;border-left:3px solid #007bff}.relay-athletes-title{font-size:12px;font-weight:600;color:#495057;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;display:block}.relay-athletes-list{display:flex;flex-direction:column;gap:4px}.relay-athlete-item{display:flex;align-items:center;gap:6px}.relay-leg{font-size:12px;font-weight:600;color:#007bff;min-width:20px}.relay-athlete-name{font-size:13px;font-weight:500;color:#495057}.relay-athlete-year{font-size:11px;color:#6c757d;font-weight:400}.relay-athlete-time{font-size:12px;color:#0d6efd;font-weight:500;margin-left:8px;background:#e3f2fd;padding:2px 6px;border-radius:4px}.top-performance-content{padding:0}.top-performance-sections{display:grid;grid-template-columns:1fr;gap:30px}.top-performance-section{background:#f8f9fa;border-radius:8px;padding:20px}.top-performance-title{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:18px;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6;padding-bottom:8px}.gender-icon{font-size:20px}.top-performance-list{display:flex;flex-direction:column;gap:0px}.top-performance-item{display:flex;align-items:center;gap:8px;background:#fff;border-radius:6px;padding:6px 8px;border:1px solid #dee2e6;transition:all .15s ease}.top-performance-item:hover{border-color:#007bff;box-shadow:0 2px 8px #007bff1a}.performance-rank{font-size:14px;font-weight:700;color:#007bff;min-width:30px;text-align:center;background:#e3f2fd;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.performance-rank:nth-child(1){color:#ff6b35;background:#fff3e0}.top-performance-item:nth-child(1) .performance-rank{color:#ff6b35;background:#fff3e0}.top-performance-item:nth-child(2) .performance-rank{color:#757575;background:#f5f5f5}.top-performance-item:nth-child(3) .performance-rank{color:#8d6e63;background:#efebe9}.performance-details{flex:1;display:flex;flex-direction:column;gap:2px}.performance-line-1{display:flex;align-items:center;gap:8px}.performance-line-2{display:flex;align-items:center;gap:8px;font-size:13px;color:#6c757d}.performance-line-3{display:flex;align-items:center;gap:4px;font-size:12px;color:#6c757d;font-style:italic;margin-top:2px}.performance-line-3 .event-details{color:#495057}.performance-details .athlete-name{font-size:14px;font-weight:600;color:#495057}.performance-details .athlete-name.clickable{cursor:pointer;color:#007bff;text-decoration:none;transition:color .2s ease}.performance-details .athlete-name.clickable:hover{color:#0056b3;text-decoration:underline}.performance-details .club{font-size:12px;font-weight:600;color:#6c757d;background:#f8f9fa;padding:2px 6px;border-radius:4px}.performance-details .club.club-selected{color:#007bff;background:#e3f2fd}.performance-details .points{font-size:13px;font-weight:700;color:#28a745;margin-left:auto}.performance-details .event-info{font-size:13px;color:#6c757d}.performance-details .swim-time{font-size:13px;font-weight:600;color:#495057;margin-left:auto}.top-performance-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.pagination-info{font-size:14px;color:#6c757d;font-weight:500}.pagination-controls{display:flex;justify-content:center;align-items:center;gap:.5rem;padding:1rem 0}.pagination-btn{background:#007bff;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:#0056b3;transform:translateY(-1px)}.pagination-btn:disabled{background:#e9ecef;color:#6c757d;cursor:not-allowed;transform:none}.pagination-controls-simple{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:1.5rem;padding:12px 16px;background-color:#fafafa;border-top:1px solid #e5e5e5}.pagination-btn-grey{padding:6px 12px;border:1px solid #d1d5db;border-radius:4px;background-color:#fff;color:#374151;font-size:13px;cursor:pointer;transition:background-color .15s ease;font-weight:500}.pagination-btn-grey:hover:not(:disabled){background-color:#6b7280;color:#fff;border-color:#6b7280}.pagination-btn-grey:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed;border-color:#e5e7eb}.pagination-numbers{display:flex;align-items:center;gap:.25rem}.pagination-number{background:transparent;color:#007bff;border:1px solid #dee2e6;padding:.5rem .75rem;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;min-width:40px;transition:all .2s ease}.pagination-number:hover{background:#e3f2fd;border-color:#007bff}.pagination-number.active{background:#007bff;color:#fff;border-color:#007bff}.pagination-ellipsis{color:#6c757d;padding:.5rem .25rem;font-size:14px}@media(max-width:768px){.top-performance-sections{grid-template-columns:1fr;gap:20px}.top-performance-section{padding:16px}.performance-line-1,.performance-line-2,.performance-line-3{flex-wrap:wrap;gap:8px}.performance-details .points,.performance-details .swim-time{margin-left:0}.top-performance-header{flex-direction:column;align-items:flex-start;gap:.5rem}.pagination-controls{flex-direction:column;gap:.75rem}.pagination-numbers{flex-wrap:wrap;justify-content:center}.pagination-btn{padding:.5rem .75rem;font-size:13px}.pagination-number{padding:.4rem .6rem;font-size:13px;min-width:36px}.pagination-controls-simple{flex-direction:row;gap:8px;padding:8px 12px}.pagination-btn-grey{min-width:80px;padding:8px 12px}}.top-score-content{padding:0}.top-score-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid #dee2e6}.top-score-title{display:flex;align-items:center;gap:8px;margin:0;font-size:18px;font-weight:600;color:#495057}.header-toggle-btn{padding:6px 12px;background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;color:#6c757d;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px;outline:none}.header-toggle-btn:hover{background:#e9ecef;border-color:#adb5bd;color:#495057}.header-toggle-btn:focus{outline:none;border-color:#adb5bd;box-shadow:none}.top-score-sections{display:grid;grid-template-columns:1fr;gap:30px}.top-score-section{background:#f8f9fa;border-radius:8px;padding:20px}.score-icon{font-size:20px}.top-score-list{display:flex;flex-direction:column;gap:6px}.top-score-item{display:flex;align-items:center;gap:8px;background:#fff;border-radius:6px;padding:8px;border:1px solid #dee2e6;transition:all .15s ease}.top-score-item:hover{border-color:#007bff;box-shadow:0 2px 8px #007bff1a}.score-rank{font-size:14px;font-weight:700;color:#007bff;min-width:30px;text-align:center;background:#e3f2fd;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.top-score-item:nth-child(1) .score-rank{color:#ff6b35;background:#fff3e0}.top-score-item:nth-child(2) .score-rank{color:#757575;background:#f5f5f5}.top-score-item:nth-child(3) .score-rank{color:#8d6e63;background:#efebe9}.score-details{flex:1;display:flex;flex-direction:column;gap:2px}.score-line-1{display:flex;align-items:center;gap:8px}.score-line-2{display:flex;align-items:center;gap:8px;font-size:13px;color:#6c757d}.score-details .athlete-name{font-size:14px;font-weight:600;color:#495057}.score-details .athlete-name.clickable{cursor:pointer;color:#007bff;text-decoration:none;transition:color .2s ease}.score-details .athlete-name.clickable:hover{color:#0056b3;text-decoration:underline}.score-details .club-name{font-size:14px;font-weight:600;color:#495057}.score-details .club{font-size:12px;font-weight:600;color:#6c757d;background:#f8f9fa;padding:2px 6px;border-radius:4px}.score-details .club.club-selected,.score-details .club-name.club-selected{background:#dc3545!important;color:#fff!important;font-weight:600;padding:2px 6px;border-radius:4px;box-shadow:0 1px 3px #dc35454d}.score-details .total-points{font-size:14px;font-weight:700;color:#28a745;margin-left:auto}.score-details .event-count,.score-details .athlete-count{font-size:13px;color:#6c757d}.score-details .average-points{font-size:13px;font-weight:600;color:#495057;margin-left:auto}@media(max-width:768px){.top-score-sections{gap:20px}.top-score-section{padding:16px}.score-line-1,.score-line-2{flex-wrap:wrap;gap:8px}.score-details .total-points,.score-details .average-points{margin-left:0}.top-score-header{flex-direction:column;align-items:flex-start;gap:8px}.header-toggle-btn{align-self:flex-end}}.dashboard-content{padding:0}.dashboard-main{flex:1;min-width:0}.dashboard-grid{display:grid;grid-template-columns:1fr;gap:24px;max-width:100%;padding:24px 0}.dashboard-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;padding:24px 24px 12px;box-shadow:0 2px 8px #00000014;transition:box-shadow .2s ease}.dashboard-card:hover{box-shadow:0 4px 16px #0000001f}.dashboard-card h3{margin:0 0 20px;color:#212529;font-size:18px;font-weight:600;display:flex;align-items:center;gap:8px}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.stat-item{flex-direction:column;gap:4px}.stat-label{font-size:12px;font-weight:500;color:#6c757d;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:16px;font-weight:600;color:#212529}.quick-stats{display:flex;justify-content:space-between;gap:16px}.quick-stat{text-align:center;flex:1}.quick-stat-number{font-size:32px;font-weight:700;color:#007bff;line-height:1}.quick-stat-label{font-size:12px;color:#6c757d;margin-top:4px;font-weight:500}.activity-list{display:flex;flex-direction:column}.activity-item{display:flex;align-items:center;gap:12px;background:#f8f9fa;border-radius:8px}.activity-icon{font-size:16px}.activity-text{flex:1;font-size:14px;color:#212529}.activity-time{font-size:12px;color:#6c757d}.quick-actions{display:flex;flex-direction:column;gap:12px}.card-placeholder{min-height:120px;display:flex;align-items:center;justify-content:center;color:#6c757d;font-style:italic;border:2px dashed #dee2e6;border-radius:8px;background:#f8f9fa}.card-placeholder:before{content:"Content coming soon..."}.action-button{padding:12px 16px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.action-button.primary{background:#007bff;color:#fff}.action-button.primary:hover{background:#0056b3}.action-button.secondary{background:#f8f9fa;color:#495057;border:1px solid #dee2e6}.action-button.secondary:hover{background:#e9ecef}@media(max-width:768px){.dashboard-grid{grid-template-columns:1fr;gap:16px}.stats-grid{grid-template-columns:1fr;gap:12px}.quick-stats{flex-direction:column;gap:12px}.dashboard-card{padding:20px}}.filter-indicator{font-size:.8em;color:#007bff;font-weight:400;opacity:.8}.teams-table-container{width:100%;height:100%;display:flex;flex-direction:column}.teams-table-wrapper{width:100%;overflow-x:auto;flex:1;max-height:400px;overflow-y:auto}.teams-table{width:100%;border-collapse:collapse;font-size:.8rem;min-width:600px;line-height:1.2}.teams-table th{background:#f8f9fa;color:#495057;font-weight:600;padding:4px 5px;text-align:left;border-bottom:1px solid #dee2e6;position:sticky;top:0;z-index:1;white-space:nowrap;font-size:.75rem;line-height:1.2;vertical-align:middle}.teams-table td{padding:3px 5px;border-bottom:1px solid #e9ecef;white-space:nowrap;line-height:1.2;vertical-align:middle;height:auto}.teams-table tbody tr:hover{background-color:#f8f9fa}.teams-table .rank{text-align:center;font-weight:600;color:#6c757d;min-width:35px;font-size:.75rem}.teams-table .club-name{font-weight:600;color:#007bff;min-width:60px}.teams-table .athlete-count,.teams-table .event-count{text-align:center;font-weight:500}.teams-table .first-places{text-align:center;color:gold;font-weight:600}.teams-table .second-places{text-align:center;color:silver;font-weight:600}.teams-table .third-places{text-align:center;color:#cd7f32;font-weight:600}.teams-table .top-ten,.teams-table .total-points,.teams-table .average-points{text-align:right;font-weight:500}.teams-table .total-points{color:#28a745;font-weight:600}.teams-table .average-points{color:#6c757d}.teams-table tr.club-selected{background-color:#fdf2f2!important;border-left:3px solid #dc3545;color:#495057!important}.teams-table tr.club-selected .club-name{color:#dc3545!important;font-weight:700}.events-section{margin-bottom:2rem}.events-section-header{padding:1rem 1.5rem;background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;font-size:1.1rem;font-weight:600;margin:0 0 1rem;border-radius:8px;box-shadow:0 2px 4px #007bff33;display:flex;align-items:center;gap:.5rem}.events-section-header:before{content:"🏊‍♂️";font-size:1.2rem}.events-section-header.relay-section:before{content:"👥"}.events-section-content{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden}@media(max-width:768px){.teams-table{font-size:.75rem;min-width:500px}.teams-table th,.teams-table td{padding:3px 4px}.teams-table-wrapper,.high-point-table-wrapper{max-height:300px}.high-point-table th,.high-point-table td{padding:4px 3px}.events-section-header{font-size:1rem;padding:.75rem 1rem}}.high-point-table-container{width:100%;height:100%;display:flex;flex-direction:column}.high-point-table-wrapper{width:100%;overflow-x:auto;flex:1;max-height:400px;overflow-y:auto}.high-point-table{width:100%;border-collapse:collapse;font-size:.8rem;min-width:700px;line-height:1.2}.high-point-table th{background:#f8f9fa;color:#495057;font-weight:600;padding:4px 5px;text-align:left;border-bottom:1px solid #dee2e6;position:sticky;top:0;z-index:1;white-space:nowrap;font-size:.75rem;line-height:1.2;vertical-align:middle}.high-point-table td{padding:3px 5px;border-bottom:1px solid #e9ecef;white-space:nowrap;line-height:1.2;vertical-align:middle;height:auto}.high-point-table tbody tr:hover{background-color:#f8f9fa}.high-point-table .rank{text-align:center;font-weight:600;color:#6c757d;min-width:35px;font-size:.75rem}.high-point-table .athlete-info{min-width:140px;vertical-align:middle}.high-point-table .athlete-name{font-weight:500;color:#007bff;font-size:.8rem;line-height:1.2;display:inline-block;vertical-align:middle}.high-point-table .athlete-name.clickable{cursor:pointer;text-decoration:underline}.high-point-table .athlete-name.clickable:hover{color:#0056b3}.high-point-table .gender-indicator{margin-left:3px;padding:1px 3px;font-size:.65rem;border-radius:2px;background:#e9ecef;color:#495057;line-height:1;display:inline-block;vertical-align:middle}.high-point-table .club-code{font-weight:600;color:#007bff;min-width:55px;font-size:.8rem}.high-point-table .event-info{font-size:.75rem;color:#6c757d;min-width:100px;line-height:1.2}.high-point-table .swim-time{font-family:Courier New,monospace;font-weight:500;color:#495057;text-align:center;min-width:75px;font-size:.8rem}.high-point-table .points-value{text-align:right;font-weight:600;color:#28a745;min-width:65px;font-size:.8rem}.high-point-table tr.club-selected{background-color:#fdf2f2!important;border-left:3px solid #dc3545;color:#495057!important}.high-point-table tr.club-selected .club-code{color:#dc3545!important;font-weight:700}.dashboard-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.dashboard-card-header h3{margin:0;flex:1}.view-all-btn{padding:6px 12px;border:1px solid #d1d5db;border-radius:4px;background-color:#fff;color:#374151;font-size:.8rem;cursor:pointer;transition:background-color .15s ease;font-weight:500;white-space:nowrap}.view-all-btn:hover{background-color:#6b7280;color:#fff;border-color:#6b7280}.view-all-btn:active{background-color:#4b5563;border-color:#4b5563}.export-buttons-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding:8px 12px;background-color:#f8f9fa;border-radius:4px;font-size:.8rem}.export-buttons-header .results-count{color:#6c757d;font-weight:500}.export-buttons-header .export-buttons{display:flex;gap:8px}.export-buttons-header .export-btn{padding:4px 8px;border:1px solid #d1d5db;border-radius:3px;background-color:#fff;color:#374151;font-size:.7rem;cursor:pointer;transition:background-color .15s ease;font-weight:500;white-space:nowrap}.export-buttons-header .export-btn:hover{background-color:#6b7280;color:#fff;border-color:#6b7280}.export-buttons-header .export-btn:active{background-color:#4b5563;border-color:#4b5563}.app-container{display:flex;min-height:100vh;background-color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow-x:hidden}.sidebar{position:fixed;top:0;left:0;width:240px;height:100vh;background-color:#fafafa;border-right:1px solid #e5e5e5;display:flex;flex-direction:column;transition:width .3s ease;z-index:1000}.sidebar.collapsed{width:60px}.sidebar.collapsed~.main-content{margin-left:60px}.logo-section{padding:24px 20px;border-bottom:1px solid #e5e5e5;display:flex;align-items:center;justify-content:space-between}.sidebar.collapsed .logo-section{padding:24px 12px;justify-content:center;flex-direction:column;gap:12px}.logo-container{display:flex;align-items:center;gap:12px}.benfica-logo{width:32px;height:32px;flex-shrink:0}.logo-section h1{color:#dc2626;font-size:18px;font-weight:600;margin:0;letter-spacing:-.025em}.sidebar-toggle{width:28px;height:28px;border:none;border-radius:4px;background-color:#f3f4f6;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;font-size:12px;flex-shrink:0}.sidebar-toggle:hover{background-color:#e5e7eb;color:#374151}.sidebar.collapsed .sidebar-toggle{margin-top:8px}.menu{flex:1;padding:8px 0;overflow-y:auto;overflow-x:hidden}.sidebar-footer{border-top:1px solid #e5e5e5;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;background-color:#fafafa}.sidebar.collapsed .sidebar-footer{padding:16px 12px;flex-direction:column;gap:8px}.user-info{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.sidebar.collapsed .user-info{flex-direction:column;gap:0}.user-avatar{width:32px;height:32px;border-radius:50%;background-color:#dc2626;color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0}.user-details{display:flex;flex-direction:column;min-width:0}.user-name{font-size:13px;font-weight:500;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.logout-button{width:32px;height:32px;border:none;border-radius:6px;background-color:#f3f4f6;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;font-size:14px;flex-shrink:0}.logout-button:hover{background-color:#dc2626;color:#fff}.logout-button:focus{outline:2px solid #dc2626;outline-offset:1px}.logout-menu-item{cursor:pointer;color:#6b7280;transition:all .15s ease}.logout-menu-item:hover{background-color:#dc2626;color:#fff}.logout-menu-item:hover .menu-icon{color:#fff}.menu-separator{height:1px;background-color:#e5e7eb;margin:8px 20px}.sidebar.collapsed .menu-separator{margin:8px 12px}.menu-item-container{margin-bottom:0}.menu-item{display:flex;align-items:center;padding:8px 20px;cursor:pointer;transition:background-color .15s ease;color:#374151;font-size:14px;text-decoration:none;position:relative}.sidebar.collapsed .menu-item{padding:12px;justify-content:center}.menu-item:hover{background-color:#f3f4f6}.menu-item.active{background-color:#dc2626;color:#fff}.menu-item.expanded{background-color:#f9fafb}.menu-icon{font-size:16px;margin-right:12px;width:16px;text-align:center;opacity:.7}.sidebar.collapsed .menu-icon{margin-right:0;font-size:18px}.menu-item.active .menu-icon{opacity:1}.menu-text{flex:1;font-weight:500}.submenu-arrow{font-size:10px;transition:transform .2s ease;margin-left:8px;opacity:.5}.submenu-arrow.rotated{transform:rotate(90deg)}.submenu{background-color:#f9fafb;border-left:2px solid #e5e7eb;margin-left:20px}.submenu-item{display:flex;align-items:center;padding:6px 20px;cursor:pointer;transition:background-color .15s ease;color:#6b7280;font-size:13px;text-decoration:none}.submenu-item:hover{background-color:#f3f4f6;color:#374151}.submenu-item.active{background-color:#dc2626;color:#fff}.submenu-item .menu-icon{font-size:14px;margin-right:10px}.main-content{flex:1;display:flex;flex-direction:column;background-color:#fff;min-height:100vh;margin-left:240px;transition:margin-left .3s ease}.content-header{background-color:#fff;padding:24px 32px;border-bottom:1px solid #e5e5e5}.content-header h1{color:#111827;font-size:24px;font-weight:600;margin:0;letter-spacing:-.025em}.content-area{flex:1;padding:0;background-color:#fff;overflow:visible;min-height:calc(100vh - 64px)}.content-area.allow-scroll{overflow:visible;min-height:calc(100vh - 64px)}.content-area h2{color:#111827;margin-bottom:16px;font-size:20px;font-weight:600;letter-spacing:-.025em}.content-area p{color:#6b7280;font-size:14px;line-height:1.5;max-width:600px;margin:0}@media(max-width:768px){.sidebar{width:200px}.sidebar.collapsed{width:60px}.main-content{margin-left:200px}.sidebar.collapsed~.main-content{margin-left:60px}.content-area{padding:0}.content-header{padding:20px 24px}.logo-section{padding:20px 16px}.sidebar.collapsed .logo-section{padding:20px 12px}.menu-item{padding:8px 16px}.sidebar.collapsed .menu-item{padding:12px}.submenu-item{padding:6px 16px}}.pagination-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:8px 0;color:#666;font-size:14px}.export-buttons{display:flex;gap:8px}.export-btn{padding:6px 12px;background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s ease;color:#495057;font-weight:500}.export-btn:hover{background:#e9ecef;border-color:#adb5bd;color:#343a40;transform:translateY(-1px)}.export-btn:active{transform:translateY(0);background:#dee2e6}
