.navbar{background-color:#2c3e50;box-shadow:0 2px 4px #00000026;padding:0 1.5rem;position:sticky;top:0;z-index:100}.navbar-container{height:56px;position:relative}.navbar-brand{font-size:1.2rem;margin-right:1.5rem;white-space:nowrap}.navbar-list{flex:1 1;gap:.25rem}.nav-direct-link{border-radius:6px;color:#ecf0f1;font-size:.9rem;font-weight:600;padding:.5rem .75rem;text-decoration:none;transition:background-color .2s,color .2s;white-space:nowrap}.nav-direct-link:hover{background:#ffffff1f;color:#fff}.nav-direct-link.active{background:#3498db;color:#fff}.nav-dropdown-wrapper{position:relative}.nav-dropdown-trigger{align-items:center;background:none;border:none;border-radius:6px;color:#ecf0f1;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.3rem;height:56px;padding:.5rem .75rem;transition:background-color .2s;white-space:nowrap}.nav-dropdown-trigger:hover{background:#ffffff1f}.nav-dropdown-trigger.active{color:#3498db}.nav-caret{font-size:.6rem;opacity:.7}.nav-dropdown-menu{animation:dropFade .15s ease;background:#fff;border-radius:10px;box-shadow:0 8px 24px #00000026;left:0;min-width:210px;overflow:hidden;position:absolute;top:100%;z-index:200}@keyframes dropFade{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.nav-dropdown-menu .nav-dropdown-item{align-items:center;border-bottom:1px solid #f3f4f6;color:#15803d;display:flex;font-size:.9rem;font-weight:600;gap:.6rem;padding:.7rem 1.1rem;text-decoration:none;transition:background-color .15s}.nav-dropdown-menu .nav-dropdown-item:last-child{border-bottom:none}.nav-dropdown-menu .nav-dropdown-item:hover{background:#f0fdf4;color:#166534}.nav-dropdown-menu .nav-dropdown-item.active{background:#dcfce7;color:#166534;font-weight:700}.dd-icon{font-size:1rem;text-align:center;width:20px}.navbar-right{align-items:center;display:flex;gap:.5rem;margin-left:1rem}.logout-button{font-size:.85rem;padding:.4rem .9rem;white-space:nowrap}.hamburger-button{line-height:1}.mobile-dropdown{box-shadow:0 8px 24px #00000026;left:0;max-height:80vh;overflow-y:auto;top:56px;z-index:200}.mobile-dropdown a,.mobile-dropdown button{box-sizing:border-box;font-size:.95rem;padding:.85rem 1.25rem;transition:background-color .15s}.mobile-dropdown a:hover,.mobile-dropdown button:hover{background:#f9fafb}@media (max-width:900px){.navbar{padding:0 1rem}.navbar-brand{font-size:1rem}.desktop-nav,.desktop-only{display:none}.hamburger-button{display:block}}.navbar-container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1400px}.navbar-brand{color:#ecf0f1;font-size:1.25rem;font-weight:700;text-decoration:none}.navbar-brand:hover{color:#3498db}.navbar-list{align-items:center;display:flex;gap:1.5rem;list-style:none;margin:0;padding:0}.navbar-list li a{color:#ecf0f1;font-size:1rem;font-weight:600;text-decoration:none;transition:color .2s}.navbar-list li a:hover{color:#3498db}.logout-button{background-color:#e74c3c;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:background-color .2s}.logout-button:hover{background-color:#c0392b}.mobile-menu{position:relative}.hamburger-button{background:none;border:none;color:#ecf0f1;cursor:pointer;display:none;font-size:1.5rem;padding:.5rem}.mobile-dropdown{background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;margin-top:1rem;min-width:200px;overflow:hidden;position:absolute;right:0;top:100%;z-index:1000}.mobile-dropdown a,.mobile-dropdown button{background:none;border:none;border-bottom:1px solid #f3f4f6;color:#15803d;cursor:pointer;display:block;font-size:1rem;font-weight:500;padding:1rem 1.25rem;text-align:left;text-decoration:none;transition:background-color .2s;width:100%}.mobile-dropdown a:hover,.mobile-dropdown button:hover{background-color:#f9fafb}.mobile-dropdown button.logout-dropdown{border-bottom:none;color:#e74c3c;font-weight:600}.desktop-only{display:inline-block}@media (max-width:768px){.navbar{padding:.75rem 1rem}.navbar-brand{font-size:1rem}.desktop-nav,.desktop-only{display:none}.hamburger-button{display:block}}.mobile-dropdown .mobile-section{border-top:1px solid #ffffff14;color:#94a3b8;font-size:.72rem;font-weight:800;letter-spacing:.06em;margin-top:4px;padding:14px 4px 4px;text-transform:uppercase}.mobile-dropdown .mobile-section:first-child{border-top:none;margin-top:0}.notification-center{display:inline-block;position:relative}.notification-bell{align-items:center;background:none;border:none;border-radius:8px;cursor:pointer;display:flex;padding:6px 8px;position:relative;transition:background .2s}.notification-bell:hover{background:#ffffff26}.bell-icon{font-size:1.3rem;line-height:1}.bell-badge{align-items:center;background:#e74c3c;border-radius:8px;color:#fff;display:flex;font-size:.65rem;font-weight:700;height:16px;justify-content:center;line-height:1;min-width:16px;padding:0 3px;position:absolute;right:0;top:0}.notification-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 8px 32px #00000026;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);width:340px;z-index:2000}@media (max-width:400px){.notification-dropdown{right:-8px;width:calc(100vw - 24px)}}.notification-dropdown-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:14px 16px 12px}.dropdown-title{color:#1a3a5c;font-size:1rem;font-weight:700}.mark-all-btn{background:none;border:none;color:#1a5276;cursor:pointer;font-size:.82rem;text-decoration:underline}.notification-list{max-height:380px;overflow-y:auto}.notif-empty{color:#aaa;font-size:.9rem;padding:32px 16px;text-align:center}.notif-item{align-items:flex-start;border-bottom:1px solid #f5f5f5;cursor:pointer;display:flex;gap:10px;padding:12px 14px;position:relative;transition:background .15s}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:#f9f9f9}.notif-item.unread{background:#eaf2ff}.notif-item.unread:hover{background:#daeaf8}.notif-icon{flex-shrink:0;font-size:1.2rem;margin-top:1px}.notif-content{flex:1 1;min-width:0}.notif-title{color:#1a3a5c;font-size:.88rem;font-weight:600}.notif-message{color:#666;font-size:.82rem;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-time{color:#aaa;font-size:.75rem;margin-top:3px}.notif-delete{background:none;border:none;border-radius:4px;color:#bbb;cursor:pointer;flex-shrink:0;font-size:1.1rem;line-height:1;margin-top:-2px;padding:2px 4px}.notif-delete:hover{background:#fdecea;color:#e74c3c}.notification-dropdown-footer{border-top:1px solid #f0f0f0;padding:12px 16px;text-align:center}.notification-dropdown-footer a{color:#1a5276;font-size:.88rem;font-weight:500;text-decoration:none}.notification-dropdown-footer a:hover{text-decoration:underline}.notif-item.clickable{cursor:pointer}.notif-item.clickable:hover{background:#f8fafc}.enhanced-video-player-v2{display:flex;flex-direction:column;gap:.75rem;width:100%}.video-container{background:#000;border-radius:8px;overflow:hidden;position:relative;width:100%}.video-element{display:block;height:auto;width:100%}.drawing-canvas{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.drawing-canvas.drawing-active{cursor:crosshair;pointer-events:all}.text-input-popup{background:#fff;border:2px solid #2196f3;border-radius:8px;box-shadow:0 4px 12px #0000004d;display:flex;gap:.5rem;padding:.5rem;position:fixed;z-index:1000}.text-input-popup input{border:1px solid #ddd;border-radius:4px;font-size:14px;min-width:250px;padding:.5rem}.text-input-popup input:focus{border-color:#2196f3;outline:none}.text-input-popup button{border:none;border-radius:4px;cursor:pointer;font-size:16px;font-weight:700;padding:.5rem .75rem;transition:all .2s}.text-input-popup button:first-of-type{background:#4caf50;color:#fff}.text-input-popup button:first-of-type:hover{background:#388e3c}.text-input-popup button:last-of-type{background:#f44336;color:#fff}.text-input-popup button:last-of-type:hover{background:#d32f2f}.video-controls{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;display:flex;flex-direction:column;gap:.75rem;padding:1rem}.controls-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.control-btn{background:#fff;border:1px solid #d0d0d0;border-radius:6px;cursor:pointer;font-size:14px;padding:.5rem 1rem;transition:all .2s;white-space:nowrap}.control-btn:hover:not(:disabled){background:#f0f0f0;border-color:#999}.control-btn:active:not(:disabled){transform:scale(.98)}.control-btn:disabled{cursor:not-allowed;opacity:.4}.control-btn.active{background:#2196f3;border-color:#1976d2;color:#fff}.play-pause-btn{font-size:18px;font-weight:700;min-width:60px}.time-display{background:#fff;border:1px solid #d0d0d0;border-radius:6px;color:#333;font-family:Monaco,Courier New,monospace;font-size:14px;padding:.5rem 1rem}.seek-slider{appearance:none;background:#ddd;border-radius:3px;cursor:pointer;flex:1 1;height:6px;outline:none}.seek-slider::-webkit-slider-thumb{appearance:none;background:#2196f3;border-radius:50%;cursor:pointer;height:16px;-webkit-transition:all .2s;transition:all .2s;width:16px}.seek-slider::-webkit-slider-thumb:hover{background:#1976d2;transform:scale(1.2)}.seek-slider::-moz-range-thumb{background:#2196f3;border:none;border-radius:50%;cursor:pointer;height:16px;-moz-transition:all .2s;transition:all .2s;width:16px}.seek-slider::-moz-range-thumb:hover{background:#1976d2;transform:scale(1.2)}.speed-controls{background:#fff;border:1px solid #d0d0d0;border-radius:6px;padding:.5rem}.control-label{color:#555;font-size:13px;font-weight:600;margin-right:.5rem}.speed-btn{background:#fff;border:1px solid #d0d0d0;border-radius:4px;cursor:pointer;font-size:13px;padding:.4rem .8rem;transition:all .2s}.speed-btn:hover{background:#f0f0f0}.speed-btn.active{background:#4caf50;border-color:#388e3c;color:#fff;font-weight:700}.tool-controls{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;padding:.75rem}.tool-controls .control-label{color:#fff}.draw-toggle{font-weight:600}.draw-toggle.active{background:#ff9800;border-color:#f57c00;color:#fff}.tool-btn{background:#fff;border:1px solid #d0d0d0;border-radius:4px;cursor:pointer;font-size:13px;padding:.5rem .75rem;transition:all .2s;white-space:nowrap}.tool-btn:hover{background:#f0f0f0;border-color:#999}.tool-btn.active{background:#ff9800;border-color:#f57c00;box-shadow:0 2px 8px #ff980066;color:#fff;font-weight:700}.drawing-options{background:#fff3cd;border:1px solid #ffc107;border-radius:6px;padding:.75rem}.color-picker-wrapper{align-items:center;display:flex;gap:.5rem}.color-picker{border:1px solid #d0d0d0;border-radius:4px;cursor:pointer;height:35px;width:50px}.line-width-wrapper{align-items:center;display:flex;gap:.5rem}.line-width-select{background:#fff;border:1px solid #d0d0d0;border-radius:4px;cursor:pointer;font-size:13px;padding:.4rem .6rem}.clear-btn{background:#f44336;border-color:#d32f2f;color:#fff}.clear-btn:hover:not(:disabled){background:#d32f2f}.save-btn{background:#4caf50;border-color:#388e3c;color:#fff;font-weight:700}.save-btn:hover:not(:disabled){background:#388e3c}.drawing-tip{background:linear-gradient(135deg,#ffeaa7,#fdcb6e);border:2px solid #fdcb6e;border-radius:6px;color:#333;font-size:14px;padding:.75rem}.drawing-tip strong{color:#e17055}.annotation-list{background:#fff;border:2px solid #2196f3;border-radius:6px;display:flex;flex-direction:column;max-height:300px;overflow:hidden}.annotation-list-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;font-size:15px;justify-content:space-between;padding:.75rem}.annotation-list-header button{background:#fff3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;padding:.25rem .5rem;transition:all .2s}.annotation-list-header button:hover{background:#ffffff4d}.annotation-items{max-height:250px;overflow-y:auto}.annotation-item{align-items:center;border-bottom:1px solid #e0e0e0;cursor:pointer;display:flex;gap:.75rem;padding:.75rem;transition:all .2s}.annotation-item:hover{background:#f5f5f5}.annotation-item:last-child{border-bottom:none}.annotation-time{color:#2196f3;font-family:Monaco,Courier New,monospace;font-size:13px;font-weight:700;min-width:60px}.annotation-type{color:#333;flex:1 1;font-size:14px}.annotation-color{border:2px solid #ddd;border-radius:50%;height:20px;width:20px}@media (max-width:768px){.controls-row{align-items:stretch;flex-direction:column}.control-btn{width:100%}.tool-controls{align-items:stretch;flex-direction:column}.tool-btn{width:100%}}.video-recorder-container{margin:0 auto;max-width:1400px;padding:1rem}.video-recorder-title{font-size:1.5rem;font-weight:600;margin-bottom:1rem;text-align:center}.athlete-select-wrapper{margin:0 auto 1rem;max-width:720px;width:100%}.athlete-select-label{display:block;font-size:1rem;font-weight:700;margin-bottom:.5rem}.athlete-select{border:1px solid #ccc;font-size:1rem;min-height:48px;padding:.75rem}.toggle-container{background:#f0f9ff;border:1px solid #bfdbfe;border-radius:8px;margin:0 auto 1rem;max-width:720px;padding:1rem;width:100%}.toggle-label{align-items:center;cursor:pointer;display:flex;gap:.75rem}.toggle-checkbox{cursor:pointer;height:24px;width:24px}.toggle-text{color:#1e40af;font-size:1rem;font-weight:700}.toggle-description{color:#555;font-size:.875rem;margin:.5rem 0 0 2.5rem}.classification-modal{background-color:#fff;bottom:0;display:flex;flex-direction:column;left:0;overflow:hidden;position:fixed;right:0;top:0;z-index:100}.classification-header{background:#f9fafb;border-bottom:2px solid #e5e7eb;flex-shrink:0;padding:1rem}.back-button{background-color:#6c757d;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;min-height:48px;padding:.75rem 1.5rem}.back-button:active{background-color:#5a6268}.classification-content{-webkit-overflow-scrolling:touch;flex:1 1;overflow-y:auto;padding:1rem}.classification-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1rem}.pose-section,.video-section{background:#fafafa;border:1px solid #e5e7eb;border-radius:8px;padding:1rem}.pose-section h3,.video-section h3{font-size:1.125rem;margin-bottom:1rem;margin-top:0}.video-section video{background:#000;border-radius:8px;height:auto;width:100%}.classification-form{background:#fafafa;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.classification-form h3{color:#1f2937;font-size:1.25rem;margin-bottom:1.5rem;margin-top:0}.ai-prediction-box{background:#e7f3ff;border:1px solid #bfdbfe;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.form-section{margin-bottom:2rem}.form-section-title{align-items:center;color:#374151;display:flex;font-size:1.125rem;font-weight:700;gap:.5rem;margin-bottom:1rem}.button-group{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr)}.quick-classify-button{align-items:center;background:#fff;border:2px solid #d1d5db;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;font-size:1.125rem;font-weight:600;gap:.5rem;min-height:80px;padding:1.25rem;text-align:center;transition:all .2s}.quick-classify-button .icon{font-size:1.75rem}.quick-classify-button:hover{background:#f9fafb;border-color:#9ca3af}.quick-classify-button.selected{background:#eff6ff;border-color:#3b82f6;border-width:3px;color:#1e40af}.quick-classify-button:active{transform:scale(.98)}.save-button{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:12px;box-shadow:0 4px 6px #10b98133;color:#fff;cursor:pointer;font-size:1.25rem;font-weight:700;min-height:56px;padding:1rem 2rem;transition:all .2s;width:100%}.save-button:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 6px 8px #10b9814d}.save-button:active{transform:scale(.98)}.save-button:disabled{background:#d1d5db;box-shadow:none;cursor:not-allowed}.enhanced-fields{border-top:2px solid #e5e7eb;margin-top:2rem;padding-top:1.5rem}.toggle-advanced-btn{align-items:center;background:#f3f4f6;border:2px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.75rem 1rem;text-align:left;transition:all .2s;width:100%}.toggle-advanced-btn:hover{background:#e5e7eb;border-color:#3b82f6}.advanced-fields-container{grid-gap:1.5rem;background:#f9fafb;border-radius:8px;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:1.5rem;padding:1.5rem}.field-group{display:flex;flex-direction:column;gap:.5rem}.field-group label{color:#374151;font-size:.875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.select-input,.text-input{background:#fff;border:2px solid #d1d5db;border-radius:6px;font-size:1rem;padding:.75rem;transition:border-color .2s}.select-input:focus,.text-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.textarea-input{background:#fff;border:2px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:1rem;padding:.75rem;resize:vertical;transition:border-color .2s}.textarea-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.field-group small{color:#6b7280;font-size:.75rem;font-style:italic}.classification-success{margin:0 auto;max-width:600px;padding:4rem 2rem;text-align:center}.success-icon{animation:bounce .6s ease-in-out;font-size:5rem;margin-bottom:1.5rem}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.classification-success h2{color:#111827;font-size:2rem;font-weight:700;margin-bottom:.75rem}.classification-success p{color:#6b7280;font-size:1.125rem;margin-bottom:2rem}.success-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.primary-button{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:12px;box-shadow:0 4px 6px #3b82f64d;color:#fff;cursor:pointer;font-size:1.125rem;font-weight:600;min-width:200px;padding:1rem 2rem;transition:all .2s}.primary-button:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 6px 8px #3b82f666;transform:translateY(-2px)}.secondary-button{background:#fff;border:2px solid #3b82f6;border-radius:12px;color:#3b82f6;cursor:pointer;font-size:1.125rem;font-weight:600;min-width:200px;padding:1rem 2rem;transition:all .2s}.secondary-button:hover{background:#eff6ff;transform:translateY(-2px)}@media (max-width:768px){.classification-grid{grid-template-columns:1fr}.classification-content,.classification-header,.pose-section,.video-section{padding:.75rem}.classification-form{padding:1rem}.quick-classify-button{font-size:1rem;min-height:72px;padding:1rem}.quick-classify-button .icon{font-size:1.5rem}.form-section-title{font-size:1rem}.save-button{font-size:1.125rem;padding:.875rem 1.5rem}.video-recorder-title{font-size:1.25rem}}@media (max-width:480px){.video-recorder-container{padding:.5rem}.button-group{gap:.5rem;grid-template-columns:1fr}.quick-classify-button{flex-direction:row;justify-content:center;min-height:60px;padding:.875rem}.classification-form{padding:.75rem}.form-section{margin-bottom:1.5rem}}.camera-preview-wrapper{margin:0 auto;max-width:720px;width:100%}.camera-preview{background:#000;border:2px solid #e5e7eb;border-radius:12px;height:auto;min-height:300px;width:100%}.camera-controls{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1rem}.control-button{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;min-height:48px;min-width:120px;padding:.875rem 1.75rem;transition:all .2s}.control-button-primary{background:#3b82f6;color:#fff}.control-button-primary:hover{background:#2563eb}.control-button-success{background:#10b981;color:#fff}.control-button-success:hover{background:#059669}.control-button-danger{background:#ef4444;color:#fff}.control-button-danger:hover{background:#dc2626}.control-button:active{transform:scale(.98)}.control-button:disabled{background:#d1d5db;cursor:not-allowed;opacity:.6}.video-list-wrapper{margin-left:auto;margin-right:auto;margin-top:2rem;max-width:720px}.video-list-title{font-size:1.25rem;font-weight:600;margin-bottom:1rem}.video-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:.75rem;padding:1rem}.mode-toggle-wrapper{background:#f3f4f6;border-radius:12px;display:flex;gap:.5rem;margin:0 auto 1.5rem;max-width:720px;padding:.5rem}.mode-toggle-btn{background:#0000;border:none;border-radius:8px;color:#6b7280;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:.75rem 1rem;transition:all .2s}.mode-toggle-btn.active{background:#fff;box-shadow:0 2px 4px #0000001a;color:#3b82f6}.session-start-card{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:2px dashed #3b82f6;border-radius:12px;margin:0 auto 1.5rem;max-width:720px;padding:2rem;text-align:center}.session-start-card h3{color:#1e40af;font-size:1.25rem;margin-bottom:.5rem}.session-start-card p{color:#6b7280;margin-bottom:1.5rem}.start-session-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:12px;box-shadow:0 4px 6px #3b82f64d;color:#fff;cursor:pointer;font-size:1.125rem;font-weight:600;padding:1rem 2rem;transition:all .2s}.start-session-btn:hover{box-shadow:0 6px 8px #3b82f666;transform:translateY(-2px)}.session-active-header{align-items:center;background:#f0fdf4;border:2px solid #10b981;border-radius:12px;display:flex;justify-content:space-between;margin:0 auto 1.5rem;max-width:720px;padding:1rem}.session-info{align-items:center;display:flex;gap:1rem}.session-badge{background:#10b981;border-radius:8px;color:#fff;font-size:.875rem;font-weight:600;padding:.5rem 1rem}.session-athletes-count{color:#6b7280;font-weight:500}.end-session-btn{background:#fff;border:2px solid #ef4444;border-radius:8px;color:#ef4444;cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:all .2s}.end-session-btn:hover{background:#ef4444;color:#fff}.roster-select-modal{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.roster-select-content{background:#fff;border-radius:16px;max-height:80vh;max-width:500px;overflow-y:auto;padding:2rem;width:100%}.roster-select-content h3{font-size:1.5rem;margin-bottom:.5rem}.roster-select-content p{color:#6b7280;margin-bottom:1.5rem}.roster-actions{display:flex;gap:.5rem;margin-bottom:1rem}.roster-action-btn{background:#f3f4f6;border:none;border-radius:6px;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:background .2s}.roster-action-btn:hover{background:#e5e7eb}.roster-list{border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1.5rem;max-height:300px;overflow-y:auto;padding:.5rem}.roster-item{align-items:center;border-radius:6px;cursor:pointer;display:flex;padding:.75rem;transition:background .2s}.roster-item:hover{background:#f9fafb}.roster-item input[type=checkbox]{cursor:pointer;height:20px;margin-right:1rem;width:20px}.roster-item-name{font-weight:500}.roster-confirm{display:flex;gap:.5rem}.roster-confirm-btn{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.roster-confirm-btn:disabled{background:#d1d5db;cursor:not-allowed}.roster-confirm-btn:not(:disabled):hover{box-shadow:0 4px 6px #10b9814d;transform:translateY(-2px)}.roster-cancel-btn{background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.roster-cancel-btn:hover{border-color:#9ca3af}.athlete-cards-container{margin:0 auto 1.5rem;max-width:1200px}.athlete-cards-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.athlete-card{background:#fff;border:3px solid #e5e7eb;border-radius:12px;padding:1.5rem 1rem;position:relative;text-align:center;transition:all .2s}.athlete-card:hover{border-color:#3b82f6;box-shadow:0 8px 16px #3b82f633;transform:translateY(-4px)}.athlete-card.selected{background:#eff6ff;border-color:#3b82f6;box-shadow:0 4px 12px #3b82f64d}.athlete-card-photo{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:50%;box-shadow:0 4px 6px #3b82f64d;color:#fff;display:flex;font-size:2rem;font-weight:700;height:80px;justify-content:center;margin:0 auto 1rem;width:80px}.athlete-card-info{margin-bottom:.5rem}.athlete-card-name{color:#111827;font-size:1.125rem;font-weight:600;margin-bottom:.25rem}.athlete-card-count{color:#6b7280;font-size:.875rem}.athlete-card-badge{align-items:center;background:#ef4444;border-radius:50%;box-shadow:0 2px 4px #ef44444d;color:#fff;display:flex;font-size:.875rem;font-weight:700;height:32px;justify-content:center;position:absolute;right:10px;top:10px;width:32px}.quick-save-notification{animation:slideDown .3s ease-out;background:#10b981;border-radius:12px;box-shadow:0 4px 12px #10b98166;color:#fff;font-size:1.125rem;font-weight:600;left:50%;padding:1rem 2rem;position:fixed;top:80px;transform:translateX(-50%);z-index:1000}@keyframes slideDown{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}@media (max-width:480px){.camera-controls{align-items:stretch;flex-direction:column}.control-button{width:100%}.athlete-cards-grid{gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.athlete-card{padding:1rem .75rem}.athlete-card-photo{font-size:1.5rem;height:60px;width:60px}.mode-toggle-wrapper{flex-direction:column}}.training-stats-container{font-family:Arial,sans-serif;padding:20px}.stats-filters{grid-gap:15px;background:#f5f5f5;border-radius:8px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px;padding:15px}.stats-table{background:#fff!important;border:4px solid #1e40af!important;border-collapse:collapse;border-radius:12px;box-shadow:0 10px 30px #00000040!important;overflow:hidden;width:100%}.stats-table th,.stats-table thead tr{background:#1e40af!important;color:#fff!important}.stats-table th{border-bottom:4px solid #1e3a8a!important;border-right:2px solid #60a5fa!important;font-size:18px!important;font-weight:900!important;letter-spacing:1.2px!important;padding:18px 14px!important;text-align:center!important;text-transform:uppercase!important}.stats-table th:first-child{background:#1e40af!important;color:#fff!important;font-size:17px!important;text-align:left!important}.stats-table th.total-column{background:#b91c1c!important;border-left:4px solid #7f1d1d!important;color:#fff!important;font-size:19px!important;text-align:center!important}.stats-table tbody tr:nth-child(odd){background:#fff}.stats-table tbody tr:nth-child(2n){background:#f8fafc}.stats-table tbody tr:hover{background:#dbeafe;transform:scale(1.01);transition:background .2s ease}.stats-table tbody tr{border-bottom:2px solid #d1d5db}.stats-table td{border-right:2px solid #e5e7eb;padding:16px 12px}.stats-table td.date-column{background:#f3f4f6;border-right:3px solid #9ca3af;color:#111827;font-size:16px;font-weight:800}.stats-table td.event-column{text-align:center}.stats-table td.total-column{background:#fee2e2;border-left:3px solid #fca5a5;color:#dc2626;font-size:22px;font-weight:800;text-align:center}.landing-count{color:#111827;font-size:24px;font-weight:800}.routine-count{color:#374151;font-size:13px;font-weight:600;margin-top:4px}.empty-cell{color:#d1d5db;font-size:18px}button{border:none;border-radius:4px;cursor:pointer;font-weight:700;padding:8px 16px;transition:background .3s ease}button:hover{opacity:.9}.pt-page{padding:4px 2px 40px}.pt-bar{gap:10px;justify-content:space-between;margin-bottom:16px}.pt-bar,.pt-bar-left{align-items:center;display:flex;flex-wrap:wrap}.pt-bar-left{gap:16px}.pt-date{align-items:center;color:#4a5568;display:flex;font-size:.9rem;font-weight:700;gap:8px}.pt-date input{border:2px solid #e4e7ef;border-radius:9px;font-size:.9rem;padding:8px 10px}.pt-total{background:#eef1ff;border-radius:20px;color:#4059d0;font-size:.95rem;font-weight:800;padding:6px 14px}.pt-hint{color:#8891a5;font-size:.85rem;margin:0}.pt-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.pt-tile{align-items:center;background:#fff;border:2px solid #e8eaf1;border-radius:16px;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:18px 12px;position:relative;transition:transform .12s,box-shadow .12s,border-color .12s}.pt-tile:hover{border-color:#c2cffb;box-shadow:0 6px 18px #0000001a;transform:translateY(-2px)}.pt-tile:active{transform:scale(.97)}.pt-tile.has{border-color:#667eea}.pt-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;font-size:1rem;font-weight:800;height:46px;justify-content:center;width:46px}.pt-avatar.big{font-size:1.2rem;height:56px;width:56px}.pt-name{color:#1a1f36;font-size:.95rem;font-weight:700;line-height:1.15;text-align:center}.pt-count{align-items:center;background:#667eea;border-radius:20px;color:#fff;display:flex;font-size:.85rem;font-weight:800;height:26px;justify-content:center;min-width:26px;padding:0 7px;position:absolute;right:10px;top:8px}.pt-tile:not(.has) .pt-count{background:#e4e7ef;color:#9aa2b4}.pt-recent{background:#fff;border:1px solid #eef0f5;border-radius:14px;margin-top:22px;padding:14px 16px}.pt-recent-title{color:#8891a5;font-size:.75rem;font-weight:800;letter-spacing:.4px;margin-bottom:8px;text-transform:uppercase}.pt-recent-list{display:flex;flex-direction:column;gap:4px;max-height:220px;overflow-y:auto}.pt-recent-item{align-items:center;border-bottom:1px solid #f5f6fa;color:#33384d;display:flex;font-size:.9rem;justify-content:space-between;padding:6px 4px}.pt-undo{background:#0000;border:none;color:#c0392b;cursor:pointer;font-size:.85rem;opacity:.5}.pt-undo:hover{opacity:1}.pt-overlay{align-items:center;background:#14162880;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:3000}.pt-panel{background:#fff;border-radius:20px;box-shadow:0 24px 70px #00000059;padding:22px;width:min(440px,96vw)}.pt-panel-head{justify-content:space-between;margin-bottom:18px}.pt-panel-head,.pt-panel-who{align-items:center;display:flex}.pt-panel-who{gap:12px}.pt-panel-name{color:#1a1f36;font-size:1.2rem;font-weight:800}.pt-panel-count{color:#667eea;font-size:.9rem;font-weight:700}.pt-close{background:#f0f0f5;border:none;border-radius:50%;color:#666;cursor:pointer;font-size:.95rem;height:34px;width:34px}.pt-section-label{color:#8891a5;font-size:.78rem;font-weight:800;letter-spacing:.4px;margin:14px 0 8px;text-transform:uppercase}.pt-chips{display:flex;flex-wrap:wrap;gap:8px}.pt-chip{background:#fff;border:2px solid #e4e7ef;border-radius:30px;color:#4a5568;cursor:pointer;font-size:.9rem;font-weight:700;padding:9px 14px}.pt-chip:hover{border-color:#c2cffb}.pt-chip.on{background:#667eea;border-color:#667eea;color:#fff}.pt-custom{border:2px solid #e4e7ef;border-radius:10px;box-sizing:border-box;font-size:.95rem;margin-top:10px;padding:11px 13px;width:100%}.pt-custom:focus{border-color:#667eea;outline:none}.pt-add{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:14px;box-shadow:0 6px 18px #667eea66;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:800;margin-top:16px;padding:15px;width:100%}.pt-add:active{transform:scale(.98)}.pt-panel-hint{color:#9aa2b4;font-size:.8rem;margin:10px 0 0;text-align:center}.pt-empty,.pt-loading{color:#8891a5;padding:40px;text-align:center}@media (max-width:560px){.pt-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}.pt-bar-right{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.pt-tool{background:#fff;border:1px solid #dfe3ee;border-radius:8px;color:#4a5568;cursor:pointer;font-size:.82rem;font-weight:700;padding:7px 12px}.pt-tool:hover{border-color:#4f46e5;color:#4f46e5}.as-wrap{margin:0 auto;max-width:760px;padding:20px 16px 60px}.as-empty{color:#7a8296;font-size:.92rem;padding:16px 0;text-align:center}.as-head{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:16px}.as-head h1{color:#1a1f36;font-size:1.6rem;margin:0}.as-range{border:1px solid #dfe3ee;border-radius:8px;display:inline-flex;overflow:hidden}.as-range button{background:#fff;border:none;color:#7a8296;cursor:pointer;font-size:.84rem;font-weight:700;padding:7px 14px}.as-range button.on{background:#4f46e5;color:#fff}.as-card{background:#fff;border:1px solid #eceef5;border-radius:14px;box-shadow:0 1px 6px #0000000a;margin-bottom:14px;padding:18px}.as-card-head{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:14px}.as-card-head h2{color:#1a1f36;font-size:1.05rem;margin:0}.as-total{color:#4f46e5;font-size:1.6rem;font-weight:800}.as-total small{color:#98a;font-size:.75rem;font-weight:600}.as-bars{display:flex;flex-direction:column;gap:10px}.as-bar-row{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:64px 1fr 40px}.as-bar-label{color:#55607a;font-size:.84rem;font-weight:700}.as-bar-track{background:#eef1f6;border-radius:6px;height:18px;overflow:hidden}.as-bar-fill{background:#4f46e5;border-radius:6px;height:100%;min-width:4px}.as-bar-val{color:#33384d;font-size:.86rem;font-weight:800;text-align:right}.as-trend{border-top:1px solid #f0f2f7;margin-top:18px;padding-top:14px}.as-trend-title{color:#7a8296;font-size:.76rem;font-weight:700;letter-spacing:.03em;margin-bottom:8px;text-transform:uppercase}.as-spark{gap:3px;height:60px}.as-spark,.as-spark-col{align-items:flex-end;display:flex}.as-spark-col{flex:1 1;height:100%;min-width:3px}.as-spark-bar{background:#c7d2fe;border-radius:3px 3px 0 0;width:100%}.as-spark-col:hover .as-spark-bar{background:#4f46e5}.as-table-wrap{overflow-x:auto}.as-table{border-collapse:collapse;font-size:.88rem;width:100%}.as-table th{border-bottom:2px solid #eef0f5;color:#95a5a6;font-size:.72rem;letter-spacing:.03em;padding:9px 10px;text-align:left;text-transform:uppercase;white-space:nowrap}.as-table td.num,.as-table th.num{text-align:right}.as-table td{border-top:1px solid #f0f3f5;color:#33384d;padding:9px 10px}.as-table td strong{color:#1a1f36}.stats-container{background:#f9fafb;margin:0 auto;max-width:1400px;min-height:100vh;padding:1.5rem 1.5rem 80px}.stats-header{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:2rem;padding:1.5rem}.stats-header h1{color:#111827;font-size:2rem;font-weight:800;margin:0 0 .5rem}.stats-header p{color:#6b7280;font-size:1rem;margin:0}.stats-tabs{-webkit-overflow-scrolling:touch;background:#fff;border-bottom:3px solid #e5e7eb;border-radius:12px 12px 0 0;box-shadow:0 2px 8px #00000014;display:flex;gap:.5rem;margin-bottom:2rem;overflow-x:auto;padding:.5rem 1rem 0}.stats-tab{background:none;border:none;border-bottom:4px solid #0000;border-radius:8px 8px 0 0;color:#6b7280;cursor:pointer;font-size:1rem;font-weight:700;padding:.75rem 1.5rem;transition:all .2s;white-space:nowrap}.stats-tab:hover{background:#f3f4f6;color:#3b82f6}.stats-tab.active{background:#eff6ff;border-bottom-color:#3b82f6;color:#3b82f6;font-weight:800}.stats-content{background:#fff;border:1px solid #e5e7eb;border-radius:0 0 12px 12px;box-shadow:0 4px 16px #0000001f;padding:1.5rem}.coming-soon{color:#6b7280;padding:4rem 2rem;text-align:center}.coming-soon h2{color:#111827;font-size:1.5rem;font-weight:700;margin-bottom:.5rem}@media (max-width:768px){.stats-container{padding:1rem}.stats-header h1{font-size:1.5rem}.stats-tab{font-size:.875rem;padding:.5rem 1rem}.stats-content{padding:1rem}}.ro-wrap{margin:0 auto;max-width:1200px;padding:24px 16px 64px}.ro-empty,.ro-loading{color:#7f8c8d;padding:40px;text-align:center}.ro-head{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.ro-head h1{color:#2c3e50;font-size:1.6rem;margin:0}.ro-head-actions{align-items:center;display:flex;gap:10px}.ro-viewtoggle{border:1px solid #dfe4ea;border-radius:8px;display:inline-flex;overflow:hidden}.ro-viewtoggle button{background:#fff;border:none;color:#7f8c8d;cursor:pointer;font-size:.88rem;font-weight:600;padding:7px 14px}.ro-viewtoggle button.active{background:#2980b9;color:#fff}.ro-btn{background:#fff;border:1px solid #dfe4ea;border-radius:8px;color:#2c3e50;cursor:pointer;font-size:.88rem;font-weight:600;padding:8px 14px}.ro-btn.primary{background:#2980b9;border-color:#2980b9;color:#fff}.ro-btn.ghost{color:#2980b9}.ro-btn:disabled{cursor:default;opacity:.55}.ro-tiles{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));margin-bottom:18px}.ro-tile{background:#fff;border:1px solid #ecf0f1;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:12px 14px;text-align:left;transition:border-color .15s,box-shadow .15s}.ro-tile:hover{border-color:#cbd6e0}.ro-tile.active{border-color:#2980b9;box-shadow:inset 0 0 0 1px #2980b9}.ro-tile.bad{background:#fdf1f0}.ro-tile.warn{background:#fef8ec}.ro-tile-v{color:#2c3e50;font-size:1.35rem;font-weight:700}.ro-tile-l{color:#7f8c8d;font-size:.78rem}.ro-controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px}.ro-search{border:1px solid #dfe4ea;border-radius:8px;flex:1 1 240px;font-size:.9rem;max-width:320px;padding:9px 12px}.ro-bulk{align-items:center;display:flex;gap:10px}.ro-count{color:#95a5a6;font-size:.82rem}.ro-table-wrap{border:1px solid #ecf0f1;border-radius:10px;overflow-x:auto}.ro-table{border-collapse:collapse;font-size:.88rem;width:100%}.ro-table thead{background:#f8fafb}.ro-table th{color:#95a5a6;font-size:.74rem;letter-spacing:.03em;padding:10px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}.ro-table td{border-top:1px solid #f0f3f5;padding:10px 12px;vertical-align:middle}.ro-table tr.inactive{opacity:.55}.ro-name{color:#2980b9;cursor:pointer;font-weight:600;white-space:nowrap}.ro-name:hover{text-decoration:underline}.ro-inactive-tag{color:#95a5a6;font-size:.68rem;font-weight:500;margin-left:6px}.ro-muted{color:#b2bec3}.ro-due{color:#c0392b;font-weight:600}.ro-badge{border-radius:999px;display:inline-block;font-size:.76rem;font-weight:600;padding:2px 8px;white-space:nowrap}.ro-badge.good{background:#e8f8f0;color:#1e8449}.ro-badge.bad{background:#fdecea;color:#c0392b}.ro-badge.warn{background:#fef5e6;color:#b9770e}.ro-actions{text-align:right;white-space:nowrap}.ro-mini{background:#fff;border:1px solid #dfe4ea;border-radius:6px;color:#2c3e50;cursor:pointer;font-size:.78rem;font-weight:600;margin-left:6px;padding:4px 9px}.ro-mini.ghost{color:#7f8c8d}.ro-mini.danger{border-color:#f5c6c0;color:#c0392b}.ro-mini:disabled{cursor:default;opacity:.5}.ro-routine{background:#fff;border:1px solid #ecf0f1;border-radius:10px;margin-top:20px;padding:16px}.ro-routine-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.ro-routine-head h3{color:#2c3e50;font-size:1rem;margin:0}@media (max-width:600px){.ro-head h1{font-size:1.35rem}.ro-tile-v{font-size:1.15rem}}.ro-waiver-view{background:none;border:none;cursor:pointer;font-size:.9rem;margin-left:4px;opacity:.75;padding:0 2px}.ro-waiver-view:hover{opacity:1}.athlete-video-calendar{box-sizing:border-box;margin:0 auto;max-width:1400px;padding:1rem;width:100%}.calendar-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;margin-bottom:2rem;padding:1rem}.calendar-month-year{align-items:center;display:flex;flex-direction:column;gap:.5rem}.calendar-month-year h3{font-size:1.5rem;font-weight:700;margin:0}.calendar-nav-btn{background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.calendar-nav-btn:hover{background:#ffffff4d;transform:scale(1.05)}.today-btn{background:#ffffff40;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1rem;transition:all .2s}.today-btn:hover{background:#ffffff59}.calendar-loading{color:#666;font-size:1.1rem;padding:3rem;text-align:center}.calendar-grid{grid-gap:1px;background:#e5e7eb;border-radius:12px;box-shadow:0 4px 6px #0000001a;box-sizing:border-box;display:grid!important;gap:1px;grid-auto-rows:minmax(120px,auto);grid-template-columns:repeat(7,1fr)!important;max-width:100%;overflow:hidden;width:100%}.calendar-day-header{background:#f9fafb;box-sizing:border-box;color:#6b7280;font-size:.75rem;font-weight:700;letter-spacing:.05em;min-width:0;padding:15px;text-align:center;text-transform:uppercase}.calendar-day.has-schedule,.calendar-day.has-videos{cursor:pointer}.calendar-day.has-schedule:hover,.calendar-day.has-videos:hover{background:#f3f4f6}.video-count-badge{align-self:flex-start;background:#3b82f6;border-radius:4px;color:#fff;font-size:.7rem;font-weight:600;margin-bottom:4px;padding:2px 6px}.calendar-day.selected .video-count-badge{background:#1d4ed8}.events-list{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:#6b7280;display:-webkit-box;font-size:.65rem;font-weight:500;line-height:1.3;margin-top:4px;max-width:100%;overflow:hidden;text-overflow:ellipsis}.calendar-day.selected .events-list{color:#374151;font-weight:600}.selected-date-videos{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-top:2rem;padding:1.5rem}.selected-date-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.selected-date-header h3{color:#667eea;font-size:1.3rem;margin:0}.close-date-btn{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;color:#495057;cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:all .2s}.close-date-btn:hover{background:#e9ecef;color:#212529}.date-videos-grid{display:flex;flex-direction:column;gap:2rem}.video-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;padding:1.5rem;transition:all .2s}.video-card:hover{border-color:#667eea;box-shadow:0 4px 12px #0000001a}.video-card-header{justify-content:space-between;margin-bottom:1rem}.video-card-header,.video-info{align-items:center;display:flex}.video-info{flex-wrap:wrap;gap:1rem}.delete-video-btn{background:#dc3545;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.2rem;line-height:1;padding:.5rem .75rem;transition:all .2s}.delete-video-btn:hover{background:#c82333;transform:scale(1.1)}.delete-video-btn:active{transform:scale(.95)}.video-time{color:#495057;font-size:.95rem;font-weight:600}.video-event{background:#667eea;border-radius:16px;color:#fff;font-size:.875rem;font-weight:600;padding:.25rem .75rem}.video-player-section{margin-bottom:1.5rem}.video-section-title{color:#495057;font-size:.95rem;font-weight:700;margin-bottom:.75rem}.landing-classification-info{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:1rem}.landing-classification-info h4{color:#667eea;font-size:1rem;margin:0 0 .75rem}.classification-details{display:flex;flex-direction:column;gap:.5rem}.detail-item{color:#495057;font-size:.9rem}.detail-item strong{color:#212529}.no-videos-message{background:#fff;border-radius:12px;color:#6c757d;font-size:1.1rem;margin-top:2rem;padding:3rem;text-align:center}@media (max-width:768px){.calendar-header{flex-direction:column;gap:1rem}.calendar-nav-btn{font-size:.875rem;padding:.5rem 1rem}.calendar-grid{gap:1px;grid-auto-rows:minmax(100px,auto)}.calendar-day-header{font-size:.65rem;padding:8px 4px}.calendar-day{min-height:100px;padding:4px}.day-number{font-size:.9rem}.video-count-badge{font-size:.65rem;padding:.2rem .4rem}.selected-date-header{align-items:flex-start;flex-direction:column;gap:1rem}.video-card{padding:1rem}}.calendar-day.has-schedule{cursor:pointer}.schedule-event-badge{align-items:center;background:#ffffffd9;border-radius:3px;display:flex;font-size:10px;gap:3px;line-height:1.3;margin-top:2px;overflow:hidden;padding:1px 4px;text-overflow:ellipsis;white-space:nowrap}.sched-time{color:#374151;flex-shrink:0;font-weight:700}.sched-label{color:#374151;overflow:hidden;text-overflow:ellipsis}.more-schedule{color:#6b7280;font-size:10px;padding:0 2px;text-align:right}.day-schedule-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:16px;padding:12px 16px}.day-schedule-section h4{color:#374151;font-size:14px;margin:0 0 8px}.day-schedule-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.day-schedule-item{background:#fff;border-radius:6px;box-shadow:0 1px 3px #00000012;cursor:default;padding:8px 10px}.day-schedule-item[onClick]{cursor:pointer}.sched-item-main{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.sched-time-big{color:#1f2937;flex-shrink:0;font-size:13px;font-weight:700}.sched-label-big{color:#1f2937;flex:1 1;font-size:13px}.sched-type-tag{border-radius:10px;flex-shrink:0;font-size:10px;font-weight:600;letter-spacing:.5px;padding:1px 6px;text-transform:uppercase}.meet-detail-inline{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-top:10px;padding:12px}.meet-detail-inline h5{color:#1f2937;font-size:14px;margin:0 0 8px}.meet-detail-rows{color:#374151;display:flex;flex-direction:column;font-size:13px;gap:4px}.meet-detail-rows a{color:#3b82f6;text-decoration:none}.meet-detail-rows a:hover{text-decoration:underline}.athlete-feedback-view{margin:0 auto;max-width:1400px;padding:1.5rem}.progress-stats-section{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;margin-bottom:2.5rem;padding:1.5rem}.progress-stats-section h2{font-size:1.5rem;font-weight:700;margin:0 0 1.5rem}.event-filter{align-items:center;display:flex;gap:.75rem;margin-bottom:1.5rem}.event-filter label,.event-filter select{font-size:.9rem;font-weight:600}.event-filter select{background:#fff;border:none;border-radius:8px;color:#333;cursor:pointer;padding:.5rem 1rem}.stats-cards{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.stat-card{background:#fffffff2;box-shadow:0 4px 12px #0000001a;color:#333;padding:1.5rem}.stat-card h3{color:#667eea;font-size:.9rem;font-weight:600;letter-spacing:.5px;margin:0 0 .75rem;text-transform:uppercase}.stat-number{color:#667eea;font-size:2.5rem;font-weight:800;line-height:1;margin-bottom:.5rem}.stat-label{color:#666;font-size:.875rem;font-weight:500}.stat-breakdown{border-top:1px solid #e5e7eb;color:#666;display:flex;flex-direction:column;font-size:.8rem;gap:.25rem;margin-top:.75rem;padding-top:.75rem}.trend-card .trend-indicator{font-size:1.75rem;font-weight:700;margin-bottom:.5rem}.trend-up{color:#10b981}.trend-down{color:#ef4444}.trend-neutral{color:#6b7280}.feedback-section{margin-top:2rem}.feedback-section h2{color:#1f2937;font-size:1.5rem;font-weight:700;margin:0 0 1.5rem}.no-feedback-message{background:#f9fafb;border-radius:12px;color:#6b7280;padding:3rem;text-align:center}.no-feedback-message p:first-child{font-size:1.25rem;margin-bottom:.5rem}.feedback-videos-list{display:flex;flex-direction:column;gap:1.5rem}.feedback-video-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden;transition:box-shadow .2s,border-color .2s}.feedback-video-card:hover{border-color:#667eea;box-shadow:0 4px 16px #00000026}.feedback-card-header{background:#f9fafb;border-bottom:2px solid #e5e7eb;padding:1rem 1.5rem}.video-meta{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.event-badge{border-radius:6px;display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.5px;padding:.35rem .75rem;text-transform:uppercase}.event-badge[data-event=Vault]{background:#fef3c7;border:2px solid #f59e0b;color:#92400e}.event-badge[data-event=Bars]{background:#dbeafe;border:2px solid #3b82f6;color:#1e3a8a}.event-badge[data-event=Beam]{background:#fce7f3;border:2px solid #ec4899;color:#831843}.event-badge[data-event=Floor]{background:#fef3c7;border:2px solid #f59e0b;color:#78350f}.video-date{color:#6b7280;font-size:.875rem;font-weight:500}.feedback-content{padding:1.5rem}.video-section{margin-bottom:1.5rem}.coach-notes-section{background:linear-gradient(135deg,#fef3c7,#fed7aa);border:3px solid #f59e0b;border-radius:12px;box-shadow:0 4px 12px #f59e0b33;margin-bottom:1.5rem;padding:1.5rem}.notes-header{align-items:center;display:flex;gap:.75rem;margin-bottom:1rem}.notes-icon{font-size:1.5rem}.notes-header h4{color:#78350f;font-size:1.125rem;font-weight:700;margin:0}.notes-content{background:#fff;border-left:4px solid #f59e0b;border-radius:8px;color:#1f2937;font-size:1rem;font-weight:500;line-height:1.6;padding:1.25rem;white-space:pre-wrap}.video-details{grid-gap:.75rem;background:#f9fafb;border-radius:8px;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1rem;padding:1rem}.detail-item{color:#4b5563;font-size:.875rem}.detail-item strong{color:#1f2937;font-weight:600;margin-right:.5rem}.no-notes-placeholder{background:#f3f4f6;border-radius:8px;color:#9ca3af;font-style:italic;padding:2rem;text-align:center}@media (max-width:768px){.athlete-feedback-view{padding:1rem}.stats-cards{grid-template-columns:1fr}.stat-number{font-size:2rem}.video-details{grid-template-columns:1fr}}.athlete-profile{margin:0 auto;max-width:1400px;padding:2rem}.athlete-profile-error,.athlete-profile-loading{color:#666;font-size:1.2rem;padding:3rem;text-align:center}.athlete-profile-access-denied{margin:0 auto;max-width:500px;padding:5rem 2rem;text-align:center}.access-denied-icon{font-size:4rem;margin-bottom:1rem}.athlete-profile-access-denied h2{color:#1f2937;font-size:1.6rem;margin:0 0 .75rem}.athlete-profile-access-denied p{color:#6b7280;font-size:.95rem;line-height:1.6;margin:.4rem 0}.athlete-profile-access-denied a{color:#667eea;font-weight:600;text-decoration:none}.athlete-profile-access-denied a:hover{text-decoration:underline}.athlete-profile-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;box-shadow:0 8px 16px #667eea4d;color:#fff;display:flex;gap:1.5rem;margin-bottom:2rem;padding:2rem}.athlete-avatar{background:#ffffff40;border:3px solid #fff;box-shadow:0 4px 8px #0003;font-size:2.5rem;height:80px;width:80px}.athlete-header-info h1{font-size:2rem;font-weight:700;margin:0}.athlete-subtitle{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin:.4rem 0 0;opacity:.9}.athlete-tabs{border-bottom:2px solid #e9ecef;display:flex;gap:.5rem;margin-bottom:2rem}.athlete-tab{background:#0000;border:none;border-bottom:3px solid #0000;color:#6c757d;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem 2rem;transition:all .2s}.athlete-tab:hover{background:#f8f9fa;color:#495057}.athlete-tab.active{border-bottom-color:#667eea;color:#667eea}.athlete-tab-content{animation:fadeIn .3s}.athlete-info-card{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;margin-bottom:1.5rem;padding:1.5rem}.athlete-info-card h3{border-bottom:2px solid #e9ecef;color:#667eea;font-size:1.3rem;margin:0 0 1rem;padding-bottom:.75rem}.info-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-item strong{color:#495057;font-size:.875rem;font-weight:600}.info-item span{color:#212529;font-size:1rem}.routine-tracker-toggle{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:1rem;padding:1rem;transition:all .2s;width:100%}.routine-tracker-toggle:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.routine-tracker-container{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;margin-top:1.5rem;padding:1.5rem}.athlete-events-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.athlete-events-header h3{color:#1a1a2e;font-size:1.1rem;margin:0}.btn-add-event{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:.45rem 1rem;transition:background .2s}.btn-add-event:hover{background:#5a6fd6}.athlete-event-form{background:#f8f9fa;border:1px solid #e9ecef;border-radius:10px;margin-bottom:1.2rem;padding:1.2rem}.event-form-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr 1fr}.event-form-group{display:flex;flex-direction:column;gap:.3rem}.event-form-full{grid-column:1/-1}.event-form-group label{color:#555;font-size:.8rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.event-form-group input,.event-form-group select,.event-form-group textarea{background:#fff;border:1px solid #dee2e6;border-radius:6px;font-size:.9rem;padding:.5rem .75rem}.btn-save-event{background:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;margin-top:.75rem;padding:.5rem 1.2rem}.btn-save-event:hover{background:#218838}.athlete-events-list{display:flex;flex-direction:column;gap:.75rem}.athlete-event-card{align-items:flex-start;background:#fff;border:1px solid #e9ecef;border-radius:10px;box-shadow:0 1px 3px #0000000d;display:flex;gap:.75rem;justify-content:space-between;padding:.9rem 1rem}.athlete-event-info{display:flex;flex-direction:column;gap:.25rem;min-width:0}.athlete-event-type-badge{background:#e3e8ff;border-radius:20px;color:#4a5fe3;display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.04em;padding:.15rem .55rem;text-transform:uppercase;width:fit-content}.athlete-event-date{color:#666;font-size:.82rem}.athlete-event-location{color:#555;font-size:.82rem}.athlete-event-desc{color:#777;font-size:.85rem;margin:0}.btn-delete-event{background:none;border:none;cursor:pointer;flex-shrink:0;font-size:1.1rem;opacity:.5;padding:.2rem;transition:opacity .2s}.btn-delete-event:hover{opacity:1}@media (max-width:768px){.athlete-profile{padding:1rem}.athlete-profile-header{flex-direction:column;padding:1.5rem;text-align:center}.athlete-header-info h1{font-size:1.5rem}.athlete-tabs{flex-direction:column;gap:0}.athlete-tab{border-bottom:1px solid #e9ecef;padding:.75rem 1rem}.athlete-tab.active{background:#f8f9fa;border-left:4px solid #667eea}.info-grid{grid-template-columns:1fr}}.classes-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:1rem}.class-card{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-left:4px solid #667eea;padding:1rem;transition:all .3s}.class-card:hover{box-shadow:0 4px 12px #667eea33;transform:translateY(-2px)}.class-header{align-items:center;margin-bottom:.75rem}.class-header h4{color:#333;font-size:1.1rem;margin:0}.class-level-badge{border-radius:12px;font-size:.85rem;font-weight:600;padding:4px 12px;text-transform:uppercase}.class-level-badge.level-beginner{background:#d1fae5;color:#065f46}.class-level-badge.level-intermediate{background:#fef3c7;color:#92400e}.class-level-badge.level-advanced{background:#fed7aa;color:#9a3412}.class-level-badge.level-elite{background:#dbeafe;color:#1e40af}.class-details{display:flex;flex-direction:column;gap:.5rem}.class-details p{color:#666;font-size:.9rem;margin:0}.class-details strong{color:#333}.enrollment-status{border-radius:12px;display:inline-block;font-size:.8rem;font-weight:600;margin-top:.5rem;padding:4px 10px}.enrollment-status.status-active{background:#d1fae5;color:#065f46}.enrollment-status.status-waitlist{background:#fef3c7;color:#92400e}.enrollment-status.status-paused{background:#e5e7eb;color:#374151}.enrollment-status.status-dropped{background:#fee2e2;color:#991b1b}.header-chip{background:#ffffff40;border:1px solid #ffffff80;border-radius:20px;display:inline-block;font-size:.875rem;font-weight:600;padding:.15rem .65rem}.level-chip{background:#ffffff59}.athlete-email{font-size:.9rem;opacity:.85}.results-header-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.results-header-row h3{color:#1a1a2e;font-size:1.3rem;margin:0}.add-result-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.55rem 1.2rem;transition:opacity .2s}.add-result-btn:hover{opacity:.88}.results-empty,.results-loading{color:#888;font-size:1rem;padding:3rem;text-align:center}.meets-list{display:flex;flex-direction:column;gap:1.5rem}.meet-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden}.meet-card-header{align-items:flex-start;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:1.1rem 1.4rem}.meet-name{color:#1a1a2e;font-size:1.05rem;font-weight:700;margin:0 0 .2rem}.meet-meta{color:#6c757d;font-size:.85rem}.meet-type-badge{background:#e9ecef;border-radius:20px;color:#495057;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.2rem .7rem;text-transform:uppercase;white-space:nowrap}.meet-events-grid{grid-gap:1px;background:#e9ecef;display:grid;gap:1px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));padding:1px}.event-result-card{align-items:center;background:#fff;display:flex;flex-direction:column;gap:.35rem;padding:1rem;position:relative;text-align:center}.event-result-card.personal-best{background:#fffbeb}.event-result-top{align-items:center;display:flex;gap:.4rem}.event-result-name{color:#495057;font-size:.85rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.pb-badge{background:#f59e0b;border-radius:4px;color:#fff;font-size:.65rem;font-weight:700;letter-spacing:.05em;padding:.1rem .35rem}.medal-icon{font-size:1.3rem;line-height:1}.event-result-score{color:#1a1a2e;font-size:1.6rem;font-weight:700;line-height:1}.event-result-place{color:#6c757d;font-size:.8rem}.event-result-deductions{color:#dc3545;font-size:.75rem}.delete-result-btn{background:none;border:none;color:#ccc;cursor:pointer;font-size:1.1rem;line-height:1;padding:0;position:absolute;right:6px;top:4px;transition:color .15s}.delete-result-btn:hover{color:#dc3545}.add-result-modal-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.add-result-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000040;max-height:90vh;max-width:640px;overflow-y:auto;padding:2rem;width:100%}.add-result-modal h4{color:#1a1a2e;font-size:1.3rem;margin:0 0 1.5rem}.result-form-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1.5rem}.result-form-field{display:flex;flex-direction:column;gap:.35rem}.result-form-field label{color:#6c757d;font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.result-form-field input,.result-form-field select,.result-form-field textarea{background:#fff;border:1px solid #dee2e6;border-radius:8px;color:#212529;font-size:.95rem;padding:.5rem .75rem;transition:border-color .15s}.result-form-field input:focus,.result-form-field select:focus,.result-form-field textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea26;outline:none}.result-form-field textarea{min-height:70px;resize:vertical}.result-form-full{grid-column:1/-1}.result-form-checkbox{justify-content:flex-end}.result-form-checkbox label{align-items:center;color:#495057;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;letter-spacing:0;text-transform:none}.result-form-checkbox input[type=checkbox]{cursor:pointer;height:16px;width:16px}.result-form-actions{display:flex;gap:.75rem;justify-content:flex-end}.result-form-actions .cancel-btn{background:#f1f3f5;color:#495057}.result-form-actions .cancel-btn,.result-form-actions .save-btn{border:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;padding:.6rem 1.4rem}.result-form-actions .save-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;transition:opacity .2s}.result-form-actions .save-btn:disabled{cursor:not-allowed;opacity:.6}.usag-chip{background:#1a5276!important;color:#fff!important}.linked-parents-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.linked-parents-header h3{margin:0}.lp-btn-add{background:#1a5276;border:none;border-radius:7px;color:#fff;cursor:pointer;font-size:.83rem;font-weight:600;padding:6px 14px}.lp-btn-add:hover{background:#154360}.lp-link-form{background:#f7fafc;border:1px solid #e0e8ef;border-radius:10px;margin-bottom:14px;padding:14px 16px}.lp-error{background:#fdecea;border-radius:7px;color:#c0392b;font-size:.83rem;margin-bottom:10px;padding:8px 12px}.lp-form-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:10px}.lp-field{display:flex;flex:1 1;flex-direction:column;gap:4px}.lp-field label{color:#555;font-size:.78rem;font-weight:600}.lp-field select{border:1px solid #ddd;border-radius:8px;font-size:.88rem;padding:8px 10px}.lp-field--sm{flex:0 0 150px;max-width:150px}.lp-field--check{flex:0 0 auto;padding-bottom:2px}.lp-field--check label{align-items:center;color:#444;cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:6px;white-space:nowrap}.lp-btn-save{align-self:flex-end;background:#27ae60;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.88rem;font-weight:600;padding:8px 18px}.lp-btn-save:disabled{cursor:not-allowed;opacity:.6}.lp-list{display:flex;flex-direction:column;gap:8px}.lp-row{background:#f8fafc;border:1px solid #e8eef4;border-radius:9px;justify-content:space-between;padding:10px 12px}.lp-info,.lp-row{align-items:center;display:flex}.lp-info{flex:1 1;flex-wrap:wrap;gap:8px}.lp-name{color:#1a3a5c;font-size:.95rem;font-weight:600}.lp-email{color:#666;font-size:.82rem}.lp-phone{color:#888;font-size:.82rem}.lp-badge{border-radius:20px;font-size:.72rem;font-weight:700;padding:2px 8px}.lp-badge.primary{background:#fdeaa7;color:#b7770d}.lp-badge.rel{background:#e8eef4;color:#1a5276}.lp-btn-remove{background:#fdecea;border:none;border-radius:6px;color:#c0392b;cursor:pointer;flex-shrink:0;font-size:1rem;font-weight:700;height:26px;width:26px}.lp-btn-remove:hover{background:#fadbd8}.login-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.login-logo{margin-bottom:20px;width:150px}form{display:flex;flex-direction:column;width:300px}form div{margin-bottom:15px}button{margin-top:10px}.login-sub{color:#64748b;font-size:.88rem;line-height:1.5;margin:-8px 0 18px}.children-form{width:100%}.child-entry{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:14px;padding:14px 16px}.child-entry-header{align-items:center;color:#334155;display:flex;font-size:.9rem;font-weight:600;justify-content:space-between;margin-bottom:10px}.child-remove-btn{background:none;border:none;color:#ef4444;cursor:pointer;font-size:.82rem;font-weight:500;margin:0;padding:0}.child-remove-btn:hover{text-decoration:underline}.child-fields{display:flex;flex-wrap:wrap;gap:10px}.child-field{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:140px}.child-field label{color:#475569;font-size:.8rem;font-weight:500}.label-hint{color:#94a3b8;font-weight:400}.child-field input{border:1px solid #cbd5e1;border-radius:7px;font-size:.88rem;outline:none;padding:8px 10px;transition:border-color .15s}.child-field input:focus{border-color:#2563eb}.btn-add-child{background:none;border:1px dashed #2563eb;border-radius:8px;color:#2563eb;cursor:pointer;font-size:.88rem;margin-bottom:18px;padding:8px 18px;transition:background .15s;width:100%}.btn-add-child:hover{background:#eff6ff}.children-form-actions{display:flex;gap:12px;justify-content:flex-end}.btn-skip{background:#f1f5f9;border:none;border-radius:8px;color:#475569;cursor:pointer;font-size:.9rem;margin:0;padding:10px 20px}.btn-skip:hover{background:#e2e8f0}.btn-match{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;margin:0;padding:10px 22px;transition:background .15s}.btn-match:hover:not(:disabled){background:#1d4ed8}.btn-match:disabled{cursor:not-allowed;opacity:.6}.match-results{width:100%}.match-results h3{color:#1a2a3a;font-size:1rem;margin:0 0 14px}.match-result-row{border-radius:8px;display:flex;flex-direction:column;gap:4px;margin-bottom:10px;padding:12px 14px}.match-result-row.linked{background:#f0fdf4;border:1px solid #bbf7d0}.match-result-row.pending{background:#fefce8;border:1px solid #fde68a}.match-name{color:#1a2a3a;font-size:.95rem;font-weight:600}.match-status{font-size:.85rem}.match-status.linked{color:#15803d}.match-status.pending{color:#92400e}.match-note{color:#64748b;font-size:.82rem;margin:14px 0 18px}.parent-signup-hint{background:#eff6ff;border-radius:7px;color:#64748b;font-size:.82rem;line-height:1.5;margin:2px 0 12px;padding:8px 12px}.bottom-nav{-webkit-overflow-scrolling:touch;align-items:center;background:#fff;border-top:1px solid #e5e7eb;bottom:0;box-shadow:0 -2px 10px #0000001a;display:flex;height:65px;left:0;overflow-x:auto;overflow-y:hidden;padding:0;position:fixed;right:0;scrollbar-width:none;z-index:50}.bottom-nav::-webkit-scrollbar{display:none}.bottom-nav-item{flex:0 0 auto;min-width:64px;padding:.4rem .6rem}.bottom-nav-item:active{transform:scale(.92)}.bottom-nav-icon{font-size:1.25rem;line-height:1;margin-bottom:.2rem}.bottom-nav-label{font-size:.65rem;white-space:nowrap}@media (min-width:901px){.bottom-nav{display:none}}@media (max-width:900px){.main-content{padding-bottom:80px}body{padding-bottom:65px}}.bottom-nav-item{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:60px;padding:.5rem 1rem;transition:all .2s ease}.bottom-nav-item:active{transform:scale(.95)}.bottom-nav-item.active{color:#3b82f6}.bottom-nav-icon{font-size:1.5rem;margin-bottom:.25rem}.bottom-nav-label{font-size:.75rem;font-weight:500}@media (min-width:769px){.bottom-nav{display:none}}@media (max-width:768px){.main-content{padding-bottom:80px}body{padding-bottom:65px}}.class-management{margin:0 auto;max-width:1400px;padding:20px}.class-management .header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.class-management h1{color:#333;font-size:28px}.content-layout{grid-gap:20px;display:grid;gap:20px;grid-template-columns:350px 1fr;height:calc(100vh - 150px)}.class-list{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-y:auto;padding:20px}.class-list h2{color:#333;font-size:20px;margin-bottom:15px}.class-card{border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;margin-bottom:10px;padding:15px;transition:all .2s}.class-card:hover{border-color:#4caf50;box-shadow:0 2px 8px #4caf5033}.class-card.selected{background:#f1f8f4;border-color:#4caf50}.class-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:8px}.class-card h3{color:#333;font-size:16px;margin:0}.class-card .level{color:#666;font-size:14px;margin:5px 0}.class-card .capacity{color:#888;font-size:13px;margin-top:8px}.class-card .tuition{color:#4caf50;font-size:14px;font-weight:600;margin-top:5px}.badge{padding:3px 8px}.badge.active{background:#4caf50;color:#fff}.badge.inactive{background:#ccc;color:#666}.class-details{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-y:auto;padding:25px}.details-header{align-items:flex-start;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:20px}.details-header h2{color:#333;font-size:24px;margin:0 0 5px}.details-header p{color:#666;margin:0}.details-header .actions{display:flex;gap:10px}.tabs{border-bottom:2px solid #e0e0e0;gap:5px;margin-bottom:20px}.tabs button{background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;font-size:15px;padding:10px 20px;transition:all .2s}.tabs button:hover{color:#4caf50}.tabs button.active{border-bottom-color:#4caf50;color:#4caf50;font-weight:600}.tab-content{min-height:300px}.overview .info-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);margin-bottom:25px}.info-item label{color:#888;display:block;font-size:13px;margin-bottom:5px;text-transform:uppercase}.info-item p{color:#333;font-size:16px;font-weight:500;margin:0}.overview .description,.overview .requirements{margin-top:20px}.overview .description label,.overview .requirements label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:10px}.overview .description p,.overview .requirements p{color:#666;line-height:1.6}table{margin-top:10px;width:100%}thead{background:#f5f5f5}th{border-bottom:2px solid #e0e0e0;color:#666;font-size:13px;font-weight:600;text-align:left;text-transform:uppercase}td,th{padding:12px}td{border-bottom:1px solid #f0f0f0;color:#333}tr:hover{background:#f9f9f9}.schedule-list{grid-gap:10px;display:grid;gap:10px}.schedule-item{background:#f9f9f9;border-left:4px solid #4caf50;border-radius:6px;display:flex;justify-content:space-between;padding:15px}.schedule-item strong{color:#333;font-size:15px}.schedule-item span{color:#666;font-size:14px}.empty-state-large{align-items:center;color:#999;display:flex;font-size:18px;height:100%;justify-content:center}.btn-secondary{border:2px solid #4caf50;color:#4caf50}.btn-secondary:hover{background:#4caf50;color:#fff}.btn-danger-small{background:#f44336;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;padding:5px 12px;transition:background .2s}.btn-danger-small:hover{background:#da190b}.btn-promote{background:#22c55e;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;padding:5px 12px;transition:background .2s}.btn-promote:hover{background:#16a34a}.class-events-tab{padding:.5rem 0}.class-events-header{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;margin-bottom:1rem}.class-events-subtitle{color:#666;font-size:.85rem;margin:0}.class-event-form{background:#f8f9fa;border:1px solid #e9ecef;border-radius:10px;margin-bottom:1.2rem;padding:1.2rem}.class-events-list{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem}.class-event-card{align-items:flex-start;background:#fff;border:1px solid #e9ecef;border-radius:10px;box-shadow:0 1px 3px #0000000a;display:flex;gap:.75rem;justify-content:space-between;padding:.85rem 1rem}.class-event-info{display:flex;flex-direction:column;gap:.25rem;min-width:0}.class-event-type-badge{background:#e8f5e9;border-radius:20px;color:#2e7d32;display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.04em;padding:.15rem .55rem;text-transform:uppercase;width:fit-content}.class-event-date{color:#666;font-size:.82rem}.class-event-location{color:#555;font-size:.82rem}.class-event-desc{color:#777;font-size:.85rem;margin:0}.modal{background:#fff;border-radius:12px;max-height:90vh;max-width:600px;overflow-y:auto;padding:30px;width:90%}.modal h2{color:#333;margin-bottom:20px;margin-top:0}.form-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(2,1fr)}.form-group{margin-bottom:15px}.form-group.full-width{grid-column:1/-1}.form-group input,.form-group select,.form-group textarea{border:2px solid #e0e0e0;font-size:15px;transition:border-color .2s}.modal-actions{border-top:1px solid #e0e0e0;gap:10px}@media (max-width:1024px){.content-layout{grid-template-columns:1fr}.class-list{max-height:300px}.overview .info-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.form-grid,.overview .info-grid{grid-template-columns:1fr}.details-header{flex-direction:column;gap:15px}.details-header .actions{width:100%}.details-header .actions button{flex:1 1}}.attendance-tracker{padding:20px}.attendance-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.attendance-header .date-selector{align-items:center;display:flex;gap:10px}.attendance-header .date-selector label{color:#333;font-weight:600}.attendance-header .date-selector input[type=date]{border:1px solid #ddd;border-radius:6px;font-size:14px;padding:8px 12px}.stats-bar{background:#f9f9f9;border-radius:8px;margin-bottom:20px;padding:15px}.stats-bar .stat{align-items:center;display:flex;flex-direction:column;gap:5px}.stats-bar .stat .label{color:#666;font-size:12px;letter-spacing:.05em;text-transform:uppercase}.stats-bar .stat .value{color:#333;font-size:24px;font-weight:700}@media (max-width:1024px){.attendance-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}@media (max-width:768px){.stats-bar{grid-template-columns:1fr}.attendance-header{align-items:flex-start;flex-direction:column;gap:15px}.attendance-grid{grid-template-columns:repeat(2,1fr)}.athlete-check-in{min-height:120px;padding:20px 15px}.athlete-name{font-size:16px}}.class-schedule{padding:20px}.schedule-header{margin-bottom:25px}.schedule-header h3{color:#333;font-size:20px;margin:0}.schedule-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.schedule-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 6px #0000001a;color:#fff;display:flex;flex-direction:column;gap:10px;padding:20px;transition:transform .2s}.schedule-card:hover{box-shadow:0 6px 12px #00000026;transform:translateY(-2px)}.schedule-day{font-size:18px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.schedule-time{font-size:16px;opacity:.95}.schedule-card .btn-delete{background:#fff3;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;margin-top:10px;padding:8px 12px;transition:background .2s}.schedule-card .btn-delete:hover{background:#ffffff4d}@media (max-width:768px){.schedule-grid{grid-template-columns:1fr}}.roster-billing-bar{align-items:center;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:14px;padding:12px 16px}.roster-billing-bar .rbb-summary{color:#14532d;font-size:.95rem}.roster-billing-bar .rbb-controls{align-items:center;display:flex;gap:12px}.roster-billing-bar .rbb-controls label{color:#374151;font-size:.85rem}.roster-billing-bar .rbb-controls input[type=date]{border:1px solid #d1d5db;border-radius:6px;margin-left:4px;padding:6px 8px}.pricing-options-editor .pricing-option-row{align-items:center;display:flex;gap:8px;margin-bottom:8px}.pricing-options-editor .pricing-option-row input[type=text]{flex:2 1}.pricing-options-editor .pricing-option-row input[type=number],.pricing-options-editor .pricing-option-row select{flex:1 1}.pricing-options-editor .opt-remove{background:#fee2e2;border:none;border-radius:6px;color:#b91c1c;cursor:pointer;flex-shrink:0;font-size:1.1rem;height:30px;width:30px}.btn-add-option{background:#eef2f0;border:1px dashed #86efac;border-radius:8px;color:#15803d;cursor:pointer;font-size:.85rem;font-weight:600;padding:8px 12px}.discount-row{align-items:center;display:flex;gap:8px}.discount-row select{flex:1 1}.discount-row input[type=number]{width:90px}.discount-row input[type=text]{flex:1 1}.roster-disc{color:#b45309;font-size:.78rem}.roster-disc s{color:#9ca3af}.roster-opt{color:#2563eb;font-size:.75rem}.rbb-note{color:#6b7280;font-size:.85rem;font-weight:400}.btn-small-secondary{background:#eef2f0;border:none;border-radius:6px;color:#374151;cursor:pointer;font-size:.8rem;margin-right:6px;padding:4px 10px}.ciq-overlay{align-items:center;background:#0000008c;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1200}.ciq-modal{background:#fff;border-radius:14px;box-shadow:0 20px 60px #0000004d;max-height:88vh;overflow-y:auto;padding:18px;width:min(560px,96vw)}.ciq-head{align-items:center;display:flex;justify-content:space-between}.ciq-head h3{color:#1a1f36;font-size:1.15rem;margin:0}.ciq-close{background:none;border:none;color:#98a;cursor:pointer;font-size:1.3rem}.ciq-hint{color:#7a8296;font-size:.85rem;margin:6px 0 14px}.ciq-empty{color:#98a;font-size:.9rem}.ciq-list{display:flex;flex-direction:column;gap:8px}.ciq-add,.ciq-row{align-items:center;display:flex;gap:8px}.ciq-row.off{opacity:.5}.ciq-prompt{flex:1 1;font-size:.9rem;padding:8px 10px}.ciq-prompt,.ciq-type{border:1px solid #dfe3ee;border-radius:8px}.ciq-type{font-size:.82rem;padding:8px}.ciq-active{align-items:center;color:#667;display:flex;font-size:.78rem;gap:3px;white-space:nowrap}.ciq-del{background:none;border:none;cursor:pointer;opacity:.55}.ciq-del:hover{opacity:1}.ciq-add{border-top:1px dashed #e3e7f2;margin-top:14px;padding-top:14px}.ciq-add-btn{background:#4f46e5;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:700;padding:8px 14px;white-space:nowrap}.ciq-foot{margin-top:16px;text-align:right}.ciq-done{background:#eef1ff;border:none;border-radius:8px;color:#4059d0;cursor:pointer;font-weight:700;padding:9px 18px}.cia-overlay{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1200}.cia-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;padding:20px;width:min(460px,96vw)}.cia-head{align-items:center;display:flex;gap:10px;margin-bottom:4px}.cia-title{color:#1a1f36;font-size:1.15rem;font-weight:800;margin:0}.cia-sub{color:#7a8296;font-size:.85rem;margin:2px 0 16px}.cia-q{margin-bottom:16px}.cia-prompt{color:#33384d;font-size:.95rem;font-weight:700;margin-bottom:8px}.cia-scale,.cia-yesno{display:flex;flex-wrap:wrap;gap:8px}.cia-opt{background:#fff;border:1.5px solid #dfe3ee;border-radius:10px;color:#5a6478;cursor:pointer;font-size:.95rem;font-weight:800;min-width:46px;padding:9px 12px}.cia-opt.on{background:#4f46e5;border-color:#4f46e5;color:#fff}.cia-text{border:1px solid #dfe3ee;border-radius:8px;font-size:.9rem;padding:9px 11px;width:100%}.cia-actions{display:flex;gap:8px;margin-top:6px}.cia-submit{background:#22c55e;border:none;border-radius:10px;color:#fff;cursor:pointer;flex:1 1;font-size:1rem;font-weight:800;padding:12px}.cia-submit:disabled{background:#cbd5e1;cursor:default}.cia-scale-ends{color:#98a;display:flex;font-size:.72rem;justify-content:space-between;margin-top:4px}.ciq-resp{border-top:1px solid #f0f2f7;padding:8px 0}.ciq-resp:first-child{border-top:none}.ciq-resp-name{color:#2c3350;font-size:.92rem;font-weight:800}.ciq-resp-answers{display:flex;flex-direction:column;gap:2px;margin-top:3px}.ciq-resp-a{color:#5a6478;font-size:.84rem}.ciq-resp-a strong{color:#33384d}.attendance-tracking{margin:0 auto;max-width:1400px;padding:20px}.attendance-tracking .header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.attendance-tracking h1{color:#333;font-size:28px}.view-switcher{background:#f0f0f0;border-radius:8px;display:flex;gap:5px;padding:4px}.view-switcher button{background:#0000;border:none;border-radius:6px;color:#666;cursor:pointer;font-size:14px;font-weight:500;padding:8px 20px;transition:all .2s}.view-switcher button:hover{color:#333}.view-switcher button.active{color:#4caf50}.controls,.view-switcher button.active{background:#fff;box-shadow:0 2px 4px #0000001a}.controls{align-items:flex-end;border-radius:8px;display:flex;gap:15px;margin-bottom:25px;padding:20px}.class-selector,.date-selector{display:flex;flex-direction:column;gap:8px}.class-selector label,.date-selector label{color:#666;font-size:13px;font-weight:500}.class-selector select,.date-selector input{border:2px solid #e0e0e0;border-radius:6px;font-size:15px;min-width:250px;padding:10px}.class-selector select:focus,.date-selector input:focus{border-color:#4caf50;outline:none}.stats-bar{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(3,1fr);margin-bottom:25px}.attendance-tracking .stats-bar .stat{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#333;padding:20px;text-align:center}.attendance-tracking .stats-bar .stat .label{color:#555;display:block;font-size:13px;margin-bottom:8px;text-transform:uppercase}.attendance-tracking .stats-bar .stat .value{color:#222;display:block;font-size:32px;font-weight:700}.attendance-tracking .stats-bar .stat .value.present{color:#4caf50}.attendance-tracking .stats-bar .stat .value.absent{color:#f44336}.daily-attendance{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:25px}.attendance-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:10px}.athlete-check-in{align-items:center;background:#fff;border:3px solid #e0e0e0;border-radius:12px;color:#666;cursor:pointer;display:flex;flex-direction:column;font-size:18px;font-weight:600;justify-content:center;min-height:140px;padding:30px 20px;position:relative;transition:all .2s}.athlete-check-in:hover{border-color:#4caf50;box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.athlete-check-in:active{transform:translateY(0)}.athlete-check-in.checked-in{background:linear-gradient(135deg,#4caf50,#66bb6a);border-color:#4caf50;color:#fff;position:relative}.athlete-check-in.checked-in:after{bottom:5px;content:"Tap to uncheck";font-size:11px;font-weight:400;left:50%;opacity:.7;position:absolute;transform:translateX(-50%)}.athlete-check-in.checked-in:hover{background:linear-gradient(135deg,#388e3c,#4caf50);border-color:#388e3c}.check-icon{align-items:center;background:#ffffff4d;border-radius:50%;color:#fff;display:flex;font-size:28px;font-weight:700;height:40px;justify-content:center;position:absolute;right:10px;top:10px;width:40px}.athlete-check-in:not(.checked-in) .check-icon{background:#f5f5f5;color:#0000}.athlete-name{font-size:20px;font-weight:700;line-height:1.3;text-align:center}.check-in-time{font-size:14px;font-weight:500;margin-top:8px;opacity:.9}.athlete-check-in:not(.checked-in) .check-in-time{display:none}.attendance-reports{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:25px}.report-header{border-bottom:2px solid #f0f0f0;margin-bottom:20px;padding-bottom:15px}.report-header h2{color:#333;font-size:22px;margin:0}.attendance-reports td.present{color:#4caf50;font-weight:600}.attendance-reports td.absent{color:#f44336;font-weight:600}.rate-cell{align-items:center;display:flex;gap:10px}.rate{font-weight:600;min-width:50px}.rate.excellent{color:#4caf50}.rate.good{color:#8bc34a}.rate.fair{color:#ff9800}.rate.poor{color:#f44336}.rate-bar{background:#f0f0f0;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.rate-fill{background:linear-gradient(90deg,#f44336,#ff9800 50%,#4caf50);height:100%;transition:width .3s}@media (min-width:1200px){.attendance-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}@media (max-width:1024px){.stats-bar{grid-template-columns:repeat(3,1fr)}.attendance-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}@media (max-width:768px){.controls{align-items:stretch;flex-direction:column}.class-selector select,.date-selector input{min-width:100%}.stats-bar{grid-template-columns:1fr}.attendance-grid{grid-template-columns:repeat(2,1fr)}.athlete-check-in{min-height:120px;padding:20px 15px}.athlete-name{font-size:16px}.rate-cell{align-items:flex-start;flex-direction:column}.rate-bar{width:100%}}@media (min-width:768px) and (max-width:1024px){.attendance-grid{gap:20px;grid-template-columns:repeat(3,1fr)}.athlete-check-in{font-size:20px;min-height:160px}.check-icon{font-size:32px;height:50px;width:50px}}.scheduled-practices{background:#f9f9f9;border-radius:12px;margin-bottom:20px;padding:20px}.scheduled-practices h4{color:#333;font-size:16px;font-weight:600;margin:0 0 15px}.practice-quick-select{display:flex;gap:10px;overflow-x:auto;padding-bottom:10px}.practice-btn{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:5px;min-width:80px;padding:15px 10px;transition:all .2s}.practice-btn:hover{border-color:#667eea;transform:translateY(-2px)}.practice-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.practice-day{font-size:12px;font-weight:600;opacity:.8;text-transform:uppercase}.practice-date{font-size:24px;font-weight:700}.practice-time{font-size:11px;opacity:.7}.att-checkin-tools{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.att-tool{background:#fff;border:1px solid #dfe3ee;border-radius:8px;color:#4a5568;cursor:pointer;font-size:.82rem;font-weight:700;padding:7px 12px}.att-tool:hover{border-color:#4f46e5;color:#4f46e5}.ch-wrap{margin:0 auto;max-width:1200px;padding:24px 16px 48px}.ch-head h1{color:#2c3e50;font-size:1.6rem;margin:0 0 16px}.ch-tabs{border-bottom:2px solid #ecf0f1;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}.ch-tab{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:#7f8c8d;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:6px;margin-bottom:-2px;padding:10px 16px;transition:color .15s,border-color .15s}.ch-tab:hover{color:#2c3e50}.ch-tab.active{border-bottom-color:#2980b9;color:#2980b9}.ch-tab-ico{font-size:1rem}.ch-panel>*{animation:ch-fade .15s ease}@keyframes ch-fade{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}@media (max-width:600px){.ch-tab{font-size:.88rem;padding:9px 12px}}.wfb{width:100%}.wfb-head{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.wfb-head h2{color:#1f2937;font-size:1.25rem;margin:0}.wfb-sub{color:#6b7280;font-size:.85rem;margin:2px 0 0}.wfb-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:.88rem;font-weight:600;gap:6px;padding:9px 15px;text-decoration:none}.wfb-btn-primary{background:#15803d;color:#fff}.wfb-btn-primary:hover{background:#166534}.wfb-btn-primary:disabled{cursor:default;opacity:.6}.wfb-btn-ghost{background:#eef2f0;color:#374151}.wfb-btn-ghost:hover{background:#e2e8e5}.wfb-btn-danger{background:#fee2e2;color:#b91c1c}.wfb-btn-danger:hover{background:#fecaca}.wfb-empty{background:#f9fafb;border:1px dashed #d1d5db;border-radius:12px;color:#6b7280;padding:40px 20px;text-align:center}.wfb-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.wfb-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;padding:16px}.wfb-card-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.wfb-source{color:#6b7280;font-size:.75rem;font-weight:600}.wfb-name{color:#1f2937;font-size:1.02rem;margin:0 0 10px}.wfb-type{background:#dcfce7;border-radius:999px;color:#15803d;font-size:.72rem;font-weight:700;padding:3px 10px;text-transform:capitalize}.wfb-type-insurance{background:#dbeafe;color:#1d4ed8}.wfb-type-liability{background:#fee2e2;color:#b91c1c}.wfb-type-registration{background:#fef3c7;color:#b45309}.wfb-type-medical{background:#fae8ff;color:#a21caf}.wfb-type-consent{background:#e0e7ff;color:#4338ca}.wfb-type-emergency{background:#ffe4e6;color:#be123c}.wfb-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.wfb-chip{background:#f1f5f9;border-radius:6px;color:#475569;font-size:.72rem;font-weight:600;padding:2px 8px}.wfb-chip.req{background:#dcfce7;color:#15803d}.wfb-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.wfb-card-actions .wfb-btn{font-size:.8rem;padding:6px 12px}.wfb-archived{color:#374151;margin-top:20px}.wfb-archived summary{color:#6b7280;cursor:pointer;font-weight:600}.wfb-archived ul{list-style:none;margin:0;padding:8px 0 0}.wfb-archived li{align-items:center;display:flex;gap:8px;padding:4px 0}.wfb-muted{color:#9ca3af;font-size:.85rem}.wfb-linkbtn{background:none;border:none;color:#15803d;cursor:pointer;font-weight:600;padding:0}.wfb-overlay{align-items:flex-start;background:#0f172a80;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:40px 16px;position:fixed;z-index:1000}.wfb-modal{background:#fff;border-radius:14px;box-shadow:0 20px 50px #00000040;max-width:680px;width:100%}.wfb-modal-head{align-items:center;border-bottom:1px solid #eef2f0;display:flex;justify-content:space-between;padding:18px 22px}.wfb-modal-head h2{color:#1f2937;font-size:1.15rem;margin:0}.wfb-close{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1.6rem;line-height:1}.wfb-form{padding:20px 22px}.wfb-method{display:flex;gap:10px;margin-bottom:18px}.wfb-method button{background:#fff;border:2px solid #e5e7eb;border-radius:10px;color:#374151;cursor:pointer;flex:1 1;font-weight:600;padding:12px}.wfb-method button.active{background:#f0fdf4;border-color:#15803d;color:#15803d}.wfb-method button:disabled{cursor:not-allowed;opacity:.45}.wfb-row{display:flex;gap:14px}.wfb-row .wfb-field{flex:1 1}.wfb-field{margin-bottom:16px}.wfb-field>label{color:#374151;display:block;font-size:.9rem;font-weight:600;margin-bottom:6px}.wfb-field input[type=date],.wfb-field input[type=file],.wfb-field input[type=text],.wfb-field select{border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;font-size:.92rem;padding:10px 12px;width:100%}.wfb-hint{color:#6b7280;display:block;font-size:.78rem;margin-top:6px}.wfb-pdf-note{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#4b5563;font-size:.85rem;padding:10px 12px}.wfb-pdf-note code{background:#eef2f0;border-radius:4px;padding:1px 5px}.wfb-field .rsw-editor{border-radius:8px;min-height:200px}.wfb-field .rsw-ce{min-height:170px}.wfb-opts{grid-gap:8px 16px;display:grid;gap:8px 16px;grid-template-columns:1fr 1fr;margin:4px 0 16px}.wfb-opts label{align-items:center;color:#374151;display:flex;font-size:.88rem;gap:8px}.wfb-fields{margin:4px 0 8px}.wfb-fields summary{color:#374151;cursor:pointer;font-weight:600}.wfb-field-add{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.wfb-field-add input[type=text]{flex:1 1;min-width:140px}.wfb-field-add input[type=text],.wfb-field-add select{border:1px solid #d1d5db;border-radius:8px;padding:8px 10px}.wfb-inline{align-items:center;display:flex;font-size:.8rem;gap:4px}.wfb-field-list{list-style:none;margin:8px 0 0;padding:0}.wfb-field-list li{align-items:center;background:#f9fafb;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:6px;padding:6px 10px}.wfb-field-list em{color:#6b7280;font-size:.8rem;font-style:normal}.wfb-x{background:none;border:none;color:#b91c1c;cursor:pointer;font-size:1.1rem}.wfb-modal-foot{border-top:1px solid #eef2f0;display:flex;gap:10px;justify-content:flex-end;margin-top:18px;padding-top:16px}@media (max-width:640px){.wfb-row{flex-direction:column}.wfb-opts{grid-template-columns:1fr}}.waiver-management{margin:0 auto;max-width:1400px;padding:20px}.waiver-management .header{align-items:center;display:flex;justify-content:space-between;margin-bottom:25px}.waiver-management h1{color:#333;font-size:28px}.alerts-banner{display:flex;gap:15px;margin-bottom:25px}.alert{align-items:center;display:flex;flex:1 1;font-size:14px;gap:8px;padding:15px 20px}.alert-warning{background:#fff3cd;border:1px solid #ffe5b4;color:#856404}.alert-danger{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.alert strong{font-size:18px}.compliance-dashboard{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden;padding:0}.compliance-dashboard table{border-collapse:collapse;width:100%}.compliance-dashboard thead{background:#f5f5f5}.compliance-dashboard th{border-bottom:2px solid #e0e0e0;color:#666;font-size:13px;font-weight:600;padding:15px;text-align:left;text-transform:uppercase}.compliance-dashboard td{border-bottom:1px solid #f0f0f0;padding:15px}.compliance-dashboard tr:hover{background:#f9f9f9}.athlete-info{display:flex;flex-direction:column;gap:4px}.athlete-info strong{color:#333}.athlete-age{color:#999;font-size:12px}.status-badge{font-size:11px}.waiver-list{display:flex;flex-direction:column;gap:4px}.waiver-link{background:none;border:none;color:#2196f3;cursor:pointer;font-size:13px;padding:0;text-align:left;text-decoration:underline}.waiver-link:hover{color:#1976d2}.no-waivers{color:#999;font-size:13px;font-style:italic}.expiration-warning{color:#ff9800;font-weight:600}.templates-view{padding:20px 0}.templates-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.template-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;gap:15px;padding:20px}.template-header{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.template-card h3{color:#333;font-size:18px;margin:0}.template-type{border-radius:12px;font-size:11px;font-weight:600;padding:4px 10px;text-transform:uppercase;white-space:nowrap}.template-type.liability_waiver{background:#e3f2fd;color:#1976d2}.template-type.medical_form{background:#f3e5f5;color:#7b1fa2}.template-type.consent_form{background:#e8f5e9;color:#388e3c}.template-type.photo_release{background:#fff3e0;color:#f57c00}.template-description{color:#666;font-size:14px;margin:0}.template-meta{color:#999;display:flex;font-size:12px;gap:15px}.template-fields{font-size:13px}.template-fields strong{color:#666;display:block;margin-bottom:8px}.template-fields ul{margin:0;padding-left:20px}.template-fields li{color:#666;margin-bottom:4px}.template-actions{display:flex;gap:8px;margin-top:auto}.form-group input[type=email],.form-group input[type=number],.form-group input[type=text],.form-group select,.form-group textarea{border:2px solid #e0e0e0;border-radius:6px;font-family:inherit;font-size:15px;padding:10px;width:100%}.field-builder{background:#f9f9f9;border-radius:8px;margin-bottom:20px;padding:20px}.field-builder h3{color:#333;font-size:16px;margin:0 0 15px}.field-input-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:2fr 1fr auto;margin-bottom:15px}.field-list{list-style:none;margin:0;padding:0}.field-list li{background:#fff;border-radius:6px;justify-content:space-between;margin-bottom:8px;padding:10px}.field-list li,.remove-field{align-items:center;display:flex}.remove-field{background:#f44336;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:16px;height:24px;justify-content:center;width:24px}.remove-field:hover{background:#d32f2f}.submission-details{padding:25px}.detail-row{grid-gap:15px;border-bottom:1px solid #f0f0f0;display:grid;gap:15px;grid-template-columns:150px 1fr;padding:12px 0}.detail-row strong{color:#666}.signature-section{background:#f9f9f9;border-radius:8px;margin-top:20px;padding:20px}.signature-section img{border:2px solid #e0e0e0;border-radius:4px;margin-top:10px;max-width:300px}.form-data-section{margin-top:20px}.form-data-section pre{background:#f5f5f5;border-radius:6px;font-size:13px;overflow-x:auto;padding:15px}@media (max-width:1024px){.templates-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width:768px){.alerts-banner{flex-direction:column}.templates-grid{grid-template-columns:1fr}.template-actions{flex-direction:column}.detail-row,.field-input-row,.form-row{grid-template-columns:1fr}.modal-content{max-height:95vh;width:95%}}.waiver-signing-portal{margin:0 auto;max-width:900px;padding:24px 16px 64px}.portal-header{margin-bottom:24px}.portal-header h1{color:#15803d;font-size:1.6rem;margin:0 0 4px}.portal-header .selected-athlete{color:#555;margin:0}.athlete-selection h2,.form-signing h2,.forms-list h2{color:#1f2937;font-size:1.2rem;margin:8px 0 16px}.athletes-grid,.forms-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.athlete-card,.form-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000f;padding:20px;text-align:center;transition:box-shadow .15s ease,transform .15s ease}.athlete-card{cursor:pointer}.athlete-card:hover,.form-card:hover{box-shadow:0 4px 14px #0000001a;transform:translateY(-2px)}.athlete-avatar{align-items:center;background:#15803d;border-radius:50%;color:#fff;display:flex;font-size:1.1rem;font-weight:700;height:56px;justify-content:center;margin:0 auto 12px;width:56px}.athlete-card h3,.form-card h3{color:#1f2937;margin:0 0 4px}.form-header{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:8px}.form-badge,.form-type-badge{background:#dcfce7;border-radius:999px;color:#15803d;font-size:.75rem;font-weight:600;padding:2px 10px;text-transform:capitalize}.form-description{color:#6b7280;font-size:.85rem;min-height:20px}.btn-back,.btn-primary,.btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 16px}.btn-primary{background:#15803d}.btn-primary:hover{background:#166534}.btn-large{font-size:1rem;padding:14px 22px}.btn-secondary{background:#e5e7eb;color:#374151}.btn-small{font-size:.8rem}.btn-back{background:#0000;color:#15803d;margin-bottom:12px;padding:6px 0}.form-container{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px}.form-content .legal-text{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#374151;line-height:1.5;margin:12px 0 20px;max-height:320px;overflow-y:auto;padding:16px}.form-group{margin-bottom:16px}.form-group input[type=date],.form-group input[type=text],.form-group select,.form-group textarea{border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;font-size:.95rem;padding:10px 12px;width:100%}.checkbox-group label{align-items:center;display:flex;font-weight:400;gap:8px}.checkbox-group input{width:auto}.signature-section{margin:20px 0}.signature-instructions{color:#6b7280;font-size:.85rem;margin:0 0 8px}.signature-pad-container{background:#fff;border:2px dashed #cbd5e1;border-radius:8px;display:inline-block;margin-bottom:8px}.signature-canvas{border-radius:8px;display:block}.pdf-waiver-viewer h3{color:#1f2937}.form-actions{margin-top:24px}.loading,.success-message{color:#374151;padding:24px;text-align:center}.success-message{background:#dcfce7;border-radius:8px;color:#15803d}.insurance-management{margin:0 auto;max-width:1400px;padding:20px}.page-header{border-bottom:2px solid #e0e0e0;margin-bottom:30px;padding-bottom:20px}.page-header h1{color:#2c3e50}.alerts-section{margin-bottom:40px}.alerts-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:20px}.alert-card{background:#fff;border:2px solid;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:20px}.alert-card.alert-red{background:#fee;border-color:#e74c3c}.alert-card.alert-orange{background:#fef5e7;border-color:#e67e22}.alert-card.alert-yellow{background:#fef9e7;border-color:#f39c12}.alert-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.alert-badge{font-size:14px;font-weight:700}.alert-days{font-size:18px;font-weight:700}.alert-card h3{font-size:18px;margin:10px 0;text-transform:capitalize}.policy-number{color:#7f8c8d;font-size:12px}.expiration{font-weight:700;margin-top:10px}.policies-table{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow-x:auto;padding:20px}.policies-table table{border-collapse:collapse;width:100%}.policies-table th{background:#34495e;color:#fff;font-weight:600;padding:12px;text-align:left}.policies-table td{border-bottom:1px solid #e0e0e0;padding:12px}.expired-row{background:#fee}.status-badge{white-space:nowrap}.warning-text{color:#e67e22;font-weight:700}.modal-overlay{background:#000000b3}.modal-content.large{max-width:900px}.modal-header{border-bottom:2px solid #e0e0e0;padding:20px}.modal-header h2{color:#2c3e50}.close-btn{color:#7f8c8d}.close-btn:hover{color:#e74c3c}.modal-body,.modal-footer{padding:20px}.form-group label{color:#2c3e50;margin-bottom:5px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.file-name{color:#27ae60;font-size:14px;margin-top:8px}.btn-primary,.btn-remind,.btn-secondary,.btn-success{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s}.btn-primary{background:#3498db}.btn-primary:hover{background:#2980b9}.btn-primary:disabled,.btn-secondary{background:#95a5a6}.btn-secondary:hover{background:#7f8c8d}.btn-success{background:#27ae60}.btn-success:hover{background:#229954}.btn-remind{background:#e67e22;color:#fff;font-size:12px;padding:6px 12px}.btn-remind:hover{background:#d35400}.btn-small{font-size:12px}.waiver-compliance-dashboard{margin:0 auto;max-width:1600px;padding:20px}.dashboard-tabs{border-bottom:2px solid #e0e0e0;display:flex;gap:10px;margin-bottom:30px}.dashboard-tabs button{background:none;border:none;border-bottom:3px solid #0000;color:#7f8c8d;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .3s}.dashboard-tabs button.active{border-bottom-color:#3498db;color:#3498db}.stats-grid{margin-bottom:30px}.stat-card{border-left:4px solid #3498db;border-radius:8px}.stat-card.red{border-left-color:#e74c3c}.stat-card.orange{border-left-color:#e67e22}.stat-card.yellow{border-left-color:#f39c12}.stat-value{color:#2c3e50;font-size:36px}.stat-label{color:#7f8c8d;margin-top:8px}.filter-section{align-items:center;display:flex;gap:15px;margin-bottom:30px}.filter-buttons{display:flex;gap:10px}.filter-buttons button{background:#fff;border:2px solid #ddd;border-radius:6px;cursor:pointer;padding:8px 16px;transition:all .3s}.filter-buttons button.active{background:#3498db;border-color:#3498db;color:#fff}.filter-buttons button.active.red{background:#e74c3c;border-color:#e74c3c}.filter-buttons button.active.orange{background:#e67e22;border-color:#e67e22}.filter-buttons button.active.yellow{background:#f39c12;border-color:#f39c12}.compliance-table{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow-x:auto;padding:20px}.compliance-row.blocked{background:#fee}.compliance-row.warning{background:#fef5e7}.compliance-row.attention{background:#fef9e7}.athlete-name{color:#2c3e50}.form-type-badge{background:#ecf0f1;border-radius:4px;display:inline-block;font-size:11px;padding:2px 8px;text-transform:uppercase}.required-badge{color:#e74c3c;font-size:12px;font-weight:700}.optional-badge{color:#95a5a6;font-size:12px}.urgent-text{color:#e74c3c;font-weight:700}.registrations-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.registration-card{background:#fff;border:2px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:20px}.reg-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:15px}.reg-header h3{color:#2c3e50;margin:0}.progress-section{margin:20px 0}.progress-label{color:#7f8c8d;display:flex;font-size:14px;justify-content:space-between;margin-bottom:8px}.progress-percentage{color:#3498db;font-weight:700}.progress-bar{background:#ecf0f1}.progress-fill{background:linear-gradient(90deg,#3498db,#2ecc71)}.requirements-count{color:#7f8c8d;font-size:12px;margin-top:8px}.loading{color:#7f8c8d;padding:40px}.no-data{background:#ecf0f1;border-radius:8px;color:#95a5a6;font-size:16px;padding:40px;text-align:center}@media (max-width:768px){.alerts-grid,.form-row,.stats-grid{grid-template-columns:1fr}.filter-section{align-items:flex-start;flex-direction:column}.filter-buttons{flex-wrap:wrap}.modal-content.large{max-width:95%}.page-header{align-items:flex-start;flex-direction:column;gap:15px}}.communication-hub{margin:0 auto;max-width:1400px;padding:20px}.communication-hub .header{align-items:center;display:flex;justify-content:space-between;margin-bottom:25px}.communication-hub h1{color:#333;font-size:28px}.quick-actions,.view-tabs{display:flex;gap:10px}.view-tabs{border-bottom:2px solid #e0e0e0;margin-bottom:25px}.view-tabs button{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:8px;padding:12px 24px;transition:all .2s}.view-tabs button:hover{color:#333}.view-tabs button.active{border-bottom-color:#4caf50;color:#4caf50}.badge{background:#f44336;border-radius:10px;color:#fff;font-size:11px;padding:2px 8px}.announcements-feed{display:flex;flex-direction:column;gap:20px}.announcement-card{background:#fff;border-left:4px solid #2196f3;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.announcement-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px}.announcement-meta{align-items:center;display:flex;gap:12px}.announcement-card h3{color:#333;font-size:20px;margin:0}.priority-badge{border-radius:12px;color:#fff;font-size:11px;font-weight:600;padding:4px 10px;text-transform:uppercase}.announcement-date{color:#999;font-size:13px}.announcement-content{color:#555;line-height:1.6;margin-bottom:15px;white-space:pre-wrap}.announcement-footer{align-items:center;border-top:1px solid #f0f0f0;display:flex;justify-content:space-between;padding-top:15px}.reactions{display:flex;gap:15px}.reactions button{background:#f5f5f5;border:none;border-radius:16px;cursor:pointer;font-size:14px;padding:6px 12px;transition:all .2s}.reactions button:hover{background:#e0e0e0;transform:scale(1.05)}.announcement-stats{align-items:center;color:#999;display:flex;font-size:13px;gap:15px}.messages-view{grid-gap:20px;display:grid;gap:20px;grid-template-columns:350px 1fr;height:600px}.threads-sidebar{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-y:auto;padding:20px}.threads-sidebar h3{color:#333;font-size:18px;margin:0 0 15px}.thread-item{border-left:3px solid #0000;border-radius:6px;cursor:pointer;margin-bottom:10px;padding:15px;transition:background .2s}.thread-item:hover{background:#f5f5f5}.thread-item.active{background:#e8f5e9;border-left-color:#4caf50}.thread-item.unread{background:#f3f9ff;border-left-color:#2196f3}.thread-subject{color:#333;font-weight:600;margin-bottom:5px}.thread-preview{color:#666;font-size:13px;margin-bottom:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-meta{align-items:center;color:#999;display:flex;font-size:12px;justify-content:space-between}.unread-badge{background:#2196f3;border-radius:10px;padding:2px 6px}.messages-panel{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;overflow:hidden}.messages-list{flex:1 1;gap:15px;overflow-y:auto;padding:20px}.message,.messages-list{display:flex;flex-direction:column}.message{gap:5px;max-width:70%}.message.sent{align-items:flex-end;align-self:flex-end}.message.received{align-items:flex-start;align-self:flex-start}.message-sender{color:#666;font-size:12px;font-weight:600}.message-content{border-radius:16px;line-height:1.5;padding:12px 16px}.message.sent .message-content{background:#4caf50;border-bottom-right-radius:4px;color:#fff}.message.received .message-content{background:#f0f0f0;border-bottom-left-radius:4px;color:#333}.message-time{color:#999;font-size:11px}.message-input{border-top:1px solid #e0e0e0;padding:15px}.message-input form{display:flex;gap:10px}.message-input input{border:2px solid #e0e0e0;border-radius:24px;flex:1 1;font-size:15px;padding:10px 15px}.message-input input:focus{border-color:#4caf50;outline:none}.empty-threads{color:#999;font-size:14px;padding:40px 20px;text-align:center}.calendar-view{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:25px}.event-card{background:#f9f9f9;border-left:4px solid #4caf50;border-radius:8px;padding:20px}.event-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.event-card h3{color:#333;font-size:18px;margin:0}.event-type{border-radius:12px;color:#fff;font-size:11px;font-weight:600;padding:4px 10px;text-transform:uppercase}.event-description{color:#666;line-height:1.5;margin:0 0 15px}.event-details{display:flex;flex-direction:column;gap:8px;margin-bottom:15px}.event-location,.event-recurrence,.event-time{align-items:center;color:#666;display:flex;font-size:14px;gap:8px}.event-footer{align-items:center;border-top:1px solid #e0e0e0;color:#999;display:flex;font-size:13px;justify-content:space-between;padding-top:15px}.modal-content{border-radius:8px;box-shadow:0 4px 20px #0000004d}.modal-header{padding:20px 25px}.modal-header h2{color:#333;font-size:22px}.close-btn{border-radius:4px;color:#999;font-size:28px;height:30px;width:30px}.modal-content form{padding:25px}.form-group input[type=datetime-local],.form-group input[type=text],.form-group select,.form-group textarea{border:2px solid #e0e0e0;border-radius:6px;font-family:inherit;font-size:15px;padding:10px;width:100%}.form-group select[multiple]{height:120px}.form-group small{color:#999;display:block;font-size:12px;margin-top:5px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#4caf50}.modal-footer{border-top:1px solid #e0e0e0;padding:20px 25px}.btn-primary{background:#4caf50;border-radius:6px;font-size:15px;font-weight:500}.btn-primary:hover{background:#45a049}.btn-secondary{border:2px solid #e0e0e0;color:#666;font-size:15px;font-weight:500}.btn-secondary:hover{border-color:#999;color:#333}.empty-state{font-size:16px}@media (max-width:1024px){.messages-view{grid-template-columns:1fr;height:auto}.threads-sidebar{max-height:300px}.messages-panel{height:400px}}@media (max-width:768px){.communication-hub .header{align-items:stretch;flex-direction:column;gap:15px}.quick-actions{flex-direction:column}.view-tabs{overflow-x:auto}.view-tabs button{white-space:nowrap}.form-row{grid-template-columns:1fr}.message{max-width:85%}.modal-content{max-height:95vh;width:95%}}.notify-channels{align-items:center;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;display:flex;flex-wrap:wrap;gap:16px;margin:4px 0 12px;padding:10px 14px}.notify-channels .notify-label{color:#15803d;font-size:.88rem;font-weight:600}.notify-channels label{align-items:center;color:#374151;cursor:pointer;display:flex;font-size:.9rem;gap:6px;margin:0}.notify-channels label.disabled{color:#9ca3af;cursor:not-allowed}.notify-channels label small{color:#9ca3af}.medical-profile-container{background:linear-gradient(135deg,#f5f7fa,#e8f0f7);margin:0 auto;max-width:1400px;min-height:100vh;padding:20px}.medical-header{background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;margin-bottom:30px;padding:30px;text-align:center}.medical-header h1{color:#2c5aa0;font-size:2.5em;margin-bottom:10px}.medical-header p{color:#666;font-size:1.1em}.athlete-selector{align-items:center;background:#fff;border-radius:10px;box-shadow:0 2px 10px #00000014;display:flex;gap:15px;margin-bottom:25px;padding:20px}.athlete-selector label{color:#333;font-size:1.1em;font-weight:600}.athlete-selector select{border:2px solid #ddd;border-radius:8px;flex:1 1;font-size:1em;padding:12px;transition:border .3s}.athlete-selector select:focus{border-color:#2c5aa0;outline:none}.health-status-overview{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:25px}.status-card{align-items:center;border-radius:12px;box-shadow:0 3px 15px #00000014;display:flex;gap:20px;transition:transform .3s,box-shadow .3s}.status-card:hover{box-shadow:0 5px 25px #00000026;transform:translateY(-5px)}.status-icon{font-size:3em}.status-card h3{font-size:1em;margin:0 0 5px}.status-card p{color:#2c5aa0;font-size:1.3em;font-weight:600;margin:0}.medical-tabs{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;display:flex;gap:10px;margin-bottom:25px;overflow-x:auto;padding:15px}.medical-tabs button{background:#f0f4f8;border:none;border-radius:8px;color:#555;cursor:pointer;font-weight:600;padding:12px 25px;transition:all .3s;white-space:nowrap}.medical-tabs button:hover{background:#e3ecf5}.medical-tabs button.tab-active{background:linear-gradient(135deg,#2c5aa0,#4a7bc8);box-shadow:0 3px 10px #2c5aa04d;color:#fff}.tab-header{border-bottom:3px solid #f0f4f8;padding-bottom:15px}.tab-header h2{color:#2c5aa0;margin:0}.profile-display{display:flex;flex-direction:column;gap:25px}.profile-section{background:#f9fbfd;border-left:4px solid #2c5aa0;border-radius:10px;padding:20px}.profile-section h3{color:#2c5aa0;font-size:1.3em;margin-bottom:15px;margin-top:0}.profile-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.profile-grid div{background:#fff;border-radius:6px;padding:12px}.profile-grid strong{color:#555;display:block;font-size:.9em;margin-bottom:5px}.allergy-list,.condition-list{display:flex;flex-direction:column;gap:10px;list-style:none;padding:0}.allergy-item{background:#fff;border-left:4px solid #ffc107;border-radius:8px;padding:12px}.allergy-item.severity-anaphylaxis,.allergy-item.severity-severe{background:#fff5f5;border-left-color:#dc3545}.allergy-item strong{color:#333;font-size:1.1em}.condition-list li{background:#fff;border-left:4px solid #17a2b8;border-radius:8px;padding:12px}.clearances-list,.injuries-list,.medications-list{display:flex;flex-direction:column;gap:20px}.clearance-card,.injury-card,.medication-card{background:#f9fbfd;border:2px solid #e3ecf5;border-radius:12px;padding:20px;transition:border-color .3s,box-shadow .3s}.clearance-card:hover,.injury-card:hover,.medication-card:hover{border-color:#2c5aa0;box-shadow:0 4px 15px #2c5aa01a}.clearance-header,.injury-header,.medication-header{align-items:center;border-bottom:2px solid #e3ecf5;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:10px}.clearance-header h3,.injury-header h3,.medication-header h3{color:#2c5aa0;font-size:1.3em;margin:0}.clearance-details,.injury-details,.medication-details{display:flex;flex-direction:column;gap:8px}.clearance-details p,.injury-details p,.medication-details p{color:#555;margin:0}.clearance-details strong,.injury-details strong,.medication-details strong{color:#333;margin-right:5px}.clearance-date,.injury-date{color:#666;font-size:.95em}.badge{margin-left:8px}.badge-warning{background:#fff3cd;border:1px solid #ffc107;color:#856404}.badge-info{background:#d1ecf1;border:1px solid #17a2b8;color:#0c5460}.badge-injury-active{background:#f8d7da;color:#721c24}.badge-injury-recovering{background:#fff3cd;color:#856404}.badge-injury-cleared{background:#d4edda;color:#155724}.badge-injury-chronic{background:#d6d8db;color:#383d41}.badge-severity-minor{background:#d1ecf1;color:#0c5460}.badge-severity-moderate{background:#fff3cd;color:#856404}.badge-severity-severe{background:#f8d7da;color:#721c24}.badge-severity-critical{background:#721c24;color:#fff}.warning-text{background:#fff3cd;border-left:4px solid #ffc107;color:#856404}.success-text,.warning-text{border-radius:6px;padding:10px}.success-text{background:#d4edda;border-left:4px solid #28a745;color:#155724}.monitoring-notice{background:#fff3cd;border-left:4px solid #ffc107;border-radius:6px;margin-top:10px;padding:12px}.clearance-acknowledgments{background:#fff;border-radius:6px;color:#555;font-size:.95em;margin-top:10px;padding:10px}.modal-overlay{background:#0009;overflow-y:auto}.modal-content{animation:modalSlideIn .3s ease;border-radius:15px;box-shadow:0 10px 40px #0000004d;max-width:700px;padding:30px}.modal-content.large-modal{max-width:900px}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.modal-content h2{border-bottom:3px solid #f0f4f8;color:#2c5aa0;margin-bottom:25px;margin-top:0;padding-bottom:15px}.form-section{background:#f9fbfd;border-radius:10px;margin-bottom:25px;padding:20px}.form-section h3{color:#2c5aa0;margin-top:0}.form-row,.form-section h3{margin-bottom:15px}.form-group{display:flex;flex-direction:column}.form-group input,.form-group select,.form-group textarea{border:2px solid #ddd;font-size:1em;padding:10px;transition:border .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#2c5aa0}.form-group textarea{min-height:80px}.allergies-manager,.conditions-manager{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px}.allergy-chip,.condition-chip{align-items:center;background:#e3ecf5;border-radius:20px;color:#2c5aa0;display:inline-flex;font-size:.95em;gap:10px;padding:8px 12px}.allergy-chip button,.condition-chip button{align-items:center;background:#2c5aa0;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.1em;height:20px;justify-content:center;transition:background .3s;width:20px}.allergy-chip button:hover,.condition-chip button:hover{background:#1e4275}.checkbox-label{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:10px;padding:10px;transition:background .3s;-webkit-user-select:none;user-select:none}.checkbox-label:hover{background:#f0f4f8}.checkbox-label input[type=checkbox]{cursor:pointer;height:20px;width:20px}.checkbox-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.modal-actions{border-top:2px solid #f0f4f8;display:flex;gap:15px;justify-content:flex-end;margin-top:25px;padding-top:20px}.btn-primary,.btn-secondary{font-size:1em;padding:12px 25px}.btn-primary{background:linear-gradient(135deg,#2c5aa0,#4a7bc8);box-shadow:0 3px 10px #2c5aa04d}.btn-primary:hover{box-shadow:0 5px 15px #2c5aa066}.btn-secondary{background:#e3ecf5;color:#2c5aa0}.btn-secondary:hover{background:#d1dfe8}@media (max-width:768px){.medical-profile-container{padding:15px}.medical-header h1{font-size:1.8em}.health-status-overview{grid-template-columns:1fr}.medical-tabs{flex-wrap:wrap}.tab-content{padding:20px}.modal-content{max-width:100%;padding:20px}.form-row,.profile-grid{grid-template-columns:1fr}}.meet-coordination-container{background:linear-gradient(135deg,#fff5e6,#ffe8cc);margin:0 auto;max-width:1400px;min-height:100vh;padding:20px}.meet-header{background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;margin-bottom:30px;padding:30px;text-align:center}.meet-header h1{color:#d97706;font-size:2.5em;margin-bottom:10px}.meet-selector{align-items:center;background:#fff;border-radius:10px;display:flex;gap:15px;margin-bottom:25px;padding:20px}.meet-selector select{border:2px solid #ddd;border-radius:8px;flex:1 1;font-size:1em;padding:12px}.meet-tabs{background:#fff;border-radius:12px;display:flex;gap:10px;margin-bottom:25px;padding:15px}.meet-tabs button{background:#fef3e2;border:none;border-radius:8px;color:#92400e;cursor:pointer;font-weight:600;padding:12px 25px;transition:all .3s;white-space:nowrap}.meet-tabs button.tab-active{background:linear-gradient(135deg,#d97706,#f59e0b);color:#fff}.tab-content h2{border-bottom:3px solid #fef3e2;color:#d97706}.tab-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:25px}.results-grid,.selections-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.result-card,.selection-card,.travel-card{background:#fef3e2;border:4px solid #d97706;border-radius:10px;padding:20px}.checklist-items{display:flex;flex-direction:column;gap:10px}.checklist-item{background:#f9fafb;border-radius:8px;gap:10px}.checklist-item.completed{background:#d4edda}.badge{border-radius:15px;color:#0c5460;font-size:.85em;font-weight:600;padding:5px 12px;text-transform:uppercase}.badge-confirmed{background:#d4edda;color:#155724}.medal-badge.gold{background:gold}.medal-badge.gold,.medal-badge.silver{border-radius:20px;font-weight:600;padding:8px 15px}.medal-badge.silver{background:silver}.medal-badge.bronze{background:#cd7f32;color:#fff;font-weight:600;padding:8px 15px}.invoice-billing-container{margin:0 auto;max-width:1000px;padding:24px 16px 80px}.invoice-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.invoice-header h1{color:#1a3a5c;font-size:1.8rem;margin:0}.billing-summary-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:24px}@media (max-width:600px){.billing-summary-cards{grid-template-columns:1fr}}.summary-card{border-radius:10px;color:#fff;padding:20px;text-align:center}.summary-card.green{background:#27ae60}.summary-card.orange{background:#e67e22}.summary-card.red{background:#e74c3c}.summary-value{font-size:2rem;font-weight:700}.summary-label{font-size:.85rem;margin-top:4px;opacity:.9}.invoice-tabs{border-bottom:2px solid #e0e0e0;display:flex;gap:8px;margin-bottom:20px;padding-bottom:0}.tab-btn{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;display:flex;font-size:.95rem;gap:6px;margin-bottom:-2px;padding:10px 18px;transition:color .2s}.tab-btn.active{border-bottom-color:#1a5276;color:#1a5276;font-weight:600}.tab-count{background:#e0e0e0;border-radius:12px;color:#555;font-size:.8rem;padding:1px 8px}.tab-btn.active .tab-count{background:#1a5276;color:#fff}.invoice-list{display:flex;flex-direction:column;gap:12px}.invoice-card{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:10px;box-shadow:0 1px 4px #0000000f;display:flex;gap:16px;justify-content:space-between;padding:16px 20px}@media (max-width:600px){.invoice-card{align-items:flex-start;flex-direction:column}}.invoice-number{color:#888;font-size:.8rem;margin-bottom:2px}.invoice-athlete{color:#1a3a5c;font-size:1rem;font-weight:700}.invoice-description{color:#666;font-size:.85rem;margin-top:2px}.invoice-amount{color:#1a3a5c;font-size:1.4rem;font-weight:700}.invoice-due{color:#888;font-size:.85rem}.invoice-paid-date{color:#27ae60;font-size:.8rem}.invoice-card-right{align-items:flex-end;display:flex;flex-direction:column;gap:8px}.status-badge{border-radius:20px;color:#fff;font-size:.8rem;font-weight:600;padding:4px 12px;text-transform:uppercase}.invoice-actions{display:flex;gap:8px}.btn-primary{background:#1a5276;font-size:.95rem;transition:background .2s}.btn-primary:hover{background:#154360}.btn-secondary{background:#f0f0f0;border:none;border-radius:8px;padding:10px 20px}.btn-small{border:none;border-radius:6px;cursor:pointer;font-size:.82rem;font-weight:600;padding:5px 12px}.btn-green{background:#27ae60;color:#fff}.btn-blue{background:#2980b9;color:#fff}.btn-red{background:#e74c3c;color:#fff}.modal-overlay{inset:0;padding:16px}.modal-box{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;max-width:520px;width:100%}.modal-header{border-bottom:1px solid #e0e0e0;padding:20px 24px 16px}.modal-header h2{color:#1a3a5c;font-size:1.2rem}.modal-close{background:none;border:none;color:#888;cursor:pointer;font-size:1.6rem;line-height:1}.invoice-form{gap:14px;padding:20px 24px 24px}.invoice-form,.invoice-form label{display:flex;flex-direction:column}.invoice-form label{color:#555;font-size:.9rem;font-weight:500;gap:5px}.invoice-form input,.invoice-form select,.invoice-form textarea{border:1px solid #ccc;border-radius:7px;font-size:.95rem;padding:9px 12px;transition:border-color .2s}.invoice-form input:focus,.invoice-form select:focus,.invoice-form textarea:focus{border-color:#1a5276;outline:none}.form-actions{justify-content:flex-end;margin-top:4px}.empty-state,.loading-state{color:#888;padding:40px;text-align:center}.modal-box.charge-builder{max-width:640px}.charge-review-sub{color:#6b7280;font-size:.88rem;margin:0 0 10px}.charge-table-wrap{border:1px solid #e5e7eb;border-radius:8px;max-height:340px;overflow-y:auto}.charge-table{border-collapse:collapse;font-size:.88rem;width:100%}.charge-table thead th{background:#f8fafc;border-bottom:1px solid #e5e7eb;color:#475569;font-weight:600;padding:8px 10px;position:sticky;text-align:left;top:0}.charge-table td{border-bottom:1px solid #f1f5f9;padding:6px 10px}.charge-table td input[type=number]{border:1px solid #d1d5db;border-radius:6px;padding:5px 7px;width:84px}.charge-table td input[type=text]{border:1px solid #d1d5db;border-radius:6px;padding:5px 7px;width:100%}.charge-table .charge-net{color:#15803d;font-weight:700;white-space:nowrap}.charge-table .charge-remove{background:#fee2e2;border:none;border-radius:6px;color:#b91c1c;cursor:pointer;font-size:1rem;height:26px;width:26px}.charge-total-bar{align-items:baseline;color:#374151;display:flex;font-size:.95rem;gap:6px;justify-content:flex-end;padding:12px 4px 4px}.charge-total-bar strong{color:#15803d;font-size:1.15rem}.billing-readonly-note{color:#6b7280;font-size:.85rem;font-style:italic}.invoice-paynote{background:#fff3e0;border-radius:8px;color:#b9770e;display:inline-block;font-size:.8rem;font-weight:700;padding:5px 10px;white-space:nowrap}.page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.page-header h1{color:#1a1a1a;font-size:28px;margin:0}.tab.active{border-bottom-color:#06c;color:#06c}.tab:hover{color:#06c}.form-group label{font-size:14px;font-weight:500;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:14px;padding:10px 12px;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#06c;box-shadow:0 0 0 3px #0066cc1a}.form-row{grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.btn-primary{background:#06c}.btn-primary:hover{background:#0052a3}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover{background:#c82333}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5a6268}.btn-large{font-size:16px;padding:14px 28px}.btn-outline{background:#fff;border:1px solid #06c;color:#06c}.btn-outline:hover{background:#06c;color:#fff}.badge-yellow{background:#fff3cd;color:#856404}.stats-grid{grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:24px 0}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.stat-card.blue{background:linear-gradient(135deg,#4facfe,#00f2fe)}.stat-value{font-size:32px;margin-bottom:4px}.stat-label{opacity:.9}.plan-frequency{background:#e7f3ff;border-radius:6px;color:#06c;display:inline-block;font-size:13px;font-weight:500;padding:6px 12px;text-transform:capitalize}.plan-details{grid-gap:16px;background:#f8f9fa;border-radius:8px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:16px 0;padding:16px}.plan-detail-item{text-align:center}.plan-detail-label{color:#666;font-size:12px;margin-bottom:4px}.plan-detail-value{color:#333;font-size:18px;font-weight:600}.progress-bar{background:#e9ecef;border-radius:4px;height:8px;margin:8px 0;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#28a745,#20c997);transition:width .3s}.discount-code-box{background:#fff;border:2px dashed #06c;border-radius:8px;margin:16px 0;padding:16px;text-align:center}.discount-code{color:#06c;font-family:Courier New,monospace;font-size:24px;font-weight:700;letter-spacing:2px}.discount-amount{color:#28a745;font-size:18px;margin-top:8px}.schedule-day{margin-bottom:24px}.day-header{background:#06c;border-radius:8px 8px 0 0;color:#fff;font-size:16px;font-weight:600;padding:12px 16px}.shift-list{border:1px solid #dee2e6;border-radius:0 0 8px 8px;border-top:none}.shift-item{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:16px}.shift-item:last-child{border-bottom:none}.shift-info{flex:1 1}.shift-time{color:#333;font-weight:600;margin-bottom:4px}.shift-details{color:#666;font-size:13px}.shift-staff{color:#06c;font-weight:500}.time-clock-container{margin:0 auto;max-width:800px}.current-time{color:#06c;font-family:Courier New,monospace;font-size:20px;font-weight:600}.clock-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:48px 24px;text-align:center}.clock-in-section h2,.clocked-in-section .status-badge{color:#fff;margin-bottom:24px}.status-badge{background:#fff3;border-radius:24px;font-size:18px;font-weight:700;padding:12px 24px;position:relative}.pulse{animation:pulse 2s infinite;background:#28a745;border-radius:50%;height:12px;left:-8px;position:absolute;top:50%;transform:translateY(-50%);width:12px}.clock-info{background:#ffffff1a;border-radius:8px;margin:24px 0;padding:20px}.clock-info p{font-size:16px;margin:8px 0}.clock-btn{box-shadow:0 4px 12px #0003;font-size:18px;margin-top:16px;padding:16px 48px}.hours-summary{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,1fr);margin-top:16px}.summary-stat{background:#f8f9fa;border-radius:12px;padding:24px;text-align:center}.summary-stat .stat-value{color:#06c;font-size:36px;font-weight:700;margin-bottom:8px}.summary-stat .stat-label{color:#666;font-size:14px;letter-spacing:.5px;text-transform:uppercase}.modal-content{padding:24px;width:90%}.modal-header{margin-bottom:24px}.close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;width:32px}.close-btn:hover{background:#f0f0f0;color:#333}@media (max-width:768px){.form-row,.hours-summary,.stats-grid{grid-template-columns:1fr}.plan-details{grid-template-columns:repeat(2,1fr)}.shift-item{align-items:flex-start;flex-direction:column;gap:12px}}.rp-wrap{margin:0 auto;max-width:1000px;padding:20px 16px 64px}.rp-loading{color:#6b7280;padding:48px;text-align:center}.rp-head{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:18px}.rp-head h1{color:#1f2937;font-size:1.4rem;margin:0}.rp-period{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.rp-period label{color:#6b7280;font-size:.82rem}.rp-period input[type=date]{border:1px solid #d1d5db;border-radius:6px;margin-left:4px;padding:6px 8px}.rp-btn{background:#15803d;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:700;padding:8px 14px}.rp-btn.ghost{background:#eef2f0;color:#374151}.rp-tiles{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-bottom:18px}.rp-tile{background:#fff;border:1px solid #e5e7eb;border-left-width:4px;border-radius:12px;display:flex;flex-direction:column;gap:2px;padding:16px}.rp-tile.good{border-left-color:#15803d}.rp-tile.bad{border-left-color:#b91c1c}.rp-tile.neutral{border-left-color:#94a3b8}.rp-tile-v{color:#1f2937;font-size:1.5rem;font-weight:800}.rp-tile-l{color:#6b7280;font-size:.75rem;font-weight:600}.rp-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:16px;padding:16px 18px}.rp-card-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.rp-card-head h2{color:#1f2937;font-size:1.05rem;margin:0}.rp-card-head h2 small{color:#9ca3af;font-size:.8rem;font-weight:400}.rp-export{background:#eef2f0;border:none;border-radius:6px;color:#374151;cursor:pointer;font-size:.8rem;font-weight:600;padding:6px 12px}.rp-empty{color:#9ca3af;margin:4px 0}.rp-aging{display:flex;flex-direction:column;gap:8px}.rp-aging-row{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:90px 1fr 90px}.rp-aging-label{color:#6b7280;font-size:.82rem}.rp-aging-bar{background:#f1f5f9;border-radius:6px;height:18px;overflow:hidden}.rp-aging-fill{height:100%}.rp-aging-fill.ok{background:#15803d}.rp-aging-fill.warn{background:#d97706}.rp-aging-fill.bad{background:#b91c1c}.rp-aging-amt{color:#374151;font-size:.88rem;font-weight:700;text-align:right}.rp-table{border-collapse:collapse;font-size:.9rem;width:100%}.rp-table thead th{border-bottom:1px solid #e5e7eb;color:#475569;font-weight:700;padding:8px 10px;text-align:left}.rp-table td{border-bottom:1px solid #f1f5f9;color:#374151;padding:8px 10px}.rp-link{color:#15803d;cursor:pointer;font-weight:700}.rp-link:hover{text-decoration:underline}.rp-due{color:#b91c1c;font-weight:700}.rp-mini{background:#eef2f0;border:none;color:#374151;cursor:pointer;font-size:.78rem;padding:4px 10px}.rp-mini,.rp-rate{border-radius:6px;font-weight:700}.rp-rate{font-size:.8rem;padding:2px 8px}.rp-rate.good{background:#dcfce7;color:#15803d}.rp-rate.warn{background:#fef3c7;color:#b45309}.rp-rate.bad{background:#fee2e2;color:#b91c1c}@media (max-width:700px){.rp-tiles{grid-template-columns:1fr}}.financial-reports-container{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);margin:0 auto;max-width:1400px;min-height:100vh;padding:20px}.financial-header{background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;margin-bottom:30px;padding:30px;text-align:center}.financial-header h1{color:#2e7d32;font-size:2.5em;margin-bottom:10px}.date-range-selector{align-items:flex-end;background:#fff;border-radius:12px;justify-content:space-between;margin-bottom:25px;padding:20px}.date-inputs,.date-range-selector{display:flex;flex-wrap:wrap;gap:20px}.date-inputs>div{display:flex;flex-direction:column}.date-inputs label{color:#333;font-weight:600;margin-bottom:8px}.date-inputs input{border:2px solid #ddd;border-radius:6px;font-size:1em;padding:10px}.btn-export{background:linear-gradient(135deg,#2e7d32,#43a047);border:none;border-radius:8px;box-shadow:0 3px 10px #2e7d324d;color:#fff;cursor:pointer;font-weight:600;padding:12px 25px;transition:all .3s}.btn-export:hover{box-shadow:0 5px 15px #2e7d3266;transform:translateY(-2px)}.financial-tabs{background:#fff;border-radius:12px;display:flex;gap:10px;margin-bottom:25px;overflow-x:auto;padding:15px}.financial-tabs button{background:#e8f5e9;border:none;border-radius:8px;cursor:pointer;font-weight:600;padding:12px 25px;transition:all .3s;white-space:nowrap}.financial-tabs button.tab-active{background:linear-gradient(135deg,#2e7d32,#43a047);color:#fff}.tab-content{background:#fff;border-radius:12px;box-shadow:0 3px 15px #00000014;min-height:400px;padding:30px}.tab-content h2{border-bottom:3px solid #e8f5e9;color:#2e7d32;margin-bottom:25px;padding-bottom:15px}.summary-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:40px}.summary-card{align-items:center;background:linear-gradient(135deg,#f5f5f5,#e0e0e0);border-radius:12px;box-shadow:0 3px 15px #0000001a;display:flex;gap:20px;padding:25px;transition:transform .3s}.summary-card:hover{transform:translateY(-5px)}.summary-card.revenue-card{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff}.summary-card.expense-card{background:linear-gradient(135deg,#ff9800,#ffb74d);color:#fff}.summary-card.profit-card.positive{background:linear-gradient(135deg,#2196f3,#42a5f5);color:#fff}.summary-card.profit-card.negative{background:linear-gradient(135deg,#f44336,#ef5350);color:#fff}.card-icon{font-size:3.5em}.card-content h3{font-size:1.1em;margin:0 0 10px;opacity:.9}.card-content .amount{font-size:2em;font-weight:700;margin:0 0 5px}.card-content .subtitle{font-size:.9em;opacity:.8}.expenses-by-category{background:#f9fafb;border-radius:10px;padding:25px}.expenses-by-category h3{color:#2e7d32;margin-bottom:20px;margin-top:0}.category-breakdown{display:flex;flex-direction:column;gap:15px}.category-row{grid-gap:15px;align-items:center;display:grid;gap:15px;grid-template-columns:200px 1fr 120px}.category-name{color:#333;font-weight:600}.category-bar{background:#e0e0e0;border-radius:12px;height:25px;overflow:hidden}.category-fill{background:linear-gradient(90deg,#2e7d32,#66bb6a);height:100%;transition:width .5s ease}.category-amount{color:#2e7d32;font-weight:600;text-align:right}.expenses-table{overflow-x:auto}.expenses-table table{border-collapse:collapse;width:100%}.expenses-table th{background:#e8f5e9;border-bottom:2px solid #2e7d32;color:#2e7d32;font-weight:600;padding:15px;text-align:left}.expenses-table td{border-bottom:1px solid #e0e0e0;padding:12px 15px}.expenses-table tr:hover{background:#f5f5f5}.amount-cell{color:#d32f2f;font-weight:600;text-align:right}.revenue-categories-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.revenue-category-card{background:#f9fafb;border-left:4px solid #2e7d32;border-radius:10px;padding:20px}.revenue-category-card h3{color:#2e7d32;margin-top:0}.revenue-category-card .badge{border-radius:15px;display:inline-block;font-size:.85em;font-weight:600;margin-top:10px;padding:5px 12px}.revenue-category-card .badge.taxable{background:#ffebee;color:#c62828}.revenue-category-card .badge.non-taxable{background:#e8f5e9;color:#2e7d32}.reports-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.report-card{background:linear-gradient(135deg,#f5f5f5,#eee);border-radius:12px;box-shadow:0 3px 15px #0000001a;padding:30px;text-align:center;transition:transform .3s}.report-card:hover{box-shadow:0 5px 20px #00000026;transform:translateY(-5px)}.report-card h3{color:#2e7d32;font-size:1.3em;margin-bottom:15px;margin-top:0}.report-card p{color:#666;margin-bottom:20px}.btn-primary{background:linear-gradient(135deg,#2e7d32,#43a047);box-shadow:0 3px 10px #2e7d324d;padding:12px 25px;transition:all .3s}.btn-primary:hover{box-shadow:0 5px 15px #2e7d3266;transform:translateY(-2px)}.empty-state{font-size:1.1em}@media (max-width:768px){.category-row{gap:8px;grid-template-columns:1fr}.category-amount{text-align:left}.summary-cards{grid-template-columns:1fr}.date-range-selector{align-items:stretch;flex-direction:column}}.bf-wrap{margin:0 auto;max-width:1200px;padding:24px 16px 48px}.bf-head h1{color:#2c3e50;font-size:1.6rem;margin:0 0 16px}.bf-tabs{border-bottom:2px solid #ecf0f1;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}.bf-tab{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:#7f8c8d;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:6px;margin-bottom:-2px;padding:10px 16px;transition:color .15s,border-color .15s}.bf-tab:hover{color:#2c3e50}.bf-tab.active{border-bottom-color:#2980b9;color:#2980b9}.bf-tab-ico{font-size:1rem}.bf-panel>*{animation:bf-fade .15s ease}@keyframes bf-fade{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}@media (max-width:600px){.bf-tab{font-size:.88rem;padding:9px 12px}}.ppm-section{margin-bottom:18px}.ppm-section-head{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:10px}.ppm-section-title{color:#1a1f36;font-size:1rem;font-weight:800;margin:0}.ppm-hint{color:#8891a5;font-size:.8rem;margin:0}.ppm-btn{background:#fff;border:1px solid #d7dbe8;border-radius:9px;color:#4a5568;cursor:pointer;font-size:.85rem;font-weight:700;padding:7px 13px;transition:all .15s}.ppm-btn:hover{border-color:#667eea;color:#667eea}.ppm-btn-primary{background:#667eea;border-color:#667eea;color:#fff}.ppm-btn-primary:hover{background:#566ae0;color:#fff}.ppm-btn-ghost{background:#0000;border-color:#0000;color:#667eea}.ppm-input,.ppm-select{border:1px solid #d7dbe8;border-radius:9px;font-family:inherit;font-size:.88rem;padding:8px 11px}.ppm-input:focus,.ppm-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1f;outline:none}.ppm-add-row{gap:8px;margin-bottom:10px}.ppm-add-row,.ppm-presets{align-items:center;display:flex;flex-wrap:wrap}.ppm-presets{gap:6px}.ppm-preset{background:#fff;border:1.5px solid;border-radius:20px;cursor:pointer;font-size:.8rem;font-weight:800;padding:5px 12px}.ppm-preset:hover{filter:brightness(.96)}.ppm-group-list{display:flex;flex-wrap:wrap;gap:8px}.ppm-group-chip{align-items:center;background:#fff;border:1.5px solid #e6e8f0;border-radius:30px;display:inline-flex;gap:8px;padding:6px 10px 6px 8px}.ppm-group-dot{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.7rem;font-weight:800;height:24px;justify-content:center;width:24px}.ppm-group-name{color:#33384d;font-size:.86rem;font-weight:700}.ppm-group-count{color:#8891a5;font-size:.74rem}.ppm-chip-btn{color:#667eea;font-weight:700;padding:2px 4px}.ppm-chip-btn,.ppm-chip-x{background:#0000;border:none;cursor:pointer;font-size:.78rem}.ppm-chip-x{color:#c0392b;opacity:.6}.ppm-chip-x:hover{opacity:1}.ppm-group-expand{background:#fafbff;border:1px solid #e9ecf6;border-radius:10px;margin-top:10px;padding:12px}.ppm-expand-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.ppm-athlete-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));max-height:180px;overflow-y:auto}.ppm-athlete-check{align-items:center;color:#33384d;cursor:pointer;display:flex;font-size:.84rem;gap:6px;padding:3px}.ppm-coach-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.ppm-coach-chip{align-items:center;background:#eef2ff;border-radius:20px;color:#3730a3;display:inline-flex;font-size:.82rem;gap:6px;padding:5px 10px}.ppm-coach-assign{background:#f7f8fc;border-radius:10px;padding:10px}.ppm-coach-assign,.ppm-matrix-tools{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.ppm-matrix-tools{margin-bottom:10px}.ppm-matrix-wrap{border:1px solid #eef0f5;border-radius:12px;overflow-x:auto}.ppm-matrix{border-collapse:initial;border-spacing:0;min-width:560px;width:100%}.ppm-matrix td,.ppm-matrix th{border-bottom:1px solid #f0f2f7;padding:8px}.ppm-matrix thead th{background:#f7f8fc;border-bottom:2px solid #e9ecf6;color:#4a5568;font-size:.8rem}.ppm-corner{min-width:120px;text-align:left}.ppm-slot-head{min-width:108px;text-align:center}.ppm-slot-label{color:#33384d;font-weight:800}.ppm-slot-dur{color:#667eea;display:inline-block;font-size:.72rem;font-weight:700;margin-top:2px}.ppm-slot-x{background:#0000;border:none;color:#c0392b;cursor:pointer;font-size:.7rem;margin-left:4px;opacity:.55}.ppm-slot-x:hover{opacity:1}.ppm-grow-cell{text-align:left}.ppm-grow{align-items:center;display:flex;gap:8px}.ppm-grow-info{display:flex;flex-direction:column;line-height:1.2}.ppm-grow-name{color:#33384d;font-size:.86rem;font-weight:700}.ppm-grow-coach{color:#7a8296;font-size:.72rem}.ppm-cell{text-align:center;transition:background .2s}.ppm-app-select{background:#fff;border:1px solid #dfe3ee;border-radius:8px;color:#33384d;cursor:pointer;font-size:.82rem;font-weight:700;padding:6px;width:100%}.ppm-cell-coach{color:#3730a3;font-size:.7rem;font-weight:600;margin-top:3px}.ppm-legend{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}.ppm-legend-item{align-items:center;color:#5a6478;display:inline-flex;font-size:.78rem;font-weight:600;gap:5px}.ppm-legend-dot{border-radius:3px;height:12px;width:12px}.ppm-total{color:#33384d;font-size:.82rem;font-weight:800;margin-left:auto}.ppm-empty-note{color:#8891a5;font-size:.9rem;padding:8px 0}.rot-board{display:flex;flex-direction:column}.rot-focus{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:16px}.rot-focus-field{color:#5a6478;display:flex;flex-direction:column;font-size:.82rem;font-weight:700;gap:5px}.rot-focus-field input{border:2px solid #e4e7ef;border-radius:10px;font-size:.95rem;font-weight:400;padding:10px 12px}.rot-focus-field input:focus{border-color:#667eea;outline:none}.rot-list-head{align-items:baseline;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.rot-list-head h3{color:#1a1f36;font-size:1.1rem;font-weight:800;margin:0}.rot-total{background:#eef1ff;border-radius:20px;color:#4059d0;font-size:.85rem;font-weight:800;margin-left:auto;padding:4px 12px}.rot-card{background:#fff;border:1px solid #e8eaf1;border-radius:14px;box-shadow:0 1px 6px #0000000a;margin-bottom:12px;padding:14px}.rot-card-head{gap:10px;margin-bottom:10px}.rot-card-head,.rot-num{align-items:center;display:flex}.rot-num{background:#667eea;border-radius:9px;color:#fff;font-size:.85rem;font-weight:800;height:30px;justify-content:center;min-width:34px;padding:0 8px}.rot-activity-emoji{font-size:1.4rem}.rot-activity-input{border:2px solid #e4e7ef;border-radius:10px;color:#1a1f36;flex:1 1;font-size:1rem;font-weight:700;padding:9px 12px}.rot-activity-input:focus{border-color:#667eea;outline:none}.rot-dur{color:#667eea;font-size:.78rem;font-weight:700;white-space:nowrap}.rot-del{background:#0000;border:none;color:#c0392b;cursor:pointer;font-size:.85rem;opacity:.5}.rot-del:hover{opacity:1}.rot-presets{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.rot-preset{background:#fff;border:1.5px solid #e4e7ef;border-radius:20px;color:#5a6478;cursor:pointer;font-size:.8rem;font-weight:700;padding:5px 11px}.rot-preset:hover{border-color:#c2cffb}.rot-preset.on{background:#667eea;border-color:#667eea;color:#fff}.rot-meta{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:10px}.rot-field{align-items:center;color:#5a6478;display:inline-flex;font-size:.9rem;gap:6px}.rot-field input[type=time],.rot-field select{border:2px solid #e4e7ef;border-radius:9px;font-size:.88rem;padding:7px 9px}.rot-field input:focus,.rot-field select:focus{border-color:#667eea;outline:none}.rot-notes{border:2px solid #e4e7ef;border-radius:10px;box-sizing:border-box;font-family:inherit;font-size:.9rem;padding:10px 12px;resize:vertical;width:100%}.rot-notes:focus{border-color:#667eea;outline:none}.rot-add{align-self:flex-start;background:#f7f8ff;border:2px dashed #c2cffb;border-radius:12px;color:#4059d0;cursor:pointer;font-size:.95rem;font-weight:800;margin-top:4px;padding:11px 20px}.rot-add:hover{background:#eef1ff;border-style:solid}@media (max-width:560px){.rot-focus{grid-template-columns:1fr}}.rt-board{display:flex;flex-direction:column}.rt-groups{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.rt-groups-label{color:#33384d;font-size:.85rem;font-weight:800;letter-spacing:.3px;margin-right:4px;text-transform:uppercase}.rt-group-chip{align-items:center;background:#fff;border:2px solid #e4e7ef;border-radius:30px;display:inline-flex;gap:6px;padding:4px 8px}.rt-group-dot{border-radius:50%;flex-shrink:0;height:12px;width:12px}.rt-group-name{background:#0000;border:none;color:#1a1f36;font-size:.85rem;font-weight:700;width:78px}.rt-group-name:focus{outline:none}.rt-group-num{border:1px solid #e4e7ef;border-radius:7px;font-size:.8rem;padding:3px 5px;text-align:center;width:42px}.rt-group-x{background:#0000;border:none;color:#c0392b;cursor:pointer;font-size:.75rem;opacity:.5}.rt-group-x:hover{opacity:1}.rt-add-group{background:#f7f8ff;border:2px dashed #c2cffb;cursor:pointer;padding:6px 12px}.rt-add-group,.rt-total-kids{border-radius:20px;color:#4059d0;font-size:.82rem;font-weight:800}.rt-total-kids{background:#eef1ff;margin-left:auto;padding:4px 12px}.rt-table-wrap{border:1px solid #eef0f5;border-radius:12px;overflow-x:auto}.rt-table{border-collapse:initial;border-spacing:0;min-width:640px;width:100%}.rt-table th{background:#f7f8fc;border-bottom:2px solid #e9ecf6;color:#4a5568;font-size:.82rem;font-weight:800;padding:9px 8px;text-align:center;white-space:nowrap}.rt-time-col{min-width:130px;text-align:left!important}.rt-table td{border-bottom:1px solid #f0f2f7;padding:6px;vertical-align:top}.rt-time-cell{min-width:130px}.rt-block-label{color:#667eea;font-size:.9rem;font-weight:800}.rt-block-time{align-items:center;display:flex;gap:3px;margin:3px 0}.rt-block-time input{border:1px solid #e4e7ef;border-radius:6px;font-size:.76rem;padding:3px 4px;width:66px}.rt-block-time span{color:#9aa2b4}.rt-whole-toggle{align-items:center;color:#5a6478;cursor:pointer;display:flex;font-size:.76rem;font-weight:600;gap:5px}.rt-block-del{background:#0000;border:none;color:#c0392b;cursor:pointer;font-size:.72rem;opacity:.5;padding:2px 0}.rt-block-del:hover{opacity:1}.rt-whole-cell{background:#fff8ee}.rt-whole-lead{color:#d97706;font-size:.85rem;font-weight:800;margin-right:8px}.rt-wchip{background:#fff;border:1.5px solid #ffd591;border-radius:20px;color:#9a6b3f;cursor:pointer;font-size:.8rem;font-weight:700;margin:2px;padding:5px 11px}.rt-wchip.on{background:#f97316;border-color:#f97316;color:#fff}.rt-wcustom{border:1.5px solid #ffd591;border-radius:8px;font-size:.82rem;margin-left:6px;padding:5px 8px;width:120px}.rt-cell{min-width:130px;text-align:center}.rt-cell.filled{background:#f6f8ff}.rt-cell.held{background:repeating-linear-gradient(45deg,#f4f5f8,#f4f5f8 6px,#eceef4 0,#eceef4 12px)}.rt-cell-group{background:#fff;border:1px solid #d7ddf0;border-left-width:3px;border-radius:7px;display:block;margin:2px 0;padding:5px 6px;text-align:left}.rt-cell-group+.rt-cell-group{margin-top:5px}.rt-cell-grouptop{align-items:center;display:flex;gap:4px;justify-content:space-between}.rt-cell-groupname{font-size:.78rem;font-weight:800}.rt-cell-remove{background:none;border:none;color:#b0b6c4;cursor:pointer;font-size:.8rem;line-height:1;padding:0 2px}.rt-cell-remove:hover{color:#ef4444}.rt-cell-coach{background:#fafbff;color:#445;padding:2px 4px}.rt-cell-coach,.rt-cell-note{border:1px solid #e3e7f2;border-radius:5px;font-size:.72rem;margin-top:4px;width:100%}.rt-cell-note{padding:2px 5px}.rt-cell-note::placeholder{color:#b8bdc9}.rt-held{color:#8891a5;font-size:.72rem;font-weight:700;margin:3px 0}.rt-cell-add{background:#0000;border:1px dashed #d0d5e0;border-radius:7px;color:#8891a5;cursor:pointer;font-size:.78rem;margin-top:2px;padding:3px 4px}.rt-actions{align-items:center;display:flex;flex-wrap:wrap;gap:14px;margin-top:12px}.rt-legend{align-items:center;color:#8891a5;display:inline-flex;font-size:.78rem;gap:6px}.rt-legend-held{background:repeating-linear-gradient(45deg,#f4f5f8,#f4f5f8 4px,#eceef4 0,#eceef4 8px);border:1px solid #e4e7ef;border-radius:3px;height:12px;width:16px}.rt-group-dot{border:2px solid #0000;cursor:pointer;padding:0}.rt-group-chip.armed{box-shadow:0 0 0 3px #667eea59}.rt-group-chip.armed .rt-group-dot{border-color:#1a1f36}.rt-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.rt-tool{background:#fff;border:1.5px solid #d7dbe8;border-radius:10px;color:#4a5568;cursor:pointer;font-size:.85rem;font-weight:700;padding:8px 14px}.rt-tool:hover{border-color:#667eea;color:#667eea}.rt-tool.primary{background:#eef1ff;border-color:#c2cffb;color:#4059d0}.rt-copy{appearance:auto}.rt-seed{align-items:center;background:#f7f8ff;border:1px solid #c2cffb;border-radius:10px;display:flex;flex-wrap:wrap;gap:14px;margin-bottom:12px;padding:12px 14px}.rt-seed label{align-items:center;color:#4a5568;display:inline-flex;font-size:.85rem;font-weight:700;gap:6px}.rt-seed input[type=number],.rt-seed select{border:1.5px solid #d7dbe8;border-radius:8px;font-size:.85rem;padding:6px 8px;width:58px}.rt-seed select{width:74px}.rt-placing{align-items:center;background:#eef1ff;border:1px solid #c2cffb;border-radius:10px;color:#4059d0;display:flex;font-size:.9rem;gap:12px;justify-content:space-between;margin-bottom:12px;padding:9px 14px}.rt-placing button{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:700;padding:6px 14px}.rt-cell{cursor:default}.rt-cell.droppable{cursor:pointer;outline:1px dashed #c2cffb;outline-offset:-3px}.rt-cell.droppable:hover{background:#eef1ff}.rt-cell.over{background:#fff0f0!important}.rt-over{color:#d63031;font-size:.72rem;font-weight:800;margin:2px 0}.rt-open{color:#b8bdc9;font-size:.75rem}.ppm-session-head{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.ppm-card{background:#fff;border:1px solid #eef0f5;border-radius:12px;box-shadow:0 1px 6px #0000000a;margin-bottom:14px;padding:14px 16px}.ppm-card-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.ppm-card-label{color:#33384d;display:block;font-size:.9rem;font-weight:800;margin-bottom:6px}.ppm-session-save{align-items:center;display:flex;gap:12px;margin-top:4px}.ppm-apply{background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;margin-bottom:16px;padding:14px 16px}.ppm-apply>strong{color:#9a3412;display:block;margin-bottom:10px}.ppm-apply-row{align-items:center;color:#7c5b3b;display:flex;flex-wrap:wrap;font-size:.88rem;gap:8px;margin-bottom:10px}.ppm-wd{background:#fff;border:1.5px solid #e6c9a8;border-radius:8px;color:#9a6b3f;cursor:pointer;font-size:.8rem;font-weight:700;min-width:42px;padding:6px 10px}.ppm-wd.on{background:#f97316;border-color:#f97316;color:#fff}.ppm-inc{color:#7c5b3b;cursor:pointer;font-size:.85rem}.ppm-inc,.ppm-num-field{align-items:center;display:inline-flex;gap:5px}.ppm-num-field{color:#5a6478;font-size:.82rem;font-weight:700}.ppm-num-field input{border:1px solid #d7dbe8;border-radius:8px;font-size:.85rem;padding:6px 8px}.ppm-drill-table-wrap{border:1px solid #eef0f5;border-radius:10px;overflow-x:auto}.ppm-drill-table{border-collapse:collapse;font-size:.84rem;min-width:560px;width:100%}.ppm-drill-table th{background:#f7f8fc;border-bottom:2px solid #e9ecf6;color:#5a6478;font-size:.74rem;font-weight:800;letter-spacing:.3px;padding:8px 10px;text-align:left;text-transform:uppercase}.ppm-drill-table td{border-bottom:1px solid #f2f4f8;color:#33384d;padding:8px 10px;vertical-align:top}.ppm-drill-table td.num,.ppm-drill-table th.num{text-align:center}.ppm-dt-name{display:block;font-weight:700}.ppm-dt-notes{color:#8891a5;display:block;font-size:.76rem;margin-top:2px}.ppm-dt-type{border-radius:12px;display:inline-block;font-size:.72rem;font-weight:700;padding:2px 8px;white-space:nowrap}.ppm-dt-x{background:#0000;border:none;color:#c0392b;cursor:pointer;font-size:.78rem;opacity:.55}.ppm-dt-x:hover{opacity:1}.ppm-drill-table tfoot td{background:#fafbfe;border-bottom:none;border-top:2px solid #e9ecf6;color:#4a5568;font-weight:700}.ppm-vol-summary{color:#4059d0;font-size:.84rem;font-weight:700;margin:10px 2px 0}.sec-block{border:1px solid #eceef5;border-radius:10px;margin-bottom:12px;overflow:hidden}.sec-head{align-items:center;background:#f7f8fc;border-bottom:1px solid #eceef5;display:flex;gap:6px;padding:6px 8px}.sec-title{background:#0000;border:1px solid #0000;border-radius:6px;color:#2c3350;flex:1 1;font-size:.95rem;font-weight:800;padding:4px 6px}.sec-title:focus,.sec-title:hover{background:#fff;border-color:#d7ddf0;outline:none}.sec-del{background:none;border:none;cursor:pointer;font-size:.9rem;opacity:.4}.sec-del:hover{opacity:1}.sec-table{border-collapse:collapse;width:100%}.sec-table th{color:#9aa2b4;font-size:.68rem;font-weight:700;letter-spacing:.03em;padding:5px 8px;text-align:left;text-transform:uppercase}.sec-table td.num,.sec-table th.num{text-align:center;width:72px}.sec-table td{border-top:1px solid #f2f4f9;padding:3px 8px}.sec-name{background:#0000;border:1px solid #0000;border-radius:6px;font-size:.86rem;padding:5px 6px;width:100%}.sec-name:focus,.sec-name:hover{background:#fbfcff;border-color:#e3e7f2;outline:none}.sec-count{font-size:.84rem;text-align:center;width:58px}.sec-count,.sec-unit{border:1px solid #e8ebf3;border-radius:6px;padding:4px}.sec-unit{background:#fafbff;color:#556;font-size:.78rem}.sec-x{background:none;border:none;color:#c3c8d4;cursor:pointer;font-size:.8rem}.sec-x:hover{color:#ef4444}.sec-addrow td{border-top:1px dashed #e8ebf3}.sec-addrow .sec-name::placeholder{color:#a9b0c2;font-style:italic}.sec-add{background:#eef4ff;border:1px solid #cfe0ff;border-radius:6px;color:#2f6fed;cursor:pointer;font-weight:700;height:26px;width:26px}.sec-add:hover{background:#dfeaff}.sec-addsection{display:flex;gap:8px;margin-top:8px}.sec-addsection input{border:1px solid #dfe3ee;border-radius:8px;flex:1 1;font-size:.86rem;padding:8px 10px}.ppm-assign{max-width:640px}.asg-form{background:#fafbff;border:1px solid #eceef5;border-radius:12px;gap:14px;margin-top:8px;padding:14px}.asg-field,.asg-form{display:flex;flex-direction:column}.asg-field{gap:6px}.asg-label{color:#4a5568;font-size:.8rem;font-weight:800}.asg-label em{color:#9aa2b4;font-style:normal;font-weight:600}.asg-field input,.asg-field select{border:1px solid #dfe3ee;border-radius:8px;font-size:.88rem;padding:8px 10px}.asg-chips{display:flex;flex-wrap:wrap;gap:6px}.asg-chip{background:#fff;border:1.5px solid #dfe3ee;border-radius:20px;color:#5a6478;cursor:pointer;font-size:.82rem;font-weight:700;padding:5px 12px}.asg-chip:hover{border-color:#c2cffb}.asg-chip.on{background:#4f46e5;border-color:#4f46e5;color:#fff}.asg-list{display:flex;flex-direction:column;gap:8px;margin-top:6px}.asg-item{align-items:center;border:1px solid #eceef5;border-radius:10px;display:flex;gap:10px;justify-content:space-between;padding:8px 12px}.asg-item-main{align-items:baseline;display:flex;flex-wrap:wrap;gap:8px}.asg-item-main strong{color:#2c3350}.asg-scope{background:#eef1ff;border-radius:12px;color:#4059d0;font-size:.8rem;font-weight:700;padding:2px 8px}.asg-note{color:#7a8296;font-size:.82rem;font-style:italic}.asg-x{background:none;border:none;color:#c3c8d4;cursor:pointer;font-size:.9rem}.asg-x:hover{color:#ef4444}.team-calendar-container{box-sizing:border-box;margin:0 auto;max-width:1400px;padding:1rem;width:100%}.calendar-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:30px}.calendar-header h1{color:#1f2937;font-size:2rem;margin:0}.calendar-controls{align-items:center;display:flex;gap:20px}.calendar-controls h2{font-size:1.5rem;margin:0;min-width:200px;text-align:center}.view-controls{display:flex;gap:10px}.view-controls button{background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:all .2s}.view-controls button.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.view-controls button:hover:not(.active){background:#f3f4f6}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;box-shadow:0 2px 4px #3b82f64d;cursor:pointer;font-size:1rem;font-weight:600;padding:10px 20px;transition:transform .2s,box-shadow .2s}.btn-primary:hover{box-shadow:0 4px 8px #3b82f666;transform:translateY(-1px)}.btn-secondary{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#4b5563;cursor:pointer;font-size:.95rem;padding:8px 16px;transition:all .2s}.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.tcal-month-grid{background:#e5e7eb;border-radius:12px;box-shadow:0 4px 6px #0000001a;box-sizing:border-box;display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr;margin:0;max-width:100%;min-width:900px;overflow:hidden;width:100%}.calendar-weekdays{grid-gap:1px;background:#0000;box-sizing:border-box;display:grid!important;gap:1px;grid-template-columns:repeat(7,1fr)!important;width:100%}.weekday{background:#f9fafb;box-sizing:border-box;color:#6b7280;font-size:.75rem;font-weight:700;letter-spacing:.05em;min-width:0;padding:15px;text-align:center;text-transform:uppercase}.calendar-days{grid-gap:1px;background:#0000;box-sizing:border-box;display:grid!important;gap:1px;grid-auto-rows:minmax(120px,auto);grid-template-columns:repeat(7,1fr)!important;width:100%}.calendar-day{align-items:flex-start;background:#fff;border:none;box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-start;min-height:120px;min-width:0;padding:8px;position:relative;transition:all .2s}.calendar-day:nth-child(7n){border-right:none}.calendar-day.empty,.calendar-day:hover:not(.empty){background:#f9fafb}.calendar-day.today{background:#eff6ff;border:2px solid #3b82f6}.calendar-day.selected{background:#dbeafe;border:2px solid #2563eb}.calendar-day.today .day-number{color:#1d4ed8}.calendar-day.selected .day-number{color:#1e40af;font-weight:700}.day-number{color:#374151;font-size:1rem;font-weight:600;margin-bottom:4px}.day-events{display:flex;flex-direction:column;gap:4px}.event-badge{background:#fff;border-radius:4px;box-shadow:0 1px 2px #0000000d;cursor:pointer;font-size:.75rem;overflow:hidden;padding:4px 6px;text-overflow:ellipsis;transition:transform .2s,box-shadow .2s;white-space:nowrap}.event-badge:hover{box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.event-time{font-weight:600;margin-right:4px}.event-title{color:#4b5563}.more-events{color:#6b7280;font-size:.7rem;font-style:italic;padding:2px 6px}.events-list{display:flex;flex-direction:column;gap:15px}.event-list-item{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:20px;transition:box-shadow .2s,transform .2s}.event-list-item:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.event-list-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:10px}.event-list-header h3{color:#1f2937;font-size:1.25rem;margin:0 0 8px}.event-type-badge{background:#f3f4f6;border-radius:12px;color:#6b7280;display:inline-block;font-size:.75rem;font-weight:600;padding:4px 12px;text-transform:uppercase}.event-actions{display:flex;gap:8px}.btn-icon{background:none;border:none;border-radius:4px;cursor:pointer;font-size:1.2rem;padding:4px 8px;transition:background .2s}.btn-icon:hover{background:#f3f4f6}.btn-icon.delete:hover{background:#fee2e2}.event-list-details{color:#6b7280;display:flex;flex-direction:column;font-size:.95rem;gap:8px}.event-list-details p{color:#4b5563;line-height:1.5;margin:10px 0 0}.no-events{color:#9ca3af;text-align:center}.loading,.no-events{font-size:1.1rem;padding:60px 20px}.loading{color:#6b7280}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px}.modal-header h2{color:#1f2937;font-size:1.5rem;margin:0}.btn-close{align-items:center;border-radius:6px;color:#6b7280;display:flex;font-size:2rem;height:32px;justify-content:center;line-height:1;padding:0;transition:background .2s;width:32px}.btn-close:hover{background:#f3f4f6}.modal-body{padding:24px}.form-group label{color:#374151;font-size:.95rem}.form-group input[type=date],.form-group input[type=datetime-local],.form-group input[type=text],.form-group select,.form-group textarea{border:1px solid #d1d5db;border-radius:6px;font-size:1rem;padding:10px 12px;transition:border-color .2s,box-shadow .2s;width:100%}.form-group input[type=date]:focus,.form-group input[type=datetime-local]:focus,.form-group input[type=text]:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-group input[type=checkbox]{margin-right:8px}.form-group textarea{font-family:inherit;resize:vertical}.modal-footer{gap:10px;padding:20px 24px}@media (max-width:768px){.calendar-header{align-items:stretch;flex-direction:column}.calendar-controls{justify-content:space-between}.calendar-controls h2{font-size:1.2rem}.calendar-days{grid-auto-rows:minmax(80px,auto)}.calendar-day{min-height:80px;padding:4px}.event-badge{font-size:.65rem}.form-row{grid-template-columns:1fr}}.modal-wide{max-width:680px}.meet-detail-grid{grid-gap:12px 24px;display:grid;gap:12px 24px;grid-template-columns:1fr 1fr;margin-bottom:20px}.meet-detail-grid>div{font-size:14px;line-height:1.5}.meet-detail-grid a{color:#3b82f6;text-decoration:none}.meet-detail-grid a:hover{text-decoration:underline}.checklist-section{border-top:1px solid #e5e7eb;margin-top:8px;padding-top:16px}.checklist-section h3{font-size:16px;margin:0 0 12px}.checklist-list{list-style:none;margin:0 0 12px;padding:0}.checklist-item{border-bottom:1px solid #f3f4f6;justify-content:space-between;padding:6px 4px}.checklist-item,.checklist-item label{align-items:center;display:flex;gap:8px}.checklist-item label{cursor:pointer;flex:1 1}.checklist-item.completed label span{color:#9ca3af;text-decoration:line-through}.checklist-desc{color:#6b7280;font-size:12px}.checklist-add{display:flex;gap:8px}.checklist-add input{border:1px solid #e5e7eb;border-radius:6px;flex:1 1;font-size:14px;padding:8px 12px}.cancelled-class{background:repeating-linear-gradient(-45deg,#f9fafb,#f9fafb 5px,#f3f4f6 0,#f3f4f6 10px)}.btn-cancel-class,.btn-restore-class{background:none;border:none;color:#9ca3af;cursor:pointer;flex-shrink:0;font-size:10px;line-height:1;padding:0 3px}.btn-cancel-class:hover{color:#dc2626}.btn-restore-class:hover{color:#10b981}.event-badge{align-items:center;display:flex;flex-wrap:wrap;gap:2px;position:relative}.days-checkboxes{display:flex;flex-wrap:wrap;gap:10px}.day-checkbox{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;justify-content:center;min-width:100px;padding:10px 16px;transition:all .2s;-webkit-user-select:none;user-select:none}.day-checkbox:hover{background:#f9fafb;border-color:#cbd5e1}.day-checkbox:has(input:checked){background:linear-gradient(135deg,#10b981,#059669);border-color:#10b981;box-shadow:0 4px 8px #10b9814d;color:#fff;transform:translateY(-2px)}.day-checkbox input{display:none}.video-day-chip{align-items:center;background:#ecfeff;border:1px solid #06b6d4;border-radius:10px;color:#0891b2;cursor:default;display:inline-flex;font-size:10px;font-weight:700;gap:2px;margin-bottom:2px;padding:1px 5px}.event-target-label{color:#8b5cf6;display:block;font-size:9px;font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-plan{border-top:1px dashed #0000001f;display:block;margin-top:2px;padding-top:2px}.event-plan-theme{color:#4338ca;font-size:9px;font-weight:700}.event-plan-rot,.event-plan-theme{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-plan-rot{color:#64748b;font-size:8px}.event-target-badge{background:#f3e8ff;border-radius:12px;color:#7c3aed;display:inline-block;font-size:11px;font-weight:600;margin-left:6px;padding:2px 8px}.assign-to-options{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.assign-radio{align-items:center;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;gap:8px;padding:6px 10px;transition:background .15s,border-color .15s}.assign-radio:has(input:checked){background:#eff6ff;border-color:#3b82f6;color:#1d4ed8;font-weight:600}.assign-radio input[type=radio]{accent-color:#3b82f6}.assign-select{background:#fff;border:1px solid #d1d5db;border-radius:4px;font-size:.9rem;padding:8px 10px;width:100%}.athlete-multi-select{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-top:12px;padding:12px}.athlete-select-label{color:#374151;font-size:.875rem;font-weight:600;margin-bottom:8px}.athlete-checkboxes{grid-gap:8px;border-radius:6px;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));max-height:300px;overflow-y:auto;padding:8px}.athlete-checkbox,.athlete-checkboxes{background:#fff;border:1px solid #e5e7eb;gap:8px}.athlete-checkbox{align-items:center;border-radius:4px;cursor:pointer;display:flex;font-size:.9rem;padding:8px 10px;transition:all .15s}.athlete-checkbox:hover{background:#f3f4f6;border-color:#3b82f6}.athlete-checkbox input[type=checkbox]{accent-color:#3b82f6;cursor:pointer}.athlete-checkbox input[type=checkbox]:checked+*,.selected-count{color:#1d4ed8;font-weight:600}.selected-count{background:#eff6ff;border-left:3px solid #3b82f6;border-radius:4px;font-size:.875rem;margin-top:8px;padding:6px 10px}.schedule-page{background:#f3f4f6;display:flex;flex-direction:column;min-height:100vh}.schedule-header{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 4px #0000000f;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:12px 20px;position:sticky;top:0;z-index:50}.schedule-title-area{align-items:center;display:flex;gap:10px}.schedule-title-area h1{color:#1f2937;font-size:1.4rem;font-weight:700;margin:0}.active-filter-badge{background:#eff6ff;border:1px solid #bfdbfe;border-radius:20px;color:#1d4ed8;font-size:.8rem;font-weight:600;padding:3px 12px}.schedule-header-right{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.btn-nav{font-size:1.05rem!important;min-width:36px;padding:6px 14px!important}.schedule-workspace{display:flex;flex:1 1;min-height:calc(100vh - 60px);overflow:hidden}.schedule-sidebar{background:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;flex-shrink:0;gap:3px;overflow-y:auto;padding:10px 8px;width:198px}.sidebar-divider{color:#9ca3af;font-size:.68rem;font-weight:700;letter-spacing:.07em;margin-top:4px;padding:8px 8px 3px;text-transform:uppercase}.class-pill{align-items:center;background:none;border:1px solid #0000;border-radius:8px;color:#4b5563;cursor:pointer;display:flex;font-size:.85rem;gap:6px;justify-content:space-between;padding:8px 10px;text-align:left;transition:background .15s,border-color .15s;width:100%}.class-pill:hover{background:#f3f4f6}.class-pill.active{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8;font-weight:600}.class-pill-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-pill-level{background:#f3f4f6;border-radius:8px;color:#6b7280;flex-shrink:0;font-size:.68rem;padding:1px 6px;white-space:nowrap}.class-pill.active .class-pill-level{background:#dbeafe;color:#1d4ed8}.sidebar-footer{border-top:1px solid #e5e7eb;margin-top:auto;padding-top:10px}.manage-classes-link{border-radius:6px;color:#6b7280;display:block;font-size:.8rem;padding:8px 10px;text-decoration:none;transition:background .15s}.manage-classes-link:hover{background:#f3f4f6;color:#374151}.schedule-main{display:flex;flex:1 1;flex-direction:column;gap:16px;overflow-x:auto;overflow-y:auto;padding:16px}.day-panel{background:#fff;border:2px solid #bfdbfe;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin:0;overflow:hidden;width:100%}.day-panel-header{background:linear-gradient(135deg,#eff6ff,#e0f2fe);border-bottom:1px solid #bfdbfe;justify-content:space-between;padding:12px 16px}.day-panel-header,.day-panel-header h3{align-items:center;display:flex;gap:8px}.day-panel-header h3{color:#1d4ed8;flex-wrap:wrap;font-size:1rem;font-weight:600;margin:0}.today-tag{background:#3b82f6;border-radius:10px;color:#fff;font-size:.7rem;font-weight:600;padding:2px 8px}.day-panel-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.btn-sm{font-size:.82rem!important;padding:6px 14px!important}.day-panel-videos{background:#ecfeff;border-bottom:1px solid #cffafe;padding:10px 16px}.day-panel-section-title{color:#6b7280;font-size:.7rem;font-weight:700;letter-spacing:.06em;margin-bottom:4px;text-transform:uppercase}.day-panel-videos .day-panel-section-title{color:#0891b2}.day-panel-athletes{color:#0e7490;font-size:.85rem;margin:0}.day-panel-events{padding:12px 16px}.day-panel-empty{color:#9ca3af;font-size:.875rem;font-style:italic;margin:0;padding:4px 0}.day-panel-event{align-items:flex-start;background:#f9fafb;border-radius:8px;display:flex;gap:10px;margin-bottom:6px;padding:8px 10px;transition:background .15s}.day-panel-event:hover{background:#f3f4f6}.day-panel-event-time{color:#6b7280;flex-shrink:0;font-size:.72rem;font-weight:700;min-width:50px;padding-top:2px}.day-panel-event-details{flex:1 1;min-width:0}.day-panel-event-title{color:#1f2937;font-size:.875rem;font-weight:600}.day-panel-event-loc{color:#6b7280;font-size:.75rem;margin-top:2px}.day-panel-target{color:#8b5cf6;font-size:.7rem;font-style:italic;margin-top:1px}.day-panel-event-actions{display:flex;flex-shrink:0;gap:2px}.calendar-day.selected{background:#eff6ff!important;box-shadow:inset 0 0 0 2px #3b82f6}@media (max-width:768px){.schedule-sidebar{display:none}.schedule-header{gap:8px;padding:10px 12px}.schedule-main{padding:10px}}.schedule-workspace.no-sidebar{grid-template-columns:1fr}.schedule-workspace.no-sidebar .schedule-main{padding:16px}.day-panel-video-list{display:flex;flex-direction:column;gap:20px;margin-top:12px}.day-panel-video-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px}.day-panel-video-time{color:#6b7280;display:block;font-size:.875rem;font-weight:500;margin-bottom:10px}.day-panel-video-event{color:#3b82f6;font-weight:600}.day-panel-video-item video{border-radius:6px;margin-top:8px;max-height:300px;width:100%}.modal-footer{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:1rem 1.5rem}.modal-footer .btn-secondary{background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;color:#1f2937;cursor:pointer;font-weight:600;padding:.75rem 1.25rem;transition:all .2s}.modal-footer .btn-secondary:hover{background:#e5e7eb;transform:translateY(-1px)}@media (max-width:768px){.schedule-workspace.no-sidebar{grid-template-columns:1fr}.day-panel-video-item video{max-height:240px}}.dashboard-container{margin:0 auto;max-width:1400px;padding:24px}.dashboard-header{align-items:center;border-bottom:2px solid #e5e5e5;display:flex;justify-content:space-between;padding-bottom:16px}.dashboard-header h1{margin:0}.user-info{align-items:center;color:#666;display:flex;font-size:15px;gap:12px}.team-badge{background:#667eea;border-radius:16px;color:#fff;font-size:13px;font-weight:500;padding:6px 12px}.tabs{border-bottom:2px solid #e5e5e5;display:flex;gap:8px;margin-bottom:24px}.tab{background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;font-size:15px;font-weight:500;padding:12px 24px;position:relative;transition:all .2s}.tab.active{border-bottom-color:#667eea}.tab.active,.tab:hover{color:#667eea}.badge-count{background:#dc3545;border-radius:10px;color:#fff;font-size:11px;margin-left:6px;padding:2px 8px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:32px}.stat-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;color:#fff;padding:24px;text-align:center}.stat-card.blue{background:linear-gradient(135deg,#667eea,#764ba2)}.stat-card.green{background:linear-gradient(135deg,#56ab2f,#a8e063)}.stat-card.orange{background:linear-gradient(135deg,#f093fb,#f5576c)}.stat-card.purple{background:linear-gradient(135deg,#4facfe,#00f2fe)}.stat-value{font-size:40px;font-weight:700;margin-bottom:8px}.stat-label{font-size:14px;letter-spacing:.5px;opacity:.95;text-transform:uppercase}.card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:24px;padding:24px}.card h2{color:#1a1a1a;font-size:20px;margin:0 0 20px}.card h3{color:#333;font-size:18px;margin:0 0 16px}.quick-actions{margin-bottom:32px}.quick-actions h2{font-size:20px;margin-bottom:16px}.action-buttons{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.action-btn{background:#fff;border:2px solid #e5e5e5;border-radius:12px;cursor:pointer;font-size:15px;font-weight:500;padding:16px;text-align:left;transition:all .2s}.action-btn:hover{background:#f8f9ff;border-color:#667eea;box-shadow:0 4px 12px #667eea33;transform:translateY(-2px)}.permissions-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.permission-item{background:#f8f9fa;border-radius:8px;font-size:14px;padding:12px}.btn{padding:10px 20px}.btn-success{background:#28a745;color:#fff}.btn-success:hover{background:#218838}.badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:500;padding:4px 10px}.badge-green{background:#d4edda;color:#155724}.badge-blue{background:#cce5ff;color:#004085}.badge-red{background:#f8d7da;color:#721c24}.today-glance-panel{background:#fff;border-radius:14px;box-shadow:0 2px 8px #0000001a;margin-bottom:28px;padding:24px}.today-glance-title{align-items:baseline;color:#1a1a1a;display:flex;font-size:20px;font-weight:700;gap:12px;margin:0 0 20px}.today-date{color:#888;font-size:13px;font-weight:400}.today-glance-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(175px,1fr))}.glance-card{border-radius:12px;color:#fff;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:18px 16px;transition:transform .15s,box-shadow .15s}.glance-card:hover{box-shadow:0 6px 18px #00000026;transform:translateY(-3px)}.glance-icon{font-size:22px;margin-bottom:4px}.glance-value{font-size:32px;font-weight:700;line-height:1}.glance-label{font-size:12px;letter-spacing:.5px;opacity:.85;text-transform:uppercase}.glance-action{font-size:12px;font-weight:500;margin-top:6px;opacity:.9}.glance-blue{background:linear-gradient(135deg,#667eea,#764ba2)}.glance-red{background:linear-gradient(135deg,#e74c3c,#c0392b)}.glance-green{background:linear-gradient(135deg,#56ab2f,#a8e063)}.glance-purple{background:linear-gradient(135deg,#a855f7,#7c3aed)}.glance-orange{background:linear-gradient(135deg,#f093fb,#f5576c)}.badge-gray{background:#e9ecef;color:#495057}.empty-state{font-size:15px;padding:48px 24px}.info-text{background:#e7f3ff;border-left:4px solid #667eea;border-radius:8px;color:#333;font-size:14px;margin:16px 0;padding:12px}.child-card{background:#f8f9fa;padding:20px}.child-card h3{font-size:18px;margin:0 0 12px}.child-card p{color:#666;font-size:14px;margin:6px 0}.relationship-badge{margin:8px 0}.athlete-profile{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.athlete-profile h2{color:#fff}.profile-info p{font-size:15px;margin:10px 0}.profile-info strong{margin-right:8px;opacity:.9}@media (max-width:768px){.dashboard-header{align-items:flex-start;flex-direction:column;gap:12px}.action-buttons,.children-grid,.permissions-grid,.stats-grid{grid-template-columns:1fr}}.csa{margin:8px 0 4px}.csa-title{color:#1a1f36;font-size:1.05rem;font-weight:800;margin:18px 0 10px}.csa-card{background:#fff;border:1px solid #e8eaf1;border-radius:12px;box-shadow:0 1px 6px #0000000a;margin-bottom:12px;padding:14px}.csa-card-head{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:8px}.csa-card-title{color:#2c3350;font-size:1rem;font-weight:800}.csa-scope{background:#eef1ff;border-radius:14px;color:#4059d0;font-size:.78rem;font-weight:700;padding:3px 10px}.csa-theme{color:#33384d;font-size:.9rem;font-weight:700;margin:2px 0}.csa-note{background:#fff8e6;border-radius:8px;color:#8a6d00;font-size:.86rem;margin:6px 0;padding:5px 9px}.csa-goals{color:#5a6478;font-size:.84rem;margin:4px 0 8px;white-space:pre-line}.csa-table{border-collapse:collapse;margin:8px 0;width:100%}.csa-table td{border-top:1px solid #f2f4f9;font-size:.85rem;padding:5px 8px;vertical-align:top}.csa-table tr.csa-whole td{background:#f7f8fc;color:#5a6478;font-style:italic}.csa-time{color:#7a8296;font-weight:700;white-space:nowrap;width:120px}.csa-station{color:#4f46e5;font-weight:800;white-space:nowrap;width:70px}.csa-detail{color:#33384d}.csa-coach{color:#3730a3;font-weight:600}.csa-cellnote{color:#7a8296;font-style:italic}.csa-sec{margin-top:8px}.csa-sec-name{color:#2c3350;font-size:.82rem;font-weight:800}.csa-sec-list{margin:3px 0 0;padding-left:18px}.csa-sec-list li{color:#445;font-size:.84rem;margin:1px 0}.csa-count{color:#4059d0;font-weight:700}.cks{margin:18px 0 4px}.cks-title{align-items:center;color:#1a1f36;display:flex;font-size:1.05rem;font-weight:800;gap:8px;margin:0 0 10px}.cks-count{background:#eef1ff;border-radius:14px;color:#4059d0;font-size:.78rem;font-weight:700;padding:2px 10px}.cks-card{background:#fff;border:1px solid #e8eaf1;border-radius:12px;box-shadow:0 1px 6px #0000000a;padding:14px}.cks-metrics{display:flex;flex-wrap:wrap;gap:10px}.cks-metric{background:#f8fafc;border-radius:10px;display:flex;flex-direction:column;gap:2px;min-width:130px;padding:8px 12px}.cks-metric-label{color:#7a8296;font-size:.76rem;font-weight:600}.cks-metric-val{color:#2c3350;font-size:1.3rem;font-weight:800}.cks-metric-val small{color:#98a;font-size:.7rem;font-weight:600}.cks-metric-val.warn{color:#d97706}.cks-metric-sub{color:#98a;font-size:.72rem}.cks-metric-flag{color:#d97706;font-size:.72rem;font-weight:700}.cks-flags{background:#fff8e6;border-radius:8px;color:#8a6d00;font-size:.85rem;margin-top:12px;padding:8px 10px}.cks-flags-label{font-weight:800}.cks-text{display:flex;flex-direction:column;gap:6px;margin-top:10px}.cks-text-block{color:#5a6478;font-size:.84rem}.cks-text-prompt{color:#33384d;font-weight:700}.cks-text-item{margin-right:10px}.cks-text-item strong{color:#33384d}.ct-wrap{margin:0 auto;max-width:900px;padding:20px 16px 64px}.ct-loading{color:#6b7280;padding:48px;text-align:center}.ct-head{align-items:baseline;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:16px}.ct-head h1{color:#1f2937;font-size:1.5rem;margin:0}.ct-date{color:#6b7280;font-weight:600}.ct-alerts{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.ct-alert{border:none;border-radius:999px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 16px}.ct-alert strong{font-weight:800}.ct-alert.bad{background:#dc2626}.ct-alert.warn{background:#d97706}.ct-alert.info{background:#2563eb}.ct-alert:hover{filter:brightness(.94)}.ct-allclear{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;color:#15803d;font-weight:600;margin-bottom:18px;padding:12px 16px}.ct-section{color:#1f2937;font-size:1.1rem;margin:8px 0 12px}.ct-empty{background:#f9fafb;border:1px dashed #d1d5db;border-radius:12px;color:#6b7280;padding:24px;text-align:center}.ct-empty .ct-link,.ct-link{background:none;border:none;color:#15803d;cursor:pointer;font-weight:600;padding:0}.ct-classes{display:flex;flex-direction:column;gap:12px}.ct-class{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000d;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:14px 18px}.ct-class-name{color:#1f2937;font-size:1.05rem;font-weight:700}.ct-class-meta{color:#6b7280;font-size:.88rem;margin-top:2px}.ct-class-right{align-items:center;display:flex;flex-wrap:wrap;gap:14px}.ct-taken{color:#15803d;font-size:.85rem;font-weight:700}.ct-untaken{color:#b45309;font-size:.85rem;font-weight:600}.ct-take{background:#15803d;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:700;padding:10px 16px}.ct-take:hover{background:#166534}.ct-quick{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.ct-quick button{background:#eef2f0;border:none;border-radius:8px;color:#374151;cursor:pointer;font-weight:600;padding:10px 16px}.ct-quick button:hover{background:#e2e8e5}@media (max-width:560px){.ct-class{align-items:stretch;flex-direction:column}.ct-class-right{justify-content:space-between}.ct-take{flex:1 1}}.parent-notifications{margin:0 auto;max-width:800px;padding:20px}.notifications-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;gap:15px;margin-bottom:25px;padding-bottom:15px}.notifications-header h2{color:#1e3c72;font-size:1.6rem;margin:0}.unread-badge{background:#ff6b6b;border-radius:20px;color:#fff;font-size:.85rem;font-weight:600;padding:4px 10px}.notifications-loading{color:#999;padding:40px 20px;text-align:center}.notification-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:25px}.filter-btn{background:#fff;border:2px solid #e0e0e0;border-radius:20px;cursor:pointer;font-size:.85rem;font-weight:600;padding:8px 16px;transition:all .3s}.filter-btn:hover{border-color:#667eea;color:#667eea}.filter-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000;color:#fff}.notifications-list{display:flex;flex-direction:column;gap:15px}.empty-state{background:#f9f9f9;padding:60px 20px}.empty-state p{color:#666;font-size:1.1rem;margin:0 0 10px}.empty-state small{color:#999;display:block}.notification-item{background:#fff;border:2px solid #e0e0e0;border-radius:12px;display:flex;gap:15px;padding:20px;transition:all .3s}.notification-item:hover{border-color:#667eea;box-shadow:0 8px 20px #0000001a}.notification-item.unread{background:#f5f7ff;border-left:4px solid #667eea}.notification-item.achievement{border-top:3px solid #51cf66}.notification-item.concern{border-top:3px solid #ff6b6b}.notification-item.recovery{border-top:3px solid #4ecdc4}.notification-item.progress{border-top:3px solid #ffd43b}.notification-item.milestone{border-top:3px solid #667eea}.notification-icon{align-items:flex-start;display:flex;font-size:2rem;justify-content:center;min-width:60px;padding-top:2px}.notification-content{display:flex;flex:1 1;flex-direction:column;gap:10px}.notification-content h3{color:#1e3c72;font-size:1rem;margin:0}.notification-content p{color:#666;font-size:.95rem;line-height:1.4;margin:0}.notification-data{background:#f9f9f9;border-radius:8px;margin:8px 0;padding:12px}.data-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.data-item{display:flex;flex-direction:column;gap:4px}.data-item.full-width{grid-column:1/-1}.data-label{color:#999;font-size:.75rem;font-weight:600;text-transform:uppercase}.data-value{color:#333;font-size:.95rem;font-weight:600}.data-value.severity{font-weight:700}.data-value.improvement{color:#51cf66;font-weight:700}.milestone-container{text-align:center}.milestone-text{color:#666;font-size:.95rem;margin:0 0 10px}.milestone-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;display:inline-block;font-size:.85rem;font-weight:600;padding:8px 16px}.notification-time{color:#bbb;font-size:.8rem}.btn-close-notification{align-self:flex-start;background:none;border:none;color:#ccc;cursor:pointer;font-size:1.2rem;transition:color .3s}.btn-close-notification:hover{color:#666}@media (max-width:600px){.parent-notifications{padding:15px}.notifications-header h2{font-size:1.3rem}.notification-item{flex-direction:column}.notification-icon{margin:0}.data-grid{grid-template-columns:1fr}.notification-filters{gap:8px}.filter-btn{font-size:.8rem;padding:6px 12px}}.parent-dashboard{margin:0 auto;max-width:1400px;padding:24px}.dashboard-header{margin-bottom:32px}.dashboard-header h1{color:#1a1a1a;font-size:32px;margin:0 0 8px}.dashboard-header p{color:#666;font-size:16px;margin:0}.loading{color:#666;font-size:18px;padding:60px;text-align:center}.children-section{margin-bottom:40px}.children-section h2{color:#1a1a1a;font-size:24px;margin-bottom:20px}.children-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:20px}.child-card{background:#fff;border:2px solid #e5e5e5;border-radius:12px;cursor:pointer;padding:24px;transition:all .2s}.child-card:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea26;transform:translateY(-2px)}.child-card.active{background:#f8f9ff;border-color:#667eea}.child-card h3{color:#1a1a1a;font-size:20px;margin:0 0 8px}.child-card .team-name{color:#667eea;font-weight:500;margin:4px 0}.child-card .dob{color:#666;font-size:14px;margin:4px 0}.relationship-badge{background:#e9ecef;border-radius:12px;color:#495057;display:inline-block;font-size:12px;font-weight:500;margin:12px 0 8px;padding:4px 10px;text-transform:capitalize}.relationship-badge.primary{background:#667eea;color:#fff}.btn{border:none;border-radius:6px;cursor:pointer;font-family:inherit;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s}.btn-small{font-size:13px;padding:6px 12px}.btn-primary{background:#667eea}.btn-primary:hover{background:#5568d3}.child-card .btn{background:#667eea;color:#fff;margin-top:12px;width:100%}.child-card .btn:hover{background:#5568d3}.child-details{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:32px;padding:32px}.child-details h2{border-bottom:2px solid #e5e5e5;color:#1a1a1a;font-size:24px;margin:0 0 24px;padding-bottom:16px}.details-section{margin-bottom:32px}.details-section:last-child{margin-bottom:0}.details-section h3{color:#333;font-size:18px;margin:0 0 16px}.invoices-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:32px}.invoices-section h2{color:#1a1a1a;font-size:24px;margin:0 0 24px}.data-table{border-collapse:collapse;margin-top:16px;width:100%}.data-table th{background:#f8f9fa;border-bottom:2px solid #dee2e6;color:#333;font-size:13px;font-weight:600;padding:12px;text-align:left}.data-table td{border-bottom:1px solid #e9ecef;font-size:14px;padding:12px}.data-table tbody tr:hover{background:#f8f9fa}.status-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:500;padding:4px 10px;text-transform:capitalize}.status-badge.active,.status-badge.completed,.status-badge.paid{background:#d4edda;color:#155724}.status-badge.pending,.status-badge.processing{background:#cce5ff;color:#004085}.status-badge.failed,.status-badge.overdue,.status-badge.unpaid{background:#f8d7da;color:#721c24}.empty-state{background:#f8f9fa;border-radius:12px;color:#999;padding:60px 24px}.empty-state p{font-size:15px;margin:8px 0}.empty-text{color:#999;font-size:14px;padding:24px;text-align:center}@media (max-width:768px){.parent-dashboard{padding:16px}.children-grid{grid-template-columns:1fr}.child-details,.invoices-section{padding:20px}.data-table{font-size:13px}.data-table td,.data-table th{padding:8px}}.connect-children-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000012;margin-bottom:32px;padding:28px 32px}.connect-section-header h2{color:#1a2a3a;font-size:1.25rem;margin:0 0 6px}.connect-sub{color:#6b7c93;font-size:.9rem;margin:0 0 22px}.qr-panel{align-items:flex-start;display:flex;flex-wrap:wrap;gap:32px}.qr-panel-left{flex:1 1;min-width:240px}.qr-panel-left h3{color:#1a2a3a;font-size:1rem;margin:0 0 8px}.qr-panel-left p{color:#4a5568;font-size:.88rem;line-height:1.5;margin:0 0 14px}.btn-generate-qr{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.93rem;font-weight:600;padding:10px 22px;transition:background .15s}.btn-generate-qr:hover:not(:disabled){background:#1d4ed8}.btn-generate-qr:disabled{cursor:not-allowed;opacity:.6}.qr-panel-right{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-direction:column;gap:10px;padding:18px 22px}.qr-url-text{color:#64748b;font-size:.78rem;margin:0;max-width:220px;text-align:center;word-break:break-all}.qr-link{color:#2563eb;text-decoration:none}.qr-link:hover{text-decoration:underline}.qr-expires{color:#9ca3af;font-size:.75rem;margin:0}.link-requests-panel{margin-top:24px}.link-requests-panel h3{color:#1a2a3a;font-size:1rem;margin:0 0 10px}.status-badge.lrq-approved{background:#dcfce7;color:#15803d}.status-badge.lrq-matched{background:#fef9c3;color:#a16207}.status-badge.lrq-pending{background:#f1f5f9;color:#475569}.status-badge.lrq-rejected{background:#fee2e2;color:#b91c1c}.pd{margin:0 auto;max-width:960px;padding:20px 16px 60px}.pd-loading{color:#7a8296;padding:60px;text-align:center}.pd-head{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:18px}.pd-head h1{color:#1a1f36;font-size:1.7rem;margin:0}.pd-msg-btn{align-items:center;background:#eef1ff;border-radius:999px;color:#4059d0;display:inline-flex;font-size:.9rem;font-weight:700;gap:6px;padding:9px 16px;text-decoration:none}.pd-badge{background:#ef4444;border-radius:999px;color:#fff;font-size:.72rem;font-weight:800;padding:1px 7px}.pd-attention{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-bottom:18px}.pd-action{align-items:center;border:1px solid #0000;border-radius:14px;box-shadow:0 2px 10px #0000000d;display:flex;gap:14px;padding:16px 18px;text-decoration:none}.pd-action-ico{font-size:1.7rem}.pd-action-main{display:flex;flex:1 1;flex-direction:column}.pd-action-main strong{color:#1a1f36;font-size:1.05rem}.pd-action-main small{color:#6b7280;font-size:.82rem}.pd-action-arrow{color:#9aa2b4;font-size:1.3rem}.pd-action.bad{background:#fff1f0;border-color:#f6c9c4}.pd-action.warn{background:#fff8e8;border-color:#f4dfa8}.pd-action.good{background:#eefaf2;border-color:#b7e6c9}.pd-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr;margin-bottom:18px}@media (max-width:640px){.pd-grid{grid-template-columns:1fr}.pd-head h1{font-size:1.4rem}}.pd-card{background:#fff;border:1px solid #eceef5;border-radius:14px;box-shadow:0 1px 6px #0000000a;padding:16px}.pd-card-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.pd-card-head h2{color:#1a1f36;font-size:1.02rem;margin:0}.pd-link{color:#4059d0;font-size:.82rem;font-weight:700;text-decoration:none}.pd-empty{color:#98a;font-size:.88rem;margin:6px 0}.pd-events{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.pd-events li{align-items:baseline;display:flex;gap:12px}.pd-ev-date{color:#4059d0;font-size:.78rem;font-weight:800;min-width:80px;white-space:nowrap}.pd-ev-title{color:#33384d;display:flex;flex-direction:column;font-size:.9rem}.pd-ev-title small{color:#98a;font-size:.74rem}.pd-anns{gap:10px;list-style:none;margin:0;padding:0}.pd-anns,.pd-anns li{display:flex;flex-direction:column}.pd-anns li{gap:2px}.pd-ann-title{color:#33384d;font-size:.9rem;font-weight:700}.pd-ann-body{color:#6b7280;font-size:.82rem}.pd-kids{margin-top:6px}.pd-kids h2{color:#1a1f36;font-size:1.1rem;margin:0 0 12px}.pd-nokids{background:#fff;border:1px dashed #d7ddf0;border-radius:14px;color:#6b7280;padding:24px;text-align:center}.pd-kid-cards{display:flex;flex-direction:column;gap:10px}.pd-kid{background:#fff;border:1px solid #eceef5;border-radius:14px;box-shadow:0 1px 6px #0000000a;overflow:hidden}.pd-kid-top{align-items:center;background:none;border:none;cursor:pointer;display:flex;flex-wrap:wrap;gap:12px;padding:14px 16px;text-align:left;width:100%}.pd-kid-name{color:#1a1f36;font-size:1rem;font-weight:800}.pd-kid-chips{display:flex;flex:1 1;flex-wrap:wrap;gap:6px}.pd-kid-toggle{color:#b0b6c4;font-size:.8rem}.pd-chip{background:#eef1f6;border-radius:999px;color:#55607a;font-size:.74rem;font-weight:700;padding:3px 9px;white-space:nowrap}.pd-chip.good{background:#e8f8f0;color:#1e8449}.pd-chip.bad{background:#fdecea;color:#c0392b}.pd-chip.warn{background:#fff3e0;color:#b9770e}.pd-kid-detail{grid-gap:16px;border-top:1px solid #f0f2f7;display:grid;gap:16px;grid-template-columns:1fr 1fr;padding:14px 16px}@media (max-width:560px){.pd-kid-detail{grid-template-columns:1fr}}.pd-kid-sub h4{color:#7a8296;font-size:.8rem;letter-spacing:.03em;margin:0 0 6px;text-transform:uppercase}.pd-classes,.pd-vids{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0}.pd-vids li{color:#33384d;display:flex;font-size:.86rem;gap:8px;justify-content:space-between}.pd-vids small{color:#98a}.pd-classes li{color:#33384d;font-size:.86rem}.pd-kid-actions{display:flex;flex-wrap:wrap;gap:8px;grid-column:1/-1;margin-top:4px}.pd-mini{background:#eef1ff;border-radius:8px;color:#4059d0;font-size:.82rem;font-weight:700;padding:7px 14px;text-decoration:none}.pd-mini.bad{background:#fdecea;color:#c0392b}.pd-mini.warn{background:#fff3e0;color:#b9770e}.pd-addchild{background:none;border:1px dashed #cfd6e6;border-radius:10px;color:#667;cursor:pointer;font-size:.86rem;font-weight:700;margin-top:12px;padding:10px 16px}.pd-connect{margin-top:16px}.pd-connect h2{color:#1a1f36;font-size:1.05rem;margin:0 0 6px}.pd-connect-sub{color:#6b7280;font-size:.86rem;margin:0 0 14px}.pd-connect-btn{background:#4f46e5;border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:700;padding:11px 20px}.pd-qr{align-items:center;display:flex;flex-direction:column;gap:10px}.pd-qr-link{color:#4059d0;font-size:.78rem;text-align:center;word-break:break-all}.pd-linkreqs{border-top:1px solid #f0f2f7;margin-top:16px;padding-top:12px}.pd-linkreqs h4{color:#7a8296;font-size:.82rem;letter-spacing:.03em;margin:0 0 8px;text-transform:uppercase}.pd-linkreq{align-items:center;color:#33384d;display:flex;font-size:.88rem;gap:10px;justify-content:space-between;padding:5px 0}.skill-tracker-container{margin:0 auto;max-width:900px;padding:24px 16px 80px}.skill-tracker-header{align-items:flex-start;display:flex;gap:16px;margin-bottom:24px}.skill-tracker-header h1{color:#1a3a5c;font-size:1.8rem;margin:0 0 2px}.athlete-subtitle{color:#666;font-size:1rem}.back-btn{background:none;border:1px solid #ccc;border-radius:8px;color:#555;cursor:pointer;margin-top:4px;padding:8px 14px;white-space:nowrap}.back-btn:hover{background:#f0f0f0}.apparatus-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.apparatus-tab{align-items:center;background:#f0f0f0;border:2px solid #0000;border-radius:20px;cursor:pointer;display:flex;font-size:.9rem;gap:8px;padding:7px 16px;transition:all .2s}.apparatus-tab.active{background:#1a5276;border-color:#1a5276;color:#fff}.apparatus-pct{font-size:.85rem;font-weight:700}.apparatus-progress{margin-bottom:20px}.progress-bar-label{color:#555;display:flex;font-size:.9rem;justify-content:space-between;margin-bottom:6px}.progress-bar-outer{background:#e0e0e0;border-radius:10px;height:12px;overflow:hidden}.progress-bar-inner{background:linear-gradient(90deg,#27ae60,#1e8449);border-radius:10px;height:100%;transition:width .4s ease}.skills-list{display:flex;flex-direction:column;gap:8px}.skill-row{align-items:flex-start;background:#fff;border:1px solid #e0e0e0;border-left:5px solid #bdc3c7;border-radius:10px;display:flex;gap:12px;justify-content:space-between;padding:14px 16px}.skill-row.in_progress{border-left-color:#e67e22}.skill-row.achieved{border-left-color:#27ae60}.skill-row.mastered{border-left-color:#8e44ad}.skill-info{flex:1 1}.skill-name{align-items:center;color:#1a3a5c;display:flex;flex-wrap:wrap;font-size:.95rem;font-weight:600;gap:8px}.skill-level-tag{background:#eaf0fb;border-radius:10px;color:#1a5276;font-size:.75rem;font-weight:500;padding:2px 8px}.skill-description{color:#888;font-size:.82rem;margin-top:3px}.skill-status-area{align-items:flex-end;display:flex;flex-direction:column;gap:6px;min-width:120px}.status-pill{border-radius:12px;font-size:.78rem;font-weight:600;padding:3px 12px;white-space:nowrap}.coach-rating{color:#f39c12;font-size:.9rem;letter-spacing:1px}.btn-edit-skill{background:none;border:1px solid #ccc;border-radius:6px;color:#555;cursor:pointer;font-size:.82rem;padding:3px 12px}.btn-edit-skill:hover{background:#f0f0f0}.skill-edit-form{display:flex;flex-direction:column;gap:8px;min-width:180px}.notes-input,.skill-edit-form select{border:1px solid #ccc;border-radius:6px;font-size:.88rem;padding:6px 10px}.rating-input{cursor:pointer;display:flex;gap:4px}.star{color:#bbb;font-size:1.1rem;transition:color .1s;-webkit-user-select:none;user-select:none}.star.filled{color:#f39c12}.edit-form-actions{display:flex;gap:8px}.btn-save-small{background:#1a5276;color:#fff;font-weight:600;padding:5px 14px}.btn-cancel-small,.btn-save-small{border:none;border-radius:6px;cursor:pointer;font-size:.85rem}.btn-cancel-small{background:#f0f0f0;padding:5px 12px}.user-management-container{margin:0 auto;max-width:1000px;padding:24px 16px 80px}.um-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:20px}.um-header h1{color:#1a3a5c;font-size:1.8rem;margin:0}.pending-alert{animation:pulse 2s infinite;background:#e74c3c;border-radius:20px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 16px}.um-tabs{border-bottom:2px solid #e0e0e0;display:flex;gap:4px;margin-bottom:20px}.um-tab{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;display:flex;font-size:.95rem;gap:8px;margin-bottom:-2px;padding:10px 18px}.um-tab.active{border-bottom-color:#1a5276;color:#1a5276;font-weight:600}.tab-count-small{background:#e0e0e0;color:#555}.badge-dot,.tab-count-small{border-radius:10px;font-size:.8rem;padding:1px 7px}.badge-dot{background:#e74c3c;color:#fff}.approvals-section h2{color:#1a3a5c;font-size:1.2rem;margin-bottom:16px}.approval-list{display:flex;flex-direction:column;gap:12px}.approval-card{align-items:center;background:#fff;border:1px solid #e0e0e0;border-left:5px solid #e74c3c;border-radius:10px;display:flex;justify-content:space-between;padding:16px 20px}.approval-name{color:#1a3a5c;font-weight:600}.approval-email{color:#666;font-size:.85rem}.approval-date{color:#999;font-size:.8rem;margin-top:3px}.btn-approve{background:#27ae60;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:9px 20px}.btn-approve:hover{background:#1e8449}.um-filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.um-search{flex:1 1;min-width:200px}.um-role-filter,.um-search{border:1px solid #ccc;border-radius:8px;font-size:.95rem;padding:9px 14px}.users-table-wrapper{overflow-x:auto}.users-table{border-collapse:collapse;font-size:.9rem;width:100%}.users-table th{background:#f5f5f5;border-bottom:2px solid #e0e0e0;color:#555;font-weight:600;padding:12px 14px;text-align:left}.users-table td{border-bottom:1px solid #f0f0f0;padding:12px 14px}.users-table tr:hover td{background:#fafafa}.row-inactive td{opacity:.6}.td-name{color:#1a3a5c;font-weight:600}.td-email{color:#555;font-size:.85rem}.role-badge{border-radius:12px;color:#fff;font-size:.8rem;font-weight:600;padding:3px 12px}.role-select{border:1px solid #ccc;border-radius:6px;cursor:pointer;font-size:.85rem;padding:5px 8px}.status-dot{align-items:center;display:inline-flex;font-size:.85rem;font-weight:500;gap:5px}.status-dot:before{border-radius:50%;content:"";display:inline-block;height:8px;width:8px}.status-dot.active:before{background:#27ae60}.status-dot.inactive:before{background:#e74c3c}.btn-toggle{border:none;border-radius:6px;cursor:pointer;font-size:.82rem;font-weight:600;padding:5px 14px}.btn-suspend{background:#fdecea;color:#e74c3c}.btn-activate{background:#e8f8f0;color:#27ae60}.error-message{color:#e74c3c;font-size:.9rem;margin-bottom:12px}.empty-state,.loading-state{color:#888;padding:40px;text-align:center}.add-user-section{max-width:620px;padding:0 0 40px}.add-user-section h2{color:#1a3a5c;font-size:1.3rem;margin:0 0 6px}.add-user-hint{background:#f0f4f8;border-radius:8px;color:#666;font-size:.88rem;margin:0 0 20px;padding:10px 14px}.um-error{background:#fdecea;border:1px solid #f5c6c2;border-radius:8px;color:#c0392b}.um-error,.um-success{font-size:.88rem;margin-bottom:14px;padding:10px 14px}.um-success{background:#eafaf1;border:1px solid #a9dfbf;border-radius:8px;color:#1e8449}.add-user-form{display:flex;flex-direction:column;gap:16px}.auf-row{display:flex;gap:14px}.auf-field{display:flex;flex:1 1;flex-direction:column;gap:5px}.auf-field label{color:#444;font-size:.83rem;font-weight:600}.auf-field input,.auf-field select{border:1px solid #ddd;border-radius:8px;box-sizing:border-box;font-size:.95rem;padding:9px 12px;width:100%}.auf-field input:focus,.auf-field select:focus{border-color:#1a5276;outline:none}.auf-password-wrap{display:flex;position:relative}.auf-password-wrap input{flex:1 1;padding-right:60px}.auf-toggle-pw{background:none;border:none;color:#1a5276;cursor:pointer;font-size:.8rem;font-weight:600;padding:0;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.auf-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:4px}.auf-btn{border:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;padding:10px 22px;transition:background .2s}.auf-btn.primary{background:#1a5276;color:#fff}.auf-btn.primary:hover:not(:disabled){background:#154360}.auf-btn.primary:disabled{cursor:not-allowed;opacity:.6}.auf-btn.secondary{background:#ecf0f1;color:#333}.auf-btn.secondary:hover{background:#d5dbdb}.ac-wrap{margin:0 auto;max-width:1000px;padding:16px 16px 64px}.ac-error,.ac-loading{color:#6b7280;padding:40px;text-align:center}.ac-error{color:#b91c1c}.ac-back{background:none;border:none;color:#15803d;cursor:pointer;font-weight:600;margin-bottom:8px;padding:6px 0}.ac-header{background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 1px 3px #0000000d;gap:16px;margin-bottom:16px;padding:18px 20px}.ac-avatar,.ac-header{align-items:center;display:flex}.ac-avatar{background:#15803d;border-radius:50%;color:#fff;flex-shrink:0;font-size:1.3rem;font-weight:700;height:60px;justify-content:center;width:60px}.ac-id{flex:1 1}.ac-id h1{align-items:center;color:#1f2937;display:flex;font-size:1.4rem;gap:8px;margin:0 0 4px}.ac-inactive{background:#fee2e2;border-radius:999px;color:#b91c1c;font-size:.7rem;font-weight:700;padding:2px 8px;text-transform:uppercase}.ac-meta{color:#6b7280;display:flex;flex-wrap:wrap;font-size:.85rem;gap:12px}.ac-emergency{color:#b45309;font-size:.85rem;margin-top:6px}.ac-fulllink{align-self:flex-start;background:#eef2f0;border:none;border-radius:8px;color:#15803d;cursor:pointer;font-weight:600;padding:8px 14px}.ac-tiles{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:18px}.ac-tile{background:#fff;border:1px solid #e5e7eb;border-left-width:4px;border-radius:12px;display:flex;flex-direction:column;gap:2px;padding:14px 16px}.ac-tile.good{border-left-color:#15803d}.ac-tile.bad{border-left-color:#b91c1c}.ac-tile.warn{border-left-color:#b45309}.ac-tile.neutral{border-left-color:#94a3b8}.ac-tile-label{color:#6b7280;font-size:.75rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.ac-tile-value{color:#1f2937;font-size:1.35rem;font-weight:800}.ac-tile-sub{color:#9ca3af;font-size:.75rem}.ac-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.ac-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000a;padding:16px}.ac-card h2{align-items:center;color:#1f2937;display:flex;font-size:1.02rem;gap:8px;margin:0 0 12px}.ac-count{background:#f1f5f9;border-radius:999px;color:#475569;font-size:.8rem;font-weight:700;padding:1px 9px}.ac-empty{color:#9ca3af;font-size:.88rem;margin:0}.ac-list{list-style:none;margin:0;padding:0}.ac-list li{align-items:center;border-top:1px solid #f1f5f9;color:#374151;display:flex;font-size:.88rem;gap:10px;justify-content:space-between;padding:8px 0}.ac-list li:first-child{border-top:none}.ac-amt{color:#15803d;font-weight:700;white-space:nowrap}.ac-due{color:#9ca3af;font-style:normal;font-weight:400}.ac-billing-head{align-items:baseline;color:#374151;display:flex;justify-content:space-between;margin-bottom:8px}.ac-billing-head strong{color:#15803d;font-size:1.2rem}.ac-billing-head strong.due{color:#b91c1c}.ac-badge{border-radius:6px;font-size:.75rem;font-weight:700;padding:2px 8px;white-space:nowrap}.ac-badge.s-valid{background:#dcfce7;color:#15803d}.ac-badge.s-expired,.ac-badge.s-missing{background:#fee2e2;color:#b91c1c}.ac-badge.s-expiring_soon{background:#fef3c7;color:#b45309}.ac-badge.vs-completed{background:#dcfce7;color:#15803d}.ac-badge.vs-pending,.ac-badge.vs-processing{background:#fef3c7;color:#b45309}.ac-badge.vs-failed{background:#fee2e2;color:#b91c1c}.inv-paid{color:#15803d}.inv-failed,.inv-overdue,.inv-unpaid{color:#b45309}@media (max-width:760px){.ac-tiles{grid-template-columns:repeat(2,1fr)}.ac-grid{grid-template-columns:1fr}.ac-header{flex-wrap:wrap}}.ac-li-right{align-items:center;display:inline-flex;gap:8px;white-space:nowrap}.ac-action{background:#15803d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.75rem;font-weight:700;padding:3px 10px}.ac-action:hover{background:#166534}.ac-action:disabled{cursor:default;opacity:.6}.gym-reg-container{align-items:center;background:#f5f7fa;display:flex;flex-direction:column;min-height:100vh;padding:40px 20px 60px}.gym-reg-logo{margin-bottom:16px;width:120px}.gym-reg-container h2{color:#1a3a5c;font-size:1.8rem;margin:0 0 4px}.gym-reg-subtitle{color:#666;font-size:.95rem;margin:0 0 24px}.gym-reg-steps{margin-bottom:28px}.gym-reg-step,.gym-reg-steps{align-items:center;display:flex;gap:8px}.gym-reg-step{color:#aaa;font-size:.9rem;font-weight:500}.gym-reg-step.active{color:#1a5276}.gym-reg-step span{align-items:center;background:#ddd;border-radius:50%;color:#fff;display:flex;font-size:.85rem;font-weight:700;height:28px;justify-content:center;width:28px}.gym-reg-step.active span{background:#1a5276}.gym-reg-step-divider{background:#ddd;height:2px;width:40px}.gym-reg-form{background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014;display:flex;flex-direction:column;gap:14px;max-width:480px;padding:28px;width:100%}.gym-reg-form label{color:#333;font-size:.85rem;font-weight:600;margin-bottom:-8px}.gym-reg-form .optional{color:#999;font-weight:400}.gym-reg-form input,.gym-reg-form select,.gym-reg-form textarea{border:1px solid #ddd;border-radius:8px;box-sizing:border-box;font-size:.95rem;padding:10px 12px;transition:border-color .2s;width:100%}.gym-reg-form input:focus,.gym-reg-form select:focus,.gym-reg-form textarea:focus{border-color:#1a5276;outline:none}.gym-reg-form textarea{resize:vertical}.gym-reg-row{display:flex;gap:10px}.gym-reg-row>div{display:flex;flex:1 1;flex-direction:column;gap:4px}.gym-reg-section-label{background:#f0f4f8;border-radius:8px;color:#555;font-size:.9rem;margin:0;padding:10px 12px}.gym-reg-btn{background:#1a5276;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:background .2s}.gym-reg-btn:hover:not(:disabled){background:#154360}.gym-reg-btn:disabled{cursor:not-allowed;opacity:.6}.gym-reg-btn.secondary{background:#ecf0f1;color:#333}.gym-reg-btn.secondary:hover{background:#d5dbdb}.gym-reg-actions{display:flex;gap:12px;justify-content:flex-end}.gym-reg-error{background:#fdecea;border:1px solid #f5c6c2;border-radius:8px;color:#c0392b;font-size:.9rem;margin-bottom:8px;max-width:480px;padding:10px 14px;width:100%}.gym-reg-login-link{color:#666;font-size:.9rem;margin-top:20px}.gym-reg-login-link a{color:#1a5276;font-weight:600;text-decoration:none}.gym-reg-login-link a:hover{text-decoration:underline}.sad-root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0 auto;max-width:1100px;padding:24px 20px 60px}.sad-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:24px}.sad-header h1{color:#1a3a5c;font-size:1.6rem;margin:0}.sad-sub{color:#888;font-size:.85rem;margin:4px 0 0}.sad-stats{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:24px}.sad-stat{align-items:center;background:#f0f4f8;border-radius:12px;display:flex;flex-direction:column;min-width:100px;padding:16px 20px}.sad-stat-num{color:#1a5276;font-size:1.8rem;font-weight:700;line-height:1}.sad-stat span:last-child{color:#888;font-size:.78rem;margin-top:4px}.sad-error{background:#fdecea;border:1px solid #f5c6c2;border-radius:8px;color:#c0392b;font-size:.9rem;margin-bottom:16px;padding:10px 14px}.sad-loading{color:#888;font-size:.95rem;padding:20px 0}.sad-empty{color:#aaa;font-size:.9rem;padding:20px 0;text-align:center}.sad-gym-list{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.sad-gym-card{background:#fff;border:1px solid #e0e8ef;border-radius:14px;box-shadow:0 2px 6px #0000000a;display:flex;flex-direction:column;gap:10px;padding:18px 20px}.sad-gym-card.suspended{opacity:.6}.sad-gym-top{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.sad-gym-name{color:#1a3a5c;flex:1 1;font-size:1.05rem;font-weight:700}.plan-badge{letter-spacing:.04em;text-transform:uppercase}.plan-badge,.sad-suspended-badge{border-radius:20px;color:#fff;font-size:.72rem;font-weight:700;padding:2px 8px}.sad-suspended-badge{background:#c0392b}.sad-gym-meta{color:#666;display:flex;flex-wrap:wrap;font-size:.83rem;gap:6px 14px}.sad-owner{color:#1a5276;font-weight:600}.sad-gym-counts{color:#777;display:flex;font-size:.82rem;gap:14px}.sad-gym-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.sad-plan-select{background:#f7f9fc;border:1px solid #ddd;border-radius:7px;cursor:pointer;font-size:.82rem;padding:5px 8px}.sad-btn-manage{background:#1a5276;border:none;border-radius:7px;color:#fff;cursor:pointer;font-size:.82rem;font-weight:600;padding:6px 14px}.sad-btn-manage:hover{background:#154360}.sad-btn-toggle{border:none;border-radius:7px;cursor:pointer;font-size:.82rem;font-weight:600;padding:6px 12px}.sad-btn-toggle.suspend{background:#fdecea;color:#c0392b}.sad-btn-toggle.activate{background:#eafaf1;color:#1e8449}.sad-btn-onboard{background:#27ae60;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:700;padding:10px 20px;white-space:nowrap}.sad-btn-onboard:hover{background:#1e8449}.sad-panel-overlay{align-items:flex-start;background:#00000073;display:flex;inset:0;justify-content:flex-end;position:fixed;z-index:1000}.sad-panel{background:#fff;box-shadow:-4px 0 24px #00000026;display:flex;flex-direction:column;height:100vh;overflow-y:auto;width:min(520px,100vw)}.sad-panel-header{align-items:flex-start;background:#f7fafc;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:22px 22px 16px}.sad-panel-header h2{color:#1a3a5c;font-size:1.2rem;margin:0}.sad-panel-meta{align-items:center;color:#777;display:flex;flex-wrap:wrap;font-size:.83rem;gap:8px;margin-top:6px}.sad-panel-close{background:none;border:none;color:#999;cursor:pointer;font-size:1.3rem;line-height:1;padding:0}.sad-panel-close:hover{color:#333}.sad-panel-actions{border-bottom:1px solid #f0f0f0;padding:14px 22px}.sad-btn-add-user{background:#1a5276;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.88rem;font-weight:600;padding:8px 16px}.sad-btn-add-user:hover{background:#154360}.sad-add-user-form{background:#f7fafc;border-bottom:1px solid #e8eef4;padding:14px 22px}.sad-form-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}.sad-form-row input,.sad-form-row select{border:1px solid #ddd;border-radius:8px;flex:1 1;font-size:.88rem;min-width:120px;padding:8px 10px}.sad-pw-wrap{display:flex;flex:1 1;min-width:200px;position:relative}.sad-pw-wrap input{flex:1 1;padding-right:55px}.sad-pw-wrap button{background:none;color:#1a5276;font-size:.78rem;position:absolute;right:8px;top:50%;transform:translateY(-50%)}.sad-btn-submit,.sad-pw-wrap button{border:none;cursor:pointer;font-weight:600}.sad-btn-submit{background:#27ae60;border-radius:8px;color:#fff;font-size:.88rem;padding:8px 16px;white-space:nowrap}.sad-btn-submit:disabled{cursor:not-allowed;opacity:.6}.sad-form-error{background:#fdecea;color:#c0392b}.sad-form-error,.sad-form-success{border-radius:7px;font-size:.83rem;margin-bottom:10px;padding:8px 12px}.sad-form-success{background:#eafaf1;color:#1e8449}.sad-users-list{flex:1 1;padding:18px 22px}.sad-users-list h3{color:#333;font-size:1rem;margin:0 0 12px}.sad-users-table{border-collapse:collapse;font-size:.85rem;width:100%}.sad-users-table th{border-bottom:2px solid #eee;color:#888;font-size:.78rem;padding:7px 8px;text-align:left;text-transform:uppercase}.sad-users-table td{border-bottom:1px solid #f2f2f2;padding:8px}.sad-users-table tr.row-dim td{opacity:.45}.sad-email{color:#555;font-size:.82rem}.sad-role-pill{background:#e8eef4;border-radius:20px;color:#1a5276;font-size:.72rem;font-weight:700;padding:2px 8px}.sad-status.active{color:#1e8449;font-size:.82rem;font-weight:600}.sad-status.inactive{color:#c0392b;font-size:.82rem;font-weight:600}.sad-modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1100}.sad-modal{background:#fff;border-radius:16px;box-shadow:0 8px 40px #0003;max-height:90vh;overflow-y:auto;width:min(620px,100%)}.sad-modal-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:22px 24px 16px}.sad-modal-header h2{color:#1a3a5c;font-size:1.2rem;margin:0}.sad-onboard-form{display:flex;flex-direction:column;gap:20px;padding:20px 24px}.sad-onboard-form fieldset{border:1px solid #e0e8ef;border-radius:10px;padding:14px 16px}.sad-onboard-form legend{color:#1a5276;font-size:.85rem;font-weight:700;padding:0 6px}.sad-form-field{display:flex;flex:1 1;flex-direction:column;gap:4px}.sad-form-field--sm{flex:0 0 90px;max-width:90px}.sad-form-field--full{flex:1 1 100%}.sad-form-field label{color:#555;font-size:.78rem;font-weight:600}.sad-form-field input{border:1px solid #ddd;border-radius:8px;box-sizing:border-box;font-size:.92rem;padding:8px 10px;width:100%}.sad-form-field input:focus{border-color:#1a5276;outline:none}.sad-onboard-form .sad-form-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:0}.sad-modal-footer{border-top:1px solid #eee;display:flex;gap:10px;justify-content:flex-end;padding:16px 24px}.sad-btn-cancel{background:#ecf0f1;border:none;border-radius:8px;color:#333;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 20px}.sad-btn-cancel:hover{background:#d5dbdb}.sad-btn-create{background:#27ae60;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 22px}.sad-btn-create:hover:not(:disabled){background:#1e8449}.sad-btn-create:disabled{cursor:not-allowed;opacity:.6}.lpa-container{align-items:center;background:#f5f7fa;display:flex;justify-content:center;min-height:100vh;padding:24px}.lpa-card{background:#fff;border-radius:14px;box-shadow:0 4px 24px #0000001a;max-width:460px;padding:44px 40px 36px;text-align:center;width:100%}.lpa-icon{font-size:2.8rem;margin-bottom:12px}.lpa-card h2{color:#1a2a3a;font-size:1.5rem;margin:0 0 18px}.lpa-parent-info{background:#f0f4f8;border-radius:10px;margin:0 0 18px;padding:14px 18px;text-align:left}.lpa-parent-row{display:flex;font-size:.95rem;gap:12px;padding:4px 0}.lpa-label{color:#6b7c93;font-weight:500;min-width:52px}.lpa-value{color:#1a2a3a;font-weight:600}.lpa-description{line-height:1.55}.lpa-description,.lpa-login-note{color:#4a5568;font-size:.93rem;margin:0 0 20px}.lpa-login-note{line-height:1.5}.lpa-expires{color:#a0aab4;font-size:.78rem;margin-top:18px}.lpa-actions{display:flex;gap:14px;justify-content:center;margin-top:8px}.lpa-btn{border:none;border-radius:8px;cursor:pointer;display:inline-block;font-size:.97rem;font-weight:600;padding:11px 28px;text-decoration:none;transition:background .15s,opacity .15s}.lpa-btn:disabled{cursor:not-allowed;opacity:.6}.lpa-btn-primary{background:#2563eb;color:#fff}.lpa-btn-primary:hover:not(:disabled){background:#1d4ed8}.lpa-btn-decline{background:#f1f5f9;color:#475569}.lpa-btn-decline:hover:not(:disabled){background:#e2e8f0}.lpa-btn-secondary{background:#e2e8f0;color:#334155;display:block;margin-left:auto;margin-right:auto;margin-top:10px;width:fit-content}.lpa-btn-secondary:hover{background:#cbd5e1}.lpa-action-error{background:#fef2f2;border-radius:6px;color:#dc2626;font-size:.88rem;margin:0 0 12px;padding:8px 12px}.lpa-loading{color:#6b7c93;font-size:1rem;padding:40px}.lpa-error-card h2{color:#b91c1c}.lpa-success-card h2{color:#15803d}.lpa-icon-error{font-size:2rem}.ss-page{background:#f4f6fb;margin:0 auto;max-width:1280px;min-height:100vh;padding:24px 20px 60px}.ss-header{margin-bottom:20px}.ss-title{color:#1a1f36;font-size:2rem;font-weight:800;margin:0}.ss-subtitle{color:#6b7280;font-size:.95rem;margin:6px 0 0}.ss-tiles{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,1fr);margin-bottom:22px}.ss-tile{background:#fff;border:1px solid #eef0f5;border-radius:14px;box-shadow:0 2px 10px #0000000d;padding:18px;text-align:center}.ss-tile-num{color:#4a5568;display:block;font-size:1.9rem;font-weight:800}.ss-tile-label{color:#6b7280;font-size:.78rem;font-weight:600}.tile-blue .ss-tile-num{color:#4059d0}.tile-green .ss-tile-num{color:#1a9e57}.tile-orange .ss-tile-num{color:#d97706}.ss-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.ss-tab{align-items:center;background:#fff;border:2px solid #e8eaf1;border-radius:40px;color:#4a5568;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:700;gap:7px;padding:10px 18px;transition:all .15s ease}.ss-tab:hover{border-color:#b9c2ff}.ss-tab.active{background:#667eea;border-color:#667eea;color:#fff}.ss-tab-badge{align-items:center;background:#ff6b6b;border-radius:20px;color:#fff;display:inline-flex;font-size:.72rem;font-weight:800;height:20px;justify-content:center;min-width:20px;padding:0 6px}.ss-tab.active .ss-tab-badge{background:#ffffff4d}.ss-card{background:#fff;border:1px solid #eef0f5;border-radius:16px;box-shadow:0 2px 12px #0000000d;margin-bottom:20px;padding:22px}.ss-card-head{margin-bottom:18px}.ss-card-head h2{color:#1a1f36;font-size:1.2rem;font-weight:800;margin:0}.ss-card-head p{color:#6b7280;font-size:.88rem;margin:5px 0 0}.ss-note{font-size:.82rem;margin:4px 0 0}.ss-muted,.ss-note{color:#8891a5}.ss-add-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1.2fr 1fr}.ss-add-label-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.ss-add-label{color:#33384d;font-size:.92rem;font-weight:700}.ss-mini-btn{background:#f0f2f8;border:1px solid #e0e4ee;border-radius:8px;color:#5a6478;cursor:pointer;font-size:.8rem;font-weight:700;padding:5px 12px}.ss-mini-btn:hover{background:#e6e9f3}.ss-coach-chips{display:flex;flex-wrap:wrap;gap:8px}.ss-coach-chip{align-items:center;background:#fff;border:2px solid #e8eaf1;border-radius:40px;cursor:pointer;display:inline-flex;gap:8px;padding:6px 12px 6px 6px;transition:all .15s ease}.ss-coach-chip:hover{border-color:#c2cffb}.ss-chip-avatar{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.72rem;font-weight:800;height:28px;justify-content:center;width:28px}.ss-chip-name{color:#33384d;font-size:.88rem;font-weight:600}.ss-chip-check{font-weight:800}.ss-field{margin-bottom:16px}.ss-field>label{color:#5a6478;display:block;font-size:.8rem;font-weight:700;letter-spacing:.3px;margin-bottom:7px;text-transform:uppercase}.ss-field input[type=date],.ss-field input[type=time],.ss-hours-filters input,.ss-recurring input,.ss-recurring select,.ss-when-input{border:2px solid #e4e7ef;border-radius:9px;font-family:inherit;font-size:.9rem;padding:9px 12px}.ss-field input:focus,.ss-hours-filters input:focus,.ss-recurring input:focus,.ss-recurring select:focus,.ss-when-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1f;outline:none}.ss-time-range{align-items:center;display:flex;gap:8px}.ss-dash{color:#9aa2b4;font-weight:700}.ss-when-input{display:block;margin-top:10px}.ss-seg{background:#f0f2f8;border-radius:10px;display:inline-flex;padding:3px}.ss-seg-btn{background:#0000;border:none;border-radius:8px;color:#5a6478;cursor:pointer;font-size:.85rem;font-weight:700;padding:7px 16px;transition:all .15s}.ss-seg-btn.active{background:#fff;box-shadow:0 1px 4px #0000001a;color:#667eea}.ss-recurring{align-items:center;color:#5a6478;display:flex;flex-wrap:wrap;font-size:.88rem;gap:8px;margin-top:10px}.ss-recurring input[type=number]{width:60px}.ss-primary-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:11px;box-shadow:0 4px 14px #667eea52;color:#fff;cursor:pointer;font-size:.92rem;font-weight:700;padding:11px 22px;transition:all .15s ease}.ss-primary-btn:hover:not(:disabled){box-shadow:0 6px 20px #667eea6b;transform:translateY(-2px)}.ss-primary-btn:disabled{cursor:default;opacity:.6}.ss-inline-btn{padding:9px 18px}.ss-week-head{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.ss-week-head h2{color:#1a1f36;font-size:1.2rem;font-weight:800;margin:0}.ss-week-nav{align-items:center;display:flex;gap:6px}.ss-nav-btn{background:#fff;border:2px solid #e8eaf1;border-radius:9px;color:#5a6478;cursor:pointer;font-size:.8rem;font-weight:700;height:34px;width:34px}.ss-nav-btn:hover{border-color:#667eea;color:#667eea}.ss-week-label{color:#33384d;font-size:.9rem;font-weight:700;padding:0 6px}.ss-grid-scroll{overflow-x:auto}.ss-grid{border-collapse:initial;border-spacing:0;min-width:760px;width:100%}.ss-grid th{border-bottom:2px solid #eef0f5;color:#6b7280;font-size:.78rem;font-weight:700;padding:10px 8px;text-align:center}.ss-grid-corner{padding-left:12px!important;text-align:left!important}.ss-day-name{display:block;letter-spacing:.3px;text-transform:uppercase}.ss-day-num{color:#33384d;display:block;font-size:1rem;font-weight:800}.ss-hours-col{color:#667eea!important}.ss-today-col{background:#f3f6ff}.ss-grid td{border-bottom:1px solid #f2f4f8;padding:8px;vertical-align:top}.ss-coach-cell{align-items:center;display:flex;gap:10px;min-width:150px;padding-left:12px!important}.ss-grid-avatar{align-items:center;border-radius:50%;color:#fff;display:inline-flex;flex-shrink:0;font-size:.78rem;font-weight:800;height:34px;justify-content:center;width:34px}.ss-grid-avatar.sm{font-size:.68rem;height:26px;margin-right:7px;vertical-align:middle;width:26px}.ss-grid-coach-info{display:flex;flex-direction:column;line-height:1.25}.ss-grid-coach-info strong{color:#1a1f36;font-size:.9rem}.ss-grid-coach-info small{color:#8891a5;font-size:.74rem;text-transform:capitalize}.ss-day-cell{min-width:92px;text-align:center}.ss-cell-empty{color:#d0d5e0}.ss-block{align-items:center;border:1px solid;border-radius:8px;color:#33384d;display:flex;font-size:.76rem;font-weight:700;gap:5px;justify-content:center;margin-bottom:4px;padding:5px 8px}.ss-block-time{white-space:nowrap}.ss-block-x{background:#0000;border:none;color:#c0392b;cursor:pointer;font-size:.7rem;line-height:1;opacity:.55;padding:0}.ss-block-x:hover{opacity:1}.ss-hours-cell{color:#667eea;font-weight:800;text-align:center}.ss-empty{color:#8891a5;font-size:1rem;padding:40px 20px;text-align:center}.ss-timeoff-list{display:flex;flex-direction:column;gap:12px}.ss-timeoff-card{align-items:center;background:#fafbfe;border:1px solid #eef0f5;border-radius:12px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:16px}.ss-to-left{align-items:flex-start;display:flex;gap:12px}.ss-to-left strong{color:#1a1f36;font-size:.98rem}.ss-to-meta{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-top:5px}.ss-to-dates{color:#5a6478;font-size:.85rem}.ss-to-reason{color:#6b7280;font-size:.86rem;font-style:italic;margin:8px 0 0}.ss-pill{border-radius:20px;font-size:.72rem;font-weight:700;padding:3px 11px;text-transform:capitalize}.ss-pill-blue{background:#eef1fb;color:#667eea}.ss-to-actions{display:flex;gap:8px}.ss-approve,.ss-deny{border:none;border-radius:9px;cursor:pointer;font-size:.85rem;font-weight:700;padding:8px 16px}.ss-approve{background:#d4f5e2;color:#1a9e57}.ss-approve:hover{background:#b8efd0}.ss-deny{background:#ffe0e0;color:#d63031}.ss-deny:hover{background:#ffc7c7}.ss-hours-filters{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}.ss-hours-filters .ss-field{margin-bottom:0}.ss-hours-table{border-collapse:collapse;width:100%}.ss-hours-table th{border-bottom:2px solid #eef0f5;color:#6b7280;font-size:.78rem;font-weight:700;letter-spacing:.3px;padding:10px 12px;text-align:left;text-transform:uppercase}.ss-hours-table td{border-bottom:1px solid #f2f4f8;color:#33384d;font-size:.92rem;padding:12px}.ss-total-row td{background:#fafbfe;border-bottom:none;border-top:2px solid #eef0f5}@media (max-width:900px){.ss-add-grid{grid-template-columns:1fr}}@media (max-width:768px){.ss-tiles{grid-template-columns:repeat(2,1fr)}.ss-title{font-size:1.6rem}.ss-timeoff-card{align-items:flex-start;flex-direction:column}}.sh-wrap{margin:0 auto;max-width:1200px;padding:24px 16px 48px}.sh-head h1{color:#2c3e50;font-size:1.6rem;margin:0 0 16px}.sh-tabs{border-bottom:2px solid #ecf0f1;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}.sh-tab{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:#7f8c8d;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:6px;margin-bottom:-2px;padding:10px 16px;transition:color .15s,border-color .15s}.sh-tab:hover{color:#2c3e50}.sh-tab.active{border-bottom-color:#2980b9;color:#2980b9}.sh-tab-ico{font-size:1rem}.sh-panel>*{animation:sh-fade .15s ease}@keyframes sh-fade{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}@media (max-width:600px){.sh-tab{font-size:.88rem;padding:9px 12px}}.pl-page{background:#f4f6fb;margin:0 auto;max-width:1200px;min-height:100vh;padding:24px 20px 60px}.pl-header{margin-bottom:20px}.pl-title{color:#1a1f36;font-size:2rem;font-weight:800;margin:0}.pl-subtitle{color:#6b7280;font-size:.95rem;margin:6px 0 0;max-width:640px}.pl-week{align-items:stretch;display:flex;gap:10px;margin-bottom:14px}.pl-week-nav{background:#fff;border:1px solid #e8eaf1;border-radius:12px;color:#5a6478;cursor:pointer;flex-shrink:0;font-size:.85rem;font-weight:700;width:40px}.pl-week-nav:hover{border-color:#667eea;color:#667eea}.pl-week-days{grid-gap:8px;display:grid;flex:1 1;gap:8px;grid-template-columns:repeat(7,1fr)}.pl-day{align-items:center;background:#fff;border:2px solid #eef0f5;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:3px;padding:12px 4px;position:relative;transition:all .15s ease}.pl-day:hover{border-color:#c2cffb;transform:translateY(-2px)}.pl-day.active{background:#667eea;border-color:#667eea}.pl-day.active .pl-day-name,.pl-day.active .pl-day-num{color:#fff}.pl-day-name{color:#8891a5;font-size:.72rem;font-weight:700;text-transform:uppercase}.pl-day-num{color:#33384d;font-size:1.25rem;font-weight:800}.pl-day.today:not(.active){border-color:#667eea}.pl-day-dot{background:#667eea;border-radius:50%;bottom:6px;height:5px;position:absolute;width:5px}.pl-day.active .pl-day-dot{background:#fff}.pl-selected-banner{align-items:center;background:#eef1ff;border:1px solid #d7deff;border-radius:12px;color:#4a5578;display:flex;font-size:.92rem;gap:12px;margin-bottom:22px;padding:11px 16px}.pl-selected-banner strong{color:#33384d}.pl-jump-today{background:#fff;border:1px solid #c2cffb;border-radius:8px;color:#667eea;cursor:pointer;font-size:.82rem;font-weight:700;margin-left:auto;padding:5px 14px}.pl-jump-today:hover{background:#667eea;border-color:#667eea;color:#fff}.pl-class-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.pl-class-card{background:#fff;border:1px solid #eef0f5;border-radius:16px;box-shadow:0 2px 12px #0000000d;cursor:pointer;display:flex;overflow:hidden;padding:0;text-align:left;transition:transform .18s ease,box-shadow .18s ease}.pl-class-card:hover{box-shadow:0 12px 30px #00000021;transform:translateY(-4px)}.pl-class-bar{flex-shrink:0;width:6px}.pl-class-body{flex:1 1;padding:16px 18px}.pl-class-head{align-items:flex-start;display:flex;gap:10px;justify-content:space-between;margin-bottom:10px}.pl-class-head h3{color:#1a1f36;font-size:1.1rem;font-weight:700;margin:0}.pl-level{border-radius:20px;font-size:.72rem;font-weight:800;padding:3px 10px;white-space:nowrap}.pl-class-meta{color:#6b7280;display:flex;flex-direction:column;font-size:.85rem;gap:5px;margin-bottom:14px}.pl-class-cta{font-size:.85rem;font-weight:800}.pl-empty{background:#fff;border:1px dashed #d0d5e0;border-radius:18px;color:#6b7280;padding:70px 20px;text-align:center}.pl-empty-icon{font-size:3.6rem;margin-bottom:14px}.pl-empty h3{color:#1a1f36;font-size:1.3rem;margin:0 0 6px}.pl-empty p{margin:0}.pl-loading{align-items:center;color:#6b7280;display:flex;flex-direction:column;font-size:1.05rem;gap:16px;justify-content:center;min-height:60vh}.pl-spinner{animation:plSpin .8s linear infinite;border:4px solid #e4e7ef;border-radius:50%;border-top-color:#667eea;height:42px;width:42px}@keyframes plSpin{to{transform:rotate(1turn)}}@media (max-width:640px){.pl-title{font-size:1.6rem}.pl-day-num{font-size:1.05rem}.pl-class-grid{grid-template-columns:1fr}}.sigpad{margin:12px 0}.sigpad-canvas{background:#fff;border:2px dashed #c2cffb;border-radius:12px;cursor:crosshair;display:block;height:150px;touch-action:none;width:100%}.sigpad-actions{align-items:center;color:#8891a5;display:flex;font-size:.82rem;justify-content:space-between;margin-top:6px}.sigpad-actions button{background:#0000;border:none;color:#667eea;cursor:pointer;font-size:.85rem;font-weight:700}.reg-kiosk{background:linear-gradient(160deg,#eef2ff,#f4f6fb 40%);inset:0;overflow-y:auto;padding:0 20px 60px;position:fixed;z-index:4000}.reg-shell{margin:0 auto;max-width:1280px;padding-top:20px}.reg-staffbar{background:#1a1f36;color:#fff;justify-content:space-between;margin:0 -20px;padding:10px 20px;position:sticky;top:0;z-index:5}.reg-staff-brand,.reg-staffbar{align-items:center;display:flex}.reg-staff-brand{font-size:.95rem;font-weight:800;gap:10px}.reg-lock-tag{background:#ffffff29;border-radius:20px;font-size:.78rem;padding:2px 10px}.reg-staff-actions{display:flex;gap:8px}.reg-staff-btn{background:#ffffff1f;border:1px solid #ffffff40;border-radius:9px;color:#fff;cursor:pointer;font-size:.82rem;font-weight:700;padding:7px 14px}.reg-staff-btn:hover{background:#ffffff3d}.reg-topbar{margin-bottom:22px;text-align:center}.reg-topbar h1{color:#1a1f36;font-size:2.1rem;font-weight:800;margin:0}.reg-topbar p{color:#6b7280;font-size:1rem;margin:8px 0 0}.reg-success-banner{align-items:center;background:linear-gradient(135deg,#d4f5e2,#b0efc9);border:1px solid #86e0aa;border-radius:14px;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;margin-bottom:18px;padding:14px 20px}.reg-success-text{color:#14663a;font-size:1rem}.reg-newacct{color:#1a9e57;font-weight:600}.reg-btn-ghost{background:#fff;border:1px solid #86e0aa;border-radius:10px;color:#1a9e57;cursor:pointer;font-size:.95rem;font-weight:700;padding:10px 18px}.reg-btn-ghost:hover{background:#eafaf0}.reg-columns{grid-gap:22px;align-items:start;display:grid;gap:22px;grid-template-columns:1.45fr 1fr}@media (max-width:1024px){.reg-columns{grid-template-columns:1fr}}.reg-card{background:#fff;border:1px solid #eef0f5;border-radius:18px;box-shadow:0 4px 20px #0000000f;padding:24px}.reg-card-title{color:#1a1f36;font-size:1.25rem;font-weight:800;margin:0 0 18px}.reg-field{display:block;margin-bottom:16px}.reg-field>span{color:#4a5568;display:block;font-size:.9rem;font-weight:700;margin-bottom:7px}.reg-field input,.reg-field select,.reg-field textarea{background:#fff;border:2px solid #e4e7ef;border-radius:12px;box-sizing:border-box;color:#1a1f36;font-family:inherit;font-size:1.05rem;padding:14px 15px;transition:border-color .15s,box-shadow .15s;width:100%}.reg-field textarea{line-height:1.4;min-height:52px;resize:vertical}.reg-field input:focus,.reg-field select:focus,.reg-field textarea:focus{border-color:#667eea;box-shadow:0 0 0 4px #667eea24;outline:none}.reg-required>span:after{color:#ef4444;content:" *"}.reg-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.reg-hint{color:#8891a5;font-size:.85rem;line-height:1.45;margin:4px 0 0}.reg-locked-family{align-items:center;background:#f2f4fb;border:1px dashed #c2cffb;border-radius:14px;display:flex;gap:14px;padding:18px}.reg-locked-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.05rem;font-weight:800;height:52px;justify-content:center;width:52px}.reg-locked-name{color:#1a1f36;font-size:1.1rem;font-weight:800}.reg-locked-note{color:#6b7280;font-size:.85rem;margin-top:3px}.reg-submit-bar{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;margin-top:22px}.reg-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:14px;box-shadow:0 6px 18px #667eea66;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:800;padding:16px 32px;transition:transform .15s,box-shadow .15s}.reg-btn-primary:hover:not(:disabled){box-shadow:0 8px 24px #667eea80;transform:translateY(-2px)}.reg-btn-primary:disabled{cursor:default;opacity:.6}.reg-btn-secondary{background:#fff;border:2px solid #e4e7ef;border-radius:14px;color:#5a6478;cursor:pointer;font-size:1rem;font-weight:700;padding:16px 24px}.reg-btn-secondary:hover{border-color:#c2cffb}.reg-optional{background:#f0f2f8;border-radius:20px;color:#9aa2b4;font-size:.78rem;font-weight:700;margin-left:6px;padding:2px 9px;vertical-align:middle}.reg-class-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.reg-class-opt{background:#fff;border:2px solid #e4e7ef;border-radius:14px;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:14px 16px;text-align:left;transition:all .15s ease}.reg-class-opt:hover{border-color:#c2cffb}.reg-class-opt.active{background:#eef1ff;border-color:#667eea;box-shadow:0 3px 12px #667eea2e}.reg-class-opt.full{opacity:.6}.reg-class-name{color:#1a1f36;font-size:1rem;font-weight:800}.reg-class-meta{color:#6b7280;font-size:.85rem}.reg-class-fee{color:#4059d0;font-size:.85rem;font-weight:700}.reg-sigpad{margin:14px 0}.reg-sig-canvas{background:#fff;border:2px dashed #c2cffb;border-radius:12px;cursor:crosshair;display:block;height:150px;touch-action:none;width:100%}.reg-sig-actions{align-items:center;color:#8891a5;display:flex;font-size:.82rem;justify-content:space-between;margin-top:6px}.reg-sig-actions button{background:#0000;border:none;color:#667eea;cursor:pointer;font-size:.85rem;font-weight:700}.reg-card-titlerow{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:14px}.reg-card-titlerow .reg-card-title{margin:0}.reg-update-badge{background:#fff4e0;border:1px solid #ffd591;border-radius:20px;color:#d97706;font-size:.78rem;font-weight:800;padding:4px 12px;white-space:nowrap}.reg-lookup{margin-bottom:18px;position:relative}.reg-lookup-input{background:#fafbff;border:2px dashed #c2cffb;border-radius:12px;box-sizing:border-box;color:#1a1f36;font-size:1rem;padding:13px 15px;width:100%}.reg-lookup-input:focus{background:#fff;border-color:#667eea;border-style:solid;outline:none}.reg-lookup-results{background:#fff;border:1px solid #e4e7ef;border-radius:12px;box-shadow:0 12px 30px #00000026;left:0;margin-top:4px;overflow:hidden;position:absolute;right:0;top:100%;z-index:20}.reg-lookup-item{align-items:flex-start;background:#fff;border:none;border-bottom:1px solid #f2f4f8;cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:12px 15px;text-align:left;width:100%}.reg-lookup-item:hover{background:#f2f4fb}.reg-lookup-name{color:#1a1f36;font-size:.98rem;font-weight:700}.reg-lookup-meta{color:#8891a5;font-size:.82rem}.reg-lookup-clear{background:#0000;border:none;color:#c0392b;cursor:pointer;font-size:.85rem;font-weight:700;margin-top:8px;padding:0}.reg-steps{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:22px}.reg-step{background:#fff;border:1px solid #e4e7ef;border-radius:30px;color:#9aa2b4;gap:8px;padding:8px 16px}.reg-step,.reg-step-num{align-items:center;display:flex}.reg-step-num{background:#e4e7ef;border-radius:50%;color:#6b7280;font-size:.82rem;font-weight:800;height:24px;justify-content:center;width:24px}.reg-step-label{font-size:.9rem;font-weight:700}.reg-step.active{border-color:#667eea;box-shadow:0 2px 10px #667eea2e;color:#667eea}.reg-step.active .reg-step-num{background:#667eea;color:#fff}.reg-step.done{border-color:#a3e9be;color:#1a9e57}.reg-step.done .reg-step-num{background:#27ae60;color:#fff}.reg-step.done .reg-step-num:after{content:"✓"}.reg-step.done .reg-step-num{font-size:0}.reg-step.done .reg-step-num:after{font-size:.82rem}.reg-waiver-progress{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.reg-waiver-progress>span{color:#4a5568;font-size:.95rem;font-weight:700}.reg-progress-track{background:#e4e7ef;border-radius:10px;height:10px;overflow:hidden}.reg-progress-fill{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:10px;height:100%;transition:width .35s ease}.reg-waiver-card{background:#fff;border:1px solid #eef0f5;border-radius:18px;box-shadow:0 4px 20px #0000000f;margin-bottom:18px;padding:22px}.reg-waiver-card.signed{border:2px solid #27ae60}.reg-waiver-head{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:14px}.reg-waiver-head h2{color:#1a1f36;font-size:1.2rem;font-weight:800;margin:0}.reg-waiver-type{background:#eef1fb;border-radius:20px;color:#667eea;font-size:.78rem;font-weight:700;padding:4px 12px;white-space:nowrap}.reg-waiver-body{margin-bottom:16px}.reg-waiver-text{border:1px solid #e9ecf6;border-radius:12px;color:#33384d;line-height:1.6;max-height:260px;overflow-y:auto;white-space:pre-wrap}.reg-waiver-pdf,.reg-waiver-text{background:#f7f8fc;font-size:.95rem;padding:16px}.reg-waiver-pdf{border:1px dashed #c2cffb;border-radius:12px;color:#5a6478}.reg-waiver-sign{border-top:1px solid #eef0f5;padding-top:16px}.reg-agree{align-items:center;color:#33384d;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:10px;margin-bottom:14px}.reg-agree input{cursor:pointer;flex-shrink:0;height:22px;width:22px}.reg-sign-input{border:2px solid #e4e7ef;border-radius:12px;box-sizing:border-box;font-family:inherit;font-size:1.05rem;padding:13px 15px;width:100%}.reg-sign-input:focus{border-color:#667eea;box-shadow:0 0 0 4px #667eea24;outline:none}.reg-sign-btn{margin-top:4px;width:100%}.reg-waiver-signed{color:#1a9e57;font-size:1.05rem;font-weight:800;padding:8px 0}@media (max-width:560px){.reg-row{grid-template-columns:1fr}.reg-topbar h1{font-size:1.7rem}.reg-submit-bar{flex-direction:column-reverse}.reg-btn-primary,.reg-btn-secondary{width:100%}}.reg-card-hint{color:#7a8296;font-size:.85rem;margin:-4px 0 12px}.goal-setting-container{background:#f4f6fb;margin:0 auto;max-width:1200px;min-height:100vh;padding:24px 20px 60px}.goal-page-header{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.goal-page-title{color:#1a1f36;font-size:2rem;font-weight:800;margin:0}.goal-page-subtitle{color:#6b7280;font-size:.95rem;margin:6px 0 0}.btn-new-goal{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 14px #667eea59;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:12px 24px;transition:transform .15s ease,box-shadow .15s ease;white-space:nowrap}.btn-new-goal:hover{box-shadow:0 6px 20px #667eea73;transform:translateY(-2px)}.goal-stats-bar{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,1fr);margin-bottom:20px}.goal-stat{background:#fff;border:1px solid #eef0f5;border-radius:14px;box-shadow:0 2px 10px #0000000d;padding:18px;text-align:center}.goal-stat-green{background:linear-gradient(135deg,#d4f5e2,#b0efc9);border-color:#a3e9be}.goal-stat-num{color:#667eea;display:block;font-size:1.9rem;font-weight:800}.goal-stat-green .goal-stat-num{color:#1a9e57}.goal-stat-label{color:#6b7280;font-size:.82rem;font-weight:600}.due-soon-strip{align-items:center;background:linear-gradient(135deg,#fff4e0,#ffe9c7);border:1px solid #ffd591;border-radius:12px;color:#8a5a00;display:flex;font-size:.92rem;gap:12px;margin-bottom:24px;padding:14px 18px}.due-soon-icon{font-size:1.4rem}.smart-form-container{animation:slideUp .35s ease-out;background:#fff;border:1px solid #eef0f5;border-radius:18px;box-shadow:0 10px 40px #0000001a;margin-bottom:30px;padding:28px}.smart-form-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:22px}.smart-form-header h2{color:#1a1f36;font-size:1.4rem;font-weight:800;margin:0}.btn-close-form{background:#f0f0f5;border:none;border-radius:50%;color:#666;cursor:pointer;font-size:.95rem;height:34px;width:34px}.btn-close-form:hover{background:#e4e4ec}.smart-field{margin-bottom:22px}.smart-label-row{align-items:center;display:flex;gap:10px;margin-bottom:10px}.smart-label-row label{color:#33384d;font-size:.98rem;font-weight:700}.smart-badge{align-items:center;border-radius:8px;color:#fff;display:inline-flex;flex-shrink:0;font-size:1rem;font-weight:800;height:30px;justify-content:center;width:30px}.smart-s{background:#ff6b6b}.smart-m{background:#f7a440}.smart-a{background:#4ecdc4}.smart-r{background:#667eea}.smart-t{background:#9d84b7}.smart-input,.smart-select{border:2px solid #e4e7ef;border-radius:10px;box-sizing:border-box;font-family:inherit;font-size:.97rem;padding:12px 14px;transition:border-color .2s,box-shadow .2s;width:100%}.smart-input:focus,.smart-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1f;outline:none}textarea.smart-input{resize:vertical}.apparatus-buttons,.difficulty-buttons{display:flex;flex-wrap:wrap;gap:8px}.app-btn,.diff-btn{background:#fff;border:2px solid #e4e7ef;border-radius:10px;color:#33384d;cursor:pointer;font-size:.9rem;font-weight:600;padding:9px 16px;transition:all .15s ease}.app-btn:hover,.diff-btn.active,.diff-btn:hover{border-color:#667eea}.diff-btn.active{background:#667eea;color:#fff}.time-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.sub-label{color:#6b7280;display:block;font-size:.8rem;font-weight:600;margin-bottom:6px}.form-actions{display:flex;gap:12px;margin-top:28px}.btn-cancel,.btn-submit-goal{border:none;border-radius:11px;cursor:pointer;flex:1 1;font-size:1rem;font-weight:700;padding:13px;transition:all .15s ease}.btn-cancel{background:#f0f0f5;color:#555}.btn-cancel:hover{background:#e4e4ec}.btn-submit-goal{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-submit-goal:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.goals-section{margin-bottom:34px}.goals-section-title{color:#1a1f36;font-size:1.3rem;font-weight:800;margin:0 0 16px}.goals-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.goal-card{animation:slideUp .4s ease-out;background:#fff;border:1px solid #eef0f5;border-radius:16px;box-shadow:0 4px 18px #00000014;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.goal-card:hover{box-shadow:0 10px 30px #00000021;transform:translateY(-4px)}.goal-card-achieved{border:2px solid #27ae60;box-shadow:0 4px 18px #27ae602e}.goal-card-header{align-items:center;color:#fff;cursor:pointer;display:flex;gap:10px;padding:14px 16px}.goal-card-emoji{font-size:1.6rem}.goal-card-header-info{display:flex;flex:1 1;flex-direction:column}.goal-card-category{font-size:.98rem;font-weight:700}.goal-card-type-tag{font-size:.75rem;opacity:.92}.btn-delete-goal{background:#ffffff47;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:.85rem;height:26px;width:26px}.btn-delete-goal:hover{background:#ffffff8c}.due-chip{border-radius:20px;font-size:.68rem;font-weight:800;letter-spacing:.3px;padding:3px 9px;text-transform:uppercase}.due-chip.overdue{background:#ff4757;color:#fff}.due-chip.due-today{background:#fff;color:#d63031}.due-chip.due-soon{background:#ffffffe6;color:#8a5a00}.goal-card-body{padding:18px 16px}.goal-card-title{color:#1a1f36;font-size:1.12rem;font-weight:700;margin:0 0 10px}.goal-card-measure{background:#f7f8fc;border-left:3px solid #f7a440;border-radius:8px;color:#555;font-size:.88rem;line-height:1.45;margin:0 0 14px;padding:8px 11px}.measure-label{color:#f7a440;font-weight:700}.goal-card-meta{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}.difficulty-pill,.status-pill,.target-date-pill{border-radius:20px;font-size:.74rem;font-weight:700;padding:4px 11px}.status-pill{color:#fff}.status-not-started{background:#b0b6c3}.status-in-progress{background:#e67e22}.status-achieved{background:#27ae60}.status-exceeded{background:#8e44ad}.difficulty-pill{background:#f0f0f5;color:#555}.target-date-pill{background:#eef1fb;color:#667eea}.progress-track{background:#eceef4;border-radius:10px;height:10px;margin-bottom:7px;overflow:hidden;width:100%}.progress-fill{border-radius:10px;height:100%;transition:width .4s ease}.progress-pct{color:#6b7280;font-size:.82rem;font-weight:600;margin:0}.achieved-on{color:#1a9e57;font-size:.85rem;font-weight:700;margin:12px 0 0}.goal-card-expanded{background:#fafbfe;border-top:1px solid #eef0f5;padding:16px}.progress-update-section{margin-bottom:8px}.progress-update-label{color:#33384d;display:block;font-size:.88rem;margin-bottom:10px}.slider-row{align-items:center;display:flex;gap:12px}.progress-slider{cursor:pointer;flex:1 1;height:6px}.btn-save-progress{border:none;border-radius:9px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:700;padding:8px 16px;transition:opacity .15s;white-space:nowrap}.btn-save-progress:disabled{cursor:default;opacity:.45}.slider-hint{color:#1a9e57;font-size:.78rem;font-weight:600;margin:8px 0 0}.feedback-section{margin-top:16px}.feedback-heading{color:#33384d;font-size:.9rem;font-weight:700;margin:0 0 10px}.feedback-item{background:#fff;border-left:3px solid #667eea;border-radius:10px;box-shadow:0 1px 4px #0000000d;margin-bottom:8px;padding:11px 13px}.feedback-meta{display:flex;justify-content:space-between;margin-bottom:4px}.feedback-coach{color:#667eea;font-size:.82rem;font-weight:700}.feedback-type{color:#888;font-size:.76rem}.feedback-text{color:#444;font-size:.88rem;line-height:1.4;margin:0}.btn-collapse{background:#0000;border:none;color:#667eea;cursor:pointer;font-size:.82rem;font-weight:700;margin-top:12px;padding:8px;width:100%}.goals-empty-state{background:#fff;border:1px dashed #d0d5e0;border-radius:18px;color:#6b7280;padding:70px 20px;text-align:center}.empty-rocket{font-size:4rem;margin-bottom:16px}.goals-empty-state h3{color:#1a1f36;font-size:1.5rem;margin:0 0 8px}.goals-empty-state p{margin:0 0 22px}.goal-loading{align-items:center;color:#6b7280;display:flex;flex-direction:column;font-size:1.05rem;gap:16px;justify-content:center;min-height:60vh}.goal-spinner{animation:spin .8s linear infinite;border:4px solid #e4e7ef;border-radius:50%;border-top-color:#667eea;height:42px;width:42px}.celebration-overlay{align-items:center;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#141628b3;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.celebration-box{animation:popIn .5s cubic-bezier(.18,1.25,.4,1);background:linear-gradient(135deg,#fff,#f7f9ff);border-radius:24px;box-shadow:0 24px 70px #0006;max-width:420px;padding:48px 44px 38px;position:relative;text-align:center;width:90%}.celebration-stars{inset:0;overflow:visible;pointer-events:none;position:absolute}.star-burst{animation:burst 1.4s ease-out forwards;font-size:1.6rem;left:50%;position:absolute;top:50%}.star-0{--tx:-160px;--ty:-120px;animation-delay:.05s}.star-1{--tx:150px;--ty:-140px;animation-delay:.1s}.star-2{--tx:-190px;--ty:40px;animation-delay:.15s}.star-3{--tx:180px;--ty:60px;animation-delay:.08s}.star-4{--tx:-110px;--ty:150px;animation-delay:.18s}.star-5{--tx:120px;--ty:160px;animation-delay:.12s}.star-6{--tx:-210px;--ty:-30px;animation-delay:.22s}.star-7{--tx:200px;--ty:-40px;animation-delay:.16s}.star-8{--tx:-40px;--ty:-170px;animation-delay:.2s}.star-9{--tx:60px;--ty:175px;animation-delay:.14s}.celebration-trophy{animation:trophyBounce .9s ease-out .2s both;font-size:5rem;margin-bottom:8px}.celebration-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f7a440,#ff6b6b);-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:900;margin:0 0 6px}.celebration-goal-name{color:#33384d;font-size:1.05rem;font-weight:700;margin:0 0 12px}.celebration-message{color:#6b7280;font-size:.92rem;line-height:1.5;margin:0 0 24px}.celebration-dismiss{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 6px 18px #667eea66;color:#fff;cursor:pointer;font-size:1rem;font-weight:800;padding:13px 32px;transition:transform .15s}.celebration-dismiss:hover{transform:scale(1.05)}@keyframes trophyBounce{0%{transform:scale(0) rotate(-30deg)}60%{transform:scale(1.25) rotate(8deg)}to{transform:scale(1) rotate(0)}}@keyframes burst{0%{opacity:1;transform:translate(-50%,-50%) scale(.4)}to{opacity:0;transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--ty))) scale(1.3)}}@media (max-width:768px){.goal-stats-bar{grid-template-columns:repeat(2,1fr)}.goals-grid,.time-row{grid-template-columns:1fr}.goal-page-title{font-size:1.6rem}}.cgr-page{background:#f4f6fb;margin:0 auto;max-width:1280px;min-height:100vh;padding:24px 20px 60px}.cgr-header{margin-bottom:22px}.cgr-title{color:#1a1f36;font-size:2rem;font-weight:800;margin:0}.cgr-subtitle{color:#6b7280;font-size:.95rem;margin:6px 0 0}.cgr-summary{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,1fr);margin-bottom:20px}.cgr-tile{background:#fff;border:1px solid #eef0f5;border-radius:14px;box-shadow:0 2px 10px #0000000d;padding:18px;text-align:center}.cgr-tile-num{color:#4a5568;display:block;font-size:1.9rem;font-weight:800}.cgr-tile-label{color:#6b7280;font-size:.8rem;font-weight:600}.tile-green .cgr-tile-num{color:#1a9e57}.tile-orange{background:linear-gradient(135deg,#ffeccc,#ffd9a0);border-color:#ffcf8f}.tile-orange .cgr-tile-num{color:#d97706}.tile-red{background:linear-gradient(135deg,#ffe0e0,#ffc7c7);border-color:#ffb3b3}.tile-red .cgr-tile-num{color:#d63031}.cgr-athlete-strip{display:flex;gap:10px;margin-bottom:8px;overflow-x:auto;padding:6px 2px 12px;scrollbar-width:thin}.cgr-athlete-strip::-webkit-scrollbar{height:6px}.cgr-athlete-strip::-webkit-scrollbar-thumb{background:#d3d8e3;border-radius:6px}.cgr-pill{align-items:center;background:#fff;border:2px solid #e8eaf1;border-radius:40px;cursor:pointer;display:flex;flex-shrink:0;gap:9px;padding:8px 14px 8px 8px;transition:all .15s ease;white-space:nowrap}.cgr-pill:hover{border-color:#b9c2ff;transform:translateY(-1px)}.cgr-pill.active{background:#eef1ff;border-color:#667eea;box-shadow:0 3px 12px #667eea33}.cgr-pill-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.78rem;font-weight:800;height:32px;justify-content:center;width:32px}.all-avatar{background:linear-gradient(135deg,#f7a440,#ff6b6b);font-size:1rem}.cgr-pill-name{color:#33384d;font-size:.9rem;font-weight:700}.cgr-pill-badge{background:#667eea;border-radius:20px;color:#fff;font-size:.72rem;font-weight:800;height:20px;justify-content:center;min-width:20px;padding:0 6px}.cgr-filters,.cgr-pill-badge{align-items:center;display:flex}.cgr-filters{flex-wrap:wrap;gap:12px;margin-bottom:20px}.cgr-filters select{background:#fff;border:2px solid #e4e7ef;border-radius:10px;color:#33384d;cursor:pointer;font-size:.9rem;font-weight:600;padding:9px 14px}.cgr-filters select:focus{border-color:#667eea;outline:none}.cgr-result-count{color:#6b7280;font-size:.85rem;font-weight:600;margin-left:auto}.cgr-grid{grid-gap:18px;align-items:start;display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.cgr-card{animation:cgrSlideUp .35s ease-out;background:#fff;border:1px solid #eef0f5;border-radius:16px;box-shadow:0 4px 18px #00000012;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}.cgr-card:hover{box-shadow:0 10px 28px #0000001f;transform:translateY(-3px)}.cgr-card-achieved{border:2px solid #27ae60}.cgr-card-expanded{box-shadow:0 12px 34px #00000026}.cgr-card-top{align-items:center;color:#fff;cursor:pointer;display:flex;gap:10px;padding:12px 15px}.cgr-card-emoji{font-size:1.5rem}.cgr-card-top-info{display:flex;flex:1 1;flex-direction:column}.cgr-card-cat{font-size:.95rem;font-weight:700}.cgr-card-type{font-size:.72rem;opacity:.92}.cgr-due{border-radius:20px;font-size:.66rem;font-weight:800;letter-spacing:.3px;padding:3px 9px;text-transform:uppercase}.cgr-due.overdue{background:#ff4757;color:#fff}.cgr-due.due-today{background:#fff;color:#d63031}.cgr-due.due-soon{background:#ffffffe6;color:#8a5a00}.cgr-card-body{cursor:pointer;padding:15px}.cgr-athlete-tag{align-items:center;background:#f2f4fa;border-radius:20px;color:#4a5568;display:inline-flex;font-size:.82rem;font-weight:700;gap:7px;margin-bottom:10px;padding:4px 10px 4px 4px}.cgr-athlete-dot{align-items:center;border-radius:50%;color:#fff;display:flex;font-size:.62rem;font-weight:800;height:22px;justify-content:center;width:22px}.cgr-card-title{color:#1a1f36;font-size:1.08rem;font-weight:700;margin:0 0 9px}.cgr-card-measure{background:#f7f8fc;border-left:3px solid #f7a440;border-radius:8px;color:#555;font-size:.85rem;line-height:1.4;margin:0 0 12px;padding:7px 10px}.cgr-card-measure span{color:#f7a440;font-weight:700}.cgr-card-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:13px}.cgr-chip,.cgr-status{border-radius:20px;font-size:.72rem;font-weight:700;padding:4px 11px}.cgr-status{color:#fff}.st-grey{background:#b0b6c3}.st-orange{background:#e67e22}.st-green{background:#27ae60}.st-purple{background:#8e44ad}.cgr-chip{background:#f0f0f5;color:#555}.cgr-chip-date{background:#eef1fb;color:#667eea}.cgr-progress-track{background:#eceef4;border-radius:10px;height:9px;margin-bottom:6px;overflow:hidden;width:100%}.cgr-progress-fill{border-radius:10px;height:100%;transition:width .4s ease}.cgr-progress-pct{color:#6b7280;font-size:.8rem;font-weight:600;margin:0}.cgr-card-drawer{animation:cgrSlideUp .25s ease-out;background:#fafbfe;border-top:1px solid #eef0f5;padding:15px}.cgr-section-label{color:#8891a5;font-size:.74rem;font-weight:800;letter-spacing:.4px;margin-bottom:9px;text-transform:uppercase}.cgr-section-label+.cgr-section-label,.cgr-status-btns+.cgr-section-label{margin-top:16px}.cgr-status-btns{grid-gap:7px;display:grid;gap:7px;grid-template-columns:repeat(2,1fr)}.cgr-status-btn{background:#fff;border:2px solid #e4e7ef;border-radius:9px;color:#4a5568;cursor:pointer;font-size:.82rem;font-weight:700;padding:8px 10px;transition:all .15s ease}.cgr-status-btn:hover{border-color:#667eea}.cgr-status-btn.active{background:#667eea;border-color:#667eea;color:#fff}.cgr-enc-row{display:flex;gap:7px;margin-bottom:10px}.cgr-enc-btn{background:#fff;border:2px solid #e4e7ef;border-radius:9px;cursor:pointer;flex:1 1;font-size:1.15rem;padding:8px 0;transition:all .15s ease}.cgr-enc-btn:hover{border-color:#b9c2ff;transform:scale(1.08)}.cgr-enc-btn.active{background:#eef1ff;border-color:#667eea;transform:scale(1.08)}.cgr-fb-textarea{border:2px solid #e4e7ef;border-radius:10px;box-sizing:border-box;font-family:inherit;font-size:.9rem;margin-bottom:10px;padding:10px 12px;resize:vertical;width:100%}.cgr-fb-textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1f;outline:none}.cgr-fb-send{border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:800;padding:10px;transition:opacity .15s;width:100%}.cgr-fb-send:hover{opacity:.9}.cgr-fb-loading{color:#999;font-size:.82rem;margin:12px 0 0}.cgr-fb-list{margin-top:14px}.cgr-fb-item{background:#fff;border-left:3px solid #667eea;border-radius:10px;box-shadow:0 1px 4px #0000000d;margin-bottom:7px;padding:10px 12px}.cgr-fb-meta{display:flex;justify-content:space-between;margin-bottom:3px}.cgr-fb-coach{color:#667eea;font-size:.8rem;font-weight:700}.cgr-fb-type{font-size:.95rem}.cgr-fb-text{color:#444;font-size:.86rem;line-height:1.4;margin:0}.cgr-empty{background:#fff;border:1px dashed #d0d5e0;border-radius:18px;color:#6b7280;padding:60px 20px;text-align:center}.cgr-empty-icon{font-size:3.4rem;margin-bottom:12px}.cgr-empty h3{color:#1a1f36;font-size:1.3rem;margin:0 0 6px}.cgr-empty p{margin:0}.cgr-loading{align-items:center;color:#6b7280;display:flex;flex-direction:column;font-size:1.05rem;gap:16px;justify-content:center;min-height:60vh}.cgr-spinner{animation:cgrSpin .8s linear infinite;border:4px solid #e4e7ef;border-radius:50%;border-top-color:#667eea;height:42px;width:42px}@keyframes cgrSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes cgrSpin{to{transform:rotate(1turn)}}@media (max-width:768px){.cgr-summary{grid-template-columns:repeat(2,1fr)}.cgr-grid{grid-template-columns:1fr}.cgr-title{font-size:1.6rem}.cgr-result-count{margin-left:0;width:100%}}.pa-page{background:#f4f6fb;margin:0 auto;max-width:1200px;min-height:100vh;padding:24px 20px 60px}.pa-header{margin-bottom:20px}.pa-title{color:#1a1f36;font-size:2rem;font-weight:800;margin:0}.pa-subtitle{color:#6b7280;font-size:.95rem;margin:6px 0 0}.pa-filters{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:22px}.pa-dates input,.pa-select{background:#fff;border:2px solid #e4e7ef;border-radius:10px;color:#33384d;font-size:.9rem;font-weight:600;padding:9px 12px}.pa-dates input:focus,.pa-select:focus{border-color:#667eea;outline:none}.pa-dates{align-items:center;color:#9aa2b4;display:flex;gap:8px}.pa-presets{display:flex;gap:6px;margin-left:auto}.pa-preset{background:#fff;border:1px solid #d7dbe8;border-radius:9px;color:#5a6478;cursor:pointer;font-size:.82rem;font-weight:700;padding:8px 14px}.pa-preset:hover{border-color:#667eea;color:#667eea}.pa-tiles{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,1fr);margin-bottom:20px}.pa-tile{background:#fff;border:1px solid #eef0f5;border-radius:14px;box-shadow:0 2px 10px #0000000d;padding:18px;text-align:center}.pa-tile-num{color:#4a5568;display:block;font-size:1.9rem;font-weight:800}.pa-tile-label{color:#6b7280;font-size:.8rem;font-weight:600}.tile-blue{background:linear-gradient(135deg,#e6ecff,#d3ddff);border-color:#c2cffb}.tile-blue .pa-tile-num{color:#4059d0}.tile-purple{background:linear-gradient(135deg,#efe6ff,#e0d3ff);border-color:#cfbcff}.tile-purple .pa-tile-num{color:#7c3aed}.tile-green{background:linear-gradient(135deg,#d4f5e2,#b0efc9);border-color:#a3e9be}.tile-green .pa-tile-num{color:#1a9e57}.pa-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:1fr 1fr}.pa-card{background:#fff;border:1px solid #eef0f5;border-radius:16px;box-shadow:0 2px 12px #0000000d;padding:20px}.pa-card-wide{grid-column:1/-1}.pa-card-title{color:#1a1f36;font-size:1.05rem;font-weight:800;margin:0 0 14px}.pa-table{border-collapse:collapse;font-size:.88rem;width:100%}.pa-table th{border-bottom:2px solid #eef0f5;color:#6b7280;font-size:.72rem;font-weight:800;letter-spacing:.3px;padding:8px 10px;text-align:left;text-transform:uppercase}.pa-table td{border-bottom:1px solid #f2f4f8;color:#33384d;padding:9px 10px}.pa-table td.num,.pa-table th.num{text-align:center}.pa-skill-name{font-weight:700}.bar-col{width:130px}.pa-bar-track{background:#eceef4;border-radius:8px;height:8px;overflow:hidden;width:100%}.pa-bar-fill{border-radius:8px;height:100%;transition:width .4s ease}.pa-app-list{display:flex;flex-direction:column;gap:14px}.pa-app-head{align-items:center;color:#33384d;display:flex;font-size:.88rem;font-weight:700;justify-content:space-between;margin-bottom:6px}.pa-app-reps{color:#6b7280;font-size:.82rem;font-weight:600}.pa-type-list{display:flex;flex-direction:column;gap:10px}.pa-type-row{align-items:center;background:#f7f8fc;border-radius:9px;color:#33384d;display:flex;font-size:.88rem;font-weight:600;justify-content:space-between;padding:8px 12px}.pa-type-min{color:#6b7280;font-size:.82rem}.pa-empty{background:#fff;border:1px dashed #d0d5e0;border-radius:18px;color:#6b7280;padding:70px 20px;text-align:center}.pa-empty-icon{font-size:3.6rem;margin-bottom:14px}.pa-empty h3{color:#1a1f36;font-size:1.3rem;margin:0 0 6px}.pa-empty p{margin:0}.pa-loading{align-items:center;color:#6b7280;display:flex;flex-direction:column;font-size:1.05rem;gap:16px;justify-content:center;min-height:50vh}.pa-spinner{animation:paSpin .8s linear infinite;border:4px solid #e4e7ef;border-radius:50%;border-top-color:#667eea;height:42px;width:42px}@keyframes paSpin{to{transform:rotate(1turn)}}@media (max-width:820px){.pa-tiles{grid-template-columns:repeat(2,1fr)}.pa-grid{grid-template-columns:1fr}.pa-presets{margin-left:0}.pa-title{font-size:1.6rem}}.ph-wrap{margin:0 auto;max-width:1200px;padding:24px 16px 48px}.ph-head h1{color:#2c3e50;font-size:1.6rem;margin:0 0 16px}.ph-tabs{border-bottom:2px solid #ecf0f1;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}.ph-tab{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:#7f8c8d;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:6px;margin-bottom:-2px;padding:10px 16px;transition:color .15s,border-color .15s}.ph-tab:hover{color:#2c3e50}.ph-tab.active{border-bottom-color:#2980b9;color:#2980b9}.ph-tab-ico{font-size:1rem}.ph-panel>*{animation:ph-fade .15s ease}@keyframes ph-fade{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}@media (max-width:600px){.ph-tab{font-size:.88rem;padding:9px 12px}}.admin-dashboard{background:linear-gradient(135deg,#667eea,#764ba2);margin:0 auto;max-width:1400px;min-height:100vh;padding:30px 20px}.admin-dashboard.loading{align-items:center;color:#fff;display:flex;font-size:1.2rem;justify-content:center}.dashboard-header h1{margin:0 0 10px}.dashboard-header p{font-size:1.05rem;margin:0 0 20px}.timeframe-selector{display:flex;gap:10px;justify-content:center}.timeframe-selector button{background:#ffffff1a;border:2px solid #fff;border-radius:20px;color:#fff;cursor:pointer;font-weight:600;padding:8px 16px;transition:all .3s}.timeframe-selector button:hover{background:#fff3}.timeframe-selector button.active{background:#fff;color:#667eea}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.metric-card{border-left:4px solid #667eea}.metric-card.revenue{border-left-color:#51cf66}.metric-card.members{border-left-color:#4ecdc4}.metric-card.capacity{border-left-color:#ffb347}.metric-card.hours{border-left-color:#a78bfa}.metric-card.churn{border-left-color:#ff6b6b}.metric-icon{align-items:flex-start;display:flex}.metric-content{flex:1 1}.metric-label{font-size:.8rem}.metric-value{color:#1e3c72;font-size:1.9rem}.metric-subtext{color:#999;font-size:.85rem}.metric-change{font-size:.85rem;font-weight:600}.metric-change.positive{color:#51cf66}.metric-change.negative{color:#ff6b6b}.dashboard-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:1.2fr 1fr;margin-bottom:30px}@media (max-width:1000px){.dashboard-grid{grid-template-columns:1fr}}.dashboard-column{display:flex;flex-direction:column;gap:25px}.dashboard-card{background:#fff;border-radius:15px;box-shadow:0 8px 25px #0000001f;padding:25px}.dashboard-card h2{color:#1e3c72;font-size:1.3rem;margin:0 0 20px}.card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.card-header h2{flex:1 1;margin:0}.card-link{color:#667eea;font-size:.9rem;font-weight:600;text-decoration:none;transition:color .3s}.card-link:hover{color:#764ba2}.top-classes-list{display:flex;flex-direction:column;gap:12px}.class-item{background:#f9f9f9;border-radius:10px;gap:15px;padding:12px}.class-item,.class-rank{align-items:center;display:flex}.class-rank{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;flex-shrink:0;font-weight:700;height:32px;justify-content:center;width:32px}.class-info{flex:1 1}.class-name{color:#1e3c72;font-weight:700}.class-meta{color:#999;display:flex;font-size:.8rem;gap:8px}.class-enrollment{align-items:flex-end;display:flex;flex-direction:column;gap:6px}.enrollment-bar{background:#e0e0e0;border-radius:3px;height:6px;overflow:hidden;width:100px}.enrollment-fill{background:linear-gradient(90deg,#667eea,#764ba2);height:100%}.enrollment-text{color:#999;font-size:.75rem;font-weight:600}.activity-list{display:flex;flex-direction:column;gap:10px}.activity-item{align-items:center;background:#f9f9f9;border-radius:8px;display:flex;gap:12px;padding:12px}.activity-icon{font-size:1.5rem;min-width:30px;text-align:center}.activity-content{flex:1 1}.activity-title{color:#333;font-size:.9rem;font-weight:600}.activity-time{color:#999;font-size:.8rem}.empty{color:#999;font-size:.9rem;padding:20px;text-align:center}.actions-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.actions-card h2{color:#fff}.actions-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.action-button{align-items:center;background:#ffffff1a;border:2px solid #fff3;border-radius:10px;color:#fff;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:15px;text-align:center;text-decoration:none;transition:all .3s}.action-button:hover{background:#fff3;border-color:#fff6;transform:translateY(-2px)}.action-icon{font-size:1.8rem}.action-label{font-size:.85rem;font-weight:600}.status-breakdown{display:flex;flex-direction:column;gap:12px;margin-bottom:15px}.status-item{align-items:center;color:#333;display:flex;font-size:.95rem;gap:10px}.status-dot{border-radius:50%;flex-shrink:0;height:12px;width:12px}.status-item.active .status-dot{background:#51cf66}.status-item.inactive .status-dot{background:#ffd43b}.status-item.upcoming .status-dot{background:#74c0fc}.status-item .count{color:#667eea;font-weight:700;margin-left:auto}.status-chart{border-radius:4px;display:flex;gap:2px;height:8px;margin-top:10px;overflow:hidden}.chart-segment{border-radius:4px;flex:1 1}.chart-segment.active{background:#51cf66}.chart-segment.inactive{background:#ffd43b}.alerts-list{display:flex;flex-direction:column;gap:12px}.alert{border-left:4px solid;border-radius:8px;padding:12px}.alert.warning{background:#fff3bf;border-left-color:#ffd43b}.alert.warning .alert-title{color:#856404}.alert.warning .alert-message{color:#997a00}.alert.info{background:#cfe9f3;border-left-color:#74c0fc}.alert.info .alert-title{color:#0c4a6e}.alert.info .alert-message{color:#164e63}.alert.caution{background:#ffe0e0;border-left-color:#ff6b6b}.alert.caution .alert-title{color:#7d1d1d}.alert.caution .alert-message{color:#99424f}.alert-title{font-size:.9rem;font-weight:700;margin-bottom:4px}.alert-message{font-size:.85rem}@media (max-width:768px){.admin-dashboard{padding:20px 15px}.dashboard-header h1{font-size:1.8rem}.metrics-grid{grid-template-columns:1fr}.metric-card{flex-direction:column}.timeframe-selector{flex-wrap:wrap}.actions-grid{grid-template-columns:repeat(2,1fr)}.metric-icon{font-size:2rem}}.online-registration{margin:0 auto;max-width:860px;padding:24px 20px 60px}.registration-header{margin-bottom:20px;text-align:center}.registration-header h1{color:#1a1f36;font-size:2rem;font-weight:800;margin:0}.registration-header .subtitle{color:#6b7280;margin:8px 0 0}.or-optional{background:#f0f2f8;border-radius:20px;color:#9aa2b4;font-size:.72rem;font-weight:700;margin-left:8px;padding:2px 9px;vertical-align:middle}.or-class-grid,.or-gym-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin:8px 0 20px}.or-gym-btn{background:#fff;border:2px solid #e4e7ef;border-radius:14px;color:#1a1f36;cursor:pointer;font-size:1.05rem;font-weight:800;padding:18px}.or-gym-btn:hover{background:#eef1ff;border-color:#667eea}.or-class-card{background:#fff;border:2px solid #e4e7ef;border-radius:14px;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:16px;text-align:left;transition:all .15s}.or-class-card:hover{border-color:#c2cffb}.or-class-card.selected{background:#eef1ff;border-color:#667eea;box-shadow:0 3px 12px #667eea2e}.or-class-card.full{opacity:.6}.or-class-card h3{color:#1a1f36;font-size:1.05rem;margin:0}.or-class-meta{color:#6b7280;font-size:.85rem}.or-class-fee{color:#4059d0;font-size:.85rem;font-weight:700}.or-class-cap{color:#8891a5;font-size:.78rem}.or-waiver-card{background:#fff;border:1px solid #eef0f5;border-radius:14px;box-shadow:0 2px 12px #0000000d;margin-bottom:14px;padding:18px}.or-waiver-card.signed{border:2px solid #27ae60}.or-waiver-card h3{color:#1a1f36;margin:0 0 10px}.or-waiver-text{border:1px solid #e9ecf6;border-radius:10px;color:#33384d;font-size:.92rem;line-height:1.6;max-height:240px;overflow-y:auto;white-space:pre-wrap}.or-waiver-pdf,.or-waiver-text{background:#f7f8fc;padding:14px}.or-waiver-pdf{border:1px dashed #c2cffb;border-radius:10px;color:#5a6478}.or-sign{border-top:1px solid #eef0f5;margin-top:14px;padding-top:14px}.or-agree{align-items:center;color:#33384d;cursor:pointer;display:flex;font-weight:600;gap:10px;margin-bottom:12px}.or-agree input{height:20px;width:20px}.or-sign-input{border:2px solid #e4e7ef;border-radius:10px;box-sizing:border-box;font-size:1rem;margin-bottom:10px;padding:12px 14px;width:100%}.or-sign-input:focus{border-color:#667eea;outline:none}.or-signed{color:#1a9e57;font-weight:800}.step-description{color:#6b7280;margin:0 0 16px}.completion{text-align:center}.success-icon{font-size:4rem}.success-message{color:#1a1f36;font-size:1.1rem;font-weight:600}.completion-actions{margin-top:24px}.cka{margin:20px 0}.cka-head{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:14px}.cka-head h2{color:#1a1f36;font-size:1.15rem;margin:0}.cka-range{border:1px solid #dfe3ee;border-radius:8px;display:inline-flex;overflow:hidden}.cka-range button{background:#fff;border:none;color:#7a8296;cursor:pointer;font-size:.82rem;font-weight:600;padding:6px 12px}.cka-range button.on{background:#4f46e5;color:#fff}.cka-empty,.cka-loading{color:#7a8296;font-size:.9rem;padding:10px 0}.cka-cards{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.cka-card{background:#fff;border:1px solid #e8eaf1;border-radius:12px;box-shadow:0 1px 6px #0000000a;padding:14px}.cka-card-prompt{color:#33384d;font-size:.86rem;font-weight:700;margin-bottom:8px;min-height:2.4em}.cka-card-body{align-items:flex-end;display:flex;gap:8px;justify-content:space-between}.cka-card-val{color:#2c3350;font-size:1.9rem;font-weight:800;line-height:1}.cka-card-val small{color:#98a;font-size:.72rem;font-weight:600}.cka-card-val.cka-warn{color:#d97706}.cka-card-sub{color:#98a;font-size:.76rem}.cka-card-n{color:#a9b0c2;font-size:.74rem;margin-top:10px}.cka-muted{color:#b8bdc9}.cka-spark{align-items:flex-end;display:flex;flex:1 1;gap:2px;height:40px;max-width:120px}.cka-spark-bar{background:#c7d2fe;border-radius:2px;flex:1 1;min-width:2px}.cka-samples{display:flex;flex-wrap:wrap;gap:4px}.cka-sample{background:#f1f5f9;border-radius:6px;color:#445;font-size:.8rem;padding:2px 8px}.cka-byclass{margin-top:22px}.cka-byclass h3{color:#1a1f36;font-size:1rem;margin:0 0 10px}.cka-table-wrap{border:1px solid #ecf0f1;border-radius:10px;overflow-x:auto}.cka-table{border-collapse:collapse;font-size:.86rem;width:100%}.cka-table th{background:#f8fafb;color:#95a5a6;font-size:.72rem;letter-spacing:.03em;padding:9px 10px;text-align:center;text-transform:uppercase;white-space:nowrap}.cka-table td:first-child,.cka-table th:first-child{text-align:left;white-space:nowrap}.cka-table td{border-top:1px solid #f0f3f5;color:#33384d;font-weight:600;padding:9px 10px;text-align:center}.cka-table tr.cka-gymrow td{background:#f4f6ff;font-weight:800}.cka-legend{color:#a9b0c2;font-size:.76rem;margin:8px 2px 0}.wellness-dashboard{background:linear-gradient(135deg,#667eea,#764ba2);margin:0 auto;max-width:1400px;min-height:100vh;padding:30px 20px}.wellness-dashboard.loading{align-items:center;color:#fff;display:flex;font-size:1.2rem;justify-content:center}.dashboard-header{color:#fff;margin-bottom:30px;text-align:center}.dashboard-header h1{font-size:2.5rem;font-weight:700;margin-bottom:10px}.dashboard-header p{font-size:1.1rem;opacity:.95}.dashboard-filters{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-bottom:30px}.filter-group{display:flex;flex-direction:column;gap:8px}.filter-group label{color:#fff;font-size:.95rem;font-weight:600}.filter-group select{background:#fffffff2;border:2px solid #fff;border-radius:8px;cursor:pointer;font-size:.95rem;min-width:150px;padding:10px 15px}.metrics-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.metric-card{align-items:center;animation:slideUp .5s ease-out;background:#fff;border-radius:15px;box-shadow:0 10px 30px #00000026;display:flex;gap:20px;padding:25px}.metric-icon{font-size:2.5rem;min-width:60px;text-align:center}.metric-content{display:flex;flex-direction:column;gap:6px}.metric-label{color:#999;font-size:.85rem;font-weight:600;text-transform:uppercase}.metric-value{color:#667eea;font-size:2rem;font-weight:700}.metric-subtext{color:#bbb;font-size:.8rem}.status-sections{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-bottom:30px}.status-card{background:#fff;border-left:5px solid;border-radius:15px;box-shadow:0 8px 25px #0000001f;padding:25px}.status-card.warning{border-left-color:#ff6b6b}.status-card.success{border-left-color:#51cf66}.status-card.caution{border-left-color:#ffd43b}.status-card h3{color:#333;font-size:1.2rem;margin:0 0 12px}.card-count{color:#999;font-size:.9rem;font-weight:600;margin:0 0 15px}.athlete-list{display:flex;flex-direction:column;gap:10px;margin-bottom:15px;max-height:250px;overflow-y:auto}.athlete-item{background:#f9f9f9;border-left:3px solid #667eea;border-radius:8px;padding:12px}.athlete-name{color:#333;display:block;font-weight:600;margin-bottom:6px}.athlete-metrics{display:flex;flex-wrap:wrap;gap:12px}.metric{background:#fff;border-radius:4px;color:#666;font-size:.8rem;padding:3px 8px}.card-action{background:#f0f7ff;border-radius:6px;color:#1e3c72;font-size:.9rem;font-weight:600;margin:0;padding:12px}.trends-section{background:#fff;border-radius:15px;box-shadow:0 8px 25px #0000001f;margin-bottom:30px;padding:30px}.trends-section h2{color:#1e3c72;font-size:1.4rem;margin-bottom:25px}.trend-chart{background:#f9f9f9;border-radius:10px;margin-bottom:30px;padding:20px}.trend-chart h3{color:#333;font-size:1rem}.chart-container,.trend-chart h3{margin-bottom:15px}.trend-bars{align-items:flex-end;background:#fff;border-radius:8px;display:flex;gap:12px;height:250px;overflow-x:auto;padding:20px}.trend-bar-group{align-items:center;display:flex;flex-direction:column;gap:8px;min-width:50px}.trend-bar{align-items:flex-end;background:linear-gradient(0deg,#667eea,#764ba2);border-radius:4px;display:flex;justify-content:center;min-height:20px;position:relative;width:40px}.bar-value{color:#fff;font-size:.75rem;font-weight:700;padding:4px}.bar-label{color:#999;font-size:.7rem;text-align:center}.soreness-regions{display:flex;flex-direction:column;gap:12px}.region-item{gap:12px}.region-name{font-size:.9rem;min-width:120px}.region-bar{background:#e0e0e0;border-radius:4px;flex:1 1;height:24px;overflow:hidden}.region-fill{background:linear-gradient(90deg,#667eea,#764ba2);height:100%}.region-count{color:#666;font-size:.85rem;font-weight:600;min-width:40px;text-align:right}.recommendations-section{background:#fff;border-radius:15px;box-shadow:0 8px 25px #0000001f;padding:30px}.recommendations-section h2{color:#1e3c72;font-size:1.4rem;margin-bottom:25px}.recommendation-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.recommendation-card{background:linear-gradient(135deg,#f5f7ff,#f0f0ff);border:2px solid #667eea;border-radius:12px;padding:20px;text-align:center}.rec-icon{display:block;font-size:2rem;margin-bottom:10px}.recommendation-card h4{color:#1e3c72;font-size:1rem;margin:0 0 10px}.recommendation-card p{color:#666;font-size:.9rem;line-height:1.4;margin:0}@media (max-width:768px){.wellness-dashboard{padding:20px 15px}.dashboard-header h1{font-size:1.8rem}.metrics-grid,.status-sections{grid-template-columns:1fr}.metric-card{flex-direction:column;text-align:center}.trend-bars{height:150px}.recommendation-grid{grid-template-columns:1fr}}.bodymap-modal{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.bodymap-overlay{background:#0009;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0}.bodymap-content{animation:slideUp .3s ease-out;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:1000px;position:relative;width:95%}.bodymap-content.success-state{align-items:center;height:300px;justify-content:center}.success-message{padding:40px 20px;text-align:center}.success-emoji{display:block;font-size:4rem;margin-bottom:15px}.success-message h2{color:#4ecdc4;font-size:1.8rem;margin:0 0 10px}.success-message p{color:#666;font-size:1rem;margin:0}.bodymap-header{border-bottom:2px solid #e0e0e0;padding:25px 30px;position:relative}.bodymap-header h2{color:#1e3c72;font-size:1.5rem;margin:0 0 5px}.bodymap-header p{color:#999;font-size:.9rem;margin:0}.btn-close{position:absolute;right:20px;top:20px}.bodymap-body{grid-gap:20px;display:grid;flex:1 1;gap:20px;grid-template-columns:1fr 320px;overflow-y:auto;padding:30px}@media (max-width:900px){.bodymap-body{grid-template-columns:1fr}}.body-map-container{display:flex;flex-direction:column;gap:20px}.body-view-toggle{align-self:center;background:#eef1f8;border-radius:10px;display:flex;gap:6px;padding:4px}.view-btn{background:#0000;border:none;border-radius:8px;color:#667;cursor:pointer;font-size:.95rem;font-weight:700;padding:8px 26px;transition:all .2s}.view-btn.active{background:#fff;box-shadow:0 2px 6px #0000001f;color:#1e3c72}.body-figure-wrap{background:linear-gradient(135deg,#f5f7ff,#f0f0ff);border:2px solid #e0e0e0;border-radius:15px;margin:0 auto;max-width:340px;padding:16px;position:relative;width:100%}.body-svg-figure{display:block;height:auto;touch-action:manipulation;width:100%}.region-shape{stroke:#9fb0d4;stroke-width:1.2;transition:fill .2s ease,stroke .2s ease}.region-group{cursor:pointer;outline:none}.region-group:focus-visible .region-shape,.region-group:hover .region-shape{stroke:#667eea;stroke-width:2.5;filter:brightness(1.04)}.region-group.active .region-shape{stroke:#1e3c72;stroke-width:3}.region-badge-bg{fill:#fff;stroke:#00000040;stroke-width:1}.region-badge-text{fill:#1e3c72;text-anchor:middle;dominant-baseline:central;font-size:11px;font-weight:800;pointer-events:none}.rating-overlay{align-items:center;animation:fadeIn .15s ease-out;background:#141e3c73;border-radius:15px;display:flex;inset:0;justify-content:center;padding:12px;position:absolute;z-index:20}.rating-card{animation:popIn .2s ease-out;background:#fff;border-radius:16px;box-shadow:0 12px 40px #0000004d;max-width:300px;padding:18px 16px;text-align:center;width:100%}.rating-title{color:#1e3c72;font-size:1.15rem;font-weight:800}.rating-question{color:#888;font-size:.9rem;margin-top:2px}.rating-face{align-items:center;display:flex;flex-direction:column;gap:2px;margin:10px 0}.rating-face-emoji{font-size:2.6rem;line-height:1}.rating-face-word{color:#555;font-size:.9rem;font-weight:700}.rating-scale{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(5,1fr)}.rating-btn{border:none;border-radius:10px;color:#2b2b2b;cursor:pointer;font-size:1.1rem;font-weight:800;height:44px;text-shadow:0 1px 1px #ffffff80;transition:transform .12s,box-shadow .12s}.rating-btn:hover{box-shadow:0 4px 12px #00000040;transform:scale(1.12)}.rating-btn.selected{outline:3px solid #1e3c72;outline-offset:1px;transform:scale(1.08)}.rating-scale-labels{color:#999;display:flex;font-size:.72rem;justify-content:space-between;margin-top:6px}.rating-actions{margin-top:14px}.rating-clear{background:#f0f0f0;border:none;border-radius:8px;color:#666;cursor:pointer;font-weight:600;padding:9px 18px;transition:background .2s}.rating-clear:hover{background:#e2e2e2}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.bodymap-legend{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:15px}.legend-title{color:#333;font-size:.95rem;font-weight:600;margin-bottom:10px}.legend-items{display:flex;flex-wrap:wrap;gap:2px;margin-bottom:8px}.legend-item{align-items:center;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:.7rem;font-weight:700;height:25px;justify-content:center;text-shadow:0 1px 2px #0000004d;transition:transform .2s;width:25px}.legend-item:hover{transform:scale(1.15)}.legend-label{color:#999;display:flex;font-size:.75rem;justify-content:space-between;margin:0}.bodymap-sidebar{display:flex;flex-direction:column;gap:20px}.athlete-picker-section,.fatigue-section,.notes-section,.selected-regions{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:15px}.athlete-picker-section{background:#f6f8ff;border-color:#667eea}.athlete-picker-section label{color:#1e3c72;display:block;font-size:.95rem;font-weight:700;margin-bottom:8px}.athlete-select{background:#fff;border:1px solid #c4cce0;border-radius:8px;cursor:pointer;font-family:inherit;font-size:.95rem;padding:10px;width:100%}.athlete-select:focus{border-color:#667eea;outline:none}.fatigue-section label,.notes-section label,.selected-regions h4{color:#1e3c72;display:block;font-size:.95rem;font-weight:600;margin-bottom:10px}.fatigue-display{align-items:center;display:flex;font-weight:700;gap:10px;margin-bottom:12px}.fatigue-emoji{font-size:2rem}.fatigue-level{color:#667eea;font-size:1.5rem}.fatigue-slider{-webkit-appearance:none;background:linear-gradient(90deg,#90ee90,gold,tomato);border-radius:5px;height:8px;outline:none;width:100%}.fatigue-slider::-webkit-slider-thumb{appearance:none;background:#fff;border:3px solid #667eea;border-radius:50%;box-shadow:0 2px 5px #0003;cursor:pointer;height:20px;width:20px}.fatigue-slider::-moz-range-thumb{background:#fff;border:3px solid #667eea;border-radius:50%;box-shadow:0 2px 5px #0003;cursor:pointer;height:20px;width:20px}.slider-labels{color:#999;display:flex;font-size:.7rem;justify-content:space-between;margin-top:6px}.selected-regions{flex:1 1;max-height:200px;overflow-y:auto}.no-selection{color:#999;font-size:.85rem;font-style:italic;margin:0;padding:20px 0;text-align:center}.regions-list{display:flex;flex-direction:column;gap:8px}.region-item{align-items:center;background:#f9f9f9;border-radius:6px;display:flex;font-size:.85rem;justify-content:space-between;padding:8px}.region-name{color:#333;flex:1 1;font-weight:600}.region-controls{align-items:center;display:flex;gap:6px}.soreness-indicator{border:1px solid #ddd;border-radius:50%;height:16px;width:16px}.soreness-level{color:#666;font-weight:600;text-align:right;width:30px}.btn-remove{background:#ff6b6b33;border:none;border-radius:50%;color:#ff6b6b;cursor:pointer;font-size:.8rem;height:24px;transition:all .2s;width:24px}.btn-remove:hover{background:#ff6b6b;color:#fff}.region-stats{border-top:1px solid #e0e0e0;font-size:.85rem;margin-top:12px;padding-top:12px}.region-stats p{color:#666;margin:0}.notes-section{flex-shrink:0}.notes-section textarea{border:1px solid #e0e0e0;border-radius:6px;font-family:inherit;font-size:.85rem;padding:10px;resize:vertical;transition:border-color .3s;width:100%}.notes-section textarea:focus{border-color:#667eea;outline:none}.bodymap-footer{background:#f9f9f9;border-top:2px solid #e0e0e0;display:flex;gap:10px;padding:20px 30px}.btn-primary,.btn-secondary{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-weight:600;padding:12px;transition:all .3s}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.btn-primary:disabled{cursor:not-allowed;opacity:.7}@media (max-width:600px){.bodymap-content{border-radius:0;max-height:100vh;width:100%}.bodymap-header{padding:15px 20px}.bodymap-body{gap:15px;padding:20px}.body-figure-wrap{max-width:300px}.rating-btn{height:48px}.bodymap-footer{padding:15px 20px}.btn-primary,.btn-secondary{font-size:.9rem;padding:10px}}.builder-modal{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.builder-overlay{background:#0009;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0}.builder-content{animation:slideUp .3s ease-out;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:1000px;position:relative;width:95%}.builder-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;padding:25px 30px}.builder-header h2{color:#1e3c72;flex:1 1;font-size:1.5rem;margin:0}.step-indicator{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;font-size:.85rem;font-weight:600;margin:0 15px;padding:6px 12px}.btn-close{background:none;border:none;color:#999;cursor:pointer;font-size:1.5rem;transition:color .3s}.btn-close:hover{color:#333}.builder-body{flex:1 1;overflow-y:auto;padding:30px}.step-content h3{color:#1e3c72;font-size:1.3rem;margin-bottom:25px;margin-top:0}.form-group{margin-bottom:20px}.form-group label{color:#333;display:block;font-weight:600;margin-bottom:8px}.form-group input[type=number],.form-group input[type=text],.form-group select,.form-group textarea{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:.95rem;padding:10px 12px;transition:border-color .3s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;outline:none}.form-group.checkbox{align-items:center;display:flex;gap:10px}.form-group.checkbox input[type=checkbox]{cursor:pointer;height:20px;width:20px}.form-group.checkbox label{cursor:pointer;margin:0}.form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.type-selector{display:flex;gap:10px}.type-btn{background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;flex:1 1;font-weight:600;padding:12px;transition:all .3s}.type-btn:hover{border-color:#667eea}.type-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000;color:#fff}.form-examples{background:#f9f9f9;border:2px solid #e0e0e0;border-radius:8px;margin-top:20px;padding:15px}.form-examples h4{color:#333;margin:0 0 10px}.form-examples p{color:#666;font-size:.9rem;margin:6px 0}.fields-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:350px 1fr}@media (max-width:900px){.fields-container{grid-template-columns:1fr}}.fields-list{display:flex;flex-direction:column;gap:20px}.field-types{background:#fff;border:2px solid #e0e0e0;border-radius:10px;padding:15px}.field-types h4{color:#1e3c72;font-size:.95rem;margin:0 0 12px}.field-type-btn{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:8px;margin-bottom:6px;padding:10px 12px;transition:all .3s;width:100%}.field-type-btn:hover{background:#f5f7ff;border-color:#667eea}.field-type-btn .emoji{font-size:1.2rem}.added-fields{background:#fff;border:2px solid #e0e0e0;border-radius:10px;flex:1 1;padding:15px}.added-fields h4{color:#1e3c72;font-size:.95rem;margin:0 0 12px}.fields-added-list{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow-y:auto}.no-fields{color:#999;font-size:.85rem;margin:0;padding:20px 0;text-align:center}.field-item{align-items:center;background:#f9f9f9;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;display:flex;gap:10px;padding:10px;transition:all .3s}.field-item:hover{background:#f5f7ff;border-color:#667eea}.field-item.active{background:#667eea;border-color:#667eea;color:#fff}.field-order{align-items:center;background:#0000001a;border-radius:50%;display:flex;font-size:.8rem;font-weight:700;height:24px;justify-content:center;width:24px}.field-item.active .field-order{background:#ffffff4d}.field-preview{flex:1 1;font-size:.85rem;line-height:1.3;text-align:left}.field-preview small{display:block;font-size:.75rem;opacity:.7}.btn-delete-field{background:#ff6b6b33;border:none;border-radius:50%;color:#ff6b6b;cursor:pointer;font-size:.8rem;height:24px;transition:all .2s;width:24px}.btn-delete-field:hover{background:#ff6b6b;color:#fff}.field-editor{background:linear-gradient(135deg,#f5f7ff,#f0f0ff);border:2px solid #667eea;border-radius:10px;padding:20px}.field-editor h4{color:#1e3c72;margin:0 0 15px}.editor-form{display:flex;flex-direction:column;gap:15px}.review-section{background:#fff;border:2px solid #e0e0e0;border-radius:10px;padding:20px}.review-item{background:#f9f9f9;border-radius:6px;font-size:.95rem;margin-bottom:12px;padding:12px}.review-item strong{color:#1e3c72;margin-right:10px}.field-preview-list{margin-top:20px}.field-preview-list h4{color:#1e3c72;margin-bottom:12px}.preview-field{background:#f9f9f9;border-left:4px solid #667eea;border-radius:6px;display:flex;gap:12px;margin-bottom:8px;padding:12px}.preview-num{align-items:center;background:#667eea;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.8rem;font-weight:700;height:28px;justify-content:center;width:28px}.preview-content{display:flex;flex-direction:column;gap:4px}.preview-content strong{color:#333}.preview-content small{color:#999}.builder-footer{background:#f9f9f9;border-top:2px solid #e0e0e0;display:flex;gap:10px;padding:20px 30px}.btn-create,.btn-primary,.btn-secondary{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-weight:600;padding:12px;transition:all .3s}.btn-secondary{background:#e0e0e0;color:#333}.btn-secondary:hover{background:#d0d0d0}.btn-create,.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-create:hover:not(:disabled),.btn-primary:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.btn-create:disabled{cursor:not-allowed;opacity:.7}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@media (max-width:600px){.builder-content{border-radius:0;width:100%}.builder-header{align-items:flex-start;flex-direction:column;gap:10px;padding:15px 20px}.builder-body{padding:20px}.fields-container,.form-row{grid-template-columns:1fr}}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
/* ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com */*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Inter,system-ui,sans-serif;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}body{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:#f8fafc;background-color:rgb(248 250 252/var(--tw-bg-opacity,1));color:#1f2937;color:rgb(31 41 55/var(--tw-text-opacity,1));font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.left-0{left:0}.left-2{left:.5rem}.left-3{left:.75rem}.left-4{left:1rem}.right-0{right:0}.top-2{top:.5rem}.top-3{top:.75rem}.z-10{z-index:10}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.-mb-px{margin-bottom:-1px}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-video{aspect-ratio:16/9}.h-10{height:2.5rem}.h-14{height:3.5rem}.h-2{height:.5rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-full{height:100%}.max-h-48{max-height:12rem}.max-h-56{max-height:14rem}.max-h-\[70vh\]{max-height:70vh}.max-h-full{max-height:100%}.min-h-\[200px\]{min-height:200px}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-2{width:.5rem}.w-32{width:8rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-full{width:100%}.min-w-0{min-width:0}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1}.flex-shrink-0,.shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-x-4{column-gap:1rem}.gap-y-2{row-gap:.5rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:#f3f4f6;border-color:rgb(243 244 246/var(--tw-divide-opacity,1))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:#e5e7eb;border-color:rgb(229 231 235/var(--tw-divide-opacity,1))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-t{border-top-width:1px}.border-amber-200{--tw-border-opacity:1;border-color:#fde68a;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.border-blue-200{--tw-border-opacity:1;border-color:#bfdbfe;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-500{--tw-border-opacity:1;border-color:#3b82f6;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-danger{--tw-border-opacity:1;border-color:#e74c3c;border-color:rgb(231 76 60/var(--tw-border-opacity,1))}.border-gray-100{--tw-border-opacity:1;border-color:#f3f4f6;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:#e5e7eb;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:#d1d5db;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-gray-400{--tw-border-opacity:1;border-color:#9ca3af;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.border-gray-600{--tw-border-opacity:1;border-color:#4b5563;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.border-primary{--tw-border-opacity:1;border-color:#1a5276;border-color:rgb(26 82 118/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:#fecaca;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-transparent{border-color:#0000}.bg-accent{--tw-bg-opacity:1;background-color:#2ecc71;background-color:rgb(46 204 113/var(--tw-bg-opacity,1))}.bg-amber-100{--tw-bg-opacity:1;background-color:#fef3c7;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.bg-amber-50{--tw-bg-opacity:1;background-color:#fffbeb;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:#000;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/50{background-color:#00000080}.bg-black\/60{background-color:#0009}.bg-black\/80{background-color:#000c}.bg-blue-100{--tw-bg-opacity:1;background-color:#dbeafe;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:#eff6ff;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:#2563eb;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-cyan-100{--tw-bg-opacity:1;background-color:#cffafe;background-color:rgb(207 250 254/var(--tw-bg-opacity,1))}.bg-danger{--tw-bg-opacity:1;background-color:#e74c3c;background-color:rgb(231 76 60/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:#f3f4f6;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:#e5e7eb;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:#f9fafb;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-900{--tw-bg-opacity:1;background-color:#111827;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.bg-gray-950{--tw-bg-opacity:1;background-color:#030712;background-color:rgb(3 7 18/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:#dcfce7;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:#f0fdf4;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-orange-50{--tw-bg-opacity:1;background-color:#fff7ed;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.bg-primary{--tw-bg-opacity:1;background-color:#1a5276;background-color:rgb(26 82 118/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:#fee2e2;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:#fef2f2;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-50\/50{background-color:#fef2f280}.bg-red-500{--tw-bg-opacity:1;background-color:#ef4444;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-transparent{background-color:initial}.bg-white{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/10{background-color:#ffffff1a}.bg-yellow-100{--tw-bg-opacity:1;background-color:#fef9c3;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.bg-yellow-50{--tw-bg-opacity:1;background-color:#fefce8;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-black\/85{--tw-gradient-from:#000000d9 var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-transparent{--tw-gradient-to:#0000 var(--tw-gradient-to-position)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pb-24{padding-bottom:6rem}.pb-3{padding-bottom:.75rem}.pt-3{padding-top:.75rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-5xl{font-size:3rem;line-height:1}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-tight{line-height:1.25}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-accent{--tw-text-opacity:1;color:#2ecc71;color:rgb(46 204 113/var(--tw-text-opacity,1))}.text-amber-500{--tw-text-opacity:1;color:#f59e0b;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-amber-600{--tw-text-opacity:1;color:#d97706;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-amber-700{--tw-text-opacity:1;color:#b45309;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-amber-800{--tw-text-opacity:1;color:#92400e;color:rgb(146 64 14/var(--tw-text-opacity,1))}.text-blue-100{--tw-text-opacity:1;color:#dbeafe;color:rgb(219 234 254/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:#1d4ed8;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:#1e40af;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-cyan-700{--tw-text-opacity:1;color:#0e7490;color:rgb(14 116 144/var(--tw-text-opacity,1))}.text-danger{--tw-text-opacity:1;color:#e74c3c;color:rgb(231 76 60/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:#d1d5db;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:#9ca3af;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:#6b7280;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:#4b5563;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:#374151;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:#1f2937;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:#111827;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:#16a34a;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:#15803d;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-orange-600{--tw-text-opacity:1;color:#ea580c;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-primary{--tw-text-opacity:1;color:#1a5276;color:rgb(26 82 118/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:#ef4444;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:#dc2626;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:#b91c1c;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:#991b1b;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-warning{--tw-text-opacity:1;color:#f39c12;color:rgb(243 156 18/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-600{--tw-text-opacity:1;color:#ca8a04;color:rgb(202 138 4/var(--tw-text-opacity,1))}.text-yellow-700{--tw-text-opacity:1;color:#a16207;color:rgb(161 98 7/var(--tw-text-opacity,1))}.line-through{text-decoration-line:line-through}.opacity-25{opacity:.25}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-md{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-500{transition-duration:.5s}nav ul{display:flex;gap:10px;list-style-type:none;padding:0}nav ul li{margin:0;padding:0}nav ul li a{color:#007bff;text-decoration:none}nav ul li a:hover{text-decoration:underline}h1{font-size:24px}ul{list-style-type:none;padding:0}.hover\:border-gray-400:hover{--tw-border-opacity:1;border-color:#9ca3af;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.hover\:border-primary:hover{--tw-border-opacity:1;border-color:#1a5276;border-color:rgb(26 82 118/var(--tw-border-opacity,1))}.hover\:bg-accent-dark:hover{--tw-bg-opacity:1;background-color:#27ae60;background-color:rgb(39 174 96/var(--tw-bg-opacity,1))}.hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:#eff6ff;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.hover\:bg-blue-500:hover{--tw-bg-opacity:1;background-color:#3b82f6;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:#1d4ed8;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:#f9fafb;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-primary-light:hover{--tw-bg-opacity:1;background-color:#2e86c1;background-color:rgb(46 134 193/var(--tw-bg-opacity,1))}.hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:#dc2626;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:#b91c1c;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.hover\:bg-white\/20:hover{background-color:#fff3}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:#4b5563;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:#374151;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-danger:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(231 76 60/var(--tw-ring-opacity,1))}.focus\:ring-primary:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(26 82 118/var(--tw-ring-opacity,1))}.focus\:ring-offset-0:focus{--tw-ring-offset-width:0px}.focus\:ring-offset-1:focus{--tw-ring-offset-width:1px}.active\:bg-primary-dark:active{--tw-bg-opacity:1;background-color:#154360;background-color:rgb(21 67 96/var(--tw-bg-opacity,1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width:640px){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:p-6{padding:1.5rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
/*# sourceMappingURL=main.92e8a1bf.css.map*/