.video-player-container{align-items:center;background:#000000e6;display:flex;height:100%;justify-content:center;left:0;padding:var(--spacing-md);position:fixed;top:0;width:100%;z-index:1000}.video-player-wrapper{border-radius:var(--radius-md);box-shadow:0 0 30px #00000080;display:flex;flex-direction:column;max-height:100vh;max-width:100vw;overflow:hidden;position:relative}.video-element,.video-player-wrapper{background:#000;height:100%;width:100%}.video-element{flex:1 1;object-fit:contain}.player-close-btn{align-items:center;background:#000000b3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:var(--font-size-xl);height:var(--touch-target-min);justify-content:center;padding:0;position:absolute;right:var(--spacing-md);top:var(--spacing-md);transition:all var(--transition-normal) ease;width:var(--touch-target-min);z-index:1010}.player-close-btn:hover{background:#000000e6;transform:scale(1.1)}.video-title-overlay{background:#000000b3;border-radius:var(--radius-md);color:#fff;font-size:var(--font-size-sm);font-weight:500;left:var(--spacing-md);max-width:70%;overflow:hidden;padding:var(--spacing-sm) var(--spacing-md);position:absolute;text-overflow:ellipsis;top:var(--spacing-md);white-space:nowrap}.video-controls{background:#000c;bottom:0;display:flex;flex-direction:column;gap:var(--spacing-md);left:0;padding:var(--spacing-md);position:absolute;right:0;transition:opacity var(--transition-normal) ease,transform var(--transition-normal) ease}.video-controls.hide{opacity:0;transform:translateY(100%)}.video-controls.show{opacity:1;transform:translateY(0)}.progress-container{align-items:center;display:flex;gap:var(--spacing-sm);width:100%}.time-display{color:#fff;font-size:var(--font-size-sm);font-weight:500;min-width:40px;text-align:center}.progress-bar{-webkit-appearance:none;appearance:none;background:#fff3;cursor:pointer;flex-grow:1;height:8px;outline:none;transition:height var(--transition-normal) ease}.progress-bar::-webkit-slider-runnable-track{background:#fff3;border-radius:var(--radius-sm);height:8px}.progress-bar::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#fff;border-radius:50%;cursor:pointer;height:20px;margin-top:-6px;-webkit-transition:transform var(--transition-normal) ease;transition:transform var(--transition-normal) ease;width:20px}.progress-bar::-moz-range-track{background:#fff3;border-radius:var(--radius-sm);height:8px}.progress-bar::-moz-range-thumb{background:#fff;border:none;border-radius:50%;cursor:pointer;height:20px;-moz-transition:transform var(--transition-normal) ease;transition:transform var(--transition-normal) ease;width:20px}.progress-bar:hover{height:12px}.progress-bar:hover::-webkit-slider-thumb{transform:scale(1.2)}.progress-bar:hover::-moz-range-thumb{transform:scale(1.2)}.control-buttons{flex-wrap:wrap;gap:var(--spacing-md)}.control-button,.control-buttons{align-items:center;display:flex;justify-content:center}.control-button{background:#0000;border:none;border-radius:50%;color:#fff;cursor:pointer;flex-shrink:0;font-size:var(--font-size-lg);min-height:var(--touch-target-min);min-width:var(--touch-target-min);transition:background-color var(--transition-normal) ease}.control-button:hover{background:#fff3}.play-pause{background:#ffffff4d;font-size:var(--font-size-xxl);min-height:calc(var(--touch-target-min)*1.2);min-width:calc(var(--touch-target-min)*1.2)}.volume-control{align-items:center;display:flex;gap:var(--spacing-sm);margin-left:auto}.volume-icon{color:#fff;cursor:pointer;font-size:var(--font-size-base);min-width:20px;text-align:center}.volume-slider{-webkit-appearance:none;appearance:none;background:#fff3;border-radius:2px;cursor:pointer;height:4px;width:80px}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#fff;border-radius:50%;cursor:pointer;height:16px;width:16px}.volume-slider::-moz-range-thumb{background:#fff;border:none;border-radius:50%;cursor:pointer;height:16px;width:16px}.fullscreen{font-size:var(--font-size-lg);margin-left:var(--spacing-sm)}.video-loading{align-items:center;display:flex;flex-direction:column;font-size:var(--font-size-lg);gap:var(--spacing-md)}.video-error,.video-loading{color:#fff;left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.video-error{background:#dc3545cc;border-radius:var(--radius-lg);max-width:400px;padding:var(--spacing-xl);width:90%}.error-message{font-size:var(--font-size-base);line-height:1.5;margin-bottom:var(--spacing-lg)}.error-actions{display:flex;flex-direction:column;gap:var(--spacing-sm)}.alternative-button,.retry-button{background:#fff;border:none;border-radius:var(--radius-md);color:#dc3545;cursor:pointer;font-size:var(--font-size-base);font-weight:600;min-height:var(--touch-target-min);padding:var(--spacing-md) var(--spacing-lg);transition:background-color var(--transition-normal) ease}.alternative-button:hover,.retry-button:hover{background:#f8f9fa}@media (min-width:768px) and (max-width:1024px){.calendar-header{align-items:center;flex-direction:row;justify-content:space-between;padding:var(--spacing-lg)}.month-title{font-size:var(--font-size-xl);order:0}.calendar-nav-buttons{gap:var(--spacing-lg)}.today-button{flex:none;max-width:none}.weekday-header div{font-size:var(--font-size-sm);padding:var(--spacing-md)}.calendar-day{min-height:100px;padding:var(--spacing-md)}.day-number{font-size:var(--font-size-lg)}.dot{height:10px;width:10px}.sessions-popover{max-width:400px;min-width:320px}.video-player-wrapper{border-radius:var(--radius-lg);height:90%;max-height:600px;max-width:900px;width:90%}.video-controls{padding:var(--spacing-lg)}.control-buttons{gap:var(--spacing-lg);justify-content:space-between}.volume-control{gap:var(--spacing-md)}.volume-slider{width:100px}.time-display{font-size:var(--font-size-base);min-width:50px}.video-title-overlay{font-size:var(--font-size-base);padding:var(--spacing-md) var(--spacing-lg)}}@media (min-width:1025px){.calendar-header{padding:var(--spacing-xl)}.month-title{font-size:var(--font-size-xxl)}.calendar-header .btn{font-size:var(--font-size-xl);height:48px;min-width:48px}.today-button{font-size:var(--font-size-base)!important;height:48px!important;padding:0 var(--spacing-xl)!important}.weekday-header div{font-size:var(--font-size-base);padding:var(--spacing-lg)}.calendar-day{min-height:120px;padding:var(--spacing-lg)}.day-number{font-size:var(--font-size-xl);margin-bottom:var(--spacing-sm)}.dot{height:12px;width:12px}.count{font-size:var(--font-size-sm);min-width:20px;padding:var(--spacing-xs) var(--spacing-md)}.sessions-popover{max-width:450px;min-width:350px}.popover-session-item{padding:var(--spacing-lg) var(--spacing-xl)}.video-player-wrapper{height:80%;max-height:800px;max-width:1200px;min-height:360px;min-width:640px;resize:both;width:80%}.player-close-btn{font-size:var(--font-size-xxl);height:40px;right:var(--spacing-lg);top:var(--spacing-lg);width:40px}.video-title-overlay{font-size:var(--font-size-lg);left:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-xl);top:var(--spacing-lg)}.video-controls{gap:var(--spacing-lg);padding:var(--spacing-xl)}.control-buttons{gap:var(--spacing-xl)}.control-button{font-size:var(--font-size-xl);min-height:48px;min-width:48px}.play-pause{font-size:2rem;min-height:60px;min-width:60px}.volume-control{gap:var(--spacing-lg);margin-left:auto}.volume-slider{width:120px}.time-display{font-size:var(--font-size-lg);min-width:60px}.video-error{max-width:500px;padding:var(--spacing-xxl)}.error-actions{flex-direction:row;justify-content:center}}@media (max-width:767px){.calendar-day{min-height:70px;padding:var(--spacing-xs)}.day-number{font-size:var(--font-size-sm)}.dot{height:6px;width:6px}.count{font-size:var(--font-size-xs);min-width:16px;padding:0 var(--spacing-xs)}.sessions-popover{max-width:95vw;min-width:250px}.popover-session-item{padding:var(--spacing-md)}.video-player-wrapper{border-radius:0;height:100%;width:100%}.player-close-btn{height:40px;right:var(--spacing-sm);top:var(--spacing-sm);width:40px}.video-title-overlay{font-size:var(--font-size-xs);left:var(--spacing-sm);max-width:60%;padding:var(--spacing-xs) var(--spacing-sm);top:var(--spacing-sm)}.video-controls{gap:var(--spacing-sm);padding:var(--spacing-md)}.control-buttons{flex-wrap:nowrap;gap:var(--spacing-sm);overflow-x:auto}.control-button{flex-shrink:0;font-size:var(--font-size-base);min-height:40px;min-width:40px}.play-pause{font-size:var(--font-size-xl);min-height:50px;min-width:50px}.volume-control{flex-shrink:0;gap:var(--spacing-xs);margin-left:auto}.volume-slider{width:60px}.progress-bar{height:6px}.progress-bar:hover{height:8px}.time-display{font-size:var(--font-size-xs);min-width:35px}.video-error{font-size:var(--font-size-sm);padding:var(--spacing-lg);width:95%}.error-message{margin-bottom:var(--spacing-md)}}.calendar-day:focus,.control-button:focus,.progress-bar:focus,.volume-slider:focus{outline:2px solid var(--accent-dark);outline-offset:2px}.popover-session-item:focus{outline:2px solid var(--accent-dark);outline-offset:-2px}@media (prefers-reduced-motion:reduce){.calendar-day,.control-button,.popover-session-item{transition:none}.calendar-day:hover,.popover-session-item:hover{transform:none}.calendar-day.has-sessions:hover .dot{animation:none}.progress-bar:hover::-moz-range-thumb,.progress-bar:hover::-webkit-slider-thumb{transform:none}}.calendar-container{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-top:var(--spacing-lg);overflow:hidden;width:100%}.calendar-header{background:linear-gradient(135deg,var(--accent-light) 0,var(--accent-medium) 100%);border-bottom:1px solid var(--border-light);display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md)}.month-title{color:var(--text-primary);font-size:var(--font-size-lg);font-weight:600;letter-spacing:.5px;margin:0;order:-1;text-align:center}.calendar-nav-buttons{align-items:center;display:flex;gap:var(--spacing-md);justify-content:space-between}.calendar-header .btn{align-items:center;background:var(--bg-primary);border:2px solid var(--border-medium);border-radius:50%;color:var(--text-primary);display:flex;font-size:var(--font-size-lg);font-weight:600;justify-content:center;min-height:var(--touch-target-min);min-width:var(--touch-target-min);padding:0;transition:all var(--transition-normal) ease}.calendar-header .btn:hover{background:var(--accent-dark);box-shadow:var(--shadow-sm);color:var(--bg-primary);transform:scale(1.05)}.today-button{background:var(--text-primary)!important;border-color:var(--text-primary)!important;border-radius:var(--radius-md)!important;color:var(--bg-primary)!important;flex:1 1;font-size:var(--font-size-sm)!important;font-weight:500!important;height:var(--touch-target-min)!important;max-width:120px;min-width:auto!important;padding:0 var(--spacing-lg)!important}.today-button:hover{background:var(--accent-dark)!important;border-color:var(--accent-dark)!important}.calendar-grid{background:var(--bg-primary)}.weekday-header{background:var(--bg-secondary);border-bottom:2px solid var(--border-light);display:grid;grid-template-columns:repeat(7,1fr)}.weekday-header div{background:var(--bg-secondary);border-right:1px solid var(--border-light);color:var(--text-primary);font-size:var(--font-size-xs);font-weight:600;letter-spacing:1px;line-height:1.2;padding:var(--spacing-sm);text-align:center;text-transform:uppercase}.weekday-header div:last-child{border-right:none}.calendar-days{background:var(--bg-primary);display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day{-webkit-tap-highlight-color:transparent;background:var(--bg-primary);border-bottom:1px solid var(--border-light);border-right:1px solid var(--border-light);cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;min-height:80px;padding:var(--spacing-sm);position:relative;transition:all var(--transition-normal) ease;-webkit-user-select:none;user-select:none}.calendar-day:nth-child(7n){border-right:none}.calendar-day:hover{background:var(--accent-light);box-shadow:var(--shadow-md);transform:scale(1.02);z-index:10}.calendar-day.empty{background:var(--bg-tertiary);cursor:default;opacity:.6}.calendar-day.empty:hover{background:var(--bg-tertiary);box-shadow:none;transform:none}.calendar-day.today{background:linear-gradient(135deg,var(--accent-medium) 0,var(--accent-light) 100%);border:2px solid var(--accent-dark);font-weight:600}.calendar-day.today .day-number{color:var(--text-primary);font-weight:700}.calendar-day.selected{background:var(--text-primary);border:2px solid var(--text-primary)}.calendar-day.selected,.calendar-day.selected .day-number{color:var(--bg-primary)}.calendar-day.selected .session-indicator .dot{background-color:var(--bg-primary)}.calendar-day.selected .session-indicator .count{background:#ffffff4d;color:var(--bg-primary)}.day-number{color:var(--text-primary);font-size:var(--font-size-base);font-weight:600;line-height:1;margin-bottom:var(--spacing-xs)}.session-indicator{align-items:center;display:flex;gap:var(--spacing-xs);justify-content:center;margin-top:auto;min-height:20px}.dot{background-color:var(--accent-dark);border-radius:50%;box-shadow:0 1px 2px #0000001a;display:inline-block;height:8px;width:8px}.count{background:var(--accent-medium);border-radius:var(--radius-lg);color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:600;line-height:1;min-width:18px;padding:var(--spacing-xs) var(--spacing-sm);text-align:center}.has-sessions .day-number{color:var(--accent-dark);font-weight:700}.has-sessions{border-left:4px solid var(--accent-dark)}.sessions-popover{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:90vw;min-width:280px;overflow:hidden;z-index:1050}.sessions-popover .popover-header{background:var(--accent-light);border-bottom:1px solid var(--border-light);color:var(--text-primary);font-size:var(--font-size-base);font-weight:600;padding:var(--spacing-md) var(--spacing-lg)}.sessions-popover .popover-body{padding:0}.popover-sessions-list{max-height:60vh;overflow-y:auto}.popover-session-item{background:var(--bg-primary);border-bottom:1px solid var(--border-light);cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:var(--touch-target-min);padding:var(--spacing-md) var(--spacing-lg);transition:all var(--transition-normal) ease}.popover-session-item:last-child{border-bottom:none}.popover-session-item:hover{background:var(--accent-light);transform:translateX(4px)}.popover-session-title{color:var(--text-primary);font-size:var(--font-size-sm);font-weight:600;line-height:1.3;margin-bottom:var(--spacing-xs)}.popover-session-comment{color:var(--text-secondary);font-size:var(--font-size-xs);font-style:italic;line-height:1.4;margin-bottom:var(--spacing-xs)}.popover-session-datetime{color:var(--text-muted);font-size:var(--font-size-xs);font-weight:500}.calendar-day[data-session-count]{position:relative}.calendar-day[data-session-count="1"] .dot{background-color:var(--accent-dark)}.calendar-day[data-session-count="2"] .dot{background-color:var(--text-secondary)}.calendar-day[data-session-count="3"] .dot,.calendar-day[data-session-count="4"] .dot,.calendar-day[data-session-count="5"] .dot{background-color:var(--text-primary)}.calendar-day.has-sessions:hover .dot{animation:pulse 1s ease-in-out}.popover-session-title .session-time{color:#777;display:block;font-size:.8em;font-weight:400;margin-top:2px}.session-card .card-title .session-time{color:#666;display:block;font-size:.85em;font-weight:400;margin-top:2px}.sessions-popover{border:none;box-shadow:0 3px 14px #00000040}.popover-session-item{background-color:#f9f9f9;border-radius:4px;margin-bottom:5px;transition:background-color .2s ease-in-out}.popover-session-item:hover{background-color:#e9ecef}.session-timeline-container{background:#fff;border:1px solid #f1f5f9;border-radius:20px;box-shadow:0 10px 40px #0000000f,0 2px 8px #0000000a;overflow:hidden;transition:all .3s ease}.session-timeline-container:hover{box-shadow:0 15px 50px #00000014,0 5px 15px #0000000f}.session-header{background:linear-gradient(135deg,#1e293b,#0f172a);color:#fff;overflow:hidden;padding:3rem 2.5rem;position:relative}.session-header:before{background:radial-gradient(circle at 20% 20%,#ffffff1a 0,#0000 50%),linear-gradient(45deg,#ffffff0d,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.header-content{align-items:center;flex-wrap:wrap;gap:2rem;position:relative;z-index:1}.header-left h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#e2e8f0);-webkit-background-clip:text;background-clip:text;color:#fff;font-size:2.5rem;font-weight:800;letter-spacing:-.02em;margin:0 0 .75rem;text-shadow:0 2px 8px #0000004d}.header-subtitle{color:#cbd5e1;font-size:1.125rem;font-weight:400;opacity:.9;text-shadow:0 1px 3px #0000004d}.session-stats{display:flex;gap:2.5rem;margin-top:2rem}.stat-item{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff14;border:1px solid #ffffff26;border-radius:16px;min-width:80px;padding:1.25rem 1.75rem;text-align:center;transition:all .3s ease}.stat-item:hover{background:#ffffff1f;box-shadow:0 8px 25px #00000026;transform:translateY(-2px)}.stat-number{color:#fff;display:block;font-size:1.75rem;font-weight:800;text-shadow:0 1px 3px #0000004d}.stat-label{color:#e2e8f0;font-size:.875rem;margin-top:.25rem;opacity:.8}.header-actions{flex-wrap:wrap}.btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:none;border-radius:12px;display:flex;font-size:.95rem;font-weight:600;overflow:hidden;padding:.875rem 1.75rem;position:relative;transition:all .3s ease}.btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.btn:hover:before{left:100%}.btn-primary{background:linear-gradient(135deg,#4b5563,#374151);box-shadow:0 4px 15px #4b55634d}.btn-primary:hover{background:linear-gradient(135deg,#374151,#1f2937);box-shadow:0 8px 25px #4b556366;transform:translateY(-2px)}.btn-success{background:linear-gradient(135deg,#6b7280,#4b5563);box-shadow:0 4px 15px #6b72804d;color:#fff}.btn-success:hover{background:linear-gradient(135deg,#4b5563,#374151);box-shadow:0 8px 25px #6b728066;transform:translateY(-2px)}.btn-outline{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff14;border:1px solid #fff3;color:#fff}.btn-outline:hover{background:#ffffff26;border-color:#ffffff4d;transform:translateY(-2px)}.btn-secondary{background:linear-gradient(135deg,#9ca3af,#6b7280);box-shadow:0 4px 15px #9ca3af4d}.btn-secondary:hover{background:linear-gradient(135deg,#6b7280,#4b5563);box-shadow:0 8px 25px #9ca3af66;transform:translateY(-2px)}.session-timeline-header{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:1.5rem 2rem}.view-controls{background:linear-gradient(135deg,#fff,#f8fafc);border-bottom:1px solid #e5e7eb;display:flex;gap:1rem;padding:1.75rem 2rem}.view-selector{position:relative}.view-mode-select,.view-selector select,.view-type-select{background:linear-gradient(135deg,#fff,#f9fafb);border:2px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000a;color:#374151;cursor:pointer;font-size:.95rem;font-weight:500;padding:.75rem 1.25rem;transition:all .3s ease}.view-mode-select:focus,.view-selector select:focus,.view-type-select:focus{border-color:#6b7280;box-shadow:0 0 0 3px #6b72801a,0 4px 12px #00000014;outline:none;transform:translateY(-1px)}.view-mode-select:hover,.view-selector select:hover,.view-type-select:hover{border-color:#9ca3af;box-shadow:0 4px 12px #00000014}.content-area{background:linear-gradient(135deg,#fff,#f9fafb);padding:2.5rem}.timeline-view{background:#fff;border:1px solid #f1f5f9;border-radius:20px;box-shadow:0 4px 20px #0000000a;padding:2.5rem}.timeline{position:relative}.timeline:before{background:linear-gradient(180deg,#6b7280 0,#d1d5db 50%,#f3f4f6);border-radius:2px;bottom:0;box-shadow:0 0 10px #6b728033;content:"";left:8rem;position:absolute;top:0;width:4px}.timeline-year{align-items:flex-start;display:flex;gap:3.5rem;margin-bottom:3.5rem;position:relative}.timeline-year-label{color:#1f2937;font-size:1.75rem;font-weight:800;min-width:6.5rem;position:relative;text-shadow:0 1px 3px #0000001a}.timeline-year-label:after{background:linear-gradient(135deg,#6b7280,#4b5563);border:4px solid #fff;border-radius:50%;box-shadow:0 4px 12px #6b72804d;content:"";height:20px;position:absolute;right:-1.9rem;top:50%;transform:translateY(-50%);transition:all .3s ease;width:20px}.timeline-year:hover .timeline-year-label:after{box-shadow:0 6px 20px #6b728066;transform:translateY(-50%) scale(1.1)}.timeline-months{display:flex;flex:1 1;flex-wrap:wrap;gap:1.75rem}.timeline-month{background:linear-gradient(135deg,#fff,#f9fafb);border:2px solid #f1f5f9;border-radius:16px;box-shadow:0 2px 8px #0000000a;min-width:200px;padding:1.75rem;transition:all .3s ease}.timeline-month:hover{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-color:#e2e8f0;box-shadow:0 8px 30px #00000014;transform:translateY(-4px)}.timeline-month-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.25rem}.timeline-month-label{color:#1f2937;font-size:1.1rem;font-weight:700;text-shadow:0 1px 2px #0000000d}.session-count-badge{background:linear-gradient(135deg,#6b7280,#4b5563);border-radius:12px;box-shadow:0 2px 8px #6b72804d;color:#fff;font-size:.8rem;font-weight:700;padding:.4rem .9rem;transition:all .3s ease}.session-count-badge:hover{box-shadow:0 4px 12px #6b728066;transform:scale(1.05)}.timeline-sessions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;min-height:40px}.timeline-session-dot{background:linear-gradient(135deg,#d1d5db,#9ca3af);border:3px solid #fff;border-radius:50%;box-shadow:0 3px 8px #0000001a;cursor:pointer;height:18px;position:relative;transition:all .3s ease;width:18px}.timeline-session-dot:before{background:#6b728033;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:all .3s ease;width:0}.timeline-session-dot:hover{background:linear-gradient(135deg,#6b7280,#4b5563);box-shadow:0 6px 20px #6b72804d;transform:scale(1.3)}.timeline-session-dot:hover:before{height:30px;width:30px}.timeline-session-dot.active{background:linear-gradient(135deg,#374151,#1f2937);border-color:#f3f4f6;box-shadow:0 0 0 4px #37415133,0 8px 25px #37415166;transform:scale(1.4)}.modal-overlay,.video-popup-overlay{align-items:center;animation:modalFadeIn .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.create-session-modal-content,.modal-content{animation:modalSlideIn .3s ease;background:#fff;border:1px solid #f1f5f9;border-radius:20px;box-shadow:0 25px 50px #0003;max-height:90vh;max-width:550px;overflow:hidden;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.create-session-modal-header,.modal-header{align-items:center;background:linear-gradient(135deg,#1f2937,#111827);color:#fff;display:flex;justify-content:space-between;overflow:hidden;padding:2rem;position:relative}.create-session-modal-header:before,.modal-header:before{background:linear-gradient(45deg,#ffffff0d,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.create-session-modal-header h4,.modal-header h4{font-size:1.5rem;font-weight:700;margin:0;position:relative;z-index:1}.close-btn,.modal-close{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:2.5rem;justify-content:center;position:relative;transition:all .3s ease;width:2.5rem;z-index:1}.close-btn:hover,.modal-close:hover{background:#fff3;transform:rotate(90deg)}.create-session-modal-body,.modal-body{background:linear-gradient(135deg,#fff,#f9fafb);max-height:calc(90vh - 200px);overflow-y:auto;padding:2rem}.create-session-modal-footer,.modal-footer{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-top:1px solid #e5e7eb;display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem 2rem}.form-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.form-group{display:flex;flex-direction:column;gap:.75rem}.form-group.full-width{grid-column:1/-1}.form-group label{color:#1f2937;font-size:.95rem;font-weight:600;text-shadow:0 1px 2px #0000000d}.form-control{background:linear-gradient(135deg,#fff,#f9fafb);border:2px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 4px #0000000a;font-size:.95rem;padding:.875rem 1rem;transition:all .3s ease}.form-control:focus{background:#fff;border-color:#6b7280;box-shadow:0 0 0 3px #6b72801a,0 4px 12px #00000014;transform:translateY(-1px)}.form-control:hover{border-color:#9ca3af;box-shadow:0 4px 8px #0000000f}textarea.form-control{min-height:100px;resize:vertical}.empty-state,.error-state,.loading-state{background:linear-gradient(135deg,#fff,#f9fafb);border:2px solid #f1f5f9;border-radius:20px;box-shadow:0 4px 20px #0000000a;margin:2rem 0;padding:4rem 2rem;text-align:center}.empty-icon,.error-icon{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6b7280,#9ca3af);-webkit-background-clip:text;background-clip:text;font-size:4rem;margin-bottom:1.5rem;opacity:.6}.empty-state h3,.error-state h3{color:#1f2937;font-size:1.75rem;font-weight:700;margin:0 0 1rem}.empty-state p,.error-state p{color:#6b7280;font-size:1.1rem;line-height:1.6;margin:0 0 2rem}.loading-spinner{border:4px solid #f3f4f6;border-radius:50%;border-top-color:#6b7280;margin-right:1rem}.live-session-badge{animation:pulse 2s infinite;background:linear-gradient(135deg,#374151,#1f2937);border-radius:12px;box-shadow:0 2px 8px #3741514d;color:#fff;font-size:.8rem;font-weight:700;padding:.375rem 1rem}.session-details-container{background:#fff;border:1px solid #f1f5f9;border-radius:20px;box-shadow:0 8px 30px #0000000f;margin-top:2.5rem;overflow:hidden;transition:all .3s ease}.session-details-container:hover{box-shadow:0 12px 40px #00000014}.create-session-modal{align-items:center;animation:modalFadeIn .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.timeline-empty,.timeline-error,.timeline-loading{background:linear-gradient(135deg,#fff,#f9fafb);border:2px solid #f1f5f9;border-radius:20px;box-shadow:0 4px 20px #0000000a;color:#6b7280;font-size:1.1rem;font-weight:500;margin:2rem;padding:4rem 2rem;text-align:center}.timeline-error{background:linear-gradient(135deg,#fff,#fef2f2);border-color:#fecaca;color:#dc2626}.session-time{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-radius:8px;box-shadow:0 1px 3px #0000001a;color:#6b7280;font-weight:500;padding:.25rem .75rem}.session-detail-item .session-time{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-radius:10px;box-shadow:0 2px 4px #0000000f;font-weight:600;padding:.375rem 1rem}.btn:focus-visible,.form-control:focus-visible,.modal-close:focus-visible,.timeline-session-dot:focus-visible{border-radius:12px;outline:3px solid #6b7280;outline-offset:3px}@media (max-width:768px){.session-timeline-container{border-radius:16px;margin:.5rem}.session-header{border-radius:16px 16px 0 0;padding:2rem 1.5rem}.header-content{flex-direction:column;gap:1.5rem;text-align:center}.header-left h1{font-size:2rem;margin-bottom:.5rem}.header-subtitle{font-size:1rem}.session-stats{flex-wrap:wrap;gap:1.5rem;justify-content:center;margin-top:1.5rem}.stat-item{min-width:70px;padding:1rem 1.25rem}.stat-number{font-size:1.5rem}.stat-label{font-size:.8rem}.header-actions{flex-wrap:wrap;gap:.75rem;width:100%}.btn,.header-actions{justify-content:center}.btn{flex:1 1;min-width:140px;padding:.75rem 1rem}.view-controls{flex-direction:column;gap:1rem;padding:1.5rem}.view-mode-select,.view-selector select,.view-type-select{font-size:1rem;padding:.875rem;width:100%}.content-area{padding:1.5rem}.timeline-view{border-radius:16px;padding:1.5rem}.timeline:before{display:none}.timeline-year{flex-direction:column;gap:1.5rem;margin-bottom:2.5rem}.timeline-year-label{border-bottom:3px solid #e2e8f0;font-size:1.75rem;min-width:auto;padding-bottom:.75rem;text-align:center}.timeline-year-label:after{display:none}.timeline-months{flex-wrap:wrap;gap:1.25rem;justify-content:center}.timeline-month{border-radius:16px;max-width:180px;min-width:160px;padding:1.5rem}.timeline-month-header{flex-direction:column;gap:.75rem;text-align:center}.timeline-sessions{justify-content:center;min-height:40px}.timeline-session-dot{height:20px;width:20px}.create-session-modal-content,.modal-content{border-radius:16px;margin:1rem;max-height:95vh;max-width:95%;width:95%}.create-session-modal-header,.modal-header{border-radius:16px 16px 0 0;padding:1.5rem}.create-session-modal-body,.modal-body{max-height:calc(95vh - 180px);padding:1.5rem}.create-session-modal-footer,.modal-footer{flex-direction:column-reverse;gap:.75rem;padding:1.5rem}.create-session-modal-footer .btn,.modal-footer .btn{margin:0;width:100%}.form-grid{gap:1.25rem;grid-template-columns:1fr}.form-control{border-radius:12px;font-size:1rem;padding:1rem}textarea.form-control{min-height:120px}.session-time{font-size:.85em;margin-left:4px;padding:.25rem .5rem}.session-details-container{border-radius:16px;margin-top:1.5rem}.empty-state,.error-state,.loading-state{border-radius:16px;margin:1.5rem 0;padding:3rem 1.5rem}.empty-icon,.error-icon{font-size:3rem}.empty-state h3,.error-state h3{font-size:1.5rem}.empty-state p,.error-state p{font-size:1rem}.timeline-empty,.timeline-error,.timeline-loading{border-radius:16px;margin:1.5rem;padding:3rem 1.5rem}}@media (min-width:1400px){.session-header{padding:3.5rem}.header-left h1{font-size:3rem}.header-subtitle{font-size:1.25rem}.session-stats{gap:3.5rem}.stat-number{font-size:2.25rem}.btn{font-size:1rem;padding:1rem 2.25rem}.content-area,.timeline-view{padding:3rem}.timeline:before{left:10rem;width:5px}.timeline-year{gap:4.5rem}.timeline-year-label{font-size:2.25rem;min-width:8.5rem}.timeline-year-label:after{height:24px;right:-2.5rem;width:24px}.timeline-months{gap:2.5rem}.timeline-month{min-width:220px;padding:2.25rem}.timeline-month-label{font-size:1.2rem}.session-count-badge{font-size:.9rem;padding:.5rem 1.25rem}.timeline-session-dot{height:22px;width:22px}.create-session-modal-content,.modal-content{max-width:750px}}@media (min-width:1920px){.session-timeline-container{margin:0 auto;max-width:1700px}.timeline-months{justify-content:flex-start}}@media (min-width:769px) and (max-width:1024px){.header-content{flex-wrap:nowrap;gap:2rem}.session-stats{gap:2rem}.header-actions{flex-wrap:nowrap;min-width:220px}.btn{font-size:.9rem;padding:.75rem 1.5rem}.view-controls{flex-wrap:wrap;gap:1.25rem;padding:1.5rem 2rem}.view-selector{min-width:30%}.timeline:before{left:6.5rem}.timeline-year{gap:2.5rem}.timeline-year-label{font-size:1.5rem;min-width:5.5rem}.timeline-year-label:after{height:16px;right:-1.5rem;width:16px}.timeline-months{gap:1.5rem}.timeline-month{min-width:180px;padding:1.5rem}.session-count-badge{font-size:.75rem;padding:.3rem .75rem}.timeline-session-dot{height:16px;width:16px}.create-session-modal-content,.modal-content{margin:2rem;max-width:650px}.form-grid{gap:1.5rem;grid-template-columns:repeat(2,1fr)}.content-area{padding:2rem}}@media print{.session-timeline-container{border:1px solid #000;border-radius:0;box-shadow:none}.session-header{background:#fff!important;color:#000!important;-webkit-print-color-adjust:exact}.btn,.create-session-modal,.header-actions,.modal-overlay,.view-controls{display:none!important}.timeline-session-dot{background:#fff!important;border:2px solid #000!important}.timeline-session-dot.active{background:#000!important}.empty-state,.error-state,.loading-state{border:1px solid #000}.session-details-container{page-break-inside:avoid}*{color-adjust:exact;-webkit-print-color-adjust:exact}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.btn,.session-count-badge,.timeline-session-dot{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.btn:hover,.stat-item:hover,.timeline-month:hover,.timeline-session-dot:hover{transform:none}.live-session-badge,.loading-spinner,.modal-content,.modal-overlay{animation:none}}@media (prefers-contrast:high){.btn,.modal-content,.session-count-badge,.session-details-container,.session-timeline-container,.timeline-session-dot,.timeline-view{border:2px solid #000}.timeline-session-dot.active,.timeline-session-dot:hover{background:#000!important;color:#fff!important}.btn{background:#fff!important;color:#000!important}.btn:hover{background:#000!important;color:#fff!important}}@media (max-width:768px){.btn,.close-btn,.modal-close,.timeline-session-dot{min-height:44px;min-width:44px}.timeline-session-dot{height:24px;width:24px}}.skeleton-container{animation:pulse 1.5s ease-in-out infinite alternate;padding:2rem}.skeleton-header{height:80px;margin-bottom:1rem}.skeleton-header,.skeleton-item{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);border-radius:8px}.skeleton-item{height:60px;margin-bottom:.5rem}.form-error{color:#dc2626;font-size:.875rem;margin-top:.25rem}.form-control.is-invalid{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.loading-spinner.small{border-width:2px;height:16px;margin-right:.5rem;width:16px}.btn:disabled,.btn:disabled:hover{transform:none!important}.btn:disabled:hover{box-shadow:0 4px 15px #6b728033}.event-list-container{margin-top:20px;width:100%}.event-list-controls{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.sort-control{align-items:center;display:flex;gap:10px}.sort-select{width:auto}.session-accordion .session-details-section{margin-top:0;padding-top:0}.session-accordion .session-details-section h3{display:none}.results-count{color:#666}.no-sessions-message{background-color:#f8f9fa;border:1px solid #ddd;border-radius:4px;color:#666;padding:30px;text-align:center}.session-accordion{margin-bottom:20px}.session-header-content{align-items:flex-start;display:flex;gap:20px;width:100%}.session-date-container{border-right:1px solid #ddd;display:flex;flex-direction:column;justify-content:center;min-width:200px;padding-right:15px;text-align:center}.session-date{color:#333;font-size:.9rem;font-weight:600;line-height:1.4}.session-date-container .session-time{background-color:#f8f9fa;border-radius:4px;color:#666;display:inline-block;font-size:.85rem;margin:4px auto 0;padding:2px 8px}.session-summary{flex-grow:1}.session-title{font-weight:600;margin-bottom:5px}.session-comment-preview{color:#666;font-size:.85rem;font-style:italic;line-height:1.3;margin-bottom:5px}.session-metadata{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.metadata-badge{background-color:#5bc0de!important;border-radius:12px;color:#fff;font-size:.75rem;font-weight:400;padding:4px 8px}.session-detail-card{border:none;box-shadow:0 2px 5px #0000000d}.session-details{padding:10px 0}.session-comments{background-color:#f9f9f9}.health-data-container,.session-comments{border-radius:4px;margin-bottom:15px;padding:10px}.health-data-container{background-color:#f5f9fc}.biometric-timestamp{color:#666;font-size:.75rem;margin-top:8px;text-align:right}.session-device{font-size:.85rem;margin:15px 0}.videos-availability{background-color:#f5f5f5;border-radius:4px;font-size:.85rem;margin-top:15px;padding:10px}.session-actions{display:flex;justify-content:flex-end;margin-top:20px}.accordion-button:not(.collapsed){background-color:#f0f8ff;color:#0d6efd}.accordion-button:focus{border-color:#dee2e6;box-shadow:none}.biometric-data-container h6,.session-comments h6,.videos-availability h6{color:#495057;font-weight:600;margin-bottom:10px}@media (max-width:768px){.event-list-controls{align-items:flex-start;flex-direction:column;gap:10px}.sort-control{justify-content:space-between;width:100%}.sort-select{width:60%}.results-count{text-align:right;width:100%}.session-header-content{gap:15px}.session-date-container{min-width:150px;padding-right:10px}.session-date{font-size:.85rem}.session-date-container .session-time{font-size:.8rem;padding:2px 6px}.session-title{font-size:.95rem}.session-comment-preview{font-size:.8rem}}@media (max-width:576px){.session-header-content{flex-direction:column;gap:10px}.session-date-container{align-items:center;border-bottom:1px solid #ddd;border-right:none;flex-direction:row;justify-content:flex-start;margin-bottom:10px;min-width:auto;padding-bottom:10px;padding-right:0;text-align:left;width:100%}.session-date{margin-right:15px}.session-date-container .session-time{margin:0}.session-summary{width:100%}.session-title{font-size:.95rem}.session-comment-preview{font-size:.8rem}.metadata-badge{font-size:.7rem;padding:3px 6px}}.session-time{color:#666;display:inline-block;font-size:.9em;margin-left:8px}.session-detail-item .session-time{background-color:#f0f0f0;border-radius:4px;font-weight:500;padding:2px 8px}@media (max-width:768px){.session-time{font-size:.85em;margin-left:4px}}.child-info-panel{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;padding:var(--spacing-lg);position:relative;transition:all var(--transition-normal) ease}.child-info-panel:before{background:linear-gradient(90deg,var(--primary-color),var(--primary-dark));content:"";height:4px;left:0;position:absolute;right:0;top:0}.child-info-panel:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.athlete-header{align-items:center;display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.athlete-avatar-info{align-items:center;background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));border:3px solid var(--bg-primary);border-radius:var(--radius-full);box-shadow:var(--shadow-md);color:var(--text-inverse);display:flex;flex-shrink:0;font-size:var(--font-size-xxl);font-weight:700;height:64px;justify-content:center;width:64px}.athlete-details-info{display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-sm)}.athlete-name-info{color:var(--text-primary);font-size:var(--font-size-xl);font-weight:700;line-height:1.2;margin:0}.athlete-age-info{align-items:center;display:flex;gap:var(--spacing-sm)}.age-label{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:600;letter-spacing:.5px;text-transform:uppercase}.age-value{background:var(--primary-light);border:1px solid var(--primary-color);border-radius:var(--radius-lg);color:var(--primary-color);font-size:var(--font-size-base);font-weight:600;padding:var(--spacing-xs) var(--spacing-md)}.basic-info-row{border-bottom:1px solid var(--border-light);display:flex;gap:var(--spacing-xl);margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg)}.basic-info-row .info-item{display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-xs)}.basic-info-row .info-item strong{color:var(--text-primary);font-size:var(--font-size-xs);font-weight:600;letter-spacing:.5px;line-height:1.2;text-transform:uppercase}.basic-info-row .info-item span{color:var(--text-secondary);font-size:var(--font-size-base);font-weight:500;line-height:1.4}.health-info-wrapper,.health-section{width:100%}.health-info-container-horizontal{display:flex;gap:var(--spacing-lg);width:100%}.health-info-card-horizontal{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-lg);display:flex;flex:1 1;gap:var(--spacing-sm);min-height:80px;padding:var(--spacing-sm);transition:all var(--transition-normal) ease}.health-info-card-horizontal:hover{background:var(--bg-tertiary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.health-card-icon{align-items:center;background:var(--primary-light);border:2px solid var(--primary-color);border-radius:var(--radius-full);display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.health-card-icon .icon{font-size:var(--font-size-xl);line-height:1}.health-card-content{display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-xs);min-width:0}.health-card-content h4{color:var(--text-primary);font-size:var(--font-size-base);font-weight:600;line-height:1.2;margin:0}.health-card-summary{color:var(--text-secondary);line-height:1.3;overflow:hidden;text-overflow:ellipsis}.health-card-action,.health-card-summary{font-size:var(--font-size-sm);white-space:nowrap}.health-card-action{flex-shrink:0;font-weight:500;height:36px;min-width:60px;padding:var(--spacing-xs) var(--spacing-md)}.modal-overlay.fullscreen-modal{bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content.modal-fullscreen{max-height:90vh;max-width:600px;width:100%}.modal-header{background:var(--bg-tertiary);padding:var(--spacing-xl)}.modal-header h4{font-size:var(--font-size-lg)}.modal-close{color:var(--text-muted);height:var(--touch-target-min);width:var(--touch-target-min)}.modal-footer{padding:var(--spacing-xl)}.health-info-details{display:flex;flex-direction:column;gap:var(--spacing-lg)}.health-info-details .info-item{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.health-info-details .info-item:last-child{margin-bottom:0}.health-info-details .info-item strong{color:var(--text-primary);font-size:var(--font-size-sm);font-weight:600;letter-spacing:.5px;text-transform:uppercase}.info-value{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-xs)}.tag{align-items:center;background:var(--primary-light);border:1px solid var(--border-medium);border-radius:var(--radius-lg);color:var(--primary-dark);cursor:default;display:inline-flex;font-size:var(--font-size-sm);font-weight:500;justify-content:center;line-height:1.2;min-height:28px;padding:var(--spacing-xs) var(--spacing-md);text-transform:capitalize;transition:all var(--transition-normal) ease;white-space:nowrap}.tag:hover{background:var(--primary-color);box-shadow:var(--shadow-sm);color:var(--text-inverse);transform:translateY(-1px)}.health-care-info{word-wrap:break-word;background:var(--bg-primary);border:1px solid var(--border-medium);border-left:4px solid var(--primary-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--text-secondary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:var(--font-size-base);line-height:1.6;margin-top:var(--spacing-xs);overflow-wrap:break-word;padding:var(--spacing-lg)}.btn-sm{font-size:var(--font-size-sm)}@media (min-width:768px) and (max-width:1024px){.child-info-panel{padding:var(--spacing-xl)}.athlete-header{gap:var(--spacing-xl);margin-bottom:var(--spacing-xxl);padding-bottom:var(--spacing-xl)}.athlete-avatar-info{font-size:var(--font-size-xxxl);height:72px;width:72px}.athlete-name-info{font-size:var(--font-size-xxl)}.age-label{font-size:var(--font-size-base)}.age-value{font-size:var(--font-size-lg);padding:var(--spacing-sm) var(--spacing-lg)}.basic-info-row{gap:var(--spacing-xxl);margin-bottom:var(--spacing-xxl);padding-bottom:var(--spacing-xl)}.health-info-container-horizontal{gap:var(--spacing-xl)}.health-info-card-horizontal{min-height:90px;padding:var(--spacing-sm)}.health-card-icon{height:52px;width:52px}.health-card-icon .icon{font-size:var(--font-size-xxl)}.health-card-content h4{font-size:var(--font-size-lg)}.health-card-action,.health-card-summary{font-size:var(--font-size-base)}.health-card-action{height:40px;min-width:70px}}@media (max-width:767px){.child-info-panel{padding:var(--spacing-md)}.athlete-header{flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);text-align:center}.athlete-avatar-info{align-self:center;font-size:var(--font-size-xl);height:56px;width:56px}.athlete-details-info{text-align:center}.athlete-name-info{font-size:var(--font-size-lg)}.athlete-age-info{flex-wrap:wrap;gap:var(--spacing-xs);justify-content:center}.age-value{font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm)}.basic-info-row{flex-direction:column;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.health-info-card-horizontal,.health-info-container-horizontal{flex-direction:column;gap:var(--spacing-md)}.health-info-card-horizontal{min-height:auto;padding:var(--spacing-sm);text-align:center}.health-card-icon{align-self:center;height:56px;width:56px}.health-card-icon .icon{font-size:var(--font-size-xxl)}.health-card-content{gap:var(--spacing-sm);text-align:center}.health-card-content h4{font-size:var(--font-size-lg)}.health-card-summary{font-size:var(--font-size-base);overflow:visible;text-overflow:clip;white-space:normal}.health-card-action{align-self:center;font-size:var(--font-size-base);height:var(--touch-target-min);min-width:100px}.modal-overlay.fullscreen-modal{align-items:flex-start;padding:var(--spacing-sm);padding-top:var(--spacing-xl)}.modal-content.modal-fullscreen{max-height:calc(100vh - var(--spacing-xxl))}.modal-body,.modal-footer,.modal-header{padding:var(--spacing-lg)}.modal-footer{flex-direction:column-reverse;gap:var(--spacing-sm)}.modal-footer .btn{width:100%}.tag{min-height:var(--touch-target-min);padding:var(--spacing-sm) var(--spacing-lg)}.health-care-info,.tag{font-size:var(--font-size-base)}.health-care-info{line-height:1.7;padding:var(--spacing-lg)}}@media (min-width:1200px){.child-info-panel{padding:var(--spacing-xxl)}.athlete-header{gap:var(--spacing-xxl);margin-bottom:var(--spacing-xxl);padding-bottom:var(--spacing-xl)}.athlete-avatar-info{border-width:4px;height:80px;width:80px}.athlete-avatar-info,.athlete-name-info{font-size:var(--font-size-xxxl)}.age-label{font-size:var(--font-size-lg)}.age-value{font-size:var(--font-size-xl);padding:var(--spacing-md) var(--spacing-xl)}.basic-info-row{margin-bottom:var(--spacing-xxl);padding-bottom:var(--spacing-xl)}.basic-info-row,.health-info-container-horizontal{gap:var(--spacing-xxl)}.health-info-card-horizontal{min-height:100px;padding:var(--spacing-xxl)}.health-card-icon{height:60px;width:60px}.health-card-icon .icon{font-size:var(--font-size-xxxl)}.health-card-content h4{font-size:var(--font-size-xl)}.health-card-action,.health-card-summary{font-size:var(--font-size-lg)}.health-card-action{height:44px;min-width:80px}}.health-card-action:focus,.health-info-card-horizontal:focus-within,.modal-close:focus{outline:2px solid var(--primary-color);outline-offset:2px}@media (prefers-contrast:high){.child-info-panel:before{height:6px}.health-info-card-horizontal{border-width:2px}.health-card-icon{border-width:3px}.tag{border-width:2px;font-weight:600}.health-care-info{border-left-width:6px}}@media (prefers-reduced-motion:reduce){.child-info-panel,.health-card-action,.health-info-card-horizontal,.tag{transition:none}.child-info-panel:hover,.health-card-action:hover,.health-info-card-horizontal:hover,.tag:hover{transform:none}}@media print{.child-info-panel{border:1px solid #000;box-shadow:none;break-inside:avoid;page-break-inside:avoid}.child-info-panel:before,.health-card-action{display:none}.health-info-container-horizontal{flex-direction:column;gap:var(--spacing-md)}.health-info-card-horizontal,.tag{border:1px solid #000}.tag{background:#fff;color:#000}.health-info-container-vertical{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr;margin-top:1.5rem}.health-info-card-horizontal{grid-gap:1rem;align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:grid;gap:1rem;grid-template-columns:auto 1fr auto;padding:1rem 1.5rem;transition:all .3s ease}}:root{--primary-color:#3a4350;--primary-dark:#747576;--primary-light:#f3f4f6;--secondary-color:#6b7280;--success-color:#5d697b;--warning-color:#9ca3af;--danger-color:#111827;--error-color:#ef4444;--bg-secondary:#a2a9b1;--bg-tertiary:#556068;--bg-dark:#1e293b;--bg-overlay:#00000080;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--text-inverse:#8f8a8a;--border-light:#e2e8f0;--border-medium:#cbd5e1;--border-dark:#94a3b8;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-xxl:3rem;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-xxl:1.5rem;--font-size-xxxl:2rem;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--radius-sm:0.25rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-xl:0.75rem;--radius-full:9999px;--transition-fast:150ms;--transition-normal:200ms;--transition-slow:300ms;--touch-target-min:44px;--sidebar-width:280px;--header-height:64px;--mobile-header-height:60px}body{background-color:#a2a9b1;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;margin:0;padding:0}.dashboard-container{background:linear-gradient(135deg,#a2a9b1,#e0f2fe);background:linear-gradient(135deg,var(--bg-secondary) 0,#e0f2fe 100%);position:relative}.mobile-header{align-items:center;background:#fff;background:var(--bg-primary);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-light);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);display:none;justify-content:space-between;padding:1rem;padding:var(--spacing-md);position:-webkit-sticky;position:sticky;top:0;z-index:1000}.mobile-header h1{color:#0f172a;color:var(--text-primary);font-size:1.125rem;font-size:var(--font-size-lg);font-weight:600;margin:0}.mobile-menu-toggle{background:none;border:none;border-radius:.375rem;border-radius:var(--radius-md);cursor:pointer;padding:.5rem;padding:var(--spacing-sm);transition:background-color .2s;transition:background-color var(--transition-normal)}.mobile-menu-toggle:hover{background:#556068;background:var(--bg-tertiary)}.hamburger{display:flex;flex-direction:column;height:18px;position:relative;width:24px}.hamburger span{background:#0f172a;background:var(--text-primary);border-radius:1px;display:block;height:2px;transition:all .2s;transition:all var(--transition-normal);width:100%}.hamburger span:first-child{transform-origin:top left}.hamburger span:nth-child(2){margin:6px 0}.hamburger span:nth-child(3){transform-origin:bottom left}.hamburger.active span:first-child{transform:rotate(45deg) translate(2px,-2px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(2px,2px)}.dashboard-header{align-items:center;background:linear-gradient(135deg,#fff,#f3f4f6);background:linear-gradient(135deg,var(--bg-primary) 0,var(--primary-light) 100%);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-light);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;padding:1.5rem 2rem;padding:var(--spacing-lg) var(--spacing-xl)}.dashboard-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3a4350,#747576);background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));-webkit-background-clip:text;background-clip:text;color:#0f172a;color:var(--text-primary);font-size:2rem;font-size:var(--font-size-xxxl);font-weight:700;margin:0}.header-actions{gap:1rem;gap:var(--spacing-md)}.header-btn{align-items:center;display:flex;font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;gap:.5rem;gap:var(--spacing-sm);padding:.5rem 1rem;padding:var(--spacing-sm) var(--spacing-md)}.status-indicator{background:#94a3b8;background:var(--text-muted);border-radius:9999px;border-radius:var(--radius-full);height:8px;transition:all .2s;transition:all var(--transition-normal);width:8px}.status-indicator.active{animation:pulse 2s infinite;background:#5d697b;background:var(--success-color)}.status-indicator.paused{background:#9ca3af;background:var(--warning-color)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.dashboard-nav{background:#fff;background:var(--bg-primary);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-light);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);padding:1rem 2rem;padding:var(--spacing-md) var(--spacing-xl);position:-webkit-sticky;position:sticky;top:0;transition:transform .2s;transition:transform var(--transition-normal);z-index:900}.nav-content{-ms-overflow-style:none;display:flex;gap:.5rem;gap:var(--spacing-sm);margin:0 auto;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;width:100%}.nav-content::-webkit-scrollbar{display:none}.nav-btn{align-items:center;background:#556068;background:var(--bg-tertiary);border:1px solid #e2e8f0;border:1px solid var(--border-light);border-radius:.5rem;border-radius:var(--radius-lg);color:#475569;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;gap:.5rem;gap:var(--spacing-sm);min-height:44px;min-height:var(--touch-target-min);padding:.5rem 1.5rem;padding:var(--spacing-sm) var(--spacing-lg);position:relative;text-decoration:none;transition:all .2s;transition:all var(--transition-normal);white-space:nowrap}.nav-btn:hover{color:#747576;color:var(--primary-dark);transform:translateY(-2px)}.nav-btn.active,.nav-btn:hover{background:#f3f4f6;background:var(--primary-light);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md)}.nav-btn.active{border-color:#f3f4f6;border-color:var(--primary-light)}.nav-btn-secondary,.nav-btn.active{color:#8f8a8a;color:var(--text-inverse)}.nav-btn-secondary{background:#6b7280;background:var(--secondary-color);border-color:#6b7280;border-color:var(--secondary-color)}.nav-btn-back{background:#fff;background:var(--bg-primary);border:2px solid #3a4350;border:2px solid var(--primary-color);color:#3a4350;color:var(--primary-color);margin-left:auto}.nav-icon{font-size:1.125rem;font-size:var(--font-size-lg)}.nav-text{font-weight:500}.live-indicator{animation:pulse 2s infinite;background:#111827;background:var(--danger-color);border-radius:9999px;border-radius:var(--radius-full);height:8px;position:absolute;right:-2px;top:-2px;width:8px}.dashboard-nav.mobile-open{background:#fff;background:var(--bg-primary);bottom:0;left:0;padding:1.5rem;padding:var(--spacing-lg);position:fixed;right:0;top:60px;top:var(--mobile-header-height);transform:translateX(0);z-index:1100}.dashboard-nav.mobile-open .nav-content{flex-direction:column;gap:1.5rem;gap:var(--spacing-lg);height:100%;overflow-y:auto}.mobile-menu-overlay{background:#00000080;background:var(--bg-overlay);bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.dashboard-main{margin:0 auto;padding:2rem;padding:var(--spacing-xl)}.dashboard-main,.error-banner{box-sizing:border-box;max-width:none;width:100%}.error-banner{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fecaca;border-radius:.75rem;border-radius:var(--radius-xl);margin:0 0 2rem;margin:0 0 var(--spacing-xl) 0;overflow:hidden}.error-content{align-items:center;display:flex;gap:1rem;gap:var(--spacing-md);padding:1.5rem;padding:var(--spacing-lg)}.error-icon{color:#ef4444;color:var(--error-color);font-size:1.125rem;font-size:var(--font-size-lg)}.error-message{color:#991b1b;flex:1 1;font-weight:500}.error-dismiss{background:none;border:none;border-radius:.375rem;border-radius:var(--radius-md);color:#991b1b;cursor:pointer;padding:.5rem;padding:var(--spacing-sm);transition:background-color .2s;transition:background-color var(--transition-normal)}.error-dismiss:hover{background:#fecaca}.individual-view{box-sizing:border-box;display:flex;flex-direction:column;gap:0;margin:0;max-width:none;padding:0;width:100%}.athlete-info-card,.athlete-selection,.content-state,.quick-actions,.session-timeline-card,.teams-header,.trainer-data-view{background:#fff;background:var(--bg-primary);border:1px solid #e2e8f0;border:1px solid var(--border-light);border-radius:.75rem;border-radius:var(--radius-xl);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);box-sizing:border-box;margin:0 0 2rem;margin:0 0 var(--spacing-xl) 0;max-width:none;padding:1.5rem;padding:var(--spacing-lg);transition:box-shadow .2s;transition:box-shadow var(--transition-normal);width:100%}.athlete-info-card:hover,.quick-actions:hover,.session-timeline-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);transform:translateY(-2px)}.athlete-tabs{gap:1rem;gap:var(--spacing-md);padding-bottom:.5rem;padding-bottom:var(--spacing-sm);scroll-behavior:smooth;scrollbar-color:#cbd5e1 #0000}.athlete-tabs::-webkit-scrollbar{height:4px}.athlete-tabs::-webkit-scrollbar-track{background:#0000}.athlete-tabs::-webkit-scrollbar-thumb{background:#cbd5e1;background:var(--border-medium);border-radius:9999px;border-radius:var(--radius-full)}.athlete-tab{align-items:center;background:#556068;background:var(--bg-tertiary);border:1px solid #e2e8f0;border:1px solid var(--border-light);border-radius:.75rem;border-radius:var(--radius-xl);color:#475569;color:var(--text-secondary);cursor:pointer;display:flex;gap:1rem;gap:var(--spacing-md);min-width:-webkit-max-content;min-width:max-content;padding:1rem 1.5rem;padding:var(--spacing-md) var(--spacing-lg);text-decoration:none;transition:all .2s;transition:all var(--transition-normal);white-space:nowrap}.athlete-tab:hover{color:#556068;color:var(--bg-tertiary);transform:translateY(-2px)}.athlete-tab.active,.athlete-tab:hover{background:#556068;background:var(--bg-tertiary);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md)}.athlete-tab.active{border-color:#3a4350;border-color:var(--primary-color)}.athlete-avatar,.athlete-tab.active{color:#8f8a8a;color:var(--text-inverse)}.athlete-avatar{align-items:center;background:linear-gradient(135deg,#1e293b,#1e293b);background:linear-gradient(135deg,var(--bg-dark),var(--bg-dark));border-radius:9999px;border-radius:var(--radius-full);display:flex;flex-shrink:0;font-size:1.125rem;font-size:var(--font-size-lg);font-weight:600;height:40px;justify-content:center;width:40px}.athlete-tab.active .athlete-avatar{background:linear-gradient(135deg,#8f8a8a,#e5e7eb);background:linear-gradient(135deg,var(--text-inverse),#e5e7eb);color:#3a4350;color:var(--primary-color)}.athlete-info{display:flex;flex-direction:column;gap:.25rem;gap:var(--spacing-xs);min-width:0}.athlete-name{font-size:1rem;font-size:var(--font-size-base);font-weight:600;line-height:1.2}.athlete-type{color:#5f5d5d;font-size:.75rem;font-size:var(--font-size-xs);line-height:1.2;opacity:1}.athlete-status{align-items:center;display:flex;gap:.25rem;gap:var(--spacing-xs)}.status-dot{background:#94a3b8;background:var(--text-muted);border-radius:9999px;border-radius:var(--radius-full);height:6px;width:6px}.status-dot.active{animation:pulse 2s infinite;background:#5d697b;background:var(--success-color)}.status-dot.inactive{background:#9ca3af;background:var(--warning-color)}.status-text{font-size:.75rem;font-size:var(--font-size-xs);opacity:.7}.athlete-header{border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border-light);margin-bottom:1.5rem;margin-bottom:var(--spacing-lg);padding-bottom:1.5rem;padding-bottom:var(--spacing-lg);text-align:center}.athlete-header h2{color:#0f172a;color:var(--text-primary);font-size:1.5rem;font-size:var(--font-size-xxl);font-weight:700;margin:0 0 .5rem;margin:0 0 var(--spacing-sm) 0}.data-type-badge{background:#3a4350;background:var(--primary-color);border-radius:9999px;border-radius:var(--radius-full);color:#8f8a8a;color:var(--text-inverse);font-size:.75rem;font-size:var(--font-size-xs);font-weight:600;letter-spacing:.5px;padding:.25rem 1rem;padding:var(--spacing-xs) var(--spacing-md);text-transform:uppercase}.loading-content{align-items:center;color:#475569;color:var(--text-secondary);display:flex;flex-direction:column;gap:1rem;gap:var(--spacing-md);justify-content:center;min-height:200px}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-top:4px solid #3a4350;border:4px solid var(--border-light);border-radius:9999px;border-radius:var(--radius-full);border-top-color:var(--primary-color);height:40px;margin:0 auto 1.5rem;margin:0 auto var(--spacing-lg);width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.parent-info{width:100%}.info-grid{grid-gap:1.5rem;grid-gap:var(--spacing-lg);display:grid;gap:1.5rem;gap:var(--spacing-lg);max-width:none;width:100%}.info-grid,.info-item{box-sizing:border-box;margin:0}.info-item{background:linear-gradient(135deg,#a2a9b1,#556068);background:linear-gradient(135deg,var(--bg-secondary),var(--bg-tertiary));border:1px solid #e2e8f0;border:1px solid var(--border-light);border-radius:.5rem;border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:.5rem;gap:var(--spacing-sm);padding:1rem;padding:var(--spacing-md);transition:all .2s;transition:all var(--transition-normal)}.info-item:hover{box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);transform:translateY(-2px)}.info-item.full-width{grid-column:1/-1}.info-item strong{color:#0f172a;color:var(--text-primary);font-size:.75rem;font-size:var(--font-size-xs);font-weight:600;letter-spacing:.5px;text-transform:uppercase}.info-item span{color:#475569;color:var(--text-secondary);font-size:1rem;font-size:var(--font-size-base);line-height:1.5}.content-state{padding:3rem 1.5rem;padding:var(--spacing-xxl) var(--spacing-lg);text-align:center}.content-state.loading{background:linear-gradient(135deg,#fff,#a2a9b1);background:linear-gradient(135deg,var(--bg-primary),var(--bg-secondary))}.content-state.empty{background:linear-gradient(135deg,#fff,#f0f9ff);background:linear-gradient(135deg,var(--bg-primary),#f0f9ff)}.empty-icon{font-size:3rem;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg);opacity:.7}.content-state h3{color:#0f172a;color:var(--text-primary);font-size:1.25rem;font-size:var(--font-size-xl);font-weight:600;margin:0 0 1rem;margin:0 0 var(--spacing-md) 0}.content-state p{color:#475569;color:var(--text-secondary);line-height:1.6;margin:0 0 .5rem;margin:0 0 var(--spacing-sm) 0;margin-left:auto;margin-right:auto;max-width:none}.teams-view{box-sizing:border-box;display:flex;flex-direction:column;gap:0;margin:0;max-width:none;width:100%}.header-content{align-items:flex-start;display:flex;gap:1.5rem;gap:var(--spacing-lg);justify-content:space-between}.header-info h2{color:#0f172a;color:var(--text-primary);font-size:2rem;font-size:var(--font-size-xxxl);font-weight:700;margin:0 0 .5rem;margin:0 0 var(--spacing-sm) 0}.header-subtitle{color:#475569;color:var(--text-secondary);font-size:1rem;font-size:var(--font-size-base);line-height:1.5;margin:0}.teams-grid{grid-gap:2rem;grid-gap:var(--spacing-xl);display:grid;gap:2rem;gap:var(--spacing-xl);margin:0;max-width:none}.team-card,.teams-grid{box-sizing:border-box;width:100%}.team-card{background:#fff;background:var(--bg-primary);border:1px solid #e2e8f0;border:1px solid var(--border-light);border-radius:.75rem;border-radius:var(--radius-xl);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);margin:0 0 2rem;margin:0 0 var(--spacing-xl) 0;overflow:hidden;padding:1.5rem;padding:var(--spacing-lg);transition:all .2s;transition:all var(--transition-normal)}.team-card:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--shadow-lg);transform:translateY(-4px)}.team-card-header{align-items:flex-start;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg);padding-bottom:1.5rem;padding-bottom:var(--spacing-lg)}.team-name{color:#0f172a;color:var(--text-primary);font-size:1.25rem;font-size:var(--font-size-xl);font-weight:700;margin:0 0 .5rem;margin:0 0 var(--spacing-sm) 0}.team-badges{display:flex;flex-wrap:wrap;gap:.5rem;gap:var(--spacing-sm)}.sport-badge,.team-type-badge{border-radius:9999px;border-radius:var(--radius-full);font-size:.75rem;font-size:var(--font-size-xs);font-weight:600;letter-spacing:.5px;padding:.25rem 1rem;padding:var(--spacing-xs) var(--spacing-md);text-transform:uppercase}.team-type-badge{background:#f3f4f6;background:var(--primary-light);color:#747576;color:var(--primary-dark)}.sport-badge{background:#6b7280;background:var(--secondary-color);color:#8f8a8a;color:var(--text-inverse)}.team-stats{text-align:center}.stat{align-items:center;display:flex;flex-direction:column;gap:.25rem;gap:var(--spacing-xs)}.stat-number{color:#3a4350;color:var(--primary-color);font-size:1.25rem;font-size:var(--font-size-xl);font-weight:700}.stat-label{color:#475569;color:var(--text-secondary);font-size:.75rem;font-size:var(--font-size-xs);font-weight:500;letter-spacing:.5px;text-transform:uppercase}.team-content{margin-bottom:2rem;margin-bottom:var(--spacing-xl)}.team-description{color:#475569;color:var(--text-secondary);font-size:1rem;font-size:var(--font-size-base);line-height:1.6;margin:0 0 1.5rem;margin:0 0 var(--spacing-lg) 0}.team-meta{flex-direction:column;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.meta-item,.team-meta{display:flex;gap:.5rem;gap:var(--spacing-sm)}.meta-item{align-items:center;color:#475569;color:var(--text-secondary);font-size:.875rem;font-size:var(--font-size-sm)}.meta-icon{font-size:1rem;font-size:var(--font-size-base);opacity:.8}.meta-text{font-weight:500}.team-actions{display:flex;flex-wrap:wrap;gap:.5rem;gap:var(--spacing-sm)}.team-actions .btn{flex:1 1;justify-content:center;min-width:0}.session-container{background:#a2a9b1;background:var(--bg-secondary);border-radius:.5rem;border-radius:var(--radius-lg);box-sizing:border-box;margin:0;padding:1rem;padding:var(--spacing-md);width:100%}.action-group{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;gap:var(--spacing-md)}.share-input-compact{display:flex;flex:1 1;gap:.5rem;gap:var(--spacing-sm);min-width:250px}.share-input-inline{background:#a2a9b1;background:var(--bg-secondary);border:2px solid #cbd5e1;border:2px solid var(--border-medium);border-radius:.5rem;border-radius:var(--radius-lg);flex:1 1;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;font-size:var(--font-size-sm);min-height:44px;min-height:var(--touch-target-min);padding:.5rem 1rem;padding:var(--spacing-sm) var(--spacing-md);transition:all .2s;transition:all var(--transition-normal)}.share-input-inline:focus{border-color:#3a4350;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a;outline:none}.status-banner{align-items:center;animation:slideIn .2s ease-out;animation:slideIn var(--transition-normal) ease-out;border-radius:.75rem;border-radius:var(--radius-xl);box-sizing:border-box;display:flex;font-weight:500;gap:.5rem;gap:var(--spacing-sm);margin:0 0 2rem;margin:0 0 var(--spacing-xl) 0;max-width:none;padding:1rem 1.5rem;padding:var(--spacing-md) var(--spacing-lg);width:100%}.status-banner.success{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #a7f3d0;color:#065f46}.status-banner.error{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fecaca;color:#991b1b}.status-icon{font-size:1.125rem;font-size:var(--font-size-lg)}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.code-banner{background:linear-gradient(135deg,#fff,#f3f4f6);background:linear-gradient(135deg,var(--bg-primary),var(--primary-light));border:1px solid #e2e8f0;border:1px solid var(--border-light);border-radius:.75rem;border-radius:var(--radius-xl);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);box-sizing:border-box;margin:0 0 2rem;margin:0 0 var(--spacing-xl) 0;max-width:none;padding:1.5rem;padding:var(--spacing-lg);width:100%}.code-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem;margin-bottom:var(--spacing-md)}.code-header h4{color:#0f172a;color:var(--text-primary);font-weight:600;margin:0}.code-display-compact{align-items:center;background:#1e293b;background:var(--bg-dark);border-radius:.5rem;border-radius:var(--radius-lg);display:flex;gap:.5rem;gap:var(--spacing-sm);margin-bottom:1rem;margin-bottom:var(--spacing-md);padding:1rem;padding:var(--spacing-md)}.code-text{background:none;border:none;color:#8f8a8a;color:var(--text-inverse);flex:1 1;font-family:Monaco,Menlo,Ubuntu Mono,monospace;outline:none;word-break:break-all}.code-instructions,.code-text{font-size:.875rem;font-size:var(--font-size-sm)}.code-instructions{color:#475569;color:var(--text-secondary);line-height:1.5;margin:0}.athlete-info-card>*,.session-timeline-card>*{box-sizing:border-box!important;margin:0!important;max-width:none!important;width:100%!important}.athlete-info-card .child-info-panel{background:#0000!important;border:none!important;box-shadow:none!important;margin:0!important;padding:0!important}.session-details-view{box-sizing:border-box;display:flex;flex-direction:column;gap:0;margin:0;max-width:none;width:100%}.notifications-sidebar{background:#fff;background:var(--bg-primary);border:1px solid #e2e8f0;border:1px solid var(--border-light);border-radius:.75rem;border-radius:var(--radius-xl);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--shadow-lg);max-height:80vh;overflow:hidden;position:fixed;right:1.5rem;right:var(--spacing-lg);top:50%;transform:translateY(-50%);width:320px;z-index:800}.notifications-header{align-items:center;background:linear-gradient(135deg,#556068,#f3f4f6);background:linear-gradient(135deg,var(--bg-tertiary),var(--primary-light));border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;padding:1.5rem;padding:var(--spacing-lg)}.notifications-header h4{color:#0f172a;color:var(--text-primary);font-size:1rem;font-size:var(--font-size-base);font-weight:600;margin:0}.notifications-list{padding:.5rem;padding:var(--spacing-sm)}.notification-item{background:#a2a9b1;border:1px solid #e2e8f0;border-radius:var(--radius-lg);gap:.5rem;gap:var(--spacing-sm);margin-bottom:.5rem;margin-bottom:var(--spacing-sm);padding:var(--spacing-md);transition:all .2s;transition:all var(--transition-normal)}.notification-item:hover{background:#556068;background:var(--bg-tertiary);transform:translateX(4px)}.notification-content{min-width:0}.notification-message{color:#0f172a;color:var(--text-primary);font-size:.875rem;font-size:var(--font-size-sm);line-height:1.4;margin-bottom:.25rem;margin-bottom:var(--spacing-xs)}.notification-time{color:#94a3b8;font-size:var(--font-size-xs)}.notification-dismiss{background:none;border:none;border-radius:.25rem;border-radius:var(--radius-sm);color:#94a3b8;color:var(--text-muted);cursor:pointer;flex-shrink:0;padding:.25rem;padding:var(--spacing-xs);transition:all .2s;transition:all var(--transition-normal)}.notification-dismiss:hover{background:#f3f4f6;background:var(--primary-light);color:#747576;color:var(--primary-dark)}.btn{border:1px solid #cbd5e1;border-radius:var(--radius-lg);color:#0f172a;font-size:.875rem;font-size:var(--font-size-sm);gap:var(--spacing-sm);justify-content:center;line-height:1;min-height:44px;min-height:var(--touch-target-min);padding:.5rem 1.5rem;padding:var(--spacing-sm) var(--spacing-lg);transition:all .2s;transition:all var(--transition-normal);-webkit-user-select:none;user-select:none;white-space:nowrap}.btn:hover{background:#f3f4f6;background:var(--primary-light);border-color:#3a4350;border-color:var(--primary-color);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);color:#747576;color:var(--primary-dark)}.btn:active{transform:translateY(0)}.btn:focus{box-shadow:0 0 0 3px #2563eb1a;outline:none}.btn-primary{background:#3a4350;background:var(--primary-color);border-color:#3a4350;border-color:var(--primary-color)}.btn-primary,.btn-primary:hover{color:#8f8a8a;color:var(--text-inverse)}.btn-primary:hover{background:#747576;background:var(--primary-dark);border-color:#747576;border-color:var(--primary-dark)}.btn-secondary{background:#6b7280;background:var(--secondary-color);border-color:#6b7280;border-color:var(--secondary-color)}.btn-secondary,.btn-secondary:hover{color:#8f8a8a;color:var(--text-inverse)}.btn-secondary:hover{background:#94a3b8;background:var(--border-dark);border-color:#94a3b8;border-color:var(--border-dark)}.btn-outline{background:#0000;border-color:#cbd5e1;border-color:var(--border-medium);color:#475569;color:var(--text-secondary)}.btn-outline:hover{background:#f3f4f6;background:var(--primary-light);border-color:#3a4350;border-color:var(--primary-color);color:#747576;color:var(--primary-dark)}.btn-danger{background:#111827;background:var(--danger-color);border-color:#111827;border-color:var(--danger-color)}.btn-danger,.btn-danger:hover{color:#8f8a8a;color:var(--text-inverse)}.btn-danger:hover{background:#b91c1c;border-color:#b91c1c}.btn-sm{font-size:.75rem;font-size:var(--font-size-xs);min-height:35.2px;min-height:calc(var(--touch-target-min)*.8);padding:.25rem 1rem;padding:var(--spacing-xs) var(--spacing-md)}.btn-lg{font-size:1.125rem;font-size:var(--font-size-lg);min-height:52.8px;min-height:calc(var(--touch-target-min)*1.2);padding:1rem 2rem;padding:var(--spacing-md) var(--spacing-xl)}.btn-compact{min-width:44px;min-width:var(--touch-target-min);padding:.5rem;padding:var(--spacing-sm)}.btn-icon{font-size:1rem;font-size:var(--font-size-base)}.btn:disabled{border-color:#94a3b8;border-color:var(--text-muted);color:#fff;color:var(--bg-primary);cursor:not-allowed;opacity:.6}.btn:disabled,.btn:disabled:hover{background:#94a3b8;background:var(--text-muted);transform:none}.btn:disabled:hover{box-shadow:none}.form-control{background:#fff;background:var(--bg-primary);border:2px solid #cbd5e1;border:2px solid var(--border-medium);border-radius:.5rem;border-radius:var(--radius-lg);box-sizing:border-box;color:#0f172a;color:var(--text-primary);font-size:1rem;font-size:var(--font-size-base);line-height:1.5;min-height:44px;min-height:var(--touch-target-min);padding:.5rem 1rem;padding:var(--spacing-sm) var(--spacing-md);transition:all .2s;transition:all var(--transition-normal);width:100%}.form-control:focus{border-color:#3a4350;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a;outline:none}.form-control-sm{font-size:.875rem;font-size:var(--font-size-sm);min-height:35.2px;min-height:calc(var(--touch-target-min)*.8);padding:.25rem .5rem;padding:var(--spacing-xs) var(--spacing-sm)}@media (max-width:767px){.mobile-header{display:flex}.dashboard-header{display:none}.dashboard-nav{background:#556068;background:var(--bg-tertiary);border-bottom:none;bottom:0;display:none;left:0;padding:0;position:fixed;right:0;top:60px;top:var(--mobile-header-height);z-index:1100}.dashboard-nav.mobile-open{display:block}.nav-content{flex-direction:column;gap:1.5rem;gap:var(--spacing-lg);height:100%;overflow-y:auto}.nav-btn,.nav-content{padding:1.5rem;padding:var(--spacing-lg)}.nav-btn{font-size:1rem;font-size:var(--font-size-base);justify-content:flex-start}.nav-icon{font-size:1.25rem;font-size:var(--font-size-xl)}.nav-text{font-size:1rem;font-size:var(--font-size-base)}.dashboard-main{padding:1rem;padding:var(--spacing-md);padding-top:1.5rem;padding-top:var(--spacing-lg)}.athlete-info-card,.athlete-selection,.content-state,.quick-actions,.session-timeline-card,.teams-header,.trainer-data-view{padding:1rem;padding:var(--spacing-md)}.content-state{padding:1.5rem 1rem;padding:var(--spacing-lg) var(--spacing-md)}.action-group{align-items:stretch;flex-direction:column}.share-input-compact{flex-direction:column;min-width:auto}.share-input-inline{margin-bottom:.5rem;margin-bottom:var(--spacing-sm)}.athlete-header h2{font-size:1.25rem;font-size:var(--font-size-xl)}.teams-grid{grid-template-columns:1fr}.team-card-header{align-items:flex-start;flex-direction:column;gap:1rem;gap:var(--spacing-md)}.team-badges{align-self:stretch}.team-actions{flex-direction:column}.notifications-sidebar{bottom:.5rem;bottom:var(--spacing-sm);left:.5rem;left:var(--spacing-sm);max-height:none;position:fixed;right:.5rem;right:var(--spacing-sm);top:60px;top:var(--mobile-header-height);transform:none;width:auto}.athlete-type,.status-text{display:none}}@media (min-width:768px) and (max-width:1024px){.mobile-header{display:none}.dashboard-header{display:flex;padding:1.5rem;padding:var(--spacing-lg)}.dashboard-header h1{font-size:1.5rem;font-size:var(--font-size-xxl)}.dashboard-nav{padding:1.5rem;padding:var(--spacing-lg)}.nav-btn{padding:.5rem 1.5rem;padding:var(--spacing-sm) var(--spacing-lg)}.athlete-info-card,.athlete-selection,.content-state,.dashboard-main,.quick-actions,.session-timeline-card,.teams-header,.trainer-data-view{padding:1.5rem;padding:var(--spacing-lg)}.action-group{flex-wrap:wrap}.share-input-compact{min-width:300px}.teams-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.notifications-sidebar{right:1.5rem;right:var(--spacing-lg);width:350px}}@media (min-width:1025px){.dashboard-header{padding:2rem;padding:var(--spacing-xl)}.dashboard-header h1{font-size:2rem;font-size:var(--font-size-xxxl)}.dashboard-nav{padding:1.5rem 2rem;padding:var(--spacing-lg) var(--spacing-xl)}.nav-btn{font-size:1rem;font-size:var(--font-size-base);padding:1rem 1.5rem;padding:var(--spacing-md) var(--spacing-lg)}.dashboard-main{padding:3rem;padding:var(--spacing-xxl)}.athlete-info-card,.athlete-selection,.content-state,.quick-actions,.session-timeline-card,.teams-header,.trainer-data-view{padding:1.5rem;padding:var(--spacing-lg)}.teams-grid{grid-template-columns:repeat(auto-fit,minmax(380px,1fr))}@media (min-width:1440px){.teams-grid{grid-template-columns:repeat(auto-fit,minmax(420px,1fr))}}}@media (min-width:1920px){.dashboard-main{padding:3rem 6rem;padding:var(--spacing-xxl) calc(var(--spacing-xxl)*2)}.teams-grid{grid-template-columns:repeat(auto-fit,minmax(450px,1fr))}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.loading-spinner{border-width:2px}.status-dot,.status-indicator{border:1px solid #0000}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.loading-spinner{animation:none;border-top-color:#3a4350;border-top-color:var(--primary-color)}.live-indicator,.status-indicator.active{animation:none}}@media (prefers-contrast:high){:root{--border-light:#000;--border-medium:#000;--border-dark:#000;--shadow-sm:0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0000004d;--shadow-lg:0 10px 15px -3px #0000004d}.btn,.form-control{border-width:2px}}@media (prefers-color-scheme:dark){:root{--bg-primary:#525356;--bg-secondary:#222326;--bg-tertiary:#4b5057;--bg-dark:#000;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#64748b;--text-inverse:#0f172a;--border-light:#334155;--border-medium:#475569;--border-dark:#64748b;--primary-light:#c9cfe4;--shadow-sm:0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0000004d;--shadow-lg:0 10px 15px -3px #0000004d}.code-display-compact{background:#a2a9b1;background:var(--bg-secondary)}.code-text{color:#0f172a;color:var(--text-primary)}}@media print{.btn,.dashboard-header,.dashboard-nav,.mobile-header,.notifications-sidebar,.quick-actions,.team-actions{display:none!important}.dashboard-main{max-width:none;padding:0}.athlete-info-card,.athlete-selection,.session-timeline-card,.team-card{border:1px solid #000;box-shadow:none;break-inside:avoid;page-break-inside:avoid}}@media (max-width:767px) and (orientation:landscape){.dashboard-nav.mobile-open .nav-content{align-items:center;flex-direction:row;flex-wrap:wrap}.nav-btn{flex:1 1;min-width:150px}}.athlete-tab:focus-visible,.btn:focus-visible,.form-control:focus-visible,.nav-btn:focus-visible{outline:2px solid #3a4350;outline:2px solid var(--primary-color);outline-offset:2px}.w-full{width:100%}.h-full{height:100%}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}@keyframes slideInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{align-items:center;background:#000000bf;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:1.5rem;padding:var(--spacing-lg);position:fixed;right:0;top:0;z-index:9999}.modal-content{background:#fff;background:var(--bg-primary);border-radius:.75rem;border-radius:var(--radius-xl);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;margin:auto;max-height:90vh;max-width:600px;position:relative;width:100%}.modal-content.large{max-width:900px}.modal-content.extra-large{max-width:1200px}.modal-header{align-items:center;background:linear-gradient(135deg,#fff,#f3f4f6);background:linear-gradient(135deg,var(--bg-primary),var(--primary-light));border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-light);border-radius:.75rem .75rem 0 0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;display:flex;justify-content:space-between;padding:1.5rem 2rem;padding:var(--spacing-lg) var(--spacing-xl)}.modal-header h4{color:#0f172a;color:var(--text-primary);font-weight:600;margin:0}.modal-close,.modal-header h4{font-size:1.25rem;font-size:var(--font-size-xl)}.modal-close{align-items:center;background:none;border:none;border-radius:.375rem;border-radius:var(--radius-md);color:#475569;color:var(--text-secondary);cursor:pointer;display:flex;height:32px;justify-content:center;padding:.5rem;padding:var(--spacing-sm);transition:all .2s;transition:all var(--transition-normal);width:32px}.modal-close:hover{background:#f3f4f6;background:var(--primary-light);color:#747576;color:var(--primary-dark)}.modal-body{flex:1 1;overflow-y:auto;padding:2rem;padding:var(--spacing-xl)}.modal-footer{background:#a2a9b1;background:var(--bg-secondary);border-radius:0 0 .75rem .75rem;border-radius:0 0 var(--radius-xl) var(--radius-xl);border-top:1px solid #e2e8f0;border-top:1px solid var(--border-light);justify-content:flex-end;padding:1.5rem 2rem;padding:var(--spacing-lg) var(--spacing-xl)}.members-list,.modal-footer{display:flex;gap:1rem;gap:var(--spacing-md)}.members-list{flex-direction:column}.member-card{align-items:center;background:#fff;background:var(--bg-primary);border:1px solid #e2e8f0;border:1px solid var(--border-light);border-radius:.5rem;border-radius:var(--radius-lg);display:flex;justify-content:space-between;padding:1.5rem;padding:var(--spacing-lg);transition:all .2s;transition:all var(--transition-normal)}.member-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);transform:translateY(-2px)}.member-info{flex:1 1;gap:1rem;gap:var(--spacing-md)}.member-avatar,.member-info{align-items:center;display:flex}.member-avatar{background:linear-gradient(135deg,#3a4350,#747576);background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));border-radius:9999px;border-radius:var(--radius-full);color:#8f8a8a;color:var(--text-inverse);flex-shrink:0;font-size:1.125rem;font-size:var(--font-size-lg);font-weight:600;height:48px;justify-content:center;width:48px}.member-details{display:flex;flex-direction:column;gap:.25rem;gap:var(--spacing-xs)}.member-name{color:#0f172a;color:var(--text-primary);font-size:1rem;font-size:var(--font-size-base);font-weight:600}.member-meta{align-items:center;color:#475569;color:var(--text-secondary);display:flex;font-size:.875rem;font-size:var(--font-size-sm);gap:1rem;gap:var(--spacing-md)}.join-date{color:#94a3b8;color:var(--text-muted);font-size:.75rem;font-size:var(--font-size-xs)}.member-actions{display:flex;gap:.5rem;gap:var(--spacing-sm)}.role-badge{align-items:center;background:#f3f4f6;background:var(--primary-light);border-radius:9999px;border-radius:var(--radius-full);color:#747576;color:var(--primary-dark);display:inline-flex;font-size:.75rem;font-size:var(--font-size-xs);font-weight:600;letter-spacing:.5px;padding:.25rem .5rem;padding:var(--spacing-xs) var(--spacing-sm);text-transform:uppercase}.empty-state-small{color:#475569;color:var(--text-secondary);padding:2rem;padding:var(--spacing-xl);text-align:center}.empty-state-small .empty-icon{font-size:3rem;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg);opacity:.7}.empty-state-small h4{color:#0f172a;color:var(--text-primary);font-size:1.125rem;font-size:var(--font-size-lg);font-weight:600;margin:0 0 .5rem;margin:0 0 var(--spacing-sm) 0}.empty-state-small p{line-height:1.6;margin:0}.btn-danger-outline{background:#0000;border-color:#111827;border-color:var(--danger-color);color:#111827;color:var(--danger-color)}.btn-danger-outline:hover{background:#111827;background:var(--danger-color);color:#8f8a8a;color:var(--text-inverse)}@media (max-width:768px){.modal-overlay{align-items:flex-start;padding:.5rem;padding:var(--spacing-sm);padding-top:5vh}.modal-content{max-height:95vh}.modal-content.extra-large,.modal-content.large{max-width:100%}.modal-body,.modal-footer,.modal-header{padding:1rem;padding:var(--spacing-md)}.member-card,.modal-footer{flex-direction:column}.member-card{align-items:flex-start;gap:1rem;gap:var(--spacing-md)}.member-info{width:100%}.member-actions{justify-content:flex-end;width:100%}.member-meta{align-items:flex-start;flex-direction:column;gap:.5rem;gap:var(--spacing-sm)}.athlete-info-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;margin-left:.5rem;min-width:32px;padding:.5rem;transition:all .3s ease}.athlete-info-btn:hover{box-shadow:0 4px 8px #3b82f64d;transform:translateY(-1px)}.child-info-summary{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.summary-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.view-details-btn{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.5rem 1rem;transition:all .3s ease}.view-details-btn:hover{box-shadow:0 4px 8px #10b9814d;transform:translateY(-1px)}@media (max-width:768px){.athlete-tab{flex-direction:column;gap:.5rem;padding:1rem;text-align:center}.athlete-info-btn{justify-content:center;margin-left:0;margin-top:.5rem;width:100%}.summary-header{align-items:stretch;flex-direction:column;gap:.75rem}.view-details-btn{justify-content:center}}.floating-action-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:50%;bottom:24px;box-shadow:0 8px 16px #3b82f64d;color:#fff;cursor:pointer;display:flex;height:56px;justify-content:center;position:fixed;right:24px;transition:all .2s ease;width:56px;z-index:1000}.floating-action-btn:hover{box-shadow:0 12px 20px #3b82f666;transform:translateY(-2px)}.fab-icon{font-size:24px;font-weight:600}}.child-info-panel.editable{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:15px}.child-info-panel.editable .health-section,.child-info-panel.editable .info-section{margin-bottom:15px}.child-info-panel.editable h3{border-bottom:1px solid #eee;color:#333;font-size:1.2rem;margin-bottom:10px;padding-bottom:5px}.child-info-panel.editable h4{color:#444;font-size:1.1rem;margin-bottom:10px}.child-info-panel.editable .info-content{display:flex;flex-wrap:wrap;gap:20px;margin-top:10px}.child-info-panel.editable .info-column{flex:1 1;min-width:250px}.child-info-panel.editable .info-item{display:flex;flex-direction:column;margin-bottom:8px}.child-info-panel.editable .info-item strong{color:#555;margin-right:5px}.child-info-panel.editable .health-info-container{display:flex;flex-wrap:wrap;gap:20px;margin-top:8px}.child-info-panel.editable .health-info-section{background-color:#f8f9fa;border-radius:6px;flex:1 1;margin-bottom:8px;min-width:200px;padding:8px}.child-info-panel.editable .health-info-details{display:flex;flex-direction:column;gap:12px}.child-info-panel.editable .info-value{display:flex;flex-wrap:wrap;gap:5px;margin-top:3px}.child-info-panel.editable .tag{background-color:#e9ecef;border-radius:12px;color:#495057;display:inline-block;font-size:12px;padding:3px 8px}.child-info-panel.editable .info-header{align-items:center;display:flex;justify-content:space-between;width:100%}.child-info-panel.editable .edit-btn{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;color:#6c757d;cursor:pointer;font-size:12px;padding:2px 8px;transition:all .2s}.child-info-panel.editable .edit-btn:hover{background-color:#e9ecef;color:#495057}.child-info-panel.editable .edit-section{background-color:#fff;border:1px solid #e9ecef;border-radius:4px;margin-top:10px;padding:10px}.child-info-panel.editable .current-items{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}.child-info-panel.editable .tag-with-remove{align-items:center;background-color:#e9ecef;border-radius:12px;display:flex;overflow:hidden;padding-left:8px}.child-info-panel.editable .remove-btn{align-items:center;background-color:#dee2e6;border:none;color:#6c757d;cursor:pointer;display:flex;font-size:16px;height:22px;justify-content:center;margin-left:5px;padding:0;transition:all .2s;width:22px}.child-info-panel.editable .remove-btn:hover{background-color:#dc3545;color:#fff}.child-info-panel.editable .add-item-form{display:flex;gap:5px;margin-bottom:15px}.child-info-panel.editable .add-item-input{border:1px solid #ced4da;border-radius:4px;flex:1 1;font-size:14px;padding:6px 10px}.child-info-panel.editable .physical-edit-form{display:flex;flex-direction:column;gap:10px;margin-bottom:15px}.child-info-panel.editable .physical-edit-item{align-items:center;display:flex;gap:8px;margin-bottom:10px}.child-info-panel.editable .physical-edit-item label{font-size:14px;min-width:60px}.child-info-panel.editable .physical-input{border:1px solid #ced4da;border-radius:4px;font-size:14px;padding:6px 10px;width:100px}.child-info-panel.editable .unit-select{background-color:#fff;border:1px solid #ced4da;border-radius:4px;cursor:pointer;font-size:14px;padding:6px 10px}.child-info-panel.editable .add-btn,.child-info-panel.editable .update-btn{background-color:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:6px 12px;transition:background-color .2s}.child-info-panel.editable .add-btn:hover,.child-info-panel.editable .update-btn:hover{background-color:#5a6268}.child-info-panel.editable .add-btn:disabled,.child-info-panel.editable .update-btn:disabled{background-color:#e9ecef;color:#adb5bd;cursor:not-allowed}.child-info-panel.editable .edit-actions{display:flex;gap:8px;justify-content:flex-end}.child-info-panel.editable .save-btn{background-color:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:6px 12px;transition:background-color .2s}.child-info-panel.editable .save-btn:hover{background-color:#218838}.child-info-panel.editable .save-btn:disabled{background-color:#86e29b;cursor:not-allowed}.child-info-panel.editable .cancel-btn{background-color:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:6px 12px;transition:background-color .2s}.child-info-panel.editable .cancel-btn:hover{background-color:#5a6268}.child-info-panel.editable .physical-metric{align-items:center;display:flex;gap:5px;margin-bottom:5px}.child-info-panel.editable .metric-label{color:#495057;font-weight:500}.child-info-panel.editable .save-success-message{background-color:#d4edda;border-radius:4px;color:#155724;margin-top:15px;padding:10px;text-align:center}.child-info-panel.editable .save-error-message{background-color:#f8d7da;border-radius:4px;color:#721c24;margin-top:15px;padding:10px;text-align:center}.health-care-textarea{border:1px solid #ccc;font-family:inherit;font-size:14px;resize:vertical;width:100%}.health-care-info,.health-care-textarea{border-radius:4px;line-height:1.5;padding:10px}.health-care-info{background-color:#f9f9f9;border-left:3px solid #007bff;white-space:pre-wrap}.health-care-edit-form{margin-bottom:15px}@media (max-width:768px){.child-info-panel.editable{padding:12px}.child-info-panel.editable .health-info-container{flex-direction:column;gap:15px}.child-info-panel.editable .health-info-section{min-width:100%;padding:12px}.child-info-panel.editable .info-content{flex-direction:column;gap:15px}.child-info-panel.editable .physical-edit-form{flex-direction:column}}@media (max-width:480px){.child-info-panel.editable,.child-info-panel.editable .health-info-section{padding:10px}.child-info-panel.editable h3{font-size:1.1rem}.child-info-panel.editable h4{font-size:1rem}.child-info-panel.editable .add-item-form{flex-direction:column}.child-info-panel.editable .physical-edit-item{align-items:flex-start;flex-direction:column}.child-info-panel.editable .physical-edit-item input,.child-info-panel.editable .physical-edit-item select{width:100%}.child-info-panel.editable .edit-actions{flex-direction:column;gap:5px}}.splash-screen{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:9999}.splash-content{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:20px;box-shadow:0 20px 40px #0000001a;max-width:450px;padding:3rem 2.5rem;text-align:center;width:90%}.logo-container{justify-content:center;margin-bottom:2rem}.splash-logo{display:block;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1));height:auto;margin-bottom:1rem;width:120px}.splash-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#333;font-size:2rem;font-weight:700;margin-bottom:.5rem}.splash-subtitle{color:#666;font-size:1.1rem;line-height:1.5;margin-bottom:2rem}.access-form{width:100%}.input-group{margin-bottom:1rem}.access-input{background:#fff;border:2px solid #e1e5e9;border-radius:12px;font-family:inherit;font-size:1rem;outline:none;padding:1rem 1.25rem;transition:all .3s ease;width:100%}.access-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;transform:translateY(-1px)}.access-input::placeholder{color:#999}.error-message{background:#e74c3c1a;border-left:3px solid #e74c3c;border-radius:8px;color:#e74c3c;font-size:.9rem;margin-bottom:1rem;padding:.75rem}.access-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;font-family:inherit;font-size:1.1rem;font-weight:600;outline:none;overflow:hidden;padding:1rem 1.5rem;position:relative;transition:all .3s ease;width:100%}.access-button:hover:not(:disabled){box-shadow:0 8px 25px #667eea4d;transform:translateY(-2px)}.access-button:active:not(:disabled){transform:translateY(0)}.access-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.access-button:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.access-button:hover:not(:disabled):before{left:100%}@media (max-width:768px){.splash-content{margin:1rem;padding:2rem 1.5rem}.splash-title{font-size:2rem}.splash-subtitle{font-size:1rem}.splash-logo{width:100px}}@media (max-width:480px){.splash-content{padding:1.5rem 1rem}.splash-title{font-size:1.75rem}.access-button,.access-input{padding:.875rem 1rem}}:root{--bg-primary:#fff;--bg-secondary:#f8f9fa;--bg-tertiary:#e9ecef;--bg-dark:#343a40;--text-primary:#212529;--text-secondary:#6c757d;--text-muted:#adb5bd;--border-light:#dee2e6;--border-medium:#ced4da;--shadow-sm:0 0.125rem 0.25rem rgba(0,0,0,.075);--shadow-md:0 0.5rem 1rem #00000026;--shadow-lg:0 1rem 3rem rgba(0,0,0,.175);--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--accent-light:#f1f3f4;--accent-medium:#e8eaed;--accent-dark:#5f6368}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9fa;background-color:var(--bg-secondary);font-size:16px;font-weight:400;line-height:1.5}body,h1,h2,h3,h4,h5,h6{color:#212529;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-bottom:1rem}h1{font-size:2.5rem;font-weight:700}h2{font-size:2rem;font-weight:600}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1.125rem}.container{margin:0 auto;padding:2rem;width:100%}.navbar{background:linear-gradient(135deg,#343a40,#495057);background:linear-gradient(135deg,var(--bg-dark) 0,#495057 100%);border-bottom:1px solid #ced4da;border-bottom:1px solid var(--border-medium);box-shadow:0 .5rem 1rem #00000026;box-shadow:var(--shadow-md);color:#fff;color:var(--bg-primary);justify-content:space-between;padding:1rem 2rem}.logo-container,.navbar{align-items:center;display:flex}.logo-container{margin:0;padding:0}.navbar-logo{filter:brightness(0) invert(1);height:60px;max-width:100%}.navbar h1{color:#fff;color:var(--bg-primary);margin:0}.navbar ul{align-items:center;display:flex;gap:1.5rem;list-style:none;margin:0;padding:0}.navbar li{margin:0}.navbar a{border-radius:.5rem;border-radius:var(--radius-md);color:#fff;color:var(--bg-primary);font-weight:500;padding:.5rem 1rem;text-decoration:none;transition:all .2s ease}.navbar a:hover{background:#ffffff1a;transform:translateY(-1px)}.user-role{color:#f1f3f4;color:var(--accent-light);font-size:.875rem;font-style:italic}.btn-link{background:none;border:none;border-radius:.5rem;border-radius:var(--radius-md);color:#fff;color:var(--bg-primary);cursor:pointer;font-size:1rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.btn-link:hover{background:#ffffff1a;transform:translateY(-1px)}.user-info{background:#5f6368;background:var(--accent-dark);border:1px solid #fff3;border-radius:.75rem;border-radius:var(--radius-lg);color:#fff;color:var(--bg-primary);font-size:.875rem;font-weight:500;padding:.5rem 1rem;white-space:nowrap}.form-group{margin-bottom:1.5rem}.form-group label{color:#212529;color:var(--text-primary);display:block;font-size:.875rem;font-weight:500;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.form-group input,.form-group select,.form-group textarea{background:#fff;background:var(--bg-primary);border:2px solid #ced4da;border:2px solid var(--border-medium);border-radius:.5rem;border-radius:var(--radius-md);color:#212529;color:var(--text-primary);font-size:1rem;padding:.75rem;transition:all .2s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#5f6368;border-color:var(--accent-dark);box-shadow:0 0 0 3px #5f63681a;outline:none}.btn{align-items:center;background:#fff;background:var(--bg-primary);border:1px solid #ced4da;border:1px solid var(--border-medium);border-radius:.5rem;border-radius:var(--radius-md);box-shadow:0 .125rem .25rem rgba(0,0,0,.075);box-shadow:var(--shadow-sm);color:#212529;color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:1rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s ease}.btn:hover{background:#f1f3f4;background:var(--accent-light);box-shadow:0 .5rem 1rem #00000026;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary{background:#212529;background:var(--text-primary);border-color:#212529;border-color:var(--text-primary);color:#fff;color:var(--bg-primary)}.btn-primary:hover{background:#5f6368;background:var(--accent-dark);border-color:#5f6368;border-color:var(--accent-dark)}.btn-secondary{background:#6c757d;background:var(--text-secondary);border-color:#6c757d;border-color:var(--text-secondary);color:#fff;color:var(--bg-primary)}.btn-secondary:hover{background:#5a6268;border-color:#5a6268}.btn-small{font-size:.875rem;padding:.5rem 1rem}.alert{border:1px solid;border-radius:.5rem;border-radius:var(--radius-md);font-weight:500;margin-bottom:1.5rem;padding:1rem 1.5rem}.alert-danger{background-color:#f8d7da;border-color:#f5c6cb;border-left:4px solid #dc3545;color:#721c24}.alert-success{background-color:#f1f3f4;background-color:var(--accent-light);border-color:#ced4da;border-color:var(--border-medium);border-left:4px solid #5f6368;border-left:4px solid var(--accent-dark);color:#212529;color:var(--text-primary)}.back-button{align-items:center;background:#f1f3f4;background:var(--accent-light);border:1px solid #dee2e6;border:1px solid var(--border-light);border-radius:.5rem;border-radius:var(--radius-md);color:#6c757d;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;margin-bottom:1.5rem;padding:.75rem 1.25rem;transition:all .2s ease}.back-button:hover{background:#e8eaed;background:var(--accent-medium);box-shadow:0 .125rem .25rem rgba(0,0,0,.075);box-shadow:var(--shadow-sm);transform:translateX(-2px)}.dashboard-container{background:#f8f9fa;background:var(--bg-secondary);box-sizing:border-box;max-width:none;min-height:100vh;padding:0;width:100%}.athlete-tabs{display:flex;gap:.25rem;margin-bottom:2rem;overflow-x:auto;padding:0 2rem;scrollbar-color:#ced4da #0000;scrollbar-color:var(--border-medium) #0000;scrollbar-width:thin}.tab-button{background:#e9ecef;background:var(--bg-tertiary);border:1px solid #dee2e6;border:1px solid var(--border-light);border-radius:.5rem;border-radius:var(--radius-md);color:#6c757d;color:var(--text-secondary);cursor:pointer;font-size:.875rem;font-weight:500;min-width:-webkit-fit-content;min-width:fit-content;padding:.75rem 1.5rem;transition:all .2s ease;white-space:nowrap}.tab-button:hover{background:#f1f3f4;background:var(--accent-light);color:#212529;color:var(--text-primary);transform:translateY(-1px)}.tab-button.active{background:#212529;background:var(--text-primary);border-color:#212529;border-color:var(--text-primary);box-shadow:0 .125rem .25rem rgba(0,0,0,.075);box-shadow:var(--shadow-sm);color:#fff;color:var(--bg-primary)}.tab-button.disabled{cursor:not-allowed;opacity:.6;transform:none}.dashboard-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:2fr 1fr;margin-bottom:2rem;padding:0 2rem}.card{background:#fff;background:var(--bg-primary);border:1px solid #dee2e6;border:1px solid var(--border-light);border-radius:.75rem;border-radius:var(--radius-lg);box-shadow:0 .125rem .25rem rgba(0,0,0,.075);box-shadow:var(--shadow-sm);margin-bottom:2rem;overflow:hidden;transition:all .3s ease}.card:hover{box-shadow:0 .5rem 1rem #00000026;box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-header{background:linear-gradient(135deg,#f1f3f4,#e8eaed);background:linear-gradient(135deg,var(--accent-light) 0,var(--accent-medium) 100%);border-bottom:1px solid #dee2e6;border-bottom:1px solid var(--border-light);padding:1.5rem}.card-header h2{color:#212529;color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0}.card-header p{color:#6c757d;color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin:.5rem 0 0}.card-content{padding:1.5rem}.header-actions{align-items:center;display:flex;gap:.75rem}.last-update{color:#adb5bd;color:var(--text-muted);font-size:.75rem;font-style:italic;margin-top:.5rem}.children-selector,.patient-selector{margin-bottom:2rem;padding:0 2rem}.children-list,.patient-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:1rem}.child-item,.patient-item{background:#fff;background:var(--bg-primary);border:1px solid #dee2e6;border:1px solid var(--border-light);border-radius:.75rem;border-radius:var(--radius-lg);box-shadow:0 .125rem .25rem rgba(0,0,0,.075);box-shadow:var(--shadow-sm);cursor:pointer;overflow:hidden;padding:1.5rem;position:relative;transition:all .3s ease}.child-item:before,.patient-item:before{background:#e8eaed;background:var(--accent-medium);content:"";height:4px;left:0;position:absolute;right:0;top:0;transition:all .2s ease}.child-item:hover,.patient-item:hover{background:#f1f3f4;background:var(--accent-light);box-shadow:0 .5rem 1rem #00000026;box-shadow:var(--shadow-md);transform:translateY(-4px)}.child-item:hover:before,.patient-item:hover:before{background:#5f6368;background:var(--accent-dark)}.child-item.active,.patient-item.active{background:#f1f3f4;background:var(--accent-light);border-color:#5f6368;border-color:var(--accent-dark);box-shadow:0 .5rem 1rem #00000026;box-shadow:var(--shadow-md)}.child-item.active:before,.patient-item.active:before{background:#212529;background:var(--text-primary)}.patient-item.disabled{cursor:not-allowed;opacity:.6;transform:none}.patient-name{color:#212529;color:var(--text-primary);font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.child-sport,.patient-info{color:#6c757d;color:var(--text-secondary);font-size:.875rem;line-height:1.4}.no-data-badge{background:#fff3cd;border:1px solid #ffeaa7;border-radius:.375rem;border-radius:var(--radius-sm);color:#856404;font-size:.75rem;font-weight:500;margin-left:.75rem;padding:.25rem .5rem}.biometric-item{align-items:center;background:#f8f9fa;background:var(--bg-secondary);border:1px solid #dee2e6;border:1px solid var(--border-light);border-radius:.5rem;border-radius:var(--radius-md);display:flex;justify-content:space-between;margin-bottom:1rem;padding:1rem;transition:all .2s ease}.biometric-item:hover{background:#f1f3f4;background:var(--accent-light);transform:translateY(-1px)}.biometric-item.alert-item{background:#f8d7da;border-left:4px solid #dc3545}.biometric-value{color:#212529;color:var(--text-primary);font-size:1.125rem;font-weight:600}.biometric-value .unit{color:#6c757d;color:var(--text-secondary);font-size:.875rem;font-weight:400;margin-left:.25rem}.biometric-value.danger{color:#721c24;font-weight:700}.history-table{border-collapse:collapse;border-radius:.5rem;border-radius:var(--radius-md);box-shadow:0 .125rem .25rem rgba(0,0,0,.075);box-shadow:var(--shadow-sm);overflow:hidden;width:100%}.history-table td,.history-table th{border-bottom:1px solid #dee2e6;border-bottom:1px solid var(--border-light);padding:1rem;text-align:left}.history-table th{background:#f8f9fa;background:var(--bg-secondary);color:#212529;color:var(--text-primary);font-size:.875rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.history-table tr:hover{background:#f1f3f4;background:var(--accent-light)}.notifications-list{max-height:400px;overflow-y:auto;scrollbar-color:#ced4da #0000;scrollbar-color:var(--border-medium) #0000;scrollbar-width:thin}.notification-item{align-items:flex-start;background:#f8f9fa;background:var(--bg-secondary);border:1px solid #dee2e6;border:1px solid var(--border-light);border-radius:.5rem;border-radius:var(--radius-md);display:flex;justify-content:space-between;margin-bottom:.75rem;padding:1rem;transition:all .2s ease}.notification-item:hover{background:#f1f3f4;background:var(--accent-light);box-shadow:0 .125rem .25rem rgba(0,0,0,.075);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.notification-item.urgent{background:#f8d7da;border-left:4px solid;border-color:#f5c6cb}.notification-content{flex:1 1}.notification-time{font-size:.75rem;font-weight:500;margin-top:.5rem}.dismiss-button,.notification-time{color:#adb5bd;color:var(--text-muted)}.dismiss-button{background:none;border:none;border-radius:.375rem;border-radius:var(--radius-sm);cursor:pointer;font-size:1.125rem;padding:.25rem;transition:all .2s ease}.dismiss-button:hover{background:#e8eaed;background:var(--accent-medium);color:#6c757d;color:var(--text-secondary)}.empty-notifications{background:#f8f9fa;background:var(--bg-secondary);border-radius:.5rem;border-radius:var(--radius-md);color:#adb5bd;color:var(--text-muted);font-style:italic;padding:2rem;text-align:center}.video-uploader{background:#fff;background:var(--bg-primary);border:1px solid #dee2e6;border:1px solid var(--border-light);border-radius:.75rem;border-radius:var(--radius-lg);box-shadow:0 .125rem .25rem rgba(0,0,0,.075);box-shadow:var(--shadow-sm);margin-bottom:2rem;padding:2rem}.video-uploader .upload-controls{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.progress-container{margin:1.5rem 0}.progress{background:#dee2e6;background:var(--border-light);height:8px;overflow:hidden}.progress,.progress-bar{border-radius:.375rem;border-radius:var(--radius-sm)}.progress-bar{background:linear-gradient(90deg,#5f6368,#6c757d);background:linear-gradient(90deg,var(--accent-dark),var(--text-secondary));color:#fff;color:var(--bg-primary);height:100%;line-height:8px;text-align:center;transition:width .3s ease}.video-player{background:#fff;background:var(--bg-primary);border:1px solid #dee2e6;border:1px solid var(--border-light);border-radius:.75rem;border-radius:var(--radius-lg);box-shadow:0 .125rem .25rem rgba(0,0,0,.075);box-shadow:var(--shadow-sm);margin-bottom:2rem;padding:1.5rem}.video-player-header{align-items:center;border-bottom:1px solid #dee2e6;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.close-button{background:none;border:none;border-radius:.375rem;border-radius:var(--radius-sm);color:#adb5bd;color:var(--text-muted);cursor:pointer;font-size:1.5rem;padding:.25rem;transition:all .2s ease}.close-button:hover{background:#e8eaed;background:var(--accent-medium);color:#212529;color:var(--text-primary)}.video-container{border-radius:.5rem;border-radius:var(--radius-md);height:0;margin-bottom:1.5rem;overflow:hidden;padding-bottom:56.25%;position:relative}.video-container,.video-container video{background:#343a40;background:var(--bg-dark)}.video-container video{height:100%;left:0;position:absolute;top:0;width:100%}.video-info{background:#f8f9fa;background:var(--bg-secondary);border:1px solid #dee2e6;border:1px solid var(--border-light);border-radius:.5rem;border-radius:var(--radius-md);padding:1rem}.video-list{margin-bottom:3rem}.video-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.video-item{background:#fff;background:var(--bg-primary);border:1px solid #dee2e6;border:1px solid var(--border-light);border-radius:.75rem;border-radius:var(--radius-lg);box-shadow:0 .125rem .25rem rgba(0,0,0,.075);box-shadow:var(--shadow-sm);cursor:pointer;overflow:hidden;transition:all .3s ease}.video-item:hover{box-shadow:0 .5rem 1rem #00000026;box-shadow:var(--shadow-md);transform:translateY(-6px)}.video-thumbnail{background:#e9ecef;background:var(--bg-tertiary);height:180px;overflow:hidden;position:relative}.video-thumbnail img{height:100%;object-fit:cover;width:100%}.video-placeholder{align-items:center;background:#343a40;background:var(--bg-dark);display:flex;height:100%;justify-content:center}.video-icon{color:#adb5bd;color:var(--text-muted);font-size:48px}.video-details{padding:1.5rem}.video-title{color:#212529;color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 .75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-child,.video-date{color:#6c757d;color:var(--text-secondary);font-size:.875rem;line-height:1.4;margin:0}.no-videos{background:#fff;background:var(--bg-primary);border:1px solid #dee2e6;border:1px solid var(--border-light);border-radius:.75rem;border-radius:var(--radius-lg);color:#adb5bd;color:var(--text-muted);font-style:italic;padding:3rem 2rem;text-align:center}.select-user-type{margin:3rem auto;padding:2rem;text-align:center;width:100%}.user-type-buttons{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:2rem}.user-type-buttons button{background:#fff;background:var(--bg-primary);border:2px solid #dee2e6;border:2px solid var(--border-light);border-radius:.75rem;border-radius:var(--radius-lg);box-shadow:0 .125rem .25rem rgba(0,0,0,.075);box-shadow:var(--shadow-sm);cursor:pointer;font-size:1.125rem;font-weight:600;padding:2rem 1.5rem;transition:all .3s ease}.user-type-buttons button:hover{background:#f1f3f4;background:var(--accent-light);border-color:#5f6368;border-color:var(--accent-dark);box-shadow:0 .5rem 1rem #00000026;box-shadow:var(--shadow-md);transform:translateY(-4px)}.login-form,.register-form{background:#fff;background:var(--bg-primary);border:1px solid #dee2e6;border:1px solid var(--border-light);border-radius:.75rem;border-radius:var(--radius-lg);box-shadow:0 1rem 3rem rgba(0,0,0,.175);box-shadow:var(--shadow-lg);margin:3rem auto;max-width:500px;padding:2.5rem;width:100%}.share-notification{border:1px solid #ced4da;border-left:4px solid #5f6368;border:1px solid var(--border-medium);border-left:4px solid var(--accent-dark);margin-top:1.5rem;padding:1rem 1.5rem}.data-sent-notification,.share-notification{background:#f1f3f4;background:var(--accent-light);border-radius:.5rem;border-radius:var(--radius-md);color:#212529;color:var(--text-primary)}.data-sent-notification{border:1px solid #ced4da;border:1px solid var(--border-medium);display:inline-block;font-size:.875rem;font-weight:500;margin-top:.75rem;padding:.5rem 1rem}.share-buttons{display:flex;gap:1rem;margin-top:2rem}.medical-history{margin-bottom:2rem}.medical-history-item{background:#f8f9fa;background:var(--bg-secondary);border:1px solid #dee2e6;border:1px solid var(--border-light);border-radius:.5rem;border-radius:var(--radius-md);margin-top:.75rem;padding:1rem}.medical-notes{margin-top:2rem}.notes-textarea{background:#fff;background:var(--bg-primary);border:2px solid #ced4da;border:2px solid var(--border-medium);border-radius:.5rem;border-radius:var(--radius-md);color:#212529;color:var(--text-primary);font-family:inherit;margin-bottom:1rem;min-height:120px;padding:1rem;resize:vertical;transition:border-color .2s ease;width:100%}.notes-textarea:focus{border-color:#5f6368;border-color:var(--accent-dark);box-shadow:0 0 0 3px #5f63681a;outline:none}.no-health-data{background:#f8f9fa;background:var(--bg-secondary);border:1px solid #dee2e6;border:1px solid var(--border-light);border-radius:.75rem;border-radius:var(--radius-lg);color:#adb5bd;color:var(--text-muted);font-style:italic;margin:2rem 0;padding:2rem;text-align:center}.fade-in{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1200px){.dashboard-grid{gap:1.5rem;grid-template-columns:1fr}.children-list,.patient-list{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}@media (max-width:768px){body{font-size:15px}.container{padding:1rem}.dashboard-container{padding:0}.navbar{flex-direction:column;gap:1rem;padding:1rem}.navbar ul{flex-wrap:wrap;justify-content:center;margin:0;width:100%}.navbar-logo{height:50px}.athlete-tabs{padding:0 1rem}.card-content,.card-header{padding:1rem}.children-selector,.dashboard-grid,.patient-selector{padding:0 1rem}.children-list,.patient-list{grid-template-columns:1fr}.share-buttons{flex-direction:column}.user-type-buttons{gap:1rem;grid-template-columns:1fr}.user-type-buttons button{font-size:1rem;padding:1.5rem 1rem}.video-grid{gap:1rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.login-form,.register-form{margin:2rem 1rem;padding:2rem}.select-user-type{margin:2rem auto;padding:1.5rem}.video-uploader{padding:1.5rem}.video-details{padding:1rem}}@media (max-width:480px){body{font-size:14px}h1{font-size:1.75rem}h2{font-size:1.5rem}.container,.navbar{padding:.75rem}.navbar-logo{height:45px}.card-content,.card-header{padding:1rem}.tab-button{font-size:.875rem;padding:.5rem 1rem}.child-item,.patient-item{padding:1rem}.patient-name{font-size:1rem}.video-grid{grid-template-columns:1fr}.login-form,.register-form{margin:1rem;padding:1.5rem}.user-type-buttons button{font-size:.95rem;padding:1.25rem 1rem}.back-button,.btn{font-size:.875rem;padding:.5rem 1rem}.video-uploader{padding:1rem}.biometric-item,.medical-history-item,.notification-item{padding:.75rem}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-muted{color:#adb5bd;color:var(--text-muted)}.text-primary{color:#212529;color:var(--text-primary)}.text-secondary{color:#6c757d;color:var(--text-secondary)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.mt-0{margin-top:0}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.p-0{padding:0}.p-1{padding:.5rem}.p-2{padding:1rem}.p-3{padding:1.5rem}.p-4{padding:2rem}.w-100{width:100%}.h-100{height:100%}.d-flex{display:flex}.d-grid{display:grid}.d-block{display:block}.d-inline{display:inline}.d-inline-block{display:inline-block}.d-none{display:none}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.justify-content-start{justify-content:flex-start}.justify-content-end{justify-content:flex-end}.align-items-center{align-items:center}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.gap-1{gap:.5rem}.gap-2{gap:1rem}.gap-3{gap:1.5rem}.gap-4{gap:2rem}.border{border:1px solid #dee2e6;border:1px solid var(--border-light)}.border-top{border-top:1px solid #dee2e6;border-top:1px solid var(--border-light)}.border-bottom{border-bottom:1px solid #dee2e6;border-bottom:1px solid var(--border-light)}.border-left{border-left:1px solid #dee2e6;border-left:1px solid var(--border-light)}.border-right{border-right:1px solid #dee2e6;border-right:1px solid var(--border-light)}.rounded{border-radius:.5rem;border-radius:var(--radius-md)}.rounded-sm{border-radius:.375rem;border-radius:var(--radius-sm)}.rounded-lg{border-radius:.75rem;border-radius:var(--radius-lg)}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075);box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:0 .5rem 1rem #00000026;box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175);box-shadow:var(--shadow-lg)}.bg-primary{background-color:#fff;background-color:var(--bg-primary)}.bg-secondary{background-color:#f8f9fa;background-color:var(--bg-secondary)}.bg-tertiary{background-color:#e9ecef;background-color:var(--bg-tertiary)}:focus{outline:2px solid #5f6368;outline:2px solid var(--accent-dark);outline-offset:2px}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@media print{.btn,.navbar,.user-type-buttons{display:none}.card{border:1px solid #000;box-shadow:none;break-inside:avoid;page-break-inside:avoid}body{background:#fff;color:#000}}.modal-overlay.fullscreen-modal{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:var(--bg-overlay);bottom:0!important;display:flex;height:100vh!important;justify-content:center;left:0!important;margin:0!important;padding:var(--spacing-lg);position:fixed!important;right:0!important;top:0!important;transform:none!important;width:100vw!important;z-index:9999!important}.modal-content.modal-fullscreen{animation:modalSlideInFast .2s ease-out!important;background:#fff;background:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;height:auto;margin:0!important;max-height:90vh!important;max-width:800px!important;overflow:hidden;position:relative;transform:none!important;width:90vw!important}@keyframes modalSlideInFast{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-content.modal-fullscreen .modal-body{flex:1 1;max-height:calc(90vh - 120px);overflow-y:auto;padding:var(--spacing-xl)}.modal-content.modal-fullscreen .modal-header{background:linear-gradient(135deg,#e9ecef,var(--primary-light));background:linear-gradient(135deg,var(--bg-tertiary),var(--primary-light));border-bottom:1px solid #dee2e6;border-bottom:1px solid var(--border-light);flex-shrink:0;padding:var(--spacing-xl)}.modal-content.modal-fullscreen .modal-footer{background:#f8f9fa;background:var(--bg-secondary);border-top:1px solid #dee2e6;border-top:1px solid var(--border-light);flex-shrink:0;padding:var(--spacing-xl)}@media (max-width:767px){.modal-content.modal-fullscreen{margin:0!important;max-height:95vh!important;max-width:none!important;width:95vw!important}.modal-overlay.fullscreen-modal{padding:var(--spacing-sm)!important}.modal-content.modal-fullscreen .modal-body,.modal-content.modal-fullscreen .modal-footer,.modal-content.modal-fullscreen .modal-header{padding:var(--spacing-lg)}.modal-content.modal-fullscreen .modal-body{max-height:calc(95vh - 100px)}}.fullscreen-modal{contain:layout style paint;position:fixed!important}.athlete-info-panel .modal-overlay.fullscreen-modal,.card .modal-overlay.fullscreen-modal,.panel-content .modal-overlay.fullscreen-modal{bottom:0!important;height:100vh!important;left:0!important;margin:0!important;position:fixed!important;right:0!important;top:0!important;transform:none!important;width:100vw!important;z-index:9999!important}.modal-content.modal-fullscreen .modal-close{align-items:center;background:none;border:none;border-radius:.5rem;border-radius:var(--radius-md);color:#adb5bd;color:var(--text-muted);cursor:pointer;display:flex;font-size:var(--font-size-xl);font-weight:700;height:var(--touch-target-min);justify-content:center;padding:var(--spacing-sm);transition:all var(--transition-normal);width:var(--touch-target-min)}.modal-content.modal-fullscreen .modal-close:hover{background:var(--primary-light);color:var(--primary-dark);transform:scale(1.1)}
/*# sourceMappingURL=main.c38ba6d2.css.map*/