:root{--bg-primary:#121212;--bg-secondary:#1a2332;--bg-tertiary:#2e3441;--bg-card:#2d3645;--bg-header:linear-gradient(135deg,#151d2a,#1a2332);--bg-calendar-header:linear-gradient(135deg,#1a2332,#2e3441);--bg-sidebar:linear-gradient(180deg,#1a2332,#2e3441);--bg-dropdown:#2e3441;--bg-modal:linear-gradient(135deg,#2a2a2a,#1a2332);--text-primary:#fff;--text-secondary:#fff9;--text-tertiary:#a0a0a0;--border-color:#ffffff1a;--border-color-light:#fff3;--accent-primary:#007bff;--accent-hover:#0056b3;--shadow:#00000080;--shadow-light:#0000004d}[data-theme=light]{--bg-primary:#f0f0f0;--bg-secondary:#e8e8e8;--bg-tertiary:#e0e0e0;--bg-card:#f5f5f5;--bg-header:linear-gradient(135deg,#e8e8e8,#e0e0e0);--bg-calendar-header:linear-gradient(135deg,#f5f5f5,#f0f0f0);--bg-sidebar:linear-gradient(180deg,#e8e8e8,#e0e0e0);--bg-dropdown:#f5f5f5;--bg-modal:linear-gradient(135deg,#f5f5f5,#f0f0f0);--text-primary:#2c3e50;--text-secondary:#5a6c7d;--text-tertiary:#7f8c9a;--border-color:#00000014;--border-color-light:#0000001f;--accent-primary:#007bff;--accent-hover:#0056b3;--shadow:#0000001f;--shadow-light:#00000014}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#1a2332;background-color:var(--bg-secondary);color:#fff;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;height:100vh;margin:0;overflow:hidden;padding:0;transition:background-color .3s ease,color .3s ease}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}#root,*,body,html{margin:0;padding:0}#root,body,html{height:100%}.login-container{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;align-items:stretch;background:linear-gradient(135deg,#121212,#1a2332 50%,#2e3441);display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;min-height:100vh}.login-split-left{align-items:center;display:flex;flex:1 1;justify-content:center;overflow:hidden;padding:40px;position:relative}.login-background-image{image-rendering:-webkit-optimize-contrast;object-fit:cover;object-position:center;will-change:transform}.login-background-image,.login-image-overlay{height:100%;left:0;position:absolute;top:0;width:100%}.login-image-overlay{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);background:linear-gradient(135deg,#1212124d,#1a233266)}.login-split-right{align-items:center;background:linear-gradient(135deg,#121212,#1a2332 50%,#2e3441);display:flex;flex:1 1;justify-content:center;padding:40px}@media (max-width:968px){.login-container{flex-direction:column}.login-split-left{min-height:40vh;padding:20px}.login-split-right{min-height:60vh;padding:20px}}.login-form{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff05;border:1px solid #fff3;border-radius:12px;box-shadow:0 8px 32px #0000004d;max-width:450px;padding:40px;position:relative;width:100%;z-index:1}[data-theme=light] .login-form{background:#00000005;border:1px solid var(--border-color);box-shadow:0 8px 32px var(--shadow)}.login-header{align-items:center;display:flex;flex-direction:column;gap:12px;margin-bottom:32px;overflow:hidden;text-align:center;width:100%}.login-logo{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:block;height:80px;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;image-rendering:pixelated;image-rendering:auto;margin-bottom:4px;max-height:80px;max-width:100%;object-fit:contain;transform:translateZ(0);width:auto}.login-header h1{color:#fff;font-size:28px;font-weight:700;margin:0 0 8px}.login-header p{color:#a0a0a0;font-size:16px;margin:0}.login-button{background:#0000;border:2px solid #fff;border-radius:15px;color:#fff;cursor:pointer;font-family:inherit;font-size:16px;font-weight:600;letter-spacing:.5px;padding:14px;text-transform:uppercase;transition:all .3s ease;width:100%}.login-button:hover:not(:disabled){background:#ffffff1a;border-color:#fff;transform:translateY(-1px)}.login-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.login-footer{margin-top:24px;text-align:center}.login-footer p{color:#a0a0a0;font-size:14px;margin:0}.register-link{color:#fff;font-weight:600;text-decoration:none;transition:color .3s ease}.register-link:hover{color:#fffc;text-decoration:underline}.calendar-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--bg-calendar-header);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;overflow:visible;padding:16px 20px;position:-webkit-sticky;position:sticky;top:0;transition:background .3s ease,border-color .3s ease;z-index:1000}.calendar-container.multi-week-view .calendar-header{position:relative;z-index:1000002}.header-left{gap:16px}.date-navigation,.header-left{align-items:center;display:flex}.date-navigation{gap:8px}.nav-button{align-items:center;background-color:var(--bg-card);border:1px solid var(--border-color-light);border-radius:4px;color:var(--text-primary);cursor:pointer;display:flex;font-size:16px;font-weight:700;height:32px;justify-content:center;transition:all .2s;width:32px}.nav-button:hover{border-color:var(--border-color-light)}.nav-button:hover,[data-theme=light] .nav-button:hover{background-color:var(--bg-tertiary)}.current-month{color:var(--text-primary);font-size:18px;font-weight:600;min-width:120px;text-align:center}.today-button{background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-hover) 100%);border:1px solid var(--accent-primary);border-radius:6px;box-shadow:0 2px 8px #007bff33;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .3s ease}.today-button:hover{background:linear-gradient(135deg,var(--accent-hover) 0,#004085 100%);box-shadow:0 4px 12px #007bff4d;transform:translateY(-1px)}.header-center{overflow:visible;position:relative;z-index:1000002}.calendar-header.modal-open,.calendar-header.modal-open .header-center{z-index:999}.athlete-filter{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid var(--border-color-light);border-radius:6px;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;gap:8px;padding:8px 12px;transition:all .3s ease;-webkit-user-select:none;user-select:none}[data-theme=light] .athlete-filter{background:#00000005}.athlete-filter:hover{background:#ffffff1a;border-color:var(--border-color-light);transform:translateY(-1px)}[data-theme=light] .athlete-filter:hover{background:#0000000d}.add-athlete-button{align-items:center;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-hover) 100%);border:1px solid var(--accent-primary);border-radius:6px;box-shadow:0 2px 8px #007bff33;color:#fff;cursor:pointer;display:flex;font-size:20px;font-weight:700;height:32px;justify-content:center;line-height:1;margin-left:8px;padding:0;transition:all .3s ease;width:32px}.add-athlete-button:hover{background:linear-gradient(135deg,var(--accent-hover) 0,#004085 100%);box-shadow:0 4px 12px #007bff4d;transform:translateY(-1px)}.dropdown-arrow{color:var(--text-tertiary);font-size:10px;transition:transform .3s ease}.dropdown-arrow.open{transform:rotate(180deg)}.athlete-dropdown{animation:dropdownSlide .2s ease;background:var(--bg-dropdown);border:1px solid var(--border-color-light);border-radius:8px;box-shadow:0 8px 24px var(--shadow);left:0;max-height:400px;min-width:200px;overflow-x:hidden;overflow-y:auto;position:absolute;top:calc(100% + 8px);z-index:1000003}[data-theme=light] .athlete-dropdown{background:var(--bg-card);box-shadow:0 8px 24px var(--shadow)}.athlete-dropdown::-webkit-scrollbar{width:8px}.athlete-dropdown::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px;margin:4px 0}.athlete-dropdown::-webkit-scrollbar-thumb{background:#007bff80;border-radius:4px;-webkit-transition:background .3s ease;transition:background .3s ease}.athlete-dropdown::-webkit-scrollbar-thumb:hover{background:#007bffb3}.athlete-dropdown{scrollbar-color:#007bff80 #ffffff0d;scrollbar-width:thin}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.athlete-option{align-items:center;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;justify-content:space-between;padding:12px 16px;transition:all .2s ease}.athlete-option:hover{background:#ffffff1a}[data-theme=light] .athlete-option:hover{background:#0000000d}.athlete-option.selected{background:#007bff33;color:var(--accent-primary);font-weight:500}[data-theme=light] .athlete-option.selected{background:#007bff1a}.dropdown-divider{margin:4px 0}.check-icon{color:var(--accent-primary);font-size:12px}.action-buttons{gap:8px}.action-button{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid var(--border-color-light);border-radius:6px;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;height:32px;justify-content:center;transition:all .3s ease;width:32px}[data-theme=light] .action-button{background:#00000005}.action-button:hover{background:#ffffff1a;border-color:var(--border-color-light);transform:translateY(-1px)}[data-theme=light] .action-button:hover{background:#0000000d}.action-button.active{background:#4a90e233;border-color:#4a90e266}.calendar-settings-overlay{background:#0000;bottom:0;left:0;pointer-events:auto;position:fixed;right:0;top:0;z-index:1000001}.calendar-settings-modal{animation:slideDown .2s ease;background:var(--bg-dropdown);border:1px solid var(--border-color-light);border-radius:8px;box-shadow:0 8px 24px var(--shadow);min-width:280px;padding:16px;position:fixed;transition:background .3s ease,border-color .3s ease;z-index:1000002}[data-theme=light] .calendar-settings-modal{background:var(--bg-card);box-shadow:0 8px 24px var(--shadow)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.calendar-settings-section{margin-bottom:20px}.calendar-settings-section:last-child{margin-bottom:0}.calendar-settings-divider{background:var(--border-color);height:1px;margin:12px 0}.calendar-settings-section-title{color:var(--text-primary);font-size:14px;font-weight:600;letter-spacing:.2px;margin:0 0 12px}.calendar-settings-radio-group{display:flex;flex-direction:column;gap:8px}.calendar-settings-radio-label{align-items:center;cursor:pointer;display:flex;gap:8px;padding:4px 0;transition:all .2s ease}.calendar-settings-radio-label:hover{background:#ffffff0d;border-radius:4px;margin-left:-4px;margin-right:-4px;padding-left:4px;padding-right:4px}[data-theme=light] .calendar-settings-radio-label:hover{background:#0000000d}.calendar-settings-radio{accent-color:var(--accent-primary);cursor:pointer;height:16px;margin:0;width:16px}.calendar-settings-radio-text{color:var(--text-primary);font-size:14px;-webkit-user-select:none;user-select:none}.calendar-settings-checkbox-group{display:flex;flex-direction:column;gap:8px}.calendar-settings-checkbox-label{align-items:center;cursor:pointer;display:flex;gap:8px;padding:4px 0;transition:all .2s ease}.calendar-settings-checkbox-label:hover{background:#ffffff0d;border-radius:4px;margin-left:-4px;margin-right:-4px;padding-left:4px;padding-right:4px}[data-theme=light] .calendar-settings-checkbox-label:hover{background:#0000000d}.calendar-settings-checkbox{accent-color:var(--accent-primary);cursor:pointer;height:16px;margin:0;width:16px}.calendar-settings-checkbox-text{color:var(--text-primary);font-size:14px;-webkit-user-select:none;user-select:none}.account-info-step{gap:24px}.account-info-step,.form-section{display:flex;flex-direction:column}.form-section{gap:20px}.input-group{gap:8px}.required{color:#ff3b30}.form-input.error{border-color:#ff3b30}.error-text{font-size:12px;margin:0}.triathlon-select-wrapper{position:relative;width:100%}.triathlon-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;padding:12px 40px 12px 16px;transition:all .2s ease;width:100%}.triathlon-select:hover{background:#ffffff26;border-color:#ffffff4d}.triathlon-select:focus{background:#ffffff26;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a;outline:none}.triathlon-select option{background:#2a2a2a;color:#fff}.triathlon-select-wrapper .selector-arrow{color:#fff9;font-size:10px;pointer-events:none;position:absolute;right:16px;top:50%;transform:translateY(-50%);transition:transform .2s ease}.event-details-step{display:flex;flex-direction:column;gap:24px}.selector-button-container{position:relative}.selector-button{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;justify-content:space-between;padding:12px 16px;transition:all .2s ease;width:100%}.selector-button:hover{background:#ffffff26;border-color:#ffffff4d}.selector-arrow{color:#fff9;font-size:10px;transition:transform .2s ease}.dropdown-menu{background:#2a2a2a;border:1px solid #fff3;border-radius:8px;box-shadow:0 8px 24px #00000080;left:0;max-height:300px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 4px);z-index:1000}.dropdown-item{color:#fff;justify-content:space-between;transition:background .2s ease}.dropdown-item:hover{background:#ffffff1a}.dropdown-item.selected{background:#4a90e233;color:#4a90e2}.check-icon{color:#4a90e2;font-weight:700}.priority-main{font-size:14px;font-weight:600}.priority-sub{color:#ffffffb3;font-size:12px;margin-top:2px}.distance-modal,.goal-modal{background:#2a2a2a;border:1px solid #fff3;border-radius:8px;box-shadow:0 8px 24px #00000080;left:0;padding:20px;position:absolute;right:0;top:calc(100% + 8px);z-index:1001}.distance-modal-header,.goal-modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.distance-modal-header h3,.goal-modal-header h3{color:#fff;font-size:18px;font-weight:600;margin:0}.close-modal-button{align-items:center;background:#0000;border:none;color:#fff9;cursor:pointer;display:flex;font-size:20px;height:24px;justify-content:center;padding:0;transition:color .2s ease;width:24px}.close-modal-button:hover{color:#fff}.goal-modal-content{display:flex;flex-direction:column;gap:16px}.goal-input-group{display:flex;flex-direction:column;gap:8px}.goal-input-group label{color:#fffc;font-size:13px}.form-textarea{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;font-family:inherit;font-size:14px;padding:12px 16px;resize:vertical;transition:all .2s ease}.form-textarea:focus{background:#ffffff26;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a;outline:none}.thresholds-step{display:flex;flex-direction:row;flex-wrap:wrap;gap:20px}.info-box{flex-basis:100%;margin-bottom:8px}.info-text{color:#fffc;line-height:1.5}.sport-threshold-section{background:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;flex:1 1;min-width:280px;padding:20px}.section-header{margin-bottom:16px}.unit-toggle{border-radius:8px;font-size:12px;min-width:60px;padding:6px 12px}.unit-toggle:hover{background-color:#3d7ec6}.input-group{margin-bottom:16px}.sport-threshold-section .input-group:last-child{margin-bottom:0}.input-row{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.threshold-input{background-color:#ffffff1a;border:1px solid #fff3;padding:12px 16px;transition:all .2s}.threshold-input:focus{background:#ffffff26;box-shadow:0 0 0 3px #4a90e21a}.threshold-input::placeholder{color:#fff6}.training-phase-schedule-step{display:flex;flex-direction:column;gap:24px}.remove-phase-button:hover{background:#ff3b304d;border-color:#ff3b3099}.form-select{box-sizing:border-box;height:48px;line-height:20px;margin-top:-7px;padding:14px 16px}.add-phase-button:hover{background:#4a90e24d;border-color:#4a90e2b3;border-style:solid}.input-label-wrapper{align-items:center;display:flex;gap:8px;justify-content:center;margin-bottom:8px}.input-label{display:inline-block;margin:0}.phase-info-button{align-items:center;background:#4a90e233;border:1px solid #4a90e266;border-radius:50%;color:#4a90e2;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:14px;font-weight:600;height:20px;justify-content:center;line-height:1;margin:0;padding:0;transition:all .2s ease;width:20px}.phase-info-button:hover{background:#4a90e24d;border-color:#4a90e299;transform:scale(1.1)}.phase-info-overlay{animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.phase-info-modal{animation:slideIn .3s ease-out;background:linear-gradient(135deg,#2a2a2a,#1a2332);border:1px solid #ffffff1a;border-radius:16px;box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;left:50%;max-height:90vh;max-width:700px;overflow:hidden;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:1001}.phase-info-header{align-items:center;background:linear-gradient(135deg,#4a90e21a,#0000);border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:24px 28px}.phase-info-header h2{color:#fff;font-size:24px;font-weight:700;letter-spacing:.3px;margin:0}.phase-info-close{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;color:#b0b0b0;cursor:pointer;display:flex;flex-shrink:0;font-size:24px;height:40px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:40px}.phase-info-close:hover{background:#ff3b3033;border-color:#ff3b3066;color:#ff3b30}.phase-info-body{flex:1 1;overflow-y:auto;padding:28px}.phase-info-intro{color:#b0b0b0;font-size:14px;line-height:1.6;margin:0 0 24px}.phase-info-intro strong{color:#4a90e2;font-weight:600}.phase-info-list{display:flex;flex-direction:column;gap:16px}.phase-info-item{background:#ffffff08;border:1px solid #ffffff1a;border-radius:8px;padding:16px;transition:all .2s ease}.phase-info-item:hover{background:#ffffff0d;border-color:#4a90e24d}.phase-info-item h3{color:#fff;font-size:16px;font-weight:600;margin:0 0 8px}.phase-info-item p{color:#ffffffb3;font-size:14px;line-height:1.5;margin:0 0 8px}.phase-timing{background:#4a90e226;border:1px solid #4a90e24d;border-radius:4px;color:#4a90e2;display:inline-block;font-size:12px;font-weight:500;margin-top:4px;padding:4px 12px}.phase-info-body::-webkit-scrollbar{width:8px}.phase-info-body::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.phase-info-body::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.phase-info-body::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.weekly-structure-step{box-sizing:border-box;display:flex;flex-direction:column;height:100%;max-width:100%;min-height:0;overflow:hidden;padding:0;width:100%}.phase-header{flex-shrink:0;margin-bottom:24px}.phase-title{color:#fff;font-size:24px;font-weight:700;margin:0 0 8px}.phase-description{color:#ffffffb3;font-size:14px;line-height:1.6;margin:0}.modal-overlay{z-index:1000003}.athlete-onboarding-modal{animation:slideIn .3s ease-out;background:linear-gradient(135deg,#2a2a2a,#1a2332);border:1px solid #ffffff1a;border-radius:16px;box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;left:50%;max-height:90vh;max-width:1400px;overflow:hidden;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:1000004}[data-theme=light] .athlete-onboarding-modal{background:var(--bg-modal);border:1px solid var(--border-color);box-shadow:0 20px 60px var(--shadow)}.step-indicator{align-items:center;background:#0003;border-bottom:1px solid #ffffff1a;display:flex;justify-content:center;padding:20px 28px}.step-indicator-container{align-items:center;display:flex;flex:1 1;max-width:600px}.step-indicator-dot{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:14px;font-weight:600;height:36px;justify-content:center;transition:all .3s ease;width:36px}.step-indicator-dot.pending{background:#ffffff1a;border:2px solid #fff3;color:#fff6}.step-indicator-dot.active{background:linear-gradient(135deg,#4a90e2,#357abd);border:2px solid #4a90e280;box-shadow:0 4px 12px #4a90e24d;color:#fff}.step-indicator-dot.completed{background:linear-gradient(135deg,#06d6a0,#05b385);border:2px solid #06d6a080;color:#fff}.step-indicator-line{background:#ffffff1a;flex:1 1;height:2px;margin:0 8px;transition:all .3s ease}.step-indicator-line.completed{background:linear-gradient(90deg,#06d6a0,#06d6a04d)}.error-message{align-items:flex-start;background:#ff3b3026;border:1px solid #ff3b3066;color:#ff3b30;display:flex;gap:12px;margin-bottom:20px;padding:16px}.error-icon{font-size:20px;margin-top:2px}.error-content{flex:1 1}.error-title{font-size:15px;font-weight:600;margin-bottom:4px}.error-text{color:#ff3b30e6;line-height:1.5}.validation-warning{align-items:flex-start;background:#ffc10726;border:1px solid #ffc10766;border-radius:8px;color:#ffc107;display:flex;font-size:14px;gap:12px;margin-bottom:20px;padding:16px}.warning-icon{font-size:20px;margin-top:2px}.warning-content{flex:1 1}.warning-title{color:#ffc107;font-size:15px;font-weight:600;margin-bottom:8px}.warning-text{color:#ffc107e6;line-height:1.8}.warning-text>div{margin-bottom:4px}.modal-button.skip{background:#ffffff0d;border:1px solid #ffffff1a;color:#b0b0b0}.modal-button.skip:hover:not(:disabled){background:#ffffff1a;border-color:#fff3}.button-spinner{animation:spin .6s linear infinite;display:inline-block;height:14px;margin-right:8px;width:14px}.workout-chart{border-radius:0;margin:0;overflow:hidden;padding:0;width:100%}.workout-chart svg{height:100%;width:100%}.workout-card-menu{flex-shrink:0;position:relative}.workout-card-menu__button{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;font-size:20px;justify-content:center;line-height:1;padding:4px 8px;transition:all .2s;-webkit-user-select:none;user-select:none}.workout-card-menu__button:hover{background:#ffffff0d;color:#999}[data-theme=light] .workout-card-menu__button:hover{background:#0000000d}.workout-card-menu__dropdown{animation:menuFadeIn .15s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--bg-dropdown);border:1px solid var(--border-color-light);border-radius:8px;box-shadow:0 12px 32px var(--shadow),0 2px 8px var(--shadow-light),inset 0 1px 0 #ffffff0d;min-width:160px;overflow:visible;position:absolute;right:0;top:calc(100% + 4px);z-index:1000001}[data-theme=light] .workout-card-menu__dropdown{background:var(--bg-card);box-shadow:0 8px 24px var(--shadow)}.workout-card-menu__item{align-items:center;background:none;border:none;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;font-weight:400;gap:12px;padding:10px 16px;text-align:left;transition:all .15s;white-space:nowrap;width:100%}.workout-card-menu__item:first-child{border-radius:8px 8px 0 0}.workout-card-menu__item:last-child{border-radius:0 0 8px 8px}.workout-card-menu__item:hover{background:#ffffff1a}[data-theme=light] .workout-card-menu__item:hover{background:var(--bg-hover-overlay-dark)}.workout-card-menu__item:active{background:#ffffff26}[data-theme=light] .workout-card-menu__item:active{background:var(--bg-hover-overlay)}.workout-card-menu__item--delete{border-top:1px solid #ffffff1a;color:#f44;margin-top:4px}.workout-card-menu__item--delete:hover{background:#ff444426}.workout-card-menu__icon{align-items:center;display:inline-flex;flex-shrink:0;font-size:16px;justify-content:center;width:20px}.workout-card-menu__label{flex:1 1}.workout-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#2d3645;border:1px solid #ffffff1a;border-left:4px solid var(--accent-primary);border-radius:8px;box-shadow:0 4px 12px #0000004d;cursor:pointer;margin-bottom:4px;overflow:visible;padding:12px;position:relative;transition:all .3s ease;z-index:1}[data-theme=light] .workout-card{background:linear-gradient(135deg,#e8f4f8,#d1ecf1);border:1px solid #667eea33;box-shadow:0 2px 8px #667eea33}.workout-card.menu-active{box-shadow:0 12px 32px #007bff66;overflow:visible!important;z-index:1000001}.workout-card:hover{border-left-color:#0056b3;box-shadow:0 8px 24px #007bff33;transform:translateY(-2px)}.workout-card.draggable{cursor:grab}.workout-card.dragging{cursor:grabbing;opacity:.5}.drag-handle{color:#666;cursor:grab;font-size:14px;padding:4px;-webkit-user-select:none;user-select:none}.drag-handle:hover{color:#999}.workout-card.completed:not(.has-activity){background:linear-gradient(135deg,#2d4a2d,#1a3a1a);border-left-color:#28a745;box-shadow:0 4px 12px #28a74533}[data-theme=light] .workout-card.completed:not(.has-activity){background:linear-gradient(135deg,#d4edda,#c3e6cb);border-left-color:#28a745;box-shadow:0 4px 12px #28a74526}.workout-card.completed.has-activity{border-left-color:#28a745;box-shadow:0 4px 12px #28a74533}.workout-card.event{background:linear-gradient(135deg,#4a3d1a,#2d2a1a);border-left-color:#ffc107;box-shadow:0 4px 12px #ffc10733}[data-theme=light] .workout-card.event{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border-left-color:#ffc107;box-shadow:0 4px 12px #ffc10726}.workout-card.activity{background:linear-gradient(135deg,#1a3a4a,#1a2d3a);border-left-color:#17a2b8;border-left-width:6px;box-shadow:0 4px 12px #17a2b84d}[data-theme=light] .workout-card.activity{background:linear-gradient(135deg,#d1ecf1,#bee5eb);border-left-color:#17a2b8;box-shadow:0 4px 12px #17a2b833}.workout-card.activity:before{color:#17a2b8;content:"📊 UNMATCHED ACTIVITY";display:block;font-size:9px;font-weight:700;letter-spacing:.5px;margin-bottom:4px}.workout-header{align-items:center;display:flex;gap:8px;margin-bottom:8px;overflow:visible;position:relative}.workout-icon{filter:brightness(0) invert(1) opacity(.85);flex-shrink:0;height:24px;object-fit:contain;width:24px}[data-theme=light] .workout-icon{filter:brightness(0) opacity(.9)}.workout-title{color:#fff;flex:1 1;font-size:13px;font-weight:600;line-height:1.3}[data-theme=light] .workout-title{color:#1a1a1a}.workout-menu{background:none;border:none;border-radius:3px;color:#a0a0a0;cursor:pointer;font-size:14px;line-height:1;padding:2px 4px;transition:all .2s}.workout-menu:hover{background-color:#ffffff1a;color:var(--text-primary)}[data-theme=light] .workout-menu:hover{background-color:#0000000d}.workout-content{margin-bottom:8px}.workout-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#a0a0a0;display:-webkit-box;font-size:11px;line-height:1.4;margin-bottom:8px;overflow:hidden}[data-theme=light] .workout-description{color:#1a1a1a}.workout-description b,.workout-description strong{color:#fff;font-weight:600}[data-theme=light] .workout-description b,[data-theme=light] .workout-description strong{color:#1a1a1a}.workout-description em,.workout-description i{font-style:italic}.workout-description u{text-decoration:underline}.workout-metrics{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px}.metric{align-items:center;min-width:50px}.metric-value{font-size:12px}[data-theme=light] .metric-value{line-height:1.2}.metric-label{color:#a0a0a0;font-size:9px;margin-top:2px}.workout-goals{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.goal-tag{background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-hover) 100%);border-radius:10px;box-shadow:0 2px 4px #007bff33;color:#fff;font-size:9px;font-weight:500;letter-spacing:.3px;padding:2px 6px;text-transform:uppercase}.goal-more{color:#a0a0a0;font-size:9px;font-style:italic;padding:2px 0}.completion-indicator{background:linear-gradient(135deg,#28a745,#1e7e34);border-radius:12px;box-shadow:0 2px 4px #28a74533;color:#fff;font-size:10px;font-weight:600;margin-top:4px;padding:4px 8px;text-align:center}.matched-activity-info{background:#0003;border:1px solid #ffffff1a;border-radius:6px;margin-top:8px;padding:6px 8px}[data-theme=light] .matched-activity-info{background:#00000008;border:1px solid #0000001a}.activity-badge{align-items:center;color:#fff;display:flex;font-size:11px;font-weight:600;gap:4px;margin-bottom:4px}[data-theme=light] .activity-badge{color:#1a1a1a}.activity-details{color:#a0a0a0;font-size:10px;line-height:1.3}.workout-card.has-activity{border-left-width:6px}.workout-card.has-activity.fulfillment-excellent{background:linear-gradient(135deg,#1b4d3e,#153a2f)!important;box-shadow:0 4px 12px #28a74533}[data-theme=light] .workout-card.has-activity.fulfillment-excellent{background:linear-gradient(135deg,#a8e6cf,#8da)!important;box-shadow:0 4px 12px #28a7454d}.workout-card.has-activity.fulfillment-good{background:linear-gradient(135deg,#4d4d1b,#3a3a15)!important;box-shadow:0 4px 12px #ffc10733}[data-theme=light] .workout-card.has-activity.fulfillment-good{background:linear-gradient(135deg,#ffeaa7,#fdcb6e)!important;box-shadow:0 4px 12px #ffc1074d}.workout-card.has-activity.fulfillment-poor{background:linear-gradient(135deg,#4d1b1b,#3a1515)!important;box-shadow:0 4px 12px #dc354533}[data-theme=light] .workout-card.has-activity.fulfillment-poor{background:linear-gradient(135deg,#ffb3ba,#ff9aa2)!important;box-shadow:0 4px 12px #dc35454d}.workout-chart-container{border-top:1px solid #ffffff0d;margin-top:8px;overflow:visible}[data-theme=light] .workout-chart-container{border-top:1px solid #0000001a}@media (max-width:768px){.workout-card{padding:8px}.workout-metrics{gap:8px}.metric{min-width:40px}.metric-value{font-size:11px}.metric-label{font-size:8px}}.event-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--bg-card);border:1px solid var(--border-color);border-left:4px solid gold;border-radius:8px;box-shadow:0 4px 12px var(--shadow-light);cursor:pointer;margin-bottom:4px;overflow:visible;padding:12px;position:relative;transition:all .3s ease}[data-theme=light] .event-card{box-shadow:0 2px 8px var(--shadow-light)}.event-card:hover{border-left-color:#ffb000;box-shadow:0 8px 24px #ffc10733;transform:translateY(-2px)}.event-card.draggable{cursor:grab}.event-card.dragging{cursor:grabbing;opacity:.5}.event-header{align-items:flex-start;display:flex;gap:10px;margin-bottom:10px}.event-icon-container{align-items:center;background:#ffffff0d;border-radius:6px;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}[data-theme=light] .event-icon-container{background:#00000005}.event-icon{font-size:20px}.event-title-section{flex:1 1;min-width:0}.event-title{word-wrap:break-word;color:var(--text-primary);font-size:14px;font-weight:600;line-height:1.3;margin-bottom:4px}.event-countdown{background:#ffd7001a;border-radius:4px;color:gold;display:inline-block;font-size:11px;font-weight:500;margin-top:2px;padding:2px 6px}.event-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#a0a0a0;display:-webkit-box;font-size:11px;line-height:1.4;margin-bottom:10px;overflow:hidden}.event-description b,.event-description strong{color:var(--text-primary);font-weight:600}.event-description em,.event-description i{font-style:italic}.event-description u{text-decoration:underline}.event-details{border-top:1px solid #ffffff0d;display:flex;flex-wrap:wrap;gap:14px;padding-top:8px}[data-theme=light] .event-details{border-top:1px solid var(--border-color)}.event-detail-item{align-items:center;display:flex;flex-direction:column;min-width:60px}.event-detail-value{color:var(--text-primary);font-size:13px;font-weight:600;line-height:1.2;margin-bottom:2px;text-align:center}.event-detail-label{color:#a0a0a0;font-size:9px;letter-spacing:.5px;text-align:center;text-transform:uppercase}@media (max-width:768px){.event-card{padding:10px}.event-header{gap:8px}.event-icon-container{height:28px;width:28px}.event-icon{font-size:18px}.event-title{font-size:13px}.event-countdown{font-size:10px}.event-details{gap:10px}.event-detail-item{min-width:50px}.event-detail-value{font-size:12px}.event-detail-label{font-size:8px}}.note-card-menu{flex-shrink:0;position:relative}.note-card-menu__button{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:20px;justify-content:center;line-height:1;padding:4px 8px;transition:all .2s;-webkit-user-select:none;user-select:none}.note-card-menu__button:hover{background:#ffffff0d;color:var(--text-primary)}[data-theme=light] .note-card-menu__button:hover{background:#0000000d}.note-card-menu__dropdown{animation:menuFadeIn .15s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--bg-dropdown);border:1px solid var(--border-color-light);border-radius:8px;box-shadow:0 12px 32px var(--shadow),0 2px 8px var(--shadow-light),inset 0 1px 0 #ffffff0d;min-width:160px;overflow:visible;position:absolute;right:0;top:calc(100% + 4px);z-index:1000001}[data-theme=light] .note-card-menu__dropdown{background:var(--bg-card);box-shadow:0 8px 24px var(--shadow)}.note-card-menu__item{align-items:center;background:none;border:none;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;font-weight:400;gap:12px;padding:10px 16px;text-align:left;transition:all .15s;white-space:nowrap;width:100%}.note-card-menu__item:first-child{border-radius:8px 8px 0 0}.note-card-menu__item:last-child{border-radius:0 0 8px 8px}.note-card-menu__item:hover{background:#ffffff1a}.note-card-menu__item:active{background:#ffffff26}.note-card-menu__item--delete{border-top:1px solid #ffffff1a;color:#f44;margin-top:4px}.note-card-menu__item--delete:hover{background:#ff444426}.note-card-menu__icon{font-size:16px;line-height:1}.note-card-menu__label{flex:1 1}.note-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--bg-card);border:1px solid var(--border-color);border-left:4px solid #9b59b6;border-radius:8px;box-shadow:0 4px 12px var(--shadow-light);cursor:pointer;margin-bottom:4px;overflow:visible;padding:12px;position:relative;transition:all .3s ease;z-index:1}[data-theme=light] .note-card{background:var(--bg-card);box-shadow:0 2px 8px var(--shadow-light)}.note-card.menu-active{box-shadow:0 12px 32px #9b59b666;position:relative;z-index:1000001}.day-cell:has(.note-card.menu-active){overflow:visible;z-index:0}.note-card:hover{border-left-color:#8e44ad;box-shadow:0 8px 24px #9b59b64d;transform:translateY(-2px)}.note-card.draggable{cursor:grab}.note-card.dragging{cursor:grabbing;opacity:.5}.note-header{align-items:center;display:flex;gap:8px;margin-bottom:8px;overflow:visible;position:relative}.note-icon-wrapper{align-items:center;display:flex;flex-shrink:0;height:24px;justify-content:center;width:24px}.note-icon{font-size:18px;line-height:1}.note-title{color:var(--text-primary);flex:1 1;font-size:14px;font-weight:600;line-height:1.4;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-content{padding-left:32px}.note-description{-webkit-line-clamp:4;-webkit-box-orient:vertical;word-wrap:break-word;color:var(--text-secondary);display:-webkit-box;font-size:13px;line-height:1.5;margin:0;overflow:hidden;text-overflow:ellipsis}.availability-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--bg-card);border:1px solid var(--border-color);border-left:4px solid #50c878;border-radius:8px;box-shadow:0 4px 12px var(--shadow-light);cursor:pointer;margin-bottom:4px;overflow:visible;padding:12px;position:relative;transition:all .3s ease}[data-theme=light] .availability-card{box-shadow:0 2px 8px var(--shadow-light)}.availability-card:hover{box-shadow:0 8px 24px #50c87833;transform:translateY(-2px)}.availability-header{align-items:flex-start;display:flex;gap:10px;margin-bottom:10px}.availability-icon-container{align-items:center;background:#ffffff0d;border-radius:6px;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}[data-theme=light] .availability-icon-container{background:#00000005}.availability-icon{font-size:20px}.availability-title-section{flex:1 1;min-width:0}.availability-title{word-wrap:break-word;color:var(--text-primary);font-size:14px;font-weight:600;line-height:1.3;margin-bottom:4px}.availability-details{border-top:1px solid #ffffff0d;display:flex;flex-wrap:wrap;gap:14px;padding-top:8px}[data-theme=light] .availability-details{border-top:1px solid var(--border-color)}.availability-detail-item{align-items:center;display:flex;flex-direction:column;min-width:60px}.availability-detail-value{color:var(--text-primary);font-size:13px;font-weight:600;line-height:1.2;margin-bottom:2px;text-align:center}.availability-detail-label{color:#a0a0a0;font-size:9px;letter-spacing:.5px;text-align:center;text-transform:uppercase}@media (max-width:768px){.availability-card{padding:10px}.availability-header{gap:8px}.availability-icon-container{height:28px;width:28px}.availability-icon{font-size:18px}.availability-title{font-size:13px}.availability-details{gap:10px}.availability-detail-item{min-width:50px}.availability-detail-value{font-size:12px}.availability-detail-label{font-size:8px}}.day-action-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;bottom:0;display:flex;isolation:isolate;justify-content:center;left:0;padding:20px;pointer-events:auto;position:fixed;right:0;top:0;z-index:1000000}.day-action-modal{animation:slideUp .3s ease-out;background:var(--bg-modal);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 20px 60px var(--shadow);max-height:90vh;max-width:700px;overflow-y:auto;padding:32px;position:relative;transition:background .3s ease,border-color .3s ease;width:100%}.day-action-modal__close{align-items:center;background:#ffffff0d;border:1px solid var(--border-color);border-radius:8px;color:var(--text-tertiary);cursor:pointer;display:flex;font-size:24px;height:40px;justify-content:center;line-height:1;padding:0;position:absolute;right:20px;top:20px;transition:all .2s ease;width:40px}[data-theme=light] .day-action-modal__close{background:#00000005}.day-action-modal__close:hover{background:#ff3b3033;border-color:#ff3b3066;color:#ff3b30}.day-action-modal__title{color:var(--text-primary);font-size:24px;font-weight:700;letter-spacing:.3px;margin:0 0 24px}.day-action-modal__section{margin-bottom:32px}.day-action-modal__section:last-child{margin-bottom:0}.day-action-modal__section-title{color:var(--text-primary);font-size:16px;font-weight:600;letter-spacing:.2px;margin:0 0 16px}.day-action-modal__grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr)}.day-action-modal__button{align-items:center;background:#ffffff0d;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:8px;min-height:80px;padding:16px 12px;transition:all .2s ease}[data-theme=light] .day-action-modal__button{background:#00000005}.day-action-modal__button:hover{background:#4a90e226;border-color:#4a90e266;box-shadow:0 4px 12px #4a90e24d;transform:translateY(-2px)}.day-action-modal__button:active{transform:translateY(0)}.day-action-modal__icon{font-size:28px;line-height:1}.day-action-modal__label{color:var(--text-primary);font-size:14px;font-weight:500;line-height:1.2;text-align:center}@media (max-width:768px){.day-action-modal{padding:24px}.day-action-modal__grid{grid-template-columns:repeat(3,1fr)}.day-action-modal__title{font-size:20px}}@media (max-width:480px){.day-action-modal__grid{grid-template-columns:repeat(2,1fr)}}.day-action-modal::-webkit-scrollbar{width:8px}.day-action-modal::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}[data-theme=light] .day-action-modal::-webkit-scrollbar-track{background:#00000005}.day-action-modal::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}[data-theme=light] .day-action-modal::-webkit-scrollbar-thumb{background:#00000026}.day-action-modal::-webkit-scrollbar-thumb:hover{background:#ffffff4d}[data-theme=light] .day-action-modal::-webkit-scrollbar-thumb:hover{background:#00000040}.note-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:9999999!important}.note-modal-content{background:linear-gradient(135deg,#2d3645,#1a2332);border:1px solid #ffffff1a;border-radius:12px;box-shadow:0 20px 60px #00000080;max-height:90vh;max-width:500px;overflow-y:auto;position:relative;width:100%;z-index:9999999!important}[data-theme=light] .note-modal-content{background:var(--bg-modal);border:1px solid var(--border-color);box-shadow:0 20px 60px var(--shadow)}.note-modal-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:20px 24px}.note-modal-header h2{color:#fff;font-size:20px;font-weight:600;margin:0}.note-modal-close-btn{align-items:center;background:none;border:none;border-radius:4px;color:#fff9;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.note-modal-close-btn:hover{background:#ffffff1a;color:#fff}.note-modal-form{padding:24px}.note-modal-error{background:#dc354533;border:1px solid #dc354566;border-radius:6px;color:#ff6b6b;font-size:14px;padding:12px}.note-form-group,.note-modal-error{margin-bottom:20px}.note-form-group label{color:#ffffffe6;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.note-form-group input,.note-form-group textarea{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;color:#fff;font-family:inherit;font-size:14px;padding:10px 12px;transition:all .2s ease;width:100%}.note-form-group input:focus,.note-form-group textarea:focus{background:#ffffff14;border-color:#9b59b6;box-shadow:0 0 0 3px #9b59b61a;outline:none}.note-form-group input:disabled,.note-form-group textarea:disabled{cursor:not-allowed;opacity:.5}.note-form-group textarea{line-height:1.5;min-height:100px;resize:vertical}.note-form-group input::placeholder,.note-form-group textarea::placeholder{color:#fff6}.note-modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.note-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;min-width:100px;padding:10px 20px;transition:all .2s ease}.note-btn:disabled{cursor:not-allowed;opacity:.5}.note-btn-cancel{background:#ffffff1a;color:#fff}.note-btn-cancel:hover:not(:disabled){background:#ffffff26}.note-btn-primary{background:linear-gradient(135deg,#9b59b6,#8e44ad);box-shadow:0 4px 12px #9b59b64d;color:#fff}.note-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#8e44ad,#7d3c98);box-shadow:0 6px 16px #9b59b666;transform:translateY(-1px)}.note-modal-content::-webkit-scrollbar{width:8px}.note-modal-content::-webkit-scrollbar-track{background:#ffffff0d;border-radius:0 12px 12px 0}.note-modal-content::-webkit-scrollbar-thumb{background:#9b59b680;border-radius:4px}.note-modal-content::-webkit-scrollbar-thumb:hover{background:#9b59b6b3}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(1)}.availability-radio-group{display:flex;flex-direction:column;gap:12px;margin-top:8px}.availability-radio-label{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:12px;padding:10px;transition:background .2s ease}.availability-radio-label input[type=radio]{accent-color:#9b59b6;cursor:pointer;flex-shrink:0;height:18px;margin-right:8px;width:18px}.availability-radio-label:hover{background:#ffffff0d}.availability-radio-label span{color:#ffffffe6;font-size:14px;-webkit-user-select:none;user-select:none}[data-theme=light] .availability-radio-label span{color:var(--text-primary)}.time-input-group{display:flex;gap:16px;margin-top:8px}.time-input-wrapper{display:flex;flex:1 1;flex-direction:column;gap:6px}.time-input-wrapper label{color:#ffffffb3;font-size:12px;font-weight:500}[data-theme=light] .time-input-wrapper label{color:var(--text-secondary)}.time-select{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;color:#fff;cursor:pointer;font-family:inherit;font-size:14px;padding:10px 12px;transition:all .2s ease;width:100%}.time-select:focus{background:#ffffff14;border-color:#9b59b6;box-shadow:0 0 0 3px #9b59b61a;outline:none}.time-select:disabled{cursor:not-allowed;opacity:.5}[data-theme=light] .time-select{background:#00000005;border-color:var(--border-color);color:var(--text-primary)}.sports-checkbox-group{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin-top:8px}.sports-checkbox-label{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:12px;padding:10px;transition:background .2s ease}.sports-checkbox-label:hover{background:#ffffff0d}.sports-checkbox-label input[type=checkbox]{accent-color:#9b59b6;cursor:pointer;flex-shrink:0;height:18px;margin-right:8px;width:18px}.sports-checkbox-label span{color:#ffffffe6;font-size:14px;-webkit-user-select:none;user-select:none}[data-theme=light] .sports-checkbox-label span{color:var(--text-primary)}@media (max-width:480px){.time-input-group{flex-direction:column;gap:12px}.sports-checkbox-group{grid-template-columns:1fr}}.workout-table-container{box-sizing:border-box;color:#fff;height:100%;max-height:350px}.workout-table,.workout-table-container{display:flex;flex-direction:column;max-width:100%;width:100%}.workout-table{flex:1 1;gap:20px;min-height:0;overflow-x:hidden;overflow-y:auto;padding-bottom:20px}.workout-table::-webkit-scrollbar{width:6px}.workout-table::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.workout-table::-webkit-scrollbar-thumb{background:#60d2f74d;border-radius:3px}.workout-table::-webkit-scrollbar-thumb:hover{background:#60d2f780}.table-set{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;box-sizing:border-box;flex-shrink:0;overflow:visible;width:100%}[data-theme=light] .table-set{background:#00000005;border:1px solid var(--border-color)}.set-header{background:#60d2f71a;border-bottom:1px solid #ffffff1a;color:#60d2f7;font-size:14px;font-weight:700;letter-spacing:.5px;padding:12px 16px;text-transform:uppercase}.table-row-header{grid-gap:6px;background:linear-gradient(135deg,#2a2a2a,#1a2332);border-bottom:2px solid #60d2f74d;border-radius:12px 12px 0 0;box-shadow:0 2px 8px #0000004d;box-sizing:border-box;display:grid;flex-shrink:0;gap:6px;grid-template-columns:1.5fr 1.8fr .7fr .7fr 1fr .7fr .7fr 1fr;min-width:0;padding:10px 12px;position:-webkit-sticky;position:sticky;top:0;width:100%;z-index:10}[data-theme=light] .table-row-header{background:var(--bg-calendar-header);box-shadow:0 2px 8px var(--shadow-light)}.header-cell{align-items:center;color:#60d2f7cc;display:flex;font-size:10px;font-weight:700;justify-content:center;letter-spacing:.5px;padding-top:0;text-align:center;text-transform:uppercase}.header-cell.duration-distance-header-cell{align-items:center;display:flex;flex-direction:row;gap:6px;justify-content:center}.distance-unit-select{-webkit-appearance:none;appearance:none;background:#ffffff14;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 12 12'%3E%3Cpath fill='%2360d2f7' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right 3px center;background-repeat:no-repeat;border:1px solid #fff3;border-radius:4px;color:#60d2f7;cursor:pointer;font-family:inherit;font-size:9px;font-weight:600;padding:2px 16px 2px 4px;transition:all .2s}.distance-unit-select:hover{background-color:#ffffff1f;border-color:#60d2f766}.distance-unit-select:focus{background-color:#ffffff26;border-color:#60d2f7;box-shadow:0 0 0 2px #60d2f733;outline:none}.distance-unit-select option{background:#1a1a1a;color:#fff}.table-row{grid-gap:16px;border-bottom:1px solid #ffffff0d;box-sizing:border-box;display:grid;flex-shrink:0;gap:16px;grid-template-columns:1fr auto;padding:14px 16px;transition:background .2s;width:100%}.table-row.editable{align-items:center;gap:6px;grid-template-columns:1.5fr 1.8fr .7fr .7fr 1fr .7fr .7fr 1fr;min-height:56px;min-width:0;padding:10px 12px}.table-row:last-child{border-bottom:none}.row-cell{align-items:flex-start;display:flex;flex-direction:column;gap:4px;min-width:0}.row-cell.description{color:#fff;font-size:15px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-row.editable .row-cell.description{align-self:center;min-width:0;white-space:nowrap}.row-cell.intensity{color:#60d2f7;font-size:14px;font-weight:600;text-align:right;white-space:nowrap}.no-intervals{align-items:center;color:#fff9;display:flex;flex-direction:column;justify-content:center;min-height:200px;padding:40px 20px;text-align:center}.no-intervals-message{color:#fff9;font-size:16px;margin-bottom:20px}.add-first-interval-button{background:#60d2f71a;border:2px solid #60d2f74d;border-radius:8px;color:#60d2f7;cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.add-first-interval-button:hover{background:#60d2f733;border-color:#60d2f7;transform:scale(1.05)}.add-first-interval-button:active{transform:scale(.95)}.row-cell.editable-cell{align-items:center;display:flex;min-width:0}.interval-input{background:#ffffff14;border:1px solid #fff3;border-radius:6px;color:#60d2f7;font-family:inherit;font-size:13px;font-weight:600;padding:6px 8px;text-align:center;transition:all .2s;width:100%}[data-theme=light] .interval-input{background:#00000005;border:1px solid var(--border-color)}.interval-input:focus{background:#ffffff26;border-color:#60d2f7;box-shadow:0 0 0 3px #60d2f733;outline:none}.interval-input:hover:not(:focus){background:#ffffff1f;border-color:#60d2f766}.interval-input::placeholder{color:#60d2f74d}.interval-input::-webkit-inner-spin-button,.interval-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.interval-input[type=number]{-moz-appearance:textfield}.zone-input-wrapper{align-items:center;display:flex;gap:4px;position:relative;width:100%}.interval-input.zone-error{background:#ff44441a;border-color:#f44}.interval-input.zone-error:focus{border-color:#f44;box-shadow:0 0 0 3px #f443}.zone-error-message{color:#f44;cursor:help;flex-shrink:0;font-size:14px}.zone-error-tooltip{background:#f44;border-radius:4px;bottom:100%;box-shadow:0 2px 8px #0000004d;color:#fff;font-size:12px;margin-bottom:4px;opacity:.95;padding:6px 10px;pointer-events:none;white-space:nowrap;z-index:1000}.zone-error-tooltip,.zone-error-tooltip:after{left:50%;position:absolute;transform:translateX(-50%)}.zone-error-tooltip:after{border:4px solid #0000;border-top-color:#f44;content:"";top:100%}.interval-input.name-input{font-size:13px;font-weight:500;text-align:left}.row-cell.action-cell{flex-direction:row;flex-wrap:nowrap;gap:4px;min-width:0}.delete-interval-button,.row-cell.action-cell{align-items:center;display:flex;justify-content:center}.delete-interval-button{background:#ff3b301a;border:1px solid #ff3b304d;border-radius:6px;color:#ff3b30;cursor:pointer;flex-shrink:0;font-size:14px;font-weight:700;height:28px;padding:0;transition:all .2s;width:28px}.delete-interval-button:hover{background:#ff3b3033;border-color:#ff3b30;transform:scale(1.05)}.delete-interval-button:active{transform:scale(.95)}.add-interval-button-inline{align-items:center;background:#60d2f71a;border:1px solid #60d2f74d;border-radius:6px;color:#60d2f7;cursor:pointer;display:flex;flex-shrink:0;font-size:16px;font-weight:700;height:28px;justify-content:center;padding:0;transition:all .2s;width:28px}.add-interval-button-inline:hover{background:#60d2f733;border-color:#60d2f7;transform:scale(1.05)}.add-interval-button-inline:active{transform:scale(.95)}.expand-interval-button{align-items:center;background:#60d2f71a;border:1px solid #60d2f74d;border-radius:6px;color:#60d2f7;cursor:pointer;display:flex;flex-shrink:0;font-size:11px;font-weight:700;height:28px;justify-content:center;padding:0;transition:all .2s;width:28px}.expand-interval-button:hover{background:#60d2f733;border-color:#60d2f7;transform:scale(1.05)}.expand-interval-button:active{transform:scale(.95)}.duration-distance-cell{align-items:center;display:flex;flex-direction:row;gap:4px;min-width:0}.duration-distance-toggle{display:flex;flex-direction:column;flex-shrink:0;gap:2px}.toggle-btn{align-items:center;background:#ffffff0d;border:1px solid #fff3;border-radius:4px;color:#ffffff80;cursor:pointer;display:flex;font-size:11px;height:24px;justify-content:center;padding:0;transition:all .2s;width:24px}.toggle-btn:hover{background:#ffffff14;border-color:#60d2f766}.toggle-btn.active{background:#60d2f733;border-color:#60d2f7;color:#60d2f7}.interval-select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%2360d2f7' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right 6px center;background-repeat:no-repeat;cursor:pointer;font-size:12px;padding-left:6px;padding-right:24px}.interval-select:hover{background-color:#ffffff1f}.interval-select option{background:#1a1a1a;color:#fff}.interval-advanced-options{background:#60d2f70d;border:1px solid #60d2f733;border-radius:8px;display:flex;flex-direction:column;gap:12px;grid-column:1/-1;margin-top:8px;padding:16px}.advanced-row{align-items:center;display:flex;gap:12px}.advanced-label{color:#60d2f7cc;font-size:12px;font-weight:600;letter-spacing:.5px;min-width:80px;text-transform:uppercase}.advanced-inputs{align-items:center;display:flex;flex:1 1;gap:8px}.interval-input.small{flex-shrink:0;width:80px}.input-separator{color:#ffffff80;font-size:12px;font-weight:600}@media (max-width:768px){.table-row{gap:8px;grid-template-columns:1fr}.table-row.editable{gap:12px;grid-template-columns:1fr}.table-row-header{gap:8px;grid-template-columns:1fr}.header-cell{justify-content:flex-start}.row-cell.intensity{font-size:13px;text-align:left}.row-cell.description{font-size:13px}.interval-input{font-size:14px;padding:8px 10px}}.workout-detail-menu{flex-shrink:0;position:relative}.workout-detail-menu__button{align-items:center;background:#ffffff1a;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;line-height:1;padding:6px;transition:all .2s;-webkit-user-select:none;user-select:none;width:32px}.workout-detail-menu__button:hover{background:#fff3}.workout-detail-menu__button svg{opacity:.9}.workout-detail-menu__dropdown{animation:menuFadeIn .15s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#232323fa;border:1px solid #fff3;border-radius:8px;box-shadow:0 12px 32px #000000d9,0 2px 8px #00000080,inset 0 1px 0 #ffffff0d;min-width:180px;overflow:visible;position:absolute;right:0;top:calc(100% + 8px);z-index:1000001}[data-theme=light] .workout-detail-menu__dropdown{background:var(--bg-dropdown);border:1px solid var(--border-color-light);box-shadow:0 8px 24px var(--shadow)}.workout-detail-menu__item{align-items:center;background:none;border:none;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;padding:10px 16px;text-align:left;transition:all .15s;white-space:nowrap;width:100%}.workout-detail-menu__item:first-child{border-radius:8px 8px 0 0}.workout-detail-menu__item:last-child{border-radius:0 0 8px 8px}.workout-detail-menu__item:hover{background:#ffffff1a}[data-theme=light] .workout-detail-menu__item:hover{background:var(--bg-hover-overlay-dark)}.workout-detail-menu__item:active{background:#ffffff26}[data-theme=light] .workout-detail-menu__item:active{background:var(--bg-hover-overlay)}.workout-detail-menu__item--delete{border-top:1px solid #ffffff1a;color:#f44;margin-top:4px}.workout-detail-menu__item--delete:hover{background:#ff444426}.workout-detail-menu__icon{align-items:center;display:inline-flex;flex-shrink:0;font-size:16px;justify-content:center;width:20px}.workout-detail-menu__label{flex:1 1}.toast{align-items:center;animation:slideIn .3s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1a1a1a;border-radius:12px;box-shadow:0 8px 32px #0006,0 0 0 1px #ffffff1a;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;gap:12px;isolation:isolate;max-width:500px;min-width:300px;padding:16px 20px;position:fixed;right:24px;top:24px;z-index:1000004!important}[data-theme=light] .toast{background:var(--bg-dropdown);box-shadow:0 8px 32px var(--shadow),0 0 0 1px var(--border-color-light)}.toast-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:24px;justify-content:center;width:24px}.toast-success .toast-icon{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.toast-error .toast-icon{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.toast-info .toast-icon{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.toast-message{color:#fff;flex:1 1;font-size:14px;font-weight:500;line-height:1.5}.toast-close{align-items:center;background:#0000;border:none;color:#ffffff80;cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:20px;justify-content:center;padding:0;transition:all .2s ease;width:20px}.toast-close:hover{color:#ffffffe6;transform:scale(1.1)}.toast-close:active{transform:scale(.95)}.toast-success{border-left:3px solid #10b981}.toast-error{border-left:3px solid #ef4444}.toast-info{border-left:3px solid #3b82f6}.toast.toast-exit{animation:slideOut .3s ease-in forwards}@keyframes slideOut{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(400px)}}@media (max-width:640px){.toast{left:16px;max-width:none;min-width:auto;right:16px;top:16px}@keyframes slideIn{0%{opacity:0;transform:translateY(-100px)}to{opacity:1;transform:translateY(0)}}@keyframes slideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100px)}}}.modal-overlay{align-items:center;display:flex;justify-content:center}.workout-detail-modal{animation:fadeIn .15s ease-out;background:linear-gradient(135deg,#2a2a2a,#1a2332);border:1px solid #ffffff1a;border-radius:16px;box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;left:50%;max-height:90vh;max-width:1400px;overflow:hidden;position:fixed;top:50%;transform:translate(-50%,-50%);width:95%;z-index:100001}[data-theme=light] .workout-detail-modal{background:var(--bg-modal);border:1px solid var(--border-color);box-shadow:0 20px 60px var(--shadow)}.workout-detail-modal .modal-header{align-items:center;background:linear-gradient(135deg,#4a90e21a,#0000);border-bottom:1px solid #ffffff1a;border-left:4px solid;display:flex;justify-content:space-between;padding:16px 20px}.workout-detail-modal .modal-header-content{align-items:center;display:flex;flex:1 1;gap:16px;min-width:0}.modal-header-actions{gap:8px}.save-template-button{background:linear-gradient(135deg,#4a90e2,#357abd);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.save-template-button:hover:not(:disabled){background:linear-gradient(135deg,#357abd,#2a5a8a);box-shadow:0 4px 8px #4a90e24d;transform:translateY(-1px)}.save-template-button:active:not(:disabled){transform:translateY(0)}.save-template-button:disabled{background:linear-gradient(135deg,#666,#555);cursor:not-allowed;opacity:.6}[data-theme=light] .save-template-button{background:linear-gradient(135deg,#4a90e2,#357abd);color:#fff}[data-theme=light] .save-template-button:hover:not(:disabled){background:linear-gradient(135deg,#357abd,#2a5a8a)}.workout-detail-modal .modal-icon{filter:brightness(0) invert(1) opacity(.85);height:36px;object-fit:contain;width:36px}.workout-detail-modal .modal-title-section h2{color:#fff;font-size:20px;font-weight:700;margin:0 0 4px}.modal-title-editable{cursor:pointer;-webkit-user-select:none;user-select:none}.title-edit-container{display:flex;flex-direction:column;gap:8px;max-width:400px;width:100%}.modal-title-input{background:#ffffff1a;border:2px solid;border-radius:4px;color:#fff;font-family:inherit;font-size:1.5rem;font-weight:700;padding:4px 8px;width:100%}.modal-title-input:focus{background:#ffffff26;outline:none}.title-edit-actions{display:flex;gap:8px}.title-action-button{font-size:.875rem;padding:4px 12px}.workout-detail-modal .modal-subtitle{color:#fff9;font-size:12px;font-weight:500}.tags-tab-container{box-sizing:border-box;flex:1 1;min-height:350px;overflow-y:auto;padding:20px;width:100%}.tags-tab-content{display:flex;flex-wrap:wrap;gap:10px}.tags-tab-tag{background:#ffffff1a;border:1px solid #ffffff26;border-radius:16px;color:#ffffffe6;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s;white-space:nowrap}.tags-tab-tag:hover{background:#ffffff26;border-color:#ffffff40;transform:translateY(-1px)}.tags-tab-empty{align-items:center;color:#fff6;display:flex;font-size:14px;font-style:italic;justify-content:center;min-height:300px}.tags-loading{color:#ffffffb3;padding:40px;text-align:center}.tags-section{margin-bottom:24px}.tags-section-title{color:#ffffffe6;font-size:14px;font-weight:600;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.tags-list{display:flex;flex-wrap:wrap}.tag-item,.tags-list{gap:8px;pointer-events:auto}.tag-item{align-items:center;background:#4a90e233;border:1px solid #4a90e266;border-radius:16px;color:#fff;display:inline-flex;font-weight:500;padding:8px 14px;position:relative;transition:all .2s ease}.tag-item:hover{background:#4a90e24d;border-color:#4a90e299}.tag-item-clickable{cursor:pointer;pointer-events:auto;position:relative;-webkit-user-select:none;user-select:none;z-index:1}.tag-item-clickable:hover{background:#4a90e259;border-color:#4a90e2b3;box-shadow:0 2px 8px #4a90e24d;transform:translateY(-1px)}.tag-item-clickable:active{box-shadow:0 1px 4px #4a90e233;transform:translateY(0)}.tag-remove-button{align-items:center;background:#0000;border:none;border-radius:50%;color:#ffffffb3;cursor:pointer;display:flex;font-size:18px;font-weight:700;height:20px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:20px}.tag-remove-button:hover{background:#fff3;color:#fff}.tag-add-button{background:#ffffff0d;border:1px dashed #ffffff4d;cursor:pointer;font-size:14px;min-height:44px;padding:12px 18px}.tag-add-button:hover{background:#4a90e226;border-color:#4a90e280;border-style:solid;box-shadow:0 2px 8px #4a90e233;transform:translateY(-1px)}.tag-add-icon{display:inline-block;font-size:20px;font-weight:700;line-height:1;margin-right:4px;vertical-align:middle}.tag-global-badge{background:#ffffff26;border-radius:8px;font-size:10px;font-weight:600;letter-spacing:.5px;padding:2px 6px;text-transform:uppercase}.tags-empty{color:#ffffff80;font-size:13px;font-style:italic;padding:20px;text-align:center}.tags-actions{border-top:1px solid #ffffff1a;display:flex;gap:12px;margin-top:24px;padding-top:20px}.tags-actions .btn-primary,.tags-actions .btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.tags-actions .btn-primary{background:#4a90e2;color:#fff}.tags-actions .btn-primary:hover:not(:disabled){background:#357abd}.tags-actions .btn-primary:disabled{cursor:not-allowed;opacity:.5}.tags-actions .btn-secondary{background:#ffffff1a;border:1px solid #fff3;color:#ffffffe6}.tags-actions .btn-secondary:hover:not(:disabled){background:#ffffff26}.form-group{margin-bottom:20px}.date-picker-modal .form-group:first-of-type,.form-group{margin-top:0}.form-group label{color:#ffffffe6;display:block;font-size:13px;font-weight:500;height:auto;line-height:1.5;margin-bottom:10px;margin-top:0;padding:0}.date-picker-modal .description-form-group{margin-bottom:20px}.date-picker-modal .description-form-group .description-label,.date-picker-modal .tag-name-form-group .tag-name-label{display:block!important;left:auto!important;line-height:1!important;margin-bottom:6px!important;margin-top:0!important;padding-bottom:0!important;position:static!important;top:auto!important;transform:none!important}.date-picker-modal .description-form-group textarea.form-input,.date-picker-modal .tag-name-form-group input.form-input{margin-top:0!important;padding-top:10px!important}.form-input{border-radius:6px;box-sizing:border-box;display:block;font-family:inherit;line-height:1.5;margin:0;min-height:38px;padding:10px 12px;width:100%}.form-input::placeholder{color:#fff6}.sport-type-display{background:#4a90e233;border:1px solid #4a90e266;border-radius:6px;color:#fff;cursor:default;font-size:14px;font-weight:600;padding:10px 12px;text-align:center;-webkit-user-select:none;user-select:none}.date-picker-modal .sport-type-display{opacity:.9}.workout-detail-modal .modal-close-button{align-items:center;background:#ffffff1a;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:20px;height:32px;justify-content:center;transition:all .2s;width:32px}.workout-detail-modal .modal-close-button:hover{background:#fff3}.workout-detail-modal .modal-body{flex:1 1;overflow-y:auto;padding:16px 20px}.chart-view{display:flex;flex-direction:column;gap:20px}.workout-chart-large{background:#1a2332;border:1px solid #ffffff1a;border-radius:12px;overflow:hidden}.no-chart{background:#ffffff0d;border:1px dashed #fff3;border-radius:12px;color:#ffffff80;font-size:14px;padding:40px 20px;text-align:center}.detail-columns{grid-gap:20px;display:grid;gap:20px;grid-template-columns:2.2fr .8fr;overflow:hidden;width:100%}.detail-columns>*{max-width:100%;min-width:0}.description-column{display:flex;flex-direction:column;gap:0;min-height:400px;overflow:hidden;width:100%}.description-tabs{border-bottom:2px solid #ffffff1a;display:flex;gap:0;margin-bottom:16px}.description-tab-button{background:#0000;border:none;border-bottom:2px solid #0000;color:#fff9;cursor:pointer;flex:1 1;font-size:13px;font-weight:600;margin-bottom:-2px;min-width:120px;padding:10px 16px;transition:color .2s,border-color .2s,background .2s;white-space:nowrap}.description-tab-button:hover{background:#ffffff08;color:#fffc}.description-tab-button.active{background:#60d2f70d;border-bottom-color:#60d2f7;color:#60d2f7}.description-edit-container{box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;gap:12px;min-height:350px;width:100%}.description-column .description-text{background:#ffffff08;border:1px solid #ffffff0d;border-radius:8px;box-sizing:border-box;color:#fffc;flex:1 1;font-size:13px;line-height:1.6;min-height:350px;overflow-x:hidden;overflow-y:auto;padding:8px;white-space:pre-wrap;width:100%}.description-column .description-text.editable{background:#ffffff14;border:2px solid #60d2f780;cursor:text;outline:none}.description-column .description-text.editable:focus{background:#ffffff1a;border-color:#60d2f7}.description-column .description-text.empty{align-items:center;color:#fff6;display:flex;font-style:italic;justify-content:center}.description-actions{display:flex;gap:8px;justify-content:flex-end}.description-action-button{border:1px solid;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s}.description-action-button.cancel{background:#ffffff0d;border-color:#fff3;color:#fffc}.description-action-button.cancel:hover:not(:disabled){background:#ffffff1a}.description-action-button.save{background:#60d2f733;border-color:#60d2f7;color:#60d2f7}.description-action-button.save:hover:not(:disabled){background:#60d2f74d}.description-action-button:disabled{cursor:not-allowed;opacity:.5}.description-column .description-text b,.description-column .description-text strong{color:#fffffff2;font-weight:700}.description-column .description-text em,.description-column .description-text i{font-style:italic}.description-column .description-text u{text-decoration:underline}.description-column .description-text p{margin:0 0 4px}.description-column .description-text p:last-child{margin-bottom:0}.description-column .description-text br{content:"";display:block;margin:2px 0}.stats-column{background:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.stats-header{grid-gap:6px;background:#ffffff0d;border-bottom:1px solid #ffffff1a;display:grid;gap:6px;grid-template-columns:1fr 1fr 1fr;padding:8px 10px}.stats-header-label{letter-spacing:.5px}.stats-header-label,.stats-header-value{color:#fffc;font-size:9px;font-weight:700;text-transform:uppercase}.stats-header-value{letter-spacing:.3px;text-align:center}.stats-rows{display:flex;flex-direction:column}.stats-row{grid-gap:6px;border-bottom:1px solid #ffffff0d;display:grid;gap:6px;grid-template-columns:1fr 1fr 1fr;padding:10px;transition:background .2s}.stats-row:last-child{border-bottom:none}.stats-row:hover{background:#ffffff05}.stats-row-label{color:#ffffffb3;font-size:11px;font-weight:500}.stats-row-value{color:#fff;font-size:12px;font-weight:600;text-align:center}.stats-row-value.empty{color:#ffffff4d}.workout-properties-section{grid-gap:20px;align-items:start;border-bottom:1px solid #ffffff1a;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:20px;padding:16px 20px}.property-actions{display:flex;gap:10px;grid-column:1/-1;justify-content:flex-end;margin-top:8px}.workout-property{display:flex;flex-direction:column;gap:10px;min-width:0}.workout-property-label{color:#fffc;font-size:9px;font-weight:700;letter-spacing:.5px;margin:0;overflow:visible;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.workout-property-value{color:#fff;font-size:14px;font-weight:600;line-height:1.4;margin:0}.goal-select-dropdown{-webkit-appearance:none;appearance:none;background:#ffffff1a;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none'%3E%3Cpath d='m2 4 4 4 4-4' stroke='rgba(255,255,255,0.7)' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;background-size:12px;border:1px solid #fff3;border-radius:6px;color:#fff;cursor:pointer;font-size:11px;font-weight:600;line-height:1.3;outline:none;padding:6px 28px 6px 10px;transition:all .2s ease;width:100%}.goal-select-dropdown:hover{background-color:#ffffff26;border-color:#ffffff4d}.goal-select-dropdown:focus{background-color:#ffffff26;border-color:#4a90e2;border-color:var(--accent-color,#4a90e2);box-shadow:0 0 0 3px #4a90e240}.goal-select-dropdown option{background:#2a2a2a;color:#fff;font-size:11px;padding:8px}.goal-select-dropdown:invalid{color:#ffffff80}.goal-select-dropdown:valid{color:#fff}.details-table-container{box-sizing:border-box;flex:1 1;max-height:350px;min-height:300px;overflow:visible;padding-right:8px;width:100%}.interval-actions{border-top:1px solid #ffffff1a;display:flex;gap:10px;justify-content:flex-end;margin-top:12px;padding-top:12px}.interval-action-button{border:1px solid;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.interval-action-button.cancel{background:#ffffff0d;border-color:#fff3;color:#fffc}.interval-action-button.cancel:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff4d}.interval-action-button.save{background:#60d2f733;border-color:#60d2f7;color:#60d2f7}.interval-action-button.save:hover:not(:disabled){background:#60d2f74d;box-shadow:0 4px 12px #60d2f740;transform:translateY(-1px)}.interval-action-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.details-table-container::-webkit-scrollbar{width:6px}.details-table-container::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.details-table-container::-webkit-scrollbar-thumb{background:#60d2f74d;border-radius:3px}.details-table-container::-webkit-scrollbar-thumb:hover{background:#60d2f780}.no-table{background:#ffffff0d;border:1px dashed #fff3;border-radius:12px;color:#ffffff80;font-size:14px;min-height:300px;padding:40px 20px;text-align:center}.date-picker-overlay,.no-table{align-items:center;display:flex;justify-content:center}.date-picker-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000002}.create-tag-modal-overlay{z-index:1000003!important}.date-picker-modal{background:linear-gradient(135deg,#2a2a2a,#1a2332);border:1px solid #ffffff1a;border-radius:12px;box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;max-height:90vh;min-height:500px;min-width:400px;overflow-y:auto;padding:28px}.date-picker-modal h3{color:#fff;display:block;font-size:20px;font-weight:700;line-height:1.2;margin:0;padding:0 0 24px}.create-tag-form-content{box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;gap:0;margin-left:0;margin-top:0;min-height:0;padding-left:0;padding-top:0;width:100%}.date-picker-modal .form-group{margin-bottom:20px}.date-picker-modal .form-group,.date-picker-modal .form-group label,.date-picker-modal .tag-type-form-group{margin-left:0;padding-left:0;text-indent:0}.date-picker-modal .tag-type-form-group{left:0;margin-right:0;margin-top:44px;padding-right:0;position:relative;transform:translateX(0)}.date-picker-modal .form-group:last-of-type{margin-bottom:24px}.date-picker-modal .tag-type-label{color:#ffffffe6;display:block;font-size:13px;font-weight:500;left:0;margin:0 0 12px;padding:0;position:static;text-indent:0;transform:translateX(0);width:100%;z-index:auto}.date-picker-modal .tag-type-options{flex-direction:column;gap:12px;margin-top:0;padding-left:0!important;padding-right:0!important;width:100%!important}.date-picker-modal .tag-type-option,.date-picker-modal .tag-type-options{display:flex;left:0!important;margin-left:0!important;margin-right:0!important;position:relative;text-indent:0!important;transform:translateX(0)!important}.date-picker-modal .tag-type-option{align-items:flex-start;background:#ffffff0d;border:2px solid #ffffff1a;border-radius:8px;box-sizing:border-box;cursor:pointer;overflow:visible;padding:14px;padding-left:14px!important;padding-right:14px!important;pointer-events:auto;transition:all .2s ease;-webkit-user-select:none;user-select:none;width:100%}.date-picker-modal .tag-type-option:hover{background:#ffffff14;border-color:#fff3}.date-picker-modal .tag-type-option.tag-type-selected{background:#4a90e226;border-color:#4a90e280}.date-picker-modal .tag-type-option.tag-type-selected .tag-type-name{color:#4a90e2;font-weight:700}.date-picker-modal .tag-type-radio{accent-color:#4a90e2;cursor:pointer;flex-grow:0;flex-shrink:0;height:18px;margin-left:0;margin-right:12px;margin-top:3px;pointer-events:auto;position:relative;width:18px;z-index:10}.date-picker-modal .tag-type-content{word-wrap:break-word;display:flex;flex:1 1;flex-direction:column;gap:6px;margin-left:0;min-width:0;overflow:hidden;padding-left:0}.date-picker-modal .tag-type-name{color:#fffffff2;display:block;font-size:14px;font-weight:600;line-height:1.3}.date-picker-modal .tag-type-help{word-wrap:break-word;color:#ffffffa6;font-size:12px;line-height:1.5;max-width:100%;overflow-wrap:break-word}.date-picker-modal p{color:#ffffffb3;font-size:14px;margin:0 0 20px}.date-input{background:#ffffff1a;font-size:16px;margin-bottom:20px;padding:12px;width:100%}.date-input:focus{background:#ffffff26;border-color:#60d2f7}.date-picker-actions{display:flex;flex-shrink:0;gap:12px;justify-content:flex-end;margin-top:auto;padding-top:20px}.btn-danger,.btn-primary,.btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.btn-primary{background:#60d2f7;color:#1a2332}.btn-primary:hover:not(:disabled){background:#50c2e7}.btn-secondary{background:#ffffff1a;border:1px solid #fff3;color:#fff}.btn-secondary:hover:not(:disabled){background:#ffffff26}.btn-danger{background:#f4433633;border:1px solid #f44336;color:#f44336}.btn-danger:hover:not(:disabled){background:#f443364d}.btn-danger:disabled,.btn-primary:disabled,.btn-secondary:disabled{cursor:not-allowed;opacity:.5}@media (max-width:968px){.workout-detail-modal{max-height:85vh;width:95%}.detail-columns{gap:20px;grid-template-columns:1fr}.stats-column{order:-1}}@media (max-width:768px){.workout-detail-modal{max-height:90vh;width:95%}.workout-detail-modal .modal-header{padding:12px 16px}.workout-detail-modal .modal-title-section h2{font-size:18px}.workout-detail-modal .modal-body{padding:12px 16px}.detail-columns{grid-template-columns:1fr}.workout-properties-section{gap:20px;grid-template-columns:1fr}.stats-header,.stats-row{gap:8px;grid-template-columns:2fr 1fr 1fr;padding:10px 12px}.stats-row-label,.stats-row-value{font-size:12px}.tab-button{font-size:13px;padding:10px 12px}.date-picker-modal{max-width:400px;min-width:auto;width:90%}}.athlete-row{border-bottom:1px solid #ffffff0d;display:flex;flex-shrink:0;min-width:-webkit-max-content;min-width:max-content;overflow:visible;position:static;z-index:0}[data-theme=light] .athlete-row{border-bottom:1px solid var(--border-color)}.athlete-row:hover{background-color:#ffffff05}[data-theme=light] .athlete-row:hover{background-color:#00000005}.athlete-info{background:var(--bg-calendar-header)!important;border-right:1px solid #ffffff0d;box-shadow:2px 0 4px #0000001a;display:flex;flex-direction:column;flex-shrink:0;gap:8px;left:0!important;max-width:200px;min-width:200px;padding:12px;position:-webkit-sticky!important;position:sticky!important;width:200px;z-index:999}[data-theme=light] .athlete-info{background:var(--bg-calendar-header);border-right:1px solid var(--border-color)}.calendar-container.multi-week-view .athlete-info{position:relative;z-index:0}.athlete-row.no-athlete-column{display:flex}.athlete-row.no-athlete-column .day-cell,.athlete-row.no-athlete-column .goal-loads-column{flex:0 1 auto;max-width:180px;min-width:180px;width:180px}.athlete-name{align-items:center;color:#d0d0d0;display:flex;font-size:12px!important;gap:6px;letter-spacing:-.2px;line-height:1.2}[data-theme=light] .athlete-name{color:#2c3e50;font-weight:600}.athlete-metrics{display:flex;flex-direction:column;font-size:10px;gap:4px;line-height:1.3;margin-top:4px}.athlete-metrics-loading{color:var(--text-secondary);font-size:10px;margin-top:4px}.athlete-metric-item{display:flex;flex-direction:column;gap:2px}.athlete-metric-label{color:var(--text-secondary);font-size:9px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.athlete-metric-value{color:var(--text-primary);font-size:10px;font-weight:500}[data-theme=light] .athlete-metric-label{color:#5a6c7d}[data-theme=light] .athlete-metric-value{color:#2c3e50}.athlete-avatar{background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-hover) 100%);font-size:10px;height:18px;width:18px}.action-btn,.athlete-actions{align-items:center}.action-btn{background-color:var(--bg-card);border:1px solid var(--border-color-light);border-radius:4px;color:var(--text-primary);cursor:pointer;display:flex;font-size:12px;height:24px;justify-content:center;transition:all .2s;width:24px}.action-btn:hover{background-color:var(--bg-tertiary);border-color:var(--border-color-light)}.collect-payment-btn{background-color:var(--bg-card);border:1px solid #28a745;border-radius:4px;color:#28a745;cursor:pointer;font-size:12px;font-weight:500;padding:4px 8px;transition:all .2s}.collect-payment-btn:hover{background-color:#28a745;color:#fff}.day-cell{background:#0000;border-right:1px solid #ffffff0d;display:flex;flex-direction:column;flex-shrink:0;gap:4px;max-width:180px;min-height:80px;min-width:180px;overflow:visible;padding:8px;position:relative;transition:all .2s;width:180px}.day-cell:has(.workout-card.menu-active){overflow:visible!important;z-index:1000000}.day-cell.drag-over{background:linear-gradient(135deg,#007bff26,#007bff0d);border:2px dashed #007bff99;box-shadow:inset 0 0 20px #007bff33}.day-cell.processing{opacity:.6;pointer-events:none}.empty-day{align-items:center;cursor:pointer;display:flex;height:100%;justify-content:center;min-height:60px}.drop-zone-hint{border:2px dashed var(--border-color);color:var(--text-tertiary);font-size:24px}.empty-day:hover .drop-zone-hint{background:#007bff0d;border-color:#007bff66;color:#007bffb3}.day-cell.drag-over .drop-zone-hint{background:#007bff1a;border-color:#007bffcc;color:#007bffe6;font-size:14px;font-weight:600}.add-workout-btn{align-items:center;background-color:initial;border:2px dashed #ced4da;border-radius:8px;color:#6c757d;cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .2s;width:40px}.add-workout-btn:hover{border-color:#007bff;color:#007bff}.add-workout-btn-small{align-items:center;background-color:initial;border:1px dashed var(--border-color-light);border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:14px;height:48px;justify-content:center;margin-top:4px;transition:all .2s;width:100%}.add-workout-btn-small:hover{background:#007bff0d;border-color:#007bff99;color:#007bffe6}.add-icon{font-size:20px;font-weight:700}.goal-loads-column{background:#0000;border-right:1px solid #ffffff0d;flex-shrink:0;max-width:180px;min-height:80px;min-width:180px;position:relative;width:180px}.goal-loads,.goal-loads-column{display:flex;flex-direction:column;gap:4px;padding:8px}.goal-loads{background-color:#ffffff08;border:1px solid #ffffff14;border-radius:6px;font-size:10px;line-height:1.4}[data-theme=light] .goal-loads{background-color:#00000005;border-color:var(--border-color-light)}.goal-loads-loading{color:var(--text-secondary);font-size:10px;padding:4px 0;text-align:center}.goal-loads-item{display:flex;flex-direction:column;gap:2px}.goal-loads-header{color:var(--text-primary);font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}[data-theme=light] .goal-loads-header{color:#2c3e50}.goal-loads-overall{border-top:1px solid #ffffff1a;margin-top:4px;padding-top:6px}[data-theme=light] .goal-loads-overall{border-top-color:var(--border-color-light)}.goal-loads-label{color:var(--text-primary);font-size:10px;font-weight:600}.goal-loads-overall .goal-loads-label{font-size:11px;font-weight:700}.goal-loads-value{color:var(--text-secondary);font-size:9px;margin-left:4px;word-break:break-word}[data-theme=light] .goal-loads-label{color:#2c3e50}[data-theme=light] .goal-loads-value{color:#5a6c7d}.current-loads{background-color:#ffffff08;border:1px solid #ffffff14;border-radius:6px;display:flex;flex-direction:column;font-size:10px;gap:4px;line-height:1.4;margin-top:0;padding:8px}[data-theme=light] .current-loads{background-color:#00000005;border-color:var(--border-color-light)}.current-loads-header{color:var(--text-primary);font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}[data-theme=light] .current-loads-header{color:#2c3e50}.current-loads-loading{color:var(--text-secondary);font-size:10px;padding:4px 0;text-align:center}.current-loads-item{display:flex;flex-direction:column;gap:2px}.current-loads-overall{border-top:1px solid #ffffff1a;margin-top:4px;padding-top:6px}[data-theme=light] .current-loads-overall{border-top-color:var(--border-color-light)}.current-loads-label{color:var(--text-primary);font-size:10px;font-weight:600}.current-loads-overall .current-loads-label{font-size:11px;font-weight:700}.current-loads-value{color:var(--text-secondary);font-size:9px;margin-left:4px;word-break:break-word}[data-theme=light] .current-loads-label{color:#2c3e50}[data-theme=light] .current-loads-value{color:#5a6c7d}.calendar-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--bg-calendar-header);border:1px solid var(--border-color);border-radius:12px;border-radius:0;box-shadow:0 8px 32px var(--shadow-light);height:100%;margin:0;overflow:visible;transition:background .3s ease,border-color .3s ease}.calendar-container,.calendar-grid{display:flex;flex-direction:column;position:relative;z-index:0}.calendar-grid{background:#0000;flex:1 1;margin-top:0;min-height:0;overflow-x:auto;overflow-y:auto;padding-top:0}.calendar-grid::-webkit-scrollbar{height:8px;width:8px}.calendar-grid::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.calendar-grid::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.calendar-grid::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.calendar-header-row{background:var(--bg-calendar-header);border-bottom:2px solid var(--border-color);display:flex;flex-shrink:0;margin-top:0;min-width:-webkit-max-content;min-width:max-content;position:-webkit-sticky;position:sticky;top:0;transition:background .3s ease,border-color .3s ease;z-index:999}.calendar-container.multi-week-view .calendar-header-row{position:relative;top:0;z-index:0}.athlete-column-header{align-items:center;background:var(--bg-calendar-header)!important;border-right:1px solid var(--border-color);box-shadow:2px 0 4px #0000001a;color:var(--text-primary);display:flex;flex-shrink:0;font-weight:600;left:0!important;max-width:200px;min-width:200px;padding:16px;position:-webkit-sticky!important;position:sticky!important;width:200px;z-index:1000}.single-athlete-view .athlete-column-header{display:none}.single-athlete-view .calendar-header-row{display:flex;width:100%}.single-athlete-view .day-column-header,.single-athlete-view .goal-column-header{flex:0 1 auto;max-width:180px;min-width:180px;width:180px}.day-column-header,.goal-column-header{background:#0000;border-right:1px solid #ffffff1a;flex-shrink:0;max-width:180px;min-width:180px;padding:16px 8px;width:180px}.goal-column-header{color:var(--text-primary);text-align:center}.day-name,.goal-column-header{font-size:12px;font-weight:600}.day-name{color:var(--text-tertiary);margin-bottom:4px}[data-theme=light] .day-name{color:#5a6c7d}.day-number{align-items:center;border-radius:50%;color:var(--text-primary);display:flex;font-size:18px;font-weight:700;height:32px;justify-content:center;margin:0 auto;width:32px}[data-theme=light] .day-number{color:#2c3e50}.day-number.today{background:linear-gradient(135deg,#007bff,#0056b3);box-shadow:0 4px 12px #007bff4d;color:#fff}.athlete-rows{display:flex;flex-direction:column;min-width:-webkit-max-content;min-width:max-content;overflow:visible}.loading-row{align-items:center;color:var(--text-tertiary);display:flex;grid-column:1/-1;justify-content:center;padding:40px}.loading-row .loading-spinner{animation:spin 1s linear infinite;border:2px solid #e3e3e3;border-radius:50%;border-top-color:#007bff;height:20px;margin-right:12px;width:20px}.pagination-container{align-items:center;background:#0000;border-top:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;padding:16px 20px}.pagination-info{align-items:center;display:flex;gap:8px}.pagination-info,.per-page-select{color:var(--text-primary);font-size:14px}.per-page-select{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid var(--border-color-light);border-radius:4px;padding:4px 8px}[data-theme=light] .per-page-select{background:#00000005}.pagination-controls{display:flex;gap:4px}.pagination-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid var(--border-color-light);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:14px;padding:8px 12px;transition:all .3s ease}[data-theme=light] .pagination-btn{background:#00000005}.pagination-btn:hover:not(:disabled){background:#ffffff1a;border-color:var(--border-color-light);transform:translateY(-1px)}[data-theme=light] .pagination-btn:hover:not(:disabled){background:#0000000d}.pagination-btn:disabled{cursor:not-allowed;opacity:.3}.multi-week-container{background:#0000;flex:1 1;overflow-x:hidden;overflow-y:auto;padding:0}.multi-week-container::-webkit-scrollbar{width:8px}.multi-week-container::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.multi-week-container::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.multi-week-container::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.week-section{border-bottom:2px solid var(--border-color);margin-bottom:24px}.week-section:last-child{border-bottom:none}.week-header{background:#0000;border-bottom:1px solid var(--border-color);padding:16px 20px}.week-header h3{color:var(--text-primary);font-size:16px;font-weight:600;margin:0}.template-card-menu{flex-shrink:0;position:relative}.template-card-menu__button{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;font-size:20px;justify-content:center;line-height:1;padding:4px 8px;transition:all .2s;-webkit-user-select:none;user-select:none}.template-card-menu__button:hover{background:#ffffff0d;color:#999}[data-theme=light] .template-card-menu__button:hover{background:#0000000d}.template-card-menu__dropdown{animation:menuFadeIn .15s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#232323fa;border:1px solid #fff3;border-radius:8px;box-shadow:0 12px 32px #000000d9,0 2px 8px #00000080,inset 0 1px 0 #ffffff0d;min-width:160px;overflow:visible;position:fixed;z-index:1000001}[data-theme=light] .template-card-menu__dropdown{background:var(--bg-dropdown);border:1px solid var(--border-color-light);box-shadow:0 8px 24px var(--shadow)}@keyframes menuFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.template-card-menu__item{align-items:center;background:none;border:none;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:400;gap:12px;padding:10px 16px;text-align:left;transition:all .15s;white-space:nowrap;width:100%}.template-card-menu__item:first-child{border-radius:8px 8px 0 0}.template-card-menu__item:last-child{border-radius:0 0 8px 8px}.template-card-menu__item:hover{background:#ffffff1a}[data-theme=light] .template-card-menu__item:hover{background:var(--bg-hover-overlay-dark)}.template-card-menu__item:active{background:#ffffff26}[data-theme=light] .template-card-menu__item:active{background:var(--bg-hover-overlay)}.template-card-menu__item--delete{border-top:1px solid #ffffff1a;color:#f44;margin-top:4px}.template-card-menu__item--delete:hover{background:#ff444426}.template-card-menu__icon{align-items:center;display:inline-flex;flex-shrink:0;font-size:16px;justify-content:center;width:20px}.template-card-menu__label{flex:1 1}.template-card{background:#2d3645;border:1px solid #ffffff1a;border-radius:8px;box-shadow:0 4px 12px #0000004d;box-sizing:border-box;cursor:grab;overflow:visible;padding:12px;position:relative;transition:all .2s;width:100%;z-index:1}[data-theme=light] .template-card{background:linear-gradient(135deg,#e8f4f8,#d1ecf1);border:1px solid #667eea33;box-shadow:0 2px 8px #667eea33}.template-card:hover{background:#ffffff1a;box-shadow:0 4px 12px #0006;transform:translateY(-2px);z-index:10}[data-theme=light] .template-card:hover{background:linear-gradient(135deg,#d1ecf1,#bee5eb);box-shadow:0 4px 12px #667eea4d}.template-card:has(.template-card-menu__dropdown){z-index:10001!important}.template-card.dragging{cursor:grabbing;opacity:.5}.template-header{align-items:flex-start;display:flex;gap:10px;margin-bottom:12px}.template-icon{filter:brightness(0) invert(1) opacity(.85);flex-shrink:0;height:32px;margin-top:2px;min-width:32px;object-fit:contain;width:32px}[data-theme=light] .template-icon{filter:brightness(0) opacity(.9)}.template-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#fff;display:-webkit-box;flex:1 1;font-size:15px;font-weight:600;line-height:1.3;max-height:2.6em;overflow:hidden;text-overflow:ellipsis}[data-theme=light] .template-title{color:#1a1a1a}.template-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.template-tag{background:#ffffff1a;border-radius:10px;color:#999;font-size:11px;font-weight:500;padding:4px 8px}[data-theme=light] .template-tag{background:#00000026;color:#1a1a1a}.template-tag-more{background:#ffffff0d;border-radius:10px;color:#666;font-size:11px;padding:4px 8px}.template-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#ccc;display:-webkit-box;font-size:13px;line-height:1.5;margin-bottom:12px;overflow:hidden;text-overflow:ellipsis}[data-theme=light] .template-description{color:#1a1a1a}.template-description b,.template-description strong{color:#fff;font-weight:600}[data-theme=light] .template-description b,[data-theme=light] .template-description strong{color:#1a1a1a}.template-description em,.template-description i{font-style:italic}.template-description u{text-decoration:underline}.template-metrics{display:flex;gap:16px;margin-bottom:12px}.metric{display:flex;flex-direction:column;gap:4px}.metric-value{color:#fff;font-size:18px;font-weight:600}[data-theme=light] .metric-value{color:#1a1a1a}.metric-label{color:#999;font-size:10px;letter-spacing:.5px;text-transform:uppercase}[data-theme=light] .metric-label{color:#1a1a1a}.template-goals{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.goal-badge{background:#ffffff14;border-radius:12px;color:#ccc;font-size:12px;padding:4px 10px}[data-theme=light] .goal-badge{color:#1a1a1a}.goal-more{color:#999;font-size:12px;padding:4px 10px}.template-chart{border-top:1px solid #ffffff0d;margin-top:12px;overflow:hidden}.chart-bars{align-items:flex-end;display:flex;gap:2px;height:100%}.chart-bar{background:#ffffff4d;border-radius:2px;flex:1 1;min-height:2px;transition:all .2s}.template-card:hover .chart-bar{opacity:.9}.library-container{background:linear-gradient(135deg,var(--bg-primary),var(--bg-secondary),var(--bg-tertiary));color:var(--text-primary);display:flex;flex-direction:column;height:100%;overflow:hidden;transition:background .3s ease,color .3s ease}.library-header{border-bottom:1px solid var(--border-color);padding:20px}.library-header h2{color:var(--text-primary);font-size:24px;font-weight:600;margin:0 0 12px}.library-header-actions{align-items:center;display:flex;gap:12px}.library-search{flex:1 1;margin-top:0}.create-template-button{background:#60d2f71a;border:2px solid #60d2f74d;border-radius:8px;color:#60d2f7;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s;white-space:nowrap}.create-template-button:hover{background:#60d2f733;border-color:#60d2f7;transform:scale(1.05)}.create-template-button:active{transform:scale(.95)}.search-input{background:#ffffff0d;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;outline:none;padding:10px 16px;transition:all .2s;width:100%}[data-theme=light] .search-input{background:#00000005}.search-input:focus{background:#ffffff14;border-color:var(--border-color-light)}[data-theme=light] .search-input:focus{background:#0000000d}.search-input::placeholder{color:var(--text-tertiary)}.library-content{display:flex;flex:1 1;overflow:hidden;position:relative}.library-sidebar{background:#0003;border-right:1px solid var(--border-color);min-width:240px;overflow-x:visible;overflow-y:auto;position:relative;width:240px;z-index:1}[data-theme=light] .library-sidebar{background:#00000005}.library-filter-header{border-bottom:1px solid var(--border-color);padding:16px 20px}.library-filter-header h3{color:var(--text-tertiary);font-size:14px;font-weight:600;letter-spacing:.5px;margin:0;text-transform:uppercase}.filter-tag{align-items:center;background:#0000;border:none;color:#999;cursor:pointer;display:flex;gap:10px;margin-left:0;margin-right:0;padding:10px 20px;text-align:left;transition:all .2s;width:100%}.filter-tag:hover{background:#ffffff0d;color:var(--text-primary)}[data-theme=light] .filter-tag:hover{background:#0000000d}.filter-tag.active{background:#ffffff1a;color:var(--text-primary);font-weight:500}[data-theme=light] .filter-tag.active{background:#00000014}.tag-icon{font-size:18px}.tag-name{flex:1 1;font-size:14px}.tag-count{background:#ffffff0d;border-radius:10px;color:#666;font-size:12px;padding:2px 8px}.check-icon{color:#4caf50;font-size:14px}.sport-sections{margin-top:0;padding:0}.sport-section{margin:0}.sport-header,.sport-section{border:none!important;border-radius:0!important;box-shadow:none!important;outline:none!important}.sport-header{background:#0000;color:var(--text-primary);cursor:pointer;font-weight:600;gap:10px;margin-left:-20px;margin-right:-20px;padding:2px 10px;text-align:left;transition:all .2s;width:calc(100% + 40px)}.sport-header:hover{background:#ffffff0d}.sport-header:focus{border:none!important;box-shadow:none!important;outline:none!important}.sport-icon{filter:brightness(0) invert(1) opacity(.85);height:24px;object-fit:contain;width:24px}[data-theme=light] .sport-icon{filter:brightness(0) opacity(.9)}.sport-name{flex:1 1;font-size:15px}.expand-icon,.sport-count{color:#999;font-size:12px}.sport-tags{background:#0000}.tag-item{font-size:13px;padding-left:40px!important}.library-main{display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden;position:relative;z-index:2}.library-main-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:20px}.library-main-header h3{font-size:16px;font-weight:600;margin:0}.template-count{color:#999;font-size:12px}.templates-grid{align-content:start;display:flex;flex:1 1;flex-direction:column;gap:12px;overflow-x:visible;overflow-y:auto;padding:16px}.empty-state{flex:1 1}.empty-icon{font-size:64px;margin-bottom:16px}.empty-text{color:#666;margin:0 0 24px}.empty-state-button{background:#60d2f726;border:2px solid #60d2f766;font-size:14px;margin-top:8px;padding:8px 16px}.empty-state-button:hover{background:#60d2f740;border-color:#60d2f7;transform:scale(1.05)}.library-loading{align-items:center;display:flex;flex-direction:column;gap:16px;height:100%;justify-content:center}.library-loading .loading-spinner{animation:spin 1s linear infinite;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--accent-primary);height:40px;width:40px}.library-loading p{color:#999;margin:0}.library-empty,.library-error{align-items:center;display:flex;flex-direction:column;gap:16px;height:100%;justify-content:center;padding:40px;text-align:center}.library-error{color:#dc3545}.error-message{font-size:16px;margin:0}.retry-btn{background:#007bff33;border:1px solid #007bff66;border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.retry-btn:hover{background:#007bff4d;border-color:#007bff99}.library-sidebar::-webkit-scrollbar,.templates-grid::-webkit-scrollbar{width:8px}.library-sidebar::-webkit-scrollbar-track,.templates-grid::-webkit-scrollbar-track{background:#0003}.library-sidebar::-webkit-scrollbar-thumb,.templates-grid::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.library-sidebar::-webkit-scrollbar-thumb:hover,.templates-grid::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border-color);box-shadow:2px 0 10px var(--shadow-light);display:flex;flex-direction:column;min-width:80px;padding:20px 0;transition:background .3s ease,border-color .3s ease;width:80px;z-index:150}.sidebar-content{padding:0 6px}.sidebar-button,.sidebar-content{display:flex;flex-direction:column;gap:4px}.sidebar-button{align-items:center;background:#0000;border:1px solid #0000;border-radius:10px;color:var(--text-secondary);cursor:pointer;font-size:9px;font-weight:500;justify-content:center;line-height:1.1;min-height:62px;padding:10px 6px;text-align:center;transition:all .3s ease}.sidebar-button:hover{background:#ffffff0d;border-color:var(--border-color);color:var(--text-primary)}[data-theme=light] .sidebar-button:hover{background:#0000000d}.sidebar-button.active{background:#007bff33;border-color:#007bff66;color:var(--text-primary)}[data-theme=light] .sidebar-button.active{background:#007bff1a}.sidebar-button.active:hover{background:#007bff4d;border-color:#007bff99}.sidebar-icon{align-items:center;color:inherit;display:flex;font-size:22px;justify-content:center}.sidebar-icon svg{color:inherit;height:22px;width:22px}.sidebar-label{word-wrap:break-word;display:block;font-size:9px;line-height:1.1;width:100%}.sidebar-divider{background:var(--border-color);height:1px;margin:8px 0}@media (max-width:768px){.sidebar{min-width:70px;padding:16px 0;width:70px}.sidebar-button{min-height:70px;padding:12px 4px}.sidebar-icon{font-size:24px}.sidebar-icon svg{height:24px;width:24px}.sidebar-label{font-size:9px}}.app-header{align-items:center;background:linear-gradient(135deg,#151d2a,#1a2332);border-bottom:1px solid #ffffff1a;box-shadow:0 2px 8px #0000004d;box-sizing:border-box;display:grid;grid-template-columns:1fr auto 1fr;height:46px;padding:0 32px;position:-webkit-sticky;position:sticky;top:0;z-index:1000}[data-theme=light] .app-header{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #fff3;box-shadow:0 2px 8px #667eea4d}.header-left{justify-self:start}.header-center{align-items:center;display:flex;justify-content:center;max-width:100%;overflow:hidden;padding:0 8px}.header-logo{-ms-interpolation-mode:nearest-neighbor;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:block;height:35px;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;image-rendering:-webkit-optimize-contrast;max-height:35px;max-width:300px;object-fit:contain;transform:translateZ(0);transition:transform .2s ease,filter .3s ease;width:auto}.header-logo-default{height:50px;margin-top:4px;max-height:50px;max-width:400px}.header-logo:hover{transform:scale(1.05)}.header-right{justify-self:end}.header-right,.user-info{align-items:center;display:flex}.user-info{position:relative}.user-details{align-items:center;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:4px 8px;transition:background .2s ease}.user-details:hover{background:#ffffff1a}[data-theme=light] .user-details:hover{background:#fff3}.user-name{color:#fff;font-size:14px;font-weight:500;letter-spacing:.3px;line-height:1}.user-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:2px solid #ffffff4d;border-radius:50%;cursor:pointer;display:flex;height:26px;justify-content:center;overflow:hidden;transition:all .2s ease;width:26px}.user-avatar:hover{border-color:#fff9;box-shadow:0 0 12px #fff6;transform:scale(1.05)}[data-theme=light] .user-avatar{border:2px solid #fff6}[data-theme=light] .user-avatar:hover{border-color:#fffc;box-shadow:0 0 12px #fff9}.avatar-image{height:100%;object-fit:cover;width:100%}.avatar-placeholder{align-items:center;color:#fff;display:flex;font-size:11px;font-weight:600;height:100%;justify-content:center;line-height:1;text-transform:uppercase;width:100%}.user-dropdown{animation:dropdownSlideIn .2s ease;background:var(--bg-dropdown);border:1px solid var(--border-color-light);border-radius:12px;box-shadow:0 8px 24px var(--shadow);min-width:240px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);z-index:2000}[data-theme=light] .user-dropdown{background:var(--bg-card);box-shadow:0 8px 24px var(--shadow)}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{background:#ffffff08;padding:16px}[data-theme=light] .dropdown-header{background:#00000005}.dropdown-user-name{color:var(--text-primary);font-size:15px;font-weight:600;margin-bottom:4px}.dropdown-user-email{color:var(--text-secondary);font-size:13px;word-break:break-all}.dropdown-divider{background:var(--border-color);height:1px;margin:0}.dropdown-item{align-items:center;background:#0000;border:none;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;padding:12px 16px;text-align:left;transition:all .2s ease;width:100%}.dropdown-item:hover{background:#ffffff14;color:#ff6b6b}[data-theme=light] .dropdown-item:hover{background:#0000000d}.dropdown-icon{align-items:center;display:flex;font-size:18px;justify-content:center}@media (max-width:768px){.app-header{height:60px;padding:12px 16px}.header-logo{height:35px}.user-name{display:none}.user-avatar{height:36px;width:36px}.user-dropdown{min-width:200px}.dropdown-header{padding:12px}}@media (max-width:480px){.app-header{padding:10px 12px}.header-logo{height:30px}}.workout-warning-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.workout-warning-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;display:flex;flex-direction:column;max-height:80vh;max-width:800px;overflow:hidden;width:90%}.workout-warning-modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px}.workout-warning-modal-header h2{color:#333;font-size:24px;margin:0}.workout-warning-modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;font-size:28px;height:30px;justify-content:center;padding:0;transition:background-color .2s;width:30px}.workout-warning-modal-close:hover{background-color:#f0f0f0}.workout-warning-modal-content{flex:1 1;overflow-y:auto;padding:20px}.warning-section{margin-bottom:30px}.warning-section:last-child{margin-bottom:0}.warning-section h3{color:#d97706;font-size:18px;font-weight:600;margin:0 0 15px}.warning-list{display:flex;flex-direction:column;gap:15px}.warning-item{background-color:#fff7ed;border-left:4px solid #f59e0b;border-radius:4px;padding:15px}.warning-header{align-items:flex-start;display:flex;gap:10px;justify-content:space-between;margin-bottom:10px}.warning-message{color:#92400e;flex:1 1;font-weight:500;line-height:1.5}.warning-expand-button{align-items:center;background:none;border:none;border-radius:4px;color:#92400e;cursor:pointer;display:flex;flex-shrink:0;font-size:16px;justify-content:center;min-width:30px;padding:4px 8px;transition:background-color .2s}.warning-expand-button:hover{background-color:#92400e1a}.warning-expanded-details{border-top:1px solid #fde68a;display:flex;flex-direction:column;gap:10px;margin-top:15px;padding-top:15px}.warning-detail-row{color:#666;font-size:14px;line-height:1.6}.warning-detail-row strong{color:#333;margin-right:8px}.warning-details{color:#666;display:flex;flex-wrap:wrap;font-size:14px;gap:15px}.warning-detail-item{align-items:center;display:flex;gap:5px}.warning-detail-item strong{color:#333}.workout-warning-modal-footer{border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end;padding:20px}.btn-primary{background-color:#2563eb;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;padding:10px 20px;transition:background-color .2s}.btn-primary:hover{background-color:#1d4ed8}.btn-primary:active{background-color:#1e40af}.auto-push-settings{background:#ffffff08;border:1px solid #ffffff1a;border-radius:6px;font-size:12px;margin-top:8px;padding:8px}.auto-push-settings.loading{color:#999;padding:8px;text-align:center}.auto-push-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;-webkit-user-select:none;user-select:none}.auto-push-toggle-container{flex:1 1}.auto-push-toggle-label{align-items:center;cursor:pointer;display:flex;gap:8px}.auto-push-toggle{accent-color:#00d4aa;cursor:pointer;height:16px;width:16px}.auto-push-toggle:disabled{cursor:not-allowed;opacity:.6}.auto-push-toggle-text{color:#d3d3d3;font-size:12px;font-weight:500}.auto-push-expand-btn{background:none;border:none;color:#999;cursor:pointer;font-size:10px;padding:4px;transition:color .2s}.auto-push-expand-btn:hover{color:#d3d3d3}.auto-push-details{border-top:1px solid #ffffff1a;margin-top:12px;padding-top:12px}.auto-push-description{color:#b0b0b0;font-size:11px;line-height:1.4;margin-bottom:12px}.auto-push-days-container{align-items:center;display:flex;gap:8px;margin-top:8px}.auto-push-days-label{color:#d3d3d3;font-size:11px;white-space:nowrap}.auto-push-days-select{background:#ffffff0d;border:1px solid #fff3;border-radius:4px;color:#fff;cursor:pointer;flex:1 1;font-size:11px;padding:6px 8px;transition:border-color .2s}.auto-push-days-select:hover:not(:disabled){border-color:#ffffff4d}.auto-push-days-select:focus{border-color:#00d4aa;outline:none}.auto-push-days-select:disabled{cursor:not-allowed;opacity:.5}.auto-push-saving{color:#999;font-size:10px;font-style:italic;margin-top:8px}.push-workouts-content{display:flex;flex-direction:column;gap:24px}.warning-box{align-items:flex-start;background:#ffd93d1a;border:1px solid #ffd93d66;border-radius:8px;display:flex;gap:12px;padding:16px}.warning-icon{flex-shrink:0;font-size:24px}.warning-text{color:#ffd93d;font-size:14px;line-height:1.6;margin:0}.selected-count{color:#00d4aa}.date-input-error{background:#ff44441a!important;border-color:#f44!important}.date-input-error:focus{border-color:#f44!important;box-shadow:0 0 0 3px #f443!important}.date-error-message{align-items:center;background:#ff44441a;border:1px solid #f446;border-radius:8px;color:#ff6b6b;display:flex;font-size:14px;gap:8px;margin-top:12px;padding:12px 16px}.error-icon{flex-shrink:0;font-size:18px}.athlete-selection-section{background:#00d4aa1a;border:1px solid #00d4aa4d}.athlete-search:focus{border-color:#00d4aa;box-shadow:0 0 0 3px #00d4aa33}.athlete-list-container::-webkit-scrollbar-thumb{background:#00d4aa4d}.athlete-list-container::-webkit-scrollbar-thumb:hover{background:#00d4aa80}.athlete-item:hover:not(:disabled){border-color:#00d4aa66}.athlete-item.selected{background:#00d4aa26;border-color:#00d4aa}.athlete-checkbox input[type=checkbox]{accent-color:#00d4aa}.action-buttons{gap:12px}.push-button{align-items:center;background:linear-gradient(135deg,#00d4aa,#00b890);border:none;border-radius:8px;box-shadow:0 4px 12px #00d4aa4d;color:#fff;cursor:pointer;display:flex;flex:1 1;font-size:16px;font-weight:700;gap:10px;justify-content:center;padding:16px 24px;transition:all .3s ease}.push-button:hover:not(.disabled){background:linear-gradient(135deg,#00b890,#009976);box-shadow:0 6px 16px #00d4aa66;transform:translateY(-1px)}.push-button.disabled{background:#666;box-shadow:none;cursor:not-allowed}.loading-spinner-small{border:3px solid #00d4aa4d;border-top-color:#00d4aa;height:24px;margin:0 auto;width:24px}.confirmation-overlay{animation:fadeIn .2s ease-out;background:#000c;z-index:2000}.confirmation-dialog{animation:slideUp .3s ease-out;background:linear-gradient(135deg,#2a2a2a,#1a2332);border:1px solid #fff3;border-radius:12px;box-shadow:0 20px 60px #0009;max-width:400px;padding:28px}[data-theme=light] .confirmation-dialog{background:var(--bg-modal);border:1px solid var(--border-color)}.confirmation-dialog h3{font-size:20px}.confirmation-content p{color:#e0e0e0;font-size:15px}.detail-item strong{color:#00d4aa}.athlete-confirm-list::-webkit-scrollbar-thumb{background:#00d4aa4d}.athlete-confirm-list::-webkit-scrollbar-thumb:hover{background:#00d4aa80}.confirm-button{border-radius:8px;font-size:15px;padding:12px 20px;transition:all .2s ease}.confirm-button.cancel{background:#ffffff0d;border:1px solid #fff3;color:#e0e0e0}.confirm-button.cancel:hover{background:#ffffff1a;border-color:#ffffff4d}.confirm-button.push{background:linear-gradient(135deg,#00d4aa,#00b890);color:#fff}.confirm-button.push:hover{background:linear-gradient(135deg,#00b890,#009976);box-shadow:0 4px 12px #00d4aa66}@media (max-width:768px){.push-workouts-content{gap:20px}.info-box,.warning-box{padding:14px}.athlete-selection-section,.date-range-section{padding:16px}.date-inputs{grid-template-columns:1fr}.athlete-selection-header{align-items:stretch;flex-direction:column}.athlete-actions{justify-content:stretch}.select-action-button{flex:1 1}.athlete-list-container{max-height:300px}.push-button{font-size:15px;padding:14px 20px}.confirmation-dialog{padding:24px}.confirmation-details{padding:12px}}.auto-push-section{background:#00d4aa0d;border:1px solid #00d4aa33;border-radius:8px;padding:16px}.auto-push-placeholder{padding:12px;text-align:center}.auto-push-placeholder p{color:#999;font-size:14px;font-style:italic;margin:0}.load-ratios-content{display:flex;flex-direction:column;height:100%;padding:0}.info-box{margin-bottom:20px}.action-buttons{flex-shrink:0;margin-top:20px}.load-ratios-loading{align-items:center;color:#d3d3d3;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.load-ratios-loading .loading-spinner{animation:spin .8s linear infinite;border:4px solid #4a90e233;border-radius:50%;border-top-color:#4a90e2;height:40px;margin-bottom:16px;width:40px}.load-ratios-loading p{font-size:16px;margin:0}.phase-loading{align-items:center;background-color:#1a1a1a;border:1px solid #4a90e2;border-radius:8px;color:#4a90e2;display:flex;gap:10px;padding:15px}.loading-spinner-small{animation:spin .8s linear infinite;border:2px solid #4a90e233;border-radius:50%;border-top-color:#4a90e2;height:16px;width:16px}.selected-phase-info p{line-height:1.4}.ratios-container{display:flex;flex:1 1;gap:20px;margin-bottom:20px;min-height:0}.sport-ratios-grid{display:flex;flex:1 1;flex-direction:column;gap:8px}.sport-title{font-size:18px;margin-bottom:12px;padding-bottom:8px;text-align:center}.ratio-row{background-color:#2e2d2d;border:1px solid #404040;border-radius:8px;display:flex;flex-direction:column;gap:8px;padding:12px}[data-theme=light] .ratio-row{background-color:var(--bg-card);border:1px solid var(--border-color)}.ratio-label{color:#d3d3d3;font-size:13px;font-weight:500;margin:0}.ratio-input-container{align-items:center;display:flex;gap:6px;justify-content:center}.ratio-input{background-color:#1a1a1a;border:1px solid #404040;border-radius:6px;color:#fff;font-size:14px;max-width:80px;padding:8px;text-align:center;transition:border-color .2s;width:100%}.ratio-input:focus{border-color:#4a90e2;outline:none}.ratio-input:disabled{cursor:not-allowed;opacity:.5}.ratio-input::placeholder{color:#666}.ratio-suffix{color:#4a90e2;font-size:16px;font-weight:700}.delete-workouts-content{display:flex;flex-direction:column;gap:24px}.warning-box-red{align-items:flex-start;background-color:#ff47571a;border:2px solid #ff4757;border-radius:12px;display:flex;gap:12px;padding:20px}.warning-box-red .warning-icon{flex-shrink:0;font-size:24px}.warning-box-red .warning-text{color:#ff4757;font-size:16px;font-weight:600;line-height:1.5;margin:0}.info-box{background:#4a90e21a;border:1px solid #4a90e24d}.info-icon{font-size:24px}.info-text{color:#e0e0e0}.section-title{align-items:center;color:#fff;display:flex;gap:10px;margin:0 0 16px}.section-icon{font-size:24px}.selected-count{color:#ff4757;font-size:14px;font-weight:600;margin-left:8px}.date-range-section{background:#4a90e21a;border:1px solid #4a90e24d;border-radius:12px;padding:20px}.date-inputs{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.date-input-group{display:flex;flex-direction:column;gap:8px}.input-label{color:#e0e0e0}.date-input{background:#ffffff0d;border:1px solid #fff3;border-radius:8px;color:#fff;color-scheme:dark;font-size:15px;padding:12px 16px;transition:all .2s ease}[data-theme=light] .date-input{background:#00000005;border:1px solid var(--border-color);color:var(--text-primary)}.date-input:hover{background:#ffffff14;border-color:#ffffff4d}.date-input:focus{background:#ffffff14;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e233;outline:none}.date-input:disabled{cursor:not-allowed;opacity:.5}.athlete-selection-section{background:#ff47571a;border:1px solid #ff47574d;border-radius:12px;padding:20px}.athlete-selection-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.athlete-actions{display:flex;gap:8px}.select-action-button{background:#ffffff0d;border:1px solid #fff3;border-radius:6px;color:#e0e0e0;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s ease}.select-action-button:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff4d}.select-action-button:disabled{cursor:not-allowed;opacity:.4}.athlete-search{background:#ffffff0d;border:1px solid #fff3;border-radius:8px;color:#fff;font-size:15px;margin-bottom:12px;padding:12px 16px;transition:all .2s ease;width:100%}.athlete-search:hover{background:#ffffff14;border-color:#ffffff4d}.athlete-search:focus{background:#ffffff14;border-color:#ff4757;box-shadow:0 0 0 3px #ff475733;outline:none}.athlete-search::placeholder{color:#999}.athlete-list-container{border-radius:8px;max-height:400px;overflow-y:auto}.athlete-list-container::-webkit-scrollbar{width:8px}.athlete-list-container::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.athlete-list-container::-webkit-scrollbar-thumb{background:#ff47574d;border-radius:4px}.athlete-list-container::-webkit-scrollbar-thumb:hover{background:#ff475780}.athlete-list{gap:8px}.athlete-item{align-items:center;background:#ffffff08;border:2px solid #ffffff1a;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:12px;text-align:left;transition:all .2s ease;width:100%}[data-theme=light] .athlete-item{background:#00000005;border:2px solid var(--border-color)}.athlete-item:hover:not(:disabled){background:#ffffff14;border-color:#ff475766;transform:translateX(2px)}.athlete-item.selected{background:#ff475726;border-color:#ff4757}.athlete-item:disabled{cursor:not-allowed;opacity:.5}.athlete-checkbox{flex-shrink:0}.athlete-checkbox input[type=checkbox]{accent-color:#ff4757;cursor:pointer;height:18px;width:18px}.athlete-avatar{background:linear-gradient(135deg,#ff4757,#e63946);color:#fff;font-size:14px;font-weight:700;height:40px;width:40px}.athlete-name{font-size:15px}.empty-state{padding:40px 20px}.empty-icon{font-size:48px;margin-bottom:12px}.empty-text{color:#999;font-size:15px}.consequences-container{background-color:#2e2d2d;border:1px solid #404040;border-radius:12px;margin-bottom:30px;padding:20px}.consequences-title{color:#fff;font-size:18px;font-weight:700;margin:0 0 15px}.consequence-item{align-items:center;display:flex;gap:10px;margin-bottom:8px}.consequence-icon{color:#d3d3d3;font-size:18px}.consequence-text{color:#d3d3d3;font-size:16px}.delete-button{align-items:center;background-color:#ff4757;border:none;border-radius:12px;box-shadow:0 4px 12px #ff47574d;color:#fff;cursor:pointer;display:flex;font-size:18px;font-weight:700;gap:10px;justify-content:center;padding:18px;transition:background-color .2s,box-shadow .2s;width:100%}.delete-button:hover:not(.disabled){background-color:#e63946;box-shadow:0 6px 16px #ff475766}.delete-button.disabled{background-color:#666;box-shadow:none;cursor:not-allowed}.button-icon{font-size:20px}.confirmation-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.confirmation-dialog{background-color:#2a2a2a;border-radius:16px;box-shadow:0 20px 60px #00000080;max-width:500px;padding:32px;width:90%}[data-theme=light] .confirmation-dialog{background-color:var(--bg-modal);box-shadow:0 20px 60px var(--shadow)}.confirmation-dialog h3{color:#fff;font-size:24px;font-weight:700;margin:0 0 16px}.confirmation-content{margin-bottom:24px}.confirmation-content p{color:#d3d3d3;font-size:16px;line-height:1.6;margin:0 0 16px}.confirmation-details{background:#0000004d;border:1px solid #ffffff1a;border-radius:8px;display:flex;flex-direction:column;gap:12px;padding:16px}.detail-item{display:flex;flex-direction:column;gap:6px}.detail-item strong{color:#ff4757;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.detail-item span{color:#fff;font-size:14px}.athlete-confirm-list{margin:0;max-height:150px;overflow-y:auto;padding-left:20px}.athlete-confirm-list li{color:#fff;font-size:14px;line-height:1.8}.athlete-confirm-list::-webkit-scrollbar{width:6px}.athlete-confirm-list::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.athlete-confirm-list::-webkit-scrollbar-thumb{background:#ff47574d;border-radius:3px}.athlete-confirm-list::-webkit-scrollbar-thumb:hover{background:#ff475780}.confirmation-buttons{display:flex;gap:12px}.confirm-button{border:none;border-radius:10px;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:14px 24px;transition:all .2s}.confirm-button.cancel{background-color:initial;border:2px solid #666;color:#d3d3d3}.confirm-button.cancel:hover{background-color:#ffffff0d;border-color:#888}.confirm-button.delete{background-color:#ff4757;color:#fff}.confirm-button.delete:hover{background-color:#e63946}.weekly-structure-content{flex-direction:column;height:100%;padding:0}.weekly-structure-content,.weekly-structure-layout{box-sizing:border-box;display:flex;max-width:100%;min-height:0;overflow:hidden;width:100%}.weekly-structure-layout{align-items:stretch;flex:1 1;gap:16px}.weekly-structure-loading{align-items:center;color:#d3d3d3;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.weekly-structure-loading .loading-spinner{animation:spin .8s linear infinite;border:4px solid #06d6a033;border-radius:50%;border-top-color:#06d6a0;height:40px;margin-bottom:16px;width:40px}.weekly-structure-loading p{font-size:16px;margin:0}.phase-selector-section{background-color:#2e2d2d;border:1px solid #404040;border-radius:10px;flex-shrink:0;margin-bottom:20px;padding:20px}[data-theme=light] .phase-selector-section{background-color:var(--bg-card);border:1px solid var(--border-color)}.section-title{font-size:20px;margin:0 0 8px}.section-description{color:#d3d3d3;font-size:16px;margin:0 0 15px}.phase-select{background-color:#606060;border:2px solid #06d6a0;border-radius:10px;color:#fff;cursor:pointer;font-size:18px;font-weight:700;margin-bottom:15px;padding:15px;transition:border-color .2s;width:100%}.phase-select:focus{border-color:#4a90e2;outline:none}.phase-select:disabled{cursor:not-allowed;opacity:.5}.selected-phase-info{background-color:#1a1a1a;border:1px solid #4a90e2;border-radius:8px;padding:15px}.selected-phase-info h4{color:#4a90e2;font-size:18px;font-weight:700;margin:0 0 5px}.selected-phase-info p{color:#d3d3d3;font-size:14px;line-height:1.5;margin:0}.info-box{word-wrap:break-word;align-items:center;background-color:#06d6a01a;border:1px solid #06d6a0;box-sizing:border-box;flex-shrink:0;flex-wrap:wrap;margin-bottom:24px;overflow-wrap:break-word;padding:16px;width:100%}.info-icon{font-size:20px}.info-text{min-width:0}.phase-selector-inline{align-items:center;display:flex;flex-shrink:0;gap:8px;margin-left:auto}.phase-label-inline{color:#d3d3d3;font-size:14px;font-weight:500;margin:0;white-space:nowrap}.phase-select-inline{background-color:#606060;border:1px solid #06d6a0;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;height:32px;min-width:140px;padding:6px 10px;transition:border-color .2s}.phase-select-inline:focus{border-color:#4a90e2;outline:none}.phase-select-inline:disabled{cursor:not-allowed;opacity:.5}.horizontal-week-container{background:linear-gradient(135deg,#1a2332,#2e3441);border:1px solid #ffffff1a;border-radius:12px;display:flex;flex:1 1;flex-direction:column;height:100%;min-height:0;overflow:hidden;padding:12px}[data-theme=light] .horizontal-week-container{background:var(--bg-calendar-header);border:1px solid var(--border-color)}.week-grid{display:flex;flex:1 1;flex-direction:column;gap:0;min-height:0;overflow:hidden}.week-header-row{grid-gap:6px;flex-shrink:0;gap:6px;grid-template-columns:repeat(7,1fr);margin-bottom:8px}.day-column-header{padding:12px 8px}[data-theme=light] .day-column-header{background:#00000005}.workout-count-badge{background-color:#06d6a033;border-radius:10px;color:#06d6a0;font-size:12px;font-weight:600;padding:2px 8px}.week-content-row{grid-gap:6px;align-items:stretch;flex:1 1;gap:6px;grid-template-columns:repeat(7,1fr);min-height:0}.day-column{height:100%;min-height:0;overflow-y:auto}.day-column.drag-over{background:linear-gradient(135deg,#06d6a026,#06d6a00d);border:2px dashed #06d6a0;box-shadow:inset 0 0 20px #06d6a033}.empty-day-column{flex:1 1;min-height:100%}.drop-zone-hint{font-size:14px}.day-column.drag-over .drop-zone-hint{background:#06d6a01a;border-color:#06d6a0;color:#06d6a0;font-weight:600}.structure-workout-card{background-color:#2e2d2d;border:1px solid #404040;border-left:4px solid #06d6a0;border-radius:8px;padding:12px;transition:all .2s}.structure-workout-card:hover{background-color:#06d6a00d;border-color:#06d6a0;box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.structure-workout-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.structure-workout-icon{filter:brightness(0) invert(1) opacity(.85);height:24px;object-fit:contain;width:24px}.delete-btn{font-size:24px;height:24px;width:24px}.structure-workout-details{display:flex;flex-direction:column;gap:4px}.structure-sport-name{color:#06d6a0;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.structure-workout-goal{color:#d3d3d3;font-size:13px;font-weight:600;line-height:1.3}.structure-workout-tag{margin-top:6px}.tag-badge{background:#06d6a033;border:1px solid #06d6a04d;border-radius:4px;color:#06d6a0;display:inline-block;font-size:11px;font-weight:600;padding:2px 8px}.structure-workout-tag-placeholder{color:#fff6;font-size:11px;font-style:italic;margin-top:6px}.structure-workout-card.editing-tag{border-color:#06d6a0;box-shadow:0 0 0 2px #06d6a04d}.structure-workout-card{cursor:pointer;position:relative}.day-column>div{position:relative}.tag-selection-popover{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#2e2d2d!important;border:1px solid #06d6a0;border-radius:8px;box-shadow:0 8px 24px #000c!important;display:flex;flex-direction:column;isolation:isolate;max-height:300px;max-width:300px;min-width:200px;opacity:1!important;overflow:hidden;pointer-events:auto;position:fixed!important;transform:translateZ(0);z-index:1000002!important}.tag-selection-header{align-items:center;background:#06d6a01a;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:8px 12px}.tag-selection-header span{color:#06d6a0;font-size:12px;font-weight:600}.close-tag-selector{align-items:center;background:none;border:none;color:#fff9;cursor:pointer;display:flex;font-size:20px;height:20px;justify-content:center;line-height:1;padding:0;width:20px}.close-tag-selector:hover{color:#fff}.tag-selection-list{max-height:250px;overflow-y:auto;padding:4px}.tag-option{background:#0000;border:none;border-radius:4px;color:#d3d3d3;cursor:pointer;display:block;font-size:13px;padding:8px 12px;text-align:left;transition:all .2s;width:100%}.tag-option:hover{background:#06d6a01a;color:#06d6a0}.tag-option.selected{background:#06d6a033;color:#06d6a0;font-weight:600}.tag-empty,.tag-loading{color:#ffffff80;font-size:12px;padding:12px;text-align:center}.workout-library-sidebar{background:linear-gradient(135deg,#1a2332,#2e3441);border:1px solid #ffffff1a;border-radius:12px;display:flex;flex-direction:column;flex-shrink:0;max-height:calc(100vh - 200px);padding:24px;width:320px}[data-theme=light] .workout-library-sidebar{background:var(--bg-sidebar);border:1px solid var(--border-color)}.library-scroll-container{flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;padding-right:8px}.library-scroll-container::-webkit-scrollbar{width:8px}.library-scroll-container::-webkit-scrollbar-track{background:#0003;border-radius:4px}.library-scroll-container::-webkit-scrollbar-thumb{background:#06d6a04d;border-radius:4px}.library-scroll-container::-webkit-scrollbar-thumb:hover{background:#06d6a080}.weekly-structure-main{display:flex;flex:1 1;flex-direction:column;min-width:0}.library-title{color:#fff;font-size:20px;font-weight:700;margin:0 0 4px}.library-subtitle{color:#fff9;font-size:14px;margin:0 0 24px}.sport-section{margin-bottom:24px}.sport-section:last-child{margin-bottom:0}.sport-header{align-items:center;border-bottom:2px solid #ffffff1a;display:flex;gap:12px;margin-bottom:12px;padding-bottom:8px}.sport-icon-small{filter:brightness(0) invert(1) opacity(.85);height:28px;object-fit:contain;width:28px}.sport-label{color:#fff;font-size:18px;font-weight:700}.goals-grid{display:flex;flex-direction:column;gap:12px}.draggable-goal-card{align-items:center;background-color:#2e2d2d;border:2px solid #404040;border-radius:8px;cursor:grab;display:flex;justify-content:space-between;padding:12px;transition:all .2s;width:100%}.draggable-goal-card:hover{background-color:#06d6a00d;border-color:#06d6a0;box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.draggable-goal-card:active{cursor:grabbing;transform:scale(.98)}.goal-card-content{align-items:center;display:flex;flex:1 1;gap:12px}.goal-card-icon{filter:brightness(0) invert(1) opacity(.85);flex-shrink:0;height:24px;object-fit:contain;width:24px}.goal-card-text{display:flex;flex-direction:column;gap:2px}.goal-card-sport{color:#ffffff80;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.goal-card-goal{color:#d3d3d3;font-size:13px;font-weight:600}.drag-indicator{color:#ffffff4d;font-size:16px;font-weight:700;letter-spacing:-2px}.save-section{display:flex;justify-content:center;margin-top:24px;padding:20px 0 0}.save-btn{background:linear-gradient(135deg,#06d6a0,#05b385);border:none;border-radius:8px;box-shadow:0 4px 12px #06d6a04d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 32px;transition:all .2s}.save-btn:hover{box-shadow:0 6px 16px #06d6a066;transform:translateY(-2px)}.save-btn:active{transform:translateY(0)}.save-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:1200px){.workout-library-sidebar{width:280px}}@media (max-width:968px){.weekly-structure-layout{flex-direction:column}.workout-library-sidebar{max-height:400px;width:100%}.library-scroll-container{max-height:300px}.goals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}@media (max-width:768px){.weekly-structure-content{padding:16px}.workout-library-sidebar{max-height:350px}.library-scroll-container{max-height:250px}.week-content-row,.week-header-row{grid-template-columns:repeat(7,minmax(100px,1fr))}.day-column{min-height:250px}.goals-grid{grid-template-columns:1fr}}.schedule-limitations-content{padding:12px}.info-box{background-color:#2e2d2d;border:1px solid #404040;border-radius:8px;gap:10px;margin-bottom:12px;padding:10px}.info-icon{font-size:16px}.info-text{font-size:12px;line-height:1.4}.schedule-limitations-loading{align-items:center;color:#d3d3d3;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.schedule-limitations-loading .loading-spinner{animation:spin .8s linear infinite;border:4px solid #4a90e233;border-radius:50%;border-top-color:#4a90e2;height:40px;margin-bottom:16px;width:40px}.schedule-limitations-loading p{font-size:16px;margin:0}.week-container{background:linear-gradient(135deg,#1a2332,#2e3441);border:1px solid #ffffff1a;border-radius:12px;margin-bottom:24px;padding:16px}[data-theme=light] .week-container{background:var(--bg-calendar-header);border:1px solid var(--border-color)}.week-header-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(7,minmax(0,1fr));margin-bottom:12px;width:100%}.day-column-header{align-items:center;background:#ffffff0d;border:2px solid #0000;border-radius:8px;box-sizing:border-box;display:flex;flex-direction:column;gap:4px;min-width:0;padding:12px;text-align:center;width:100%}.day-name{color:#fff;font-size:14px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.slot-count-badge{background-color:#4a90e233;border-radius:10px;color:#4a90e2;font-size:11px;font-weight:600;padding:2px 6px}.week-content-row{grid-gap:8px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.day-column,.week-content-row{gap:8px;min-height:300px;width:100%}.day-column{background-color:#0003;border:2px solid #ffffff1a;border-radius:8px;box-sizing:border-box;display:flex;flex-direction:column;min-width:0;padding:12px;transition:all .2s}[data-theme=light] .day-column{background-color:#00000005;border:2px solid var(--border-color)}.empty-day-column{min-height:200px}.drop-zone-hint,.empty-day-column{align-items:center;display:flex;height:100%;justify-content:center}.drop-zone-hint{border:2px dashed #ffffff26;border-radius:8px;color:#ffffff4d;font-size:12px;font-style:italic;transition:all .2s;width:100%}.time-slot-card{background-color:#2e2d2d;border:1px solid #404040;border-left:4px solid #4a90e2;border-radius:8px;padding:10px;transition:all .2s}.time-slot-card:hover{background-color:#4a90e20d;border-color:#4a90e2;box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.slot-card-header{display:flex;justify-content:flex-end;margin-bottom:8px}.delete-btn{align-items:center;background:none;border:none;color:#fff6;cursor:pointer;display:flex;font-size:20px;height:20px;justify-content:center;line-height:1;padding:0;transition:all .2s;width:20px}.delete-btn:hover{color:#f44;transform:scale(1.2)}.delete-btn:disabled{cursor:not-allowed;opacity:.5}.slot-card-content{display:flex;flex-direction:column;gap:8px}.input-label{font-size:11px;margin-bottom:4px}.schedule-select{background-color:#606060;border:2px solid #06d6a0;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:700;padding:8px;transition:border-color .2s}.schedule-select:focus{border-color:#4a90e2;outline:none}.schedule-select:disabled{cursor:not-allowed;opacity:.5}.schedule-input{background-color:#1a1a1a;border:1px solid #404040;border-radius:6px;color:#fff;font-size:12px;padding:8px;transition:border-color .2s}.schedule-input:focus{border-color:#4a90e2;outline:none}.schedule-input:disabled{cursor:not-allowed;opacity:.5}.schedule-input::placeholder{color:#666}.time-display{color:#4a90e2;font-size:10px;font-style:italic;margin:3px 0 0}.add-slot-btn-small{align-items:center;background-color:initial;border:1px dashed #fff3;border-radius:6px;color:#fff6;cursor:pointer;display:flex;font-size:20px;font-weight:700;height:40px;justify-content:center;margin-top:4px;transition:all .2s;width:100%}.add-slot-btn-small:hover:not(:disabled){background:#4a90e20d;border-color:#4a90e299;color:#4a90e2e6}.add-slot-btn-small:disabled{cursor:not-allowed;opacity:.5}.action-buttons{display:flex;justify-content:center;padding:16px 0}.save-button{gap:8px;padding:12px 32px}.button-spinner{height:16px;width:16px}@media (max-width:768px){.week-content-row,.week-header-row{grid-template-columns:repeat(7,minmax(100px,1fr))}.day-column{min-height:250px}}.training-loads-content{padding:0}.training-loads-loading{align-items:center;color:#d3d3d3;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.training-loads-loading .loading-spinner{animation:spin .8s linear infinite;border:4px solid #4a90e233;border-radius:50%;border-top-color:#4a90e2;height:40px;margin-bottom:16px;width:40px}.training-loads-loading p{font-size:16px;margin:0}.info-box{align-items:flex-start;background:#4a90e214;border:1px solid #4a90e233;border-radius:12px;display:flex;gap:12px;margin-bottom:32px;padding:16px 20px}.info-icon{align-items:center;background:#4a90e226;border-radius:6px;color:#4a90e2;display:flex;flex-shrink:0;height:24px;justify-content:center;padding:4px;width:24px}.info-icon svg{height:100%;width:100%}.info-text{color:#d3d3d3;flex:1 1;font-size:14px;line-height:1.6;margin:0}.sports-container{align-items:stretch;display:flex;gap:28px;margin-bottom:32px}.sport-section{background:linear-gradient(135deg,#ffffff08,#ffffff03);border:1px solid #ffffff14;border-radius:12px;display:flex;flex:1 1;flex-direction:column;max-width:100%;min-width:0;padding:24px;transition:all .3s ease}[data-theme=light] .sport-section{background:var(--bg-card);border:1px solid var(--border-color)}.sport-section:hover{border-color:#ffffff1f;box-shadow:0 4px 12px #0003}.sport-title{border-bottom:2px solid;font-size:16px;font-weight:700;letter-spacing:1px;margin:0 0 20px;padding-bottom:12px;text-transform:uppercase}.sport-title.running{border-bottom-color:#4caf504d;color:#4caf50}.sport-title.cycling{border-bottom-color:#ff98004d;color:#ff9800}.sport-title.swimming{border-bottom-color:#00bcd44d;color:#00bcd4}.sport-title.xcski{border-bottom-color:#9c27b04d;color:#9c27b0}.sport-title.other{border-bottom-color:#607d8b4d;color:#607d8b}.training-loads-content .input-row{align-items:stretch;gap:12px;justify-content:space-between;overflow:visible;width:100%}.training-loads-content .input-row,.training-loads-content .sport-section .input-row{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important}.training-loads-content .input-group{align-items:stretch;display:flex;flex:1 1;flex-direction:column;max-width:100%;min-width:0;width:auto}.training-loads-content .sport-section .input-group{flex:1 1!important;max-width:100%!important;min-width:0!important}.training-loads-content .sport-section .training-load-input{flex:0 1 auto!important;max-width:100%!important;min-width:0!important;width:100%!important}.input-label{color:#b0b0b0;font-size:12px;letter-spacing:.5px;margin-bottom:6px;text-align:center;text-transform:uppercase}.training-load-input{-moz-appearance:textfield;background-color:#ffffff0d;border:1.5px solid #ffffff1a;border-radius:8px;box-sizing:border-box;color:#fff;flex:0 1 auto;font-size:14px;font-weight:600;height:auto;max-width:100%;min-width:0;padding:6px 8px;text-align:center;transition:all .2s ease;width:100%}[data-theme=light] .training-load-input{background-color:#00000005;border:1.5px solid var(--border-color);color:var(--text-primary)}.training-load-input::-webkit-inner-spin-button,.training-load-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.training-load-input:focus{background-color:#4a90e21a;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e226;outline:none}.training-load-input:hover:not(:disabled){background-color:#ffffff12;border-color:#ffffff26}.training-load-input:disabled{cursor:not-allowed;opacity:.5}.training-load-input::placeholder{color:#666;font-weight:400}.action-buttons{margin-top:8px}.save-button{background:linear-gradient(135deg,#4a90e2,#357abd);box-shadow:0 2px 8px #4a90e233;font-weight:600;letter-spacing:.3px;padding:16px 24px;transition:all .2s ease}.save-button:hover:not(.disabled){background:linear-gradient(135deg,#357abd,#2868a8);box-shadow:0 4px 12px #4a90e24d;transform:translateY(-1px)}.save-button:active:not(.disabled){transform:translateY(0)}.save-button.disabled{background:#66666680;box-shadow:none;transform:none}.button-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:18px;width:18px}@media (max-width:768px){.sports-container{flex-direction:column;gap:20px}.sport-section{padding:16px}.info-box{margin-bottom:24px;padding:14px 16px}.info-text{font-size:13px}.sport-title{font-size:14px;margin-bottom:16px;padding-bottom:10px}.training-loads-content .input-row{flex-direction:column!important;gap:12px}.input-label{font-size:12px;margin-bottom:6px}.training-load-input{font-size:16px;padding:12px 14px}.save-button{font-size:15px;padding:14px 20px}}.training-phase-content{padding:20px}.athlete-verification-section{align-items:center;background:linear-gradient(135deg,#4a90e226,#4a90e20d);border:2px solid #4a90e24d;border-radius:12px;display:flex;gap:16px;justify-content:space-between;margin-bottom:24px;padding:16px 20px}[data-theme=light] .athlete-verification-section{background:linear-gradient(135deg,#4a90e21a,#4a90e208);border-color:#4a90e266}.athlete-verification-header{align-items:center;display:flex;flex:1 1;gap:12px}.athlete-icon{align-items:center;background:#4a90e233;border:2px solid #4a90e266;border-radius:50%;display:flex;flex-shrink:0;font-size:24px;height:48px;justify-content:center;width:48px}.athlete-info{flex:1 1;min-width:0}.athlete-name{font-size:18px;font-weight:700}[data-theme=light] .athlete-name{color:#333}.athlete-email{color:#ffffffb3;font-size:14px}[data-theme=light] .athlete-email{color:#0009}.verification-badge{align-items:center;background:#4a90e233;border:1px solid #4a90e266;border-radius:20px;display:flex;flex-shrink:0;gap:8px;padding:8px 16px}[data-theme=light] .verification-badge{background:#4a90e226;border-color:#4a90e280}.verification-icon{align-items:center;background:#4a90e2;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:18px;justify-content:center;width:18px}.verification-text{color:#4a90e2;font-size:13px;font-weight:600;white-space:nowrap}@media (max-width:768px){.athlete-verification-section{align-items:flex-start;flex-direction:column}.verification-badge{align-self:flex-end}}.training-phase-loading{align-items:center;color:#d3d3d3;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.training-phase-loading .loading-spinner{animation:spin .8s linear infinite;border:4px solid #4a90e233;border-radius:50%;border-top-color:#4a90e2;height:40px;margin-bottom:16px;width:40px}.training-phase-loading p{font-size:16px;margin:0}.section-title{color:#4a90e2;font-size:18px;margin-bottom:15px}.phase-selector-container{margin-bottom:30px}.phase-cards-container{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.phase-card{background-color:#2e2d2d;border:2px solid;border-radius:10px;cursor:pointer;padding:16px;position:relative;transition:all .2s ease}[data-theme=light] .phase-card{background-color:var(--bg-card)}.phase-card:hover{box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.phase-card.selected{box-shadow:0 0 0 3px #4a90e233}.phase-card-header{align-items:center;display:flex;gap:10px;margin-bottom:8px}.phase-card-indicator{border-radius:50%;flex-shrink:0;height:12px;width:12px}.phase-card-title{color:#d3d3d3;flex:1 1;font-size:15px;font-weight:600}.phase-card-checkmark,.phase-card.selected .phase-card-title{color:#fff;font-weight:700}.phase-card-checkmark{align-items:center;background-color:currentColor;border-radius:50%;display:flex;flex-shrink:0;font-size:12px;height:20px;justify-content:center;width:20px}.phase-card-description{color:#999;font-size:12px;line-height:1.4;margin:0}.phase-card.selected .phase-card-description{color:#d3d3d3}.selected-phase-info{background-color:#0003;border:2px solid;border-radius:10px;margin-top:8px;padding:16px}[data-theme=light] .selected-phase-info{background-color:#0000000d}.selected-phase-header{align-items:center;display:flex;gap:10px;margin-bottom:8px}.selected-phase-indicator{border-radius:50%;flex-shrink:0;height:16px;width:16px}.selected-phase-label{color:#fff;font-size:18px;font-weight:700;margin:0}.selected-phase-description{color:#d3d3d3;font-size:14px;line-height:1.5;margin:0}.save-button{border-radius:10px;font-size:18px;padding:15px}.phase-schedules-section{border-top:1px solid #ffffff1a;margin-top:40px;padding-top:30px}.section-description{color:#fff9;font-size:14px;line-height:1.5;margin-bottom:20px}.phases-list{display:flex;flex-direction:column;gap:20px;margin-bottom:20px}.phase-item{background:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;padding:20px;transition:all .2s ease}[data-theme=light] .phase-item{background:#00000008;border-color:#0000001a}.phase-item:hover{background:#ffffff0d;border-color:#ffffff26}.phase-item-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.phase-item-title{color:#fff;font-size:16px;font-weight:600;margin:0}[data-theme=light] .phase-item-title{color:#333}.remove-phase-button{align-items:center;background:#ff3b3033;border:1px solid #ff3b3066;border-radius:6px;color:#ff3b30;cursor:pointer;display:flex;font-size:16px;height:28px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:28px}.remove-phase-button:hover:not(:disabled){background:#ff3b304d;border-color:#ff3b3099}.remove-phase-button:disabled{cursor:not-allowed;opacity:.5}.phase-fields{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr 1fr}@media (max-width:768px){.phase-fields{grid-template-columns:1fr}}.input-group{display:flex;flex-direction:column}.input-label{align-items:center;color:#fff;display:flex;font-size:14px;font-weight:600;gap:8px;margin-bottom:8px}[data-theme=light] .input-label{color:#333}.form-input{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;font-size:14px;padding:12px 16px;transition:all .2s ease}[data-theme=light] .form-input{background:#0000000d;border-color:#0003;color:#333}.form-input:focus{background:#ffffff26;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a;outline:none}.form-input:disabled{cursor:not-allowed;opacity:.5}.form-select{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;padding:12px 16px;transition:all .2s ease}[data-theme=light] .form-select{background:#0000000d;border-color:#0003;color:#333}.form-select:focus{background:#ffffff26;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a;outline:none}.form-select:disabled{cursor:not-allowed;opacity:.5}.form-select option{background:#2a2a2a;color:#fff}.phase-description{color:#fff9;font-size:12px;font-style:italic;margin:6px 0 0}[data-theme=light] .phase-description{color:#0009}.helper-text{color:#fff9;font-size:12px;line-height:1.4;margin:6px 0 0}[data-theme=light] .helper-text{color:#0009}.add-phase-button{background:#4a90e233;border:1px dashed #4a90e280;border-radius:8px;color:#4a90e2;cursor:pointer;font-size:14px;font-weight:600;padding:12px 16px;transition:all .2s ease;width:100%}.add-phase-button:hover:not(:disabled){background:#4a90e24d;border-color:#4a90e2b3;border-style:solid}.add-phase-button:disabled{cursor:not-allowed;opacity:.5}.fitness-thresholds-content{padding:16px}.fitness-thresholds-loading{align-items:center;color:#d3d3d3;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.fitness-thresholds-loading .loading-spinner{animation:spin .8s linear infinite;border:4px solid #4a90e233;border-radius:50%;border-top-color:#4a90e2;height:40px;margin-bottom:16px;width:40px}.fitness-thresholds-loading p{font-size:16px;margin:0}.sport-threshold-section{margin-bottom:18px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.section-title{font-size:16px;font-weight:700;margin:0;text-transform:uppercase}.section-title.swimming{color:#00bcd4}.section-title.cycling{color:#ff9800}.section-title.running{color:#4caf50}.section-title.xcski{color:#8e24aa}.unit-toggle{background-color:#4a90e2;border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:13px;font-weight:700;min-width:55px;padding:4px 10px;transition:background-color .2s}.unit-toggle:hover:not(:disabled){background-color:#3d7ec6}.unit-toggle:disabled{cursor:not-allowed;opacity:.5}.input-group,.input-row{margin-bottom:12px}.input-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.input-group-half{margin-bottom:0}.input-label{color:#d3d3d3;display:block;font-size:13px;font-weight:500;margin-bottom:5px}.threshold-input{background-color:#2e2d2d;border:1px solid #404040;border-radius:8px;color:#fff;font-size:14px;padding:8px 12px;transition:border-color .2s;width:100%}[data-theme=light] .threshold-input{background-color:#00000005;border:1px solid var(--border-color);color:var(--text-primary)}.threshold-input:focus{border-color:#4a90e2;outline:none}.threshold-input:disabled{cursor:not-allowed;opacity:.5}.threshold-input::placeholder{color:#666}.helper-text{color:#999;font-size:11px;font-style:italic;line-height:1.3;margin:3px 0 0}.threshold-input.error{background:#ff3b301a;border-color:#ff3b30}.threshold-input.error:focus{border-color:#ff3b30;box-shadow:0 0 0 3px #ff3b3033}.error-text{color:#ff3b30;font-size:11px;line-height:1.4;margin:4px 0 0}.save-button{align-items:center;background-color:#4a90e2;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:700;gap:10px;justify-content:center;margin-top:8px;padding:12px;transition:background-color .2s;width:100%}.save-button:hover:not(.disabled){background-color:#3d7ec6}.save-button.disabled{background-color:#666;cursor:not-allowed}.modal-overlay{animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000000}.coaching-modal{animation:slideIn .3s ease-out;background:linear-gradient(135deg,#2a2a2a,#1a2332);border:1px solid #ffffff1a;border-radius:16px;box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;left:50%;max-height:90vh;max-width:800px;overflow:hidden;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:1000001}[data-theme=light] .coaching-modal{background:var(--bg-modal);border:1px solid var(--border-color);box-shadow:0 20px 60px var(--shadow)}.coaching-modal.weekly-structure-modal{max-width:1400px;width:95%}.coaching-modal.weekly-structure-modal .modal-body{box-sizing:border-box;display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:16px;width:100%}.coaching-modal.schedule-limitations-modal{max-width:1600px;width:95%}.coaching-modal.schedule-limitations-modal .modal-body{padding:16px}.coaching-modal.training-loads-modal{max-width:1200px;width:95%}.coaching-modal.training-loads-modal .modal-body{padding:24px}.coaching-modal.load-ratios-modal{max-width:1600px;width:95%}.coaching-modal.load-ratios-modal .modal-body{overflow-y:auto;padding:24px}@keyframes slideIn{0%{opacity:0;transform:translate(calc(-50% + 100px),-50%)}to{opacity:1;transform:translate(-50%,-50%)}}.modal-header{align-items:flex-start;background:linear-gradient(135deg,#4a90e21a,#0000);border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:24px 28px}.modal-header-content{align-items:flex-start;display:flex;flex:1 1;gap:16px}.modal-icon{align-items:center;background:#4a90e233;border-radius:12px;display:flex;flex-shrink:0;font-size:32px;height:56px;justify-content:center;width:56px}.modal-title-section{flex:1 1}.modal-header h2{color:#fff;font-size:24px;font-weight:700;letter-spacing:.3px;margin:0 0 8px}.modal-description{color:#b0b0b0;font-size:14px;letter-spacing:.1px;line-height:1.5;margin:0}.modal-header-actions{align-items:center;display:flex;flex-shrink:0;gap:12px}.modal-save-button{background:linear-gradient(135deg,#06d6a0,#05b385);border:none;border-radius:8px;box-shadow:0 4px 12px #06d6a04d;color:#fff;cursor:pointer;font-size:15px;font-weight:600;line-height:1;padding:12px 28px;transition:all .2s ease;white-space:nowrap}.modal-save-button:hover{box-shadow:0 6px 16px #06d6a066;transform:translateY(-2px)}.modal-save-button:active{transform:translateY(0)}.modal-save-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.modal-close-button{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;color:#b0b0b0;cursor:pointer;display:flex;flex-shrink:0;font-size:24px;height:40px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:40px}.modal-close-button:hover{background:#ff3b3033;border-color:#ff3b3066;color:#ff3b30}.modal-body{flex:1 1;min-height:300px;overflow-y:auto;padding:28px}.coaching-modal:not(:has(.modal-footer)) .modal-body{padding-bottom:32px}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.modal-body::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.modal-body::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.modal-content-placeholder{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:300px;padding:40px 20px;text-align:center}.placeholder-icon{font-size:72px;margin-bottom:24px;opacity:.6}.modal-content-placeholder h3{color:#fff;font-size:20px;font-weight:600;margin:0 0 12px}.placeholder-text{color:#b0b0b0;font-size:14px;line-height:1.6;margin:0 0 24px}.athlete-info{background:#4a90e21a;border:1px solid #4a90e233;border-radius:8px;color:#e0e0e0;font-size:14px;line-height:1.6;padding:16px 24px}.athlete-info strong{color:#fff;font-weight:600}.modal-footer{background:#0003;border-top:1px solid #ffffff1a;display:flex;gap:12px;justify-content:flex-end;padding:20px 28px}.modal-button{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;letter-spacing:.3px;padding:12px 24px;transition:all .2s ease}.modal-button.secondary{background:#ffffff0d;border:1px solid #ffffff1a;color:#e0e0e0}.modal-button.secondary:hover{background:#ffffff1a;border-color:#fff3}.modal-button.primary{background:linear-gradient(135deg,#4a90e2,#357abd);border:1px solid #4a90e24d;color:#fff}.modal-button.primary:hover{background:linear-gradient(135deg,#357abd,#2868a8);box-shadow:0 4px 12px #4a90e24d}@media (max-width:768px){.coaching-modal{max-height:95vh;width:95%}.modal-header{padding:20px}.modal-header-content{gap:12px}.modal-icon{font-size:28px;height:48px;width:48px}.modal-header h2{font-size:20px}.modal-description{font-size:13px}.modal-body{min-height:250px;padding:20px}.modal-footer{flex-direction:column-reverse;padding:16px 20px}.modal-button{width:100%}.placeholder-icon{font-size:56px}}.athlete-selector-container{background:linear-gradient(135deg,#1a2332,#2e3441);display:flex;flex-direction:column;height:100%;overflow:hidden}[data-theme=light] .athlete-selector-container{background:var(--bg-sidebar)}.athlete-selector-header{background:linear-gradient(135deg,#4a90e21a,#0000);border-bottom:1px solid #ffffff1a;padding:24px}[data-theme=light] .athlete-selector-header{background:linear-gradient(135deg,#007bff0d,#0000);border-bottom:1px solid var(--border-color)}.selector-title-section{align-items:center;display:flex;gap:16px}.selector-icon{align-items:center;background:#4a90e233;border-radius:12px;display:flex;flex-shrink:0;font-size:36px;height:56px;justify-content:center;width:56px}.selector-title-section h2{color:#fff;font-size:24px;font-weight:700;letter-spacing:.3px;margin:0 0 4px}.selector-subtitle{color:#b0b0b0;font-size:14px;line-height:1.5;margin:0}.athlete-selector-content{flex:1 1;overflow-y:auto;padding:20px}.athlete-selector-content::-webkit-scrollbar{width:8px}.athlete-selector-content::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.athlete-selector-content::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.athlete-selector-content::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.athlete-list{display:flex;flex-direction:column;gap:12px}.athlete-card{align-items:center;background:linear-gradient(135deg,#2a2a2a,#1a2332);border:1px solid #ffffff1a;border-left:4px solid #4a90e2;border-radius:12px;cursor:pointer;display:flex;gap:16px;padding:16px 20px;text-align:left;transition:all .3s ease;width:100%}[data-theme=light] .athlete-card{background:var(--bg-card);border:1px solid var(--border-color);box-shadow:0 2px 8px var(--shadow-light)}.athlete-card:hover{background:linear-gradient(135deg,#2e3441,#1a2332);border-color:#4a90e266;box-shadow:0 4px 16px #4a90e233;transform:translateX(4px)}[data-theme=light] .athlete-card:hover{background:var(--bg-tertiary);border-color:#007bff4d;box-shadow:0 4px 16px var(--shadow-light)}.athlete-avatar{align-items:center;background:linear-gradient(135deg,#4a90e2,#357abd);border-radius:50%;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.athlete-avatar span{color:#fff;font-size:16px;font-weight:700;letter-spacing:.5px}.athlete-details{flex:1 1;min-width:0}.athlete-name{color:#fff;font-size:16px;font-weight:600;letter-spacing:.2px;margin:0 0 4px}.athlete-email,.athlete-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.athlete-email{color:#b0b0b0;font-family:SF Mono,Monaco,Consolas,monospace;font-size:13px;margin:0}.athlete-arrow{color:#666;flex-shrink:0;font-size:24px;transition:all .3s ease}.athlete-card:hover .athlete-arrow{color:#4a90e2;transform:translateX(4px)}.empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:300px;padding:60px 20px;text-align:center}.empty-icon{font-size:72px;margin-bottom:24px;opacity:.5}.empty-text{color:#b0b0b0;font-size:16px;line-height:1.6;margin:0}@media (max-width:768px){.athlete-selector-header{padding:20px}.selector-icon{font-size:28px;height:48px;width:48px}.selector-title-section h2{font-size:20px}.selector-subtitle{font-size:13px}.athlete-selector-content{padding:16px}.athlete-card{padding:14px 16px}.athlete-avatar{height:40px;width:40px}.athlete-avatar span{font-size:14px}.athlete-name{font-size:15px}.athlete-email{font-size:12px}}.backend-outage-overlay{align-items:center;animation:fadeIn .2s ease-in;background-color:#000000bf;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.backend-outage-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:500px;padding:40px;text-align:center;width:90%}[data-theme=light] .backend-outage-modal{background:var(--bg-modal);box-shadow:0 20px 60px var(--shadow)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.outage-icon{animation:pulse 2s ease-in-out infinite;font-size:64px;margin-bottom:20px}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.outage-title{color:#2c3e50;font-size:28px;font-weight:700;margin:0 0 16px}.outage-message{color:#555;font-size:16px;line-height:1.5;margin:0 0 12px}.outage-submessage{color:#777;font-size:14px;line-height:1.6;margin:0 0 32px}.outage-actions{display:flex;gap:12px;justify-content:center;margin-bottom:24px}.retry-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 12px #667eea66;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 32px;transition:all .2s ease}.retry-button:hover{box-shadow:0 6px 16px #667eea80;transform:translateY(-2px)}.retry-button:active{transform:translateY(0)}.outage-footer{color:#999;font-size:12px;margin:0}@media (prefers-color-scheme:dark){.backend-outage-modal{background:#2c3e50;color:#ecf0f1}.outage-title{color:#ecf0f1}.outage-message{color:#bdc3c7}.outage-submessage{color:#95a5a6}.outage-footer{color:#7f8c8d}}.App{background:linear-gradient(135deg,var(--bg-primary) 0,var(--bg-secondary) 50%,var(--bg-tertiary) 100%);color:var(--text-primary);display:flex;flex-direction:column;height:100vh;margin:0;overflow:hidden;padding:0;transition:background .3s ease,color .3s ease}.app-main-wrapper{display:flex;flex:1 1;flex-direction:row;overflow:hidden}.loading-container{align-items:center;background:linear-gradient(135deg,var(--bg-primary) 0,var(--bg-secondary) 50%,var(--bg-tertiary) 100%);color:var(--text-primary);display:flex;flex-direction:column;height:100vh;justify-content:center}.loading-spinner{animation:spin 1s linear infinite;border-top:4px solid var(--bg-tertiary);border:4px solid var(--bg-tertiary);border-radius:50%;border-top-color:var(--accent-primary);height:40px;margin-bottom:16px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-container{align-items:center;background:linear-gradient(135deg,var(--bg-primary) 0,var(--bg-secondary) 50%,var(--bg-tertiary) 100%);color:var(--text-primary);display:flex;flex-direction:column;height:100vh;justify-content:center;text-align:center}.error-container h2{color:#dc3545;margin-bottom:16px}.error-container button{background-color:var(--accent-primary);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;padding:12px 24px}.error-container button:hover{background-color:var(--accent-hover)}.app-content{display:flex;flex:1 1;height:100%;overflow:hidden}.library-panel{background:linear-gradient(135deg,var(--bg-primary),var(--bg-secondary));border-right:1px solid var(--border-color);max-width:480px;min-width:480px;overflow:hidden;width:480px}.calendar-panel{flex:1 1;overflow:hidden}.calendar-panel,.toast-container{display:flex;flex-direction:column}.toast-container{bottom:20px;gap:12px;pointer-events:none;position:fixed;right:20px;z-index:10000}.toast-container>*{pointer-events:all}@media (max-width:1200px){.library-panel{max-width:420px;min-width:420px;width:420px}}@media (max-width:992px){.app-content,.app-main-wrapper{flex-direction:column}.library-panel{border-bottom:1px solid var(--border-color);border-right:none;height:300px;max-width:100%;width:100%}.calendar-panel{flex:1 1}}@media (max-width:768px){.library-panel{height:250px}.toast-container{left:20px;right:20px}}.registration-container{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;align-items:stretch;background:linear-gradient(135deg,#121212,#1a2332 50%,#2e3441);display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;min-height:100vh}.registration-split-left{align-items:center;display:flex;flex:1 1;justify-content:center;overflow:hidden;padding:40px;position:relative}.registration-background-image{height:100%;image-rendering:-webkit-optimize-contrast;left:0;object-fit:cover;object-position:center;position:absolute;top:0;width:100%;will-change:transform}.registration-image-overlay{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);background:linear-gradient(135deg,#1212124d,#1a233266);height:100%;left:0;position:absolute;top:0;width:100%}.registration-split-right{align-items:center;background:linear-gradient(135deg,#121212,#1a2332 50%,#2e3441);display:flex;flex:1 1;justify-content:center;padding:40px}@media (max-width:968px){.registration-container{flex-direction:column}.registration-split-left{min-height:40vh;padding:20px}.registration-split-right{min-height:60vh;padding:20px}}.registration-form{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff05;border:1px solid #fff3;border-radius:12px;box-shadow:0 8px 32px #0000004d;max-width:450px;padding:40px;position:relative;width:100%;z-index:1}[data-theme=light] .registration-form{background:#00000005;border:1px solid var(--border-color);box-shadow:0 8px 32px var(--shadow)}.registration-header{align-items:center;display:flex;flex-direction:column;gap:12px;margin-bottom:32px;overflow:hidden;text-align:center;width:100%}.registration-logo{-ms-interpolation-mode:nearest-neighbor;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:block;height:80px;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;image-rendering:-webkit-optimize-contrast;margin-bottom:4px;max-height:80px;max-width:100%;object-fit:contain;transform:translateZ(0);width:auto}.registration-header h1{color:#fff;font-size:28px;font-weight:700;margin:0 0 8px}.registration-header p{color:#a0a0a0;font-size:16px;margin:0}.form-row{display:flex;gap:16px}.form-row .form-group{flex:1 1}.form-group{margin-bottom:24px;position:relative}.form-group label{background:#0000;color:#fff9;font-weight:400;left:26px;padding:0 4px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.form-group input,.form-group label{font-size:16px;transition:all .3s ease}.form-group input{background:#ffffff0d;border:1px solid #fff3;border-radius:8px;box-sizing:border-box;color:#fff;font-family:inherit;padding:26px 26px 12px;width:100%}.form-group input:focus+label,.form-group input:not(:placeholder-shown)+label{color:#fffc;font-size:12px;font-weight:500;top:8px;transform:translateY(0)}.form-group input:focus{background:#ffffff14;border-color:#fff6;outline:none}.form-group input:disabled{cursor:not-allowed;opacity:.5}.error-message{background:#dc35451a;border:1px solid #dc35454d;border-radius:8px;color:#dc3545;font-size:14px;margin-bottom:16px;padding:12px}.registration-button{background:#0000;border:2px solid #fff;border-radius:15px;color:#fff;cursor:pointer;font-family:inherit;font-size:16px;font-weight:600;letter-spacing:.5px;padding:14px;text-transform:uppercase;transition:all .3s ease;width:100%}.registration-button:hover:not(:disabled){background:#ffffff1a;border-color:#fff;transform:translateY(-1px)}.registration-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.registration-footer{margin-top:24px;text-align:center}.registration-footer p{color:#a0a0a0;font-size:14px;margin:0}.login-link{color:#fff;font-weight:600;text-decoration:none;transition:color .3s ease}.login-link:hover{color:#fffc;text-decoration:underline}
/*# sourceMappingURL=main.f15977c5.css.map*/