.app-modal{display:flex!important;position:fixed;z-index:10000;left:0;top:0;right:0;bottom:0;width:100%;height:100%;overflow:auto;background-color:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:appModalFadeIn .2s ease;align-items:center;justify-content:center;padding:var(--space-4)}@keyframes appModalFadeIn{0%{opacity:0}to{opacity:1}}.app-modal-content{position:relative;background-color:#fff;margin:auto;padding:0;border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);max-width:600px;width:90%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;animation:appModalSlideIn .3s cubic-bezier(.34,1.56,.64,1)}.app-modal-content.modal-large{max-width:900px}.app-modal-content.modal-small{max-width:400px}.app-modal-content.modal-xlarge{max-width:min(1200px,96vw);width:96vw;max-height:90vh}@keyframes appModalSlideIn{0%{transform:translateY(-40px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.app-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-6);border-bottom:1px solid var(--gray-200);background:linear-gradient(135deg,var(--gray-50) 0%,white 100%)}.app-modal-header h2{margin:0;font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--gray-900)}.app-modal-close{color:var(--gray-400);font-size:28px;font-weight:var(--font-bold);cursor:pointer;line-height:1;transition:color var(--transition-base)}.app-modal-close:hover,.app-modal-close:focus{color:var(--gray-900)}.app-modal-close--float{position:absolute;top:var(--space-4);right:var(--space-4);z-index:1}.app-modal-body{padding:20px 0;overflow-y:auto;overflow-x:hidden;flex:1;background:#fff;border-radius:0 0 var(--radius-2xl) var(--radius-2xl)}.app-modal-body::-webkit-scrollbar{width:8px}.app-modal-body::-webkit-scrollbar-button{display:none;height:0}.app-modal-body::-webkit-scrollbar-track{background:var(--gray-100);border-radius:4px}.app-modal-body::-webkit-scrollbar-thumb{background:var(--gray-400);border-radius:4px}.app-modal-body::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}.app-modal-body{scrollbar-width:thin;scrollbar-color:var(--gray-400) var(--gray-100)}.app-modal-body--center{display:flex;align-items:center;justify-content:center;min-height:280px;padding:var(--space-8);padding-left:var(--space-8);padding-right:var(--space-8)}.form-group{margin-bottom:var(--space-4)}.form-group label{display:block;margin-bottom:var(--space-2);font-weight:var(--font-semibold);color:var(--gray-700);font-size:var(--text-sm)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:var(--space-3);border:1.5px solid var(--gray-300);border-radius:var(--radius-md);font-size:var(--text-base);font-family:inherit;transition:all var(--transition-base)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #fc4c021a}[data-theme=dark] .form-group input:focus,[data-theme=dark] .form-group select:focus,[data-theme=dark] .form-group textarea:focus{box-shadow:0 0 0 3px #ff6b3d33}[data-theme=dark] .app-modal{background-color:#000000bf}[data-theme=dark] .app-modal-content{background-color:var(--card-bg);box-shadow:var(--shadow-2xl)}[data-theme=dark] .app-modal-header{background:linear-gradient(135deg,var(--gray-100) 0%,var(--card-bg) 100%);border-bottom-color:var(--card-border)}[data-theme=dark] .app-modal-header h2{color:var(--text-primary)}[data-theme=dark] .app-modal-close{color:var(--gray-500)}[data-theme=dark] .app-modal-close:hover,[data-theme=dark] .app-modal-close:focus{color:var(--text-primary)}[data-theme=dark] .app-modal-body{background:var(--card-bg);color:var(--text-primary)}[data-theme=dark] .app-modal-body::-webkit-scrollbar-track{background:var(--gray-100)}[data-theme=dark] .app-modal-body::-webkit-scrollbar-thumb{background:var(--gray-400)}[data-theme=dark] .app-modal-body::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}[data-theme=dark] .form-group label{color:var(--text-secondary)}[data-theme=dark] .form-group input,[data-theme=dark] .form-group select,[data-theme=dark] .form-group textarea{background:var(--bg-tertiary);border-color:var(--card-border);color:var(--text-primary)}[data-theme=dark] .form-actions{border-top-color:var(--card-border)}.result-modal-planned-subtitle{font-size:var(--text-xs);color:var(--text-tertiary);margin:0 0 var(--space-2) 0}.result-modal-hint{font-size:var(--text-sm);color:var(--text-secondary);text-align:center;padding:var(--space-6) 0}.result-modal-add-own-wrap{margin-top:var(--space-3)}.result-modal-add-own-btn{font-size:var(--text-sm);width:100%}.result-modal-add-type-wrap{position:relative}.result-modal-add-type-btn{width:100%;font-size:var(--text-sm)}.result-modal-add-type-dropdown{margin-top:var(--space-2);padding:var(--space-2);background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-lg);display:flex;flex-wrap:wrap;gap:var(--space-2)}.result-modal-add-type-option{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--gray-200);border-radius:var(--radius-lg);background:var(--card-bg);cursor:pointer;font-size:var(--text-sm);transition:border-color var(--transition-fast),background var(--transition-fast)}.result-modal-add-type-option:hover{border-color:var(--primary-400);background:var(--primary-50)}.result-modal-add-type-icon{font-size:1.2em}.result-modal-type-block-enter{animation:resultModalTypeBlockEnter .35s ease-out}@keyframes resultModalTypeBlockEnter{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}[data-theme=dark] .result-modal-add-type-dropdown{background:var(--bg-tertiary);border-color:var(--gray-600)}[data-theme=dark] .result-modal-add-type-option{background:var(--bg-primary);border-color:var(--gray-600);color:var(--text-primary)}[data-theme=dark] .result-modal-add-type-option:hover{border-color:var(--primary-400);background:var(--bg-tertiary)}.form-actions{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--gray-200)}.app-modal--modern{background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:var(--space-5);display:flex;align-items:center;justify-content:center}.app-modal--modern .app-modal-content--modern{background:var(--card-bg);border-radius:var(--radius-2xl);max-width:600px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);animation:appModalSlideIn .3s cubic-bezier(.4,0,.2,1)}.app-modal--modern .app-modal-header--modern{background:var(--gradient-primary);color:#fff;border-bottom:1px solid rgba(255,255,255,.2);padding:var(--space-6)}.app-modal--modern .app-modal-header--modern h2{color:#fff;font-size:var(--text-2xl);font-weight:var(--font-bold)}.app-modal--modern .app-modal-close--modern{color:#fff;background:#fff3;width:40px;height:40px;border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center;font-size:24px;border:none;transition:background var(--transition-base),transform var(--transition-base)}.app-modal--modern .app-modal-close--modern:hover,.app-modal--modern .app-modal-close--modern:focus{color:#fff;background:#ffffff4d;transform:scale(1.05)}.app-modal--modern .app-modal-body--modern{background:var(--gray-50);color:var(--text-primary);padding:var(--space-6);overflow-y:auto;flex:1}[data-theme=dark] .app-modal--modern{background-color:#000000b3}[data-theme=dark] .app-modal--modern .app-modal-content--modern{background:var(--card-bg);box-shadow:var(--shadow-2xl)}[data-theme=dark] .app-modal--modern .app-modal-body--modern{background:var(--bg-primary);color:var(--text-primary)}@media (max-width: 640px){.app-modal{padding:12px;align-items:stretch}.app-modal-content{width:100%;max-width:none;max-height:calc(100vh - 24px);margin:auto 0;border-radius:var(--radius-xl)}.app-modal-content.modal-small{max-width:none}.app-modal-body{padding:var(--space-4);padding-left:var(--space-4);padding-right:var(--space-4);-webkit-overflow-scrolling:touch}.app-modal-body--center{min-height:240px;padding:var(--space-4);padding-left:var(--space-4);padding-right:var(--space-4);align-items:flex-start;justify-content:flex-start;overflow-y:auto}}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--gradient-primary);padding:var(--space-5)}.login-content{width:100%;max-width:400px;padding:0 10px;background:var(--card-bg);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);animation:loginSlideIn var(--transition-base) ease}.login-content--inline{box-shadow:none;animation:none;max-width:none;min-height:420px;justify-content:center;align-items:center;width:100%;display:flex;flex-direction:column;background:transparent!important}@keyframes loginSlideIn{0%{transform:translateY(-30px);opacity:0}to{transform:translateY(0);opacity:1}}.login-title{font-size:var(--text-3xl);text-align:center;color:var(--text-primary);margin-bottom:var(--space-2);font-weight:var(--font-extrabold)}.login-subtitle{font-size:var(--text-lg);color:var(--text-secondary);text-align:center;margin-bottom:var(--space-8)}.login-form{display:flex;flex-direction:column;width:100%}.login-input{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-base);border:2px solid var(--gray-300);border-radius:var(--radius-lg);margin-bottom:var(--space-5);transition:border-color var(--transition-base),box-shadow var(--transition-base);font-family:inherit;background:var(--card-bg);color:var(--text-primary)}.login-input:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-50)}.login-input:disabled{opacity:.6;cursor:not-allowed}.login-error{background:var(--danger-50);color:var(--danger-600);padding:var(--space-3);border-radius:var(--radius-md);margin-bottom:var(--space-5);border:1px solid var(--danger-500);font-size:var(--text-sm)}.login-button{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-weight:var(--font-semibold);color:#fff;background:var(--gradient-primary);border:none;border-radius:var(--radius-lg);cursor:pointer;transition:transform var(--transition-base),box-shadow var(--transition-base);font-family:inherit;box-shadow:var(--shadow-md)}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.6;cursor:not-allowed}.biometric-section{margin-top:var(--space-6)}.biometric-divider{display:flex;align-items:center;text-align:center;margin:var(--space-5) 0;color:var(--text-tertiary);font-size:var(--text-sm)}.biometric-divider:before,.biometric-divider:after{content:"";flex:1;border-bottom:1px solid var(--gray-200)}.biometric-divider span{padding:0 var(--space-3)}.biometric-button{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--primary-500);background:var(--card-bg);border:2px solid var(--primary-500);border-radius:var(--radius-lg);cursor:pointer;transition:background var(--transition-base),transform var(--transition-base);display:flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:inherit}.biometric-button:hover:not(:disabled){background:var(--primary-50);transform:translateY(-2px);box-shadow:var(--shadow-md)}.biometric-button:active:not(:disabled){transform:translateY(0)}.biometric-button:disabled{opacity:.6;cursor:not-allowed}.biometric-icon{font-size:var(--text-xl)}.biometric-hint{margin:0;font-size:var(--text-sm);color:var(--text-secondary);text-align:center;line-height:1.5;padding:0 var(--space-2)}.login-forgot-link{display:block;width:100%;margin-top:var(--space-4);background:none;border:none;color:var(--primary-500);font-size:var(--text-sm);cursor:pointer;padding:0;text-align:center;font-family:inherit}.login-forgot-link:hover{text-decoration:underline}.login-back-link{display:block;width:100%;margin-top:var(--space-6);background:none;border:none;color:var(--primary-500);font-size:var(--text-sm);cursor:pointer;padding:0;text-align:center;font-family:inherit}.login-back-link:hover{text-decoration:underline}.login-forgot-hint{margin-bottom:var(--space-5);color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5}.login-forgot-success{margin-bottom:var(--space-4);color:var(--text-primary);font-size:var(--text-base);line-height:1.5}.login-forgot-note{margin-bottom:0;color:var(--text-tertiary);font-size:var(--text-sm)}[data-theme=dark] .login-content--inline{color:var(--text-primary)}[data-theme=dark] .login-input{background:var(--bg-tertiary);border-color:var(--card-border)}@media (max-width: 768px){.login-content{padding:0 10px}}@media (max-width: 640px){.login-content--inline{min-height:0;padding:0;justify-content:flex-start}.login-content--inline .login-title{font-size:var(--text-2xl);margin-bottom:var(--space-1)}.login-content--inline .login-subtitle{font-size:var(--text-base);margin-bottom:var(--space-5)}.login-content--inline .login-input{margin-bottom:var(--space-4);padding:var(--space-3)}.login-content--inline .login-button{margin-top:var(--space-2)}}.register-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-5);background:var(--gradient-primary)}.register-content{background:var(--card-bg);border-radius:var(--radius-xl);padding:var(--space-10);max-width:var(--page-max-width);width:100%;box-shadow:var(--shadow-xl)}.register-content--modal{max-width:none;box-shadow:none;padding:var(--space-6)}.register-title{font-size:var(--text-3xl);font-weight:var(--font-extrabold);margin:0 0 var(--space-2) 0;text-align:center;color:var(--text-primary)}.register-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:var(--space-8)}.register-plan-started{margin-top:var(--space-6);padding:var(--space-6);background:var(--primary-50);border-radius:var(--radius-xl);border:2px solid var(--primary-500);text-align:center}.register-plan-started__icon{font-size:48px;line-height:1;margin-bottom:var(--space-3)}.register-plan-started__title{margin:0 0 var(--space-2);color:var(--primary-700);font-size:var(--text-lg);font-weight:var(--font-semibold)}.register-plan-started__message{margin:0 0 var(--space-5);color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5}.register-plan-started__btn{min-width:140px}[data-theme=dark] .register-plan-started{background:var(--bg-tertiary);border-color:var(--primary-500)}[data-theme=dark] .register-plan-started__title{color:var(--primary-400)}[data-theme=dark] .register-plan-started__message{color:var(--text-secondary)}.register-step-progress{width:100%;height:8px;background:var(--gray-200);border-radius:var(--radius-sm);margin-bottom:var(--space-5);overflow:hidden}.register-step-progress-fill{height:100%;background:var(--gradient-primary);transition:width var(--transition-base) ease;border-radius:var(--radius-sm)}.step-indicator{display:flex;justify-content:space-between;margin-bottom:var(--space-8);gap:var(--space-2)}.step{flex:1;padding:var(--space-2);text-align:center;font-size:var(--text-xs);color:var(--text-tertiary);border-bottom:2px solid var(--gray-200);transition:all var(--transition-base)}.step.active{color:var(--primary-500);border-bottom-color:var(--primary-500);font-weight:var(--font-semibold)}.register-form{margin-top:var(--space-8)}.register-form-actions{display:flex;gap:var(--space-3);margin-top:var(--space-8);justify-content:flex-end}.register-form-actions .btn{flex:none;width:auto;min-width:0}.form-step h2{font-size:var(--text-2xl);margin:0 0 var(--space-6) 0;color:var(--text-primary)}.form-group label{display:flex;margin-bottom:var(--space-2);font-weight:var(--font-semibold);color:var(--gray-800)}.required{color:var(--danger-500)}.form-group input[type=text],.form-group input[type=password],.form-group input[type=email],.form-group input[type=number],.form-group input[type=date],.form-group input[type=time],.form-group input[type=month],.form-group select,.form-group textarea{width:100%;padding:var(--space-3);border:2px solid var(--gray-300);border-radius:var(--radius-md);font-size:var(--text-base);transition:border-color var(--transition-base),box-shadow var(--transition-base);box-sizing:border-box;background:var(--card-bg);color:var(--text-primary);font-family:inherit}.form-group select.goal-type-select,.goal-type-select{font-size:1.125rem!important;min-height:48px;padding:var(--space-3) var(--space-4)!important;border:2px solid var(--primary-500, #FF4D1A)!important;background:var(--card-bg)!important;color:var(--text-primary)!important;font-weight:500}.form-group select.goal-type-select:focus,.goal-type-select:focus{outline:none;border-color:var(--primary-500, #f97316)!important;box-shadow:0 0 0 3px #f9731640}[data-theme=dark] .form-group select.goal-type-select,[data-theme=dark] .goal-type-select{background:var(--bg-tertiary)!important;border-color:var(--primary-400, #fb923c)!important;color:var(--text-primary)!important}[data-theme=dark] .form-group select.goal-type-select:focus,[data-theme=dark] .goal-type-select:focus{border-color:var(--primary-400, #fb923c)!important;box-shadow:0 0 0 3px #fb923c33}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-50)}.form-group small{display:block;margin-top:var(--space-1);color:var(--text-secondary);font-size:var(--text-sm)}.form-row--two-cols{grid-template-columns:2fr 2fr!important}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.form-group .hidden{display:none}.error-text{color:var(--danger-500);font-size:var(--text-sm);margin-top:var(--space-1);display:block}.training-mode-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-5);margin-bottom:var(--space-8)}.training-mode-grid label{position:relative}.training-mode-option{border:3px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--space-6);text-align:center;cursor:pointer;transition:all var(--transition-base);background:var(--card-bg)}.training-mode-option input[type=radio]{display:none}.training-mode-option__left{display:flex;flex-direction:column;align-items:center}.training-mode-option__icon{font-size:3em;margin-bottom:15px;line-height:1}.training-mode-option__title{font-weight:700;font-size:1.2em;margin-bottom:10px;color:var(--text-primary)}.training-mode-option__price{color:var(--text-secondary);font-size:.95em;margin-bottom:15px}.training-mode-option__right{display:flex;flex-direction:column;align-items:center}.training-mode-option__list{text-align:left;list-style:none;padding:0;margin:0}.training-mode-option__list li{margin:8px 0}.training-mode-option:hover{border-color:var(--warning-500, #f59e0b);background:var(--gray-50);box-shadow:0 0 0 1px var(--warning-500, #f59e0b),0 0 16px #f59e0b59}[data-theme=dark] .training-mode-option:hover{background:var(--bg-tertiary);box-shadow:0 0 0 1px var(--warning-500, #f59e0b),0 0 20px #f59e0b66}.training-mode-option--soon{opacity:.85;cursor:not-allowed}.training-mode-option--soon:hover,[data-theme=dark] .training-mode-option--soon:hover{border-color:var(--gray-200)!important;background:var(--card-bg)!important;box-shadow:none!important}.training-mode-option-badge{margin-top:var(--space-5);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-semibold)}.training-mode-option-badge--recommend{background:var(--gradient-primary);color:#fff}.training-mode-option-badge--soon{background:var(--warning-500, #f59e0b);color:#fff}[data-theme=dark] .training-mode-option,[data-theme=dark] .goal-option{background:var(--card-bg);border-color:var(--card-border)}[data-theme=dark] .form-group input,[data-theme=dark] .form-group select:not(.goal-type-select),[data-theme=dark] .form-group textarea{background:var(--bg-tertiary);border-color:var(--card-border)}[data-theme=dark] .register-step-progress{background:var(--bg-tertiary)}[data-theme=dark] .step{border-bottom-color:var(--card-border)}.mode-icon{font-size:48px;margin-bottom:var(--space-3)}.mode-title{font-size:var(--text-lg);font-weight:var(--font-bold);margin-bottom:var(--space-2);color:var(--text-primary)}.mode-desc{font-size:var(--text-sm);color:var(--text-secondary)}.goal-options{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);margin-bottom:var(--space-6);align-items:stretch}.goal-option{display:flex;flex-direction:column;min-height:100%;border:2px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--space-5);text-align:center;cursor:pointer;transition:all var(--transition-base);background:var(--card-bg)}.goal-option input[type=radio]{display:none}.goal-option.selected{border-color:var(--primary-500);background:var(--gray-50)}[data-theme=dark] .goal-option.selected{background:var(--bg-tertiary)}.goal-icon{font-size:36px;margin-bottom:var(--space-2)}.goal-title{font-weight:var(--font-semibold);color:var(--text-primary)}.goal-step-fields-wrap{overflow:hidden;opacity:0;transition:max-height .4s ease-out,opacity .3s ease-out}.goal-step-fields-wrap--visible{opacity:1;transition:max-height .4s ease-in-out,opacity .3s ease-out}.goal-step-fields-wrap__inner{padding-top:2px}.goal-recommendations{margin-top:var(--space-4);margin-bottom:var(--space-5);background:var(--bg-secondary);border-radius:var(--radius-lg)}[data-theme=dark] .goal-recommendations{background:var(--bg-tertiary);border-left-color:var(--primary-400)}.goal-recommendations__title{font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-3);font-size:var(--text-base)}.goal-recommendations__content{margin:0}.gender-options{display:flex;gap:var(--space-3)}.gender-option{flex:1;border:2px solid var(--gray-200);border-radius:var(--radius-md);padding:var(--space-3);text-align:center;cursor:pointer;transition:all var(--transition-base);background:var(--card-bg)}.gender-option input[type=radio]{display:none}.gender-option.selected{border-color:var(--primary-500);background:var(--gray-50);font-weight:var(--font-semibold)}[data-theme=dark] .gender-option.selected{background:var(--bg-tertiary)}.ofp-fields-wrap{overflow:hidden;max-height:0;opacity:0;transition:max-height .35s ease-out,opacity .3s ease-out}.ofp-fields-wrap--visible{max-height:520px;opacity:1;transition:max-height .4s ease-in,opacity .3s ease-out}.ofp-fields-wrap__inner{padding-top:2px}.register-form-actions .btn--block{flex:1}.register-error{background:var(--danger-50);border:2px solid var(--danger-500);color:var(--danger-600);padding:var(--space-3);border-radius:var(--radius-md);margin-bottom:var(--space-5);text-align:center;font-size:var(--text-sm)}.register-code-hint{margin:0 0 var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);text-align:center}.register-code-spam{margin:0 0 var(--space-4);font-size:var(--text-xs);color:var(--text-tertiary);text-align:center;font-style:italic}.register-code-input{text-align:center!important;font-size:1.5rem!important;letter-spacing:.4em}.register-attempts{margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--text-tertiary)}.register-resend-code{display:block;width:100%;margin-top:var(--space-3);padding:var(--space-2);background:none;border:none;color:var(--primary-500);font-size:var(--text-sm);cursor:pointer;text-decoration:underline}.register-resend-code:hover{color:var(--primary-600)}.program-options{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);align-items:stretch}.program-option{display:flex;min-height:0;height:100%;cursor:pointer}.program-option input[type=radio]{display:none}.program-card{display:flex;flex-direction:column;align-items:center;width:100%;min-height:100%;padding:var(--space-4) var(--space-3);border:2px solid var(--gray-200);border-radius:var(--radius-lg);background:var(--bg-secondary);transition:all var(--transition-base);text-align:center}.program-option input[type=radio]:checked+.program-card,.program-option.selected .program-card{border-color:var(--primary-500);background:var(--primary-50);box-shadow:var(--shadow-md)}.program-card:hover{border-color:var(--primary-500);transform:translateY(-2px)}.program-icon{font-size:var(--text-2xl);margin-bottom:var(--space-2)}.program-name{font-weight:var(--font-semibold);color:var(--text-primary);font-size:var(--text-sm)}.program-duration{font-size:var(--text-xs);color:var(--primary-500);font-weight:var(--font-medium);margin:var(--space-1) 0}.program-desc{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.3}.radio-group-vertical{display:flex;flex-direction:column;gap:var(--space-2)}.radio-group-horizontal{display:flex;gap:var(--space-4);flex-wrap:wrap}.radio-option{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:2px solid var(--gray-200);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);background:var(--card-bg)}.radio-option:hover{border-color:var(--primary-500);background:var(--gray-50)}.radio-option input[type=radio]{width:auto;margin:0;accent-color:var(--primary-500)}.radio-option input[type=radio]:checked+span{color:var(--primary-500);font-weight:var(--font-semibold)}.checkbox-group{align-items:center;display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:var(--space-2);margin-top:var(--space-2)}.checkbox-item{display:flex!important;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2);border:2px solid var(--gray-200);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);background:var(--card-bg)}.checkbox-item:hover{border-color:var(--primary-500);background:var(--gray-50)}.checkbox-item input[type=checkbox]{width:auto;margin:0;accent-color:var(--primary-500)}.checkbox-item input[type=checkbox]:checked+span{color:var(--primary-500);font-weight:var(--font-semibold)}.extended-profile{background:var(--bg-secondary);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--space-5);margin:var(--space-5) 0}.pace-input-group{display:flex;align-items:center;gap:var(--space-1)}.pace-input-group input{text-align:center}.pace-input-group span{color:var(--text-secondary);font-weight:var(--font-medium)}@media (max-width: 640px){.register-content{padding:0;max-width:100%}.register-content--modal{padding:0}.training-mode-grid{grid-template-columns:1fr;gap:var(--space-3);margin-bottom:var(--space-5)}.register-form{margin-top:0}.form-step h2{margin:10px}.training-mode-option{display:grid;grid-template-columns:35% 1fr;gap:var(--space-3);padding:var(--space-3);text-align:center;align-items:center}.training-mode-option__left{align-items:center;min-width:0;overflow:hidden}.training-mode-option__icon{font-size:2em;margin-bottom:6px}.training-mode-option__title{font-size:.9em;margin-bottom:2px}.training-mode-option__price{font-size:.85em;margin-bottom:0}.training-mode-option__right{align-items:flex-end;flex-shrink:0}.training-mode-option__list{width:100%;font-size:.85em}.training-mode-option__list li{margin:4px 0}.training-mode-option-badge{width:100%;margin-top:var(--space-2);padding:var(--space-1) var(--space-2);font-size:.75rem}.goal-options,.program-options{grid-template-columns:repeat(2,1fr)}.step-indicator{font-size:10px}.form-row:not(.form-row--two-cols){grid-template-columns:1fr}.checkbox-group{grid-template-columns:repeat(4,1fr)}}.landing-container{min-height:100vh;display:flex;flex-direction:column;background:var(--gradient-hero)}@media (max-width: 1023px){.landing-container{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}}.landing-notice{padding:var(--space-3) var(--space-5);background:#0003;color:#fff;text-align:center;font-size:var(--text-sm)}.landing-header{padding:var(--space-5);display:flex;justify-content:flex-end;align-items:center}.landing-nav{display:flex;gap:var(--space-3)}.landing-hero{flex:1;display:flex;justify-content:center;padding:var(--space-10) var(--space-5) var(--space-12);color:#fff;min-height:520px}.landing-hero-inner{width:100%;max-width:1180px;margin:0 auto;height:100%}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--space-8);align-items:center;height:100%}.hero-text{display:flex;flex-direction:column;align-items:flex-start;gap:14px;text-align:left}.landing-hero h1{font-size:var(--text-5xl);margin:0 0 var(--space-4) 0;font-weight:var(--font-extrabold);line-height:1.1;letter-spacing:-.02em}.landing-hero .subtitle{font-size:var(--text-xl);margin-bottom:var(--space-8);opacity:.92;max-width:780px;line-height:1.6}.landing-badges{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-start;margin:8px 0 32px}.badge{background:#fff3;border:1px solid rgba(255,255,255,.35);color:#fff;padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);font-weight:var(--font-semibold);font-size:var(--text-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #0000001f}.landing-cta{display:flex;gap:14px;margin-bottom:32px;flex-wrap:wrap;justify-content:flex-start}.btn-landing{padding:var(--space-4) var(--space-7);font-size:var(--text-base);font-weight:var(--font-bold);border-radius:var(--radius-lg);text-decoration:none;display:inline-block;transition:all var(--transition-slow) ease;border:2px solid transparent}.btn-landing-primary{padding:var(--space-2) var(--space-3);background:var(--gradient-primary);color:#fff;border:none;box-shadow:0 4px 14px #fc4c0259,0 2px 4px #0000001a}.btn-landing-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #fc4c0266,0 4px 8px #0000001f}.btn-landing-secondary{background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.6);box-shadow:0 2px 10px #0000001a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-landing-secondary:hover{background:#ffffff4d;box-shadow:0 4px 14px #00000026}.landing-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-5);max-width:1120px;width:100%}.feature-section{width:100%;display:flex;justify-content:center;margin:24px 0}.features-wrap{width:100%;max-width:1120px;margin:0 auto}.hero-image{display:flex;justify-content:center}.hero-image img{max-width:650px;width:100%;height:100%;max-height:515px;object-fit:contain;filter:drop-shadow(0 18px 32px rgba(0,0,0,.18))}.feature-card{background:#ffffff2e;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:var(--radius-lg);padding:var(--space-5);text-align:left;border:1px solid rgba(255,255,255,.35);box-shadow:0 8px 24px #0000001f,0 2px 8px #0000000f;display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);align-items:flex-start}.feature-card:hover{background:#ffffff38;box-shadow:0 12px 32px #00000026,0 4px 12px #00000014}.feature-icon{font-size:36px;line-height:1;margin-top:2px}.feature-title{font-size:var(--text-lg);font-weight:var(--font-extrabold);margin-bottom:var(--space-2)}.feature-text{font-size:var(--text-sm);opacity:.9;line-height:1.5}.landing-footer{padding:var(--space-5);text-align:center;color:#ffffffd1;font-size:var(--text-sm)}[data-theme=dark] .landing-container{background:linear-gradient(135deg,#ff6b35,#1a1a1a)}[data-theme=dark] .landing-hero,[data-theme=dark] .landing-hero h1,[data-theme=dark] .landing-hero .subtitle,[data-theme=dark] .badge,[data-theme=dark] .btn-landing-secondary,[data-theme=dark] .landing-footer{color:#fffffff2}[data-theme=dark] .feature-card{background:#ffffff1f;border-color:#ffffff4d;color:#fffffff2}[data-theme=dark] .feature-card:hover{background:#ffffff2e}[data-theme=dark] .feature-title,[data-theme=dark] .feature-text{color:inherit}[data-theme=dark] .badge{background:#fff3;border-color:#fff6}[data-theme=dark] .btn-landing-secondary{background:#ffffff26;border-color:#ffffff80}[data-theme=dark] .btn-landing-secondary:hover{background:#ffffff40}@media (max-width: 1024px){.hero-grid{gap:24px}.landing-hero h1{font-size:42px}.landing-hero .subtitle{font-size:18px}.hero-image img{max-width:500px;max-height:400px}}@media (max-width: 768px){.landing-header{padding:16px}.landing-nav{gap:8px}.landing-hero{padding:30px 16px 40px;min-height:auto}.hero-grid{grid-template-columns:1fr;gap:32px;text-align:center}.hero-text{align-items:center;text-align:center}.landing-hero h1{font-size:32px;text-align:center}.landing-hero .subtitle{font-size:16px;text-align:center;max-width:100%}.landing-badges{justify-content:center;margin:16px 0 24px}.badge{font-size:13px;padding:6px 12px}.landing-cta{flex-direction:column;width:100%;max-width:300px;margin:0 auto 24px}.btn-landing{width:100%;text-align:center;padding:14px 24px}.landing-features{grid-template-columns:1fr;gap:16px}.feature-section{margin:16px 0;padding:0 16px}.features-wrap{padding:0}.feature-card{padding:16px;gap:10px}.feature-icon{font-size:32px}.feature-title{font-size:16px}.feature-text{font-size:13px}.hero-image{order:-1}.hero-image img{max-width:100%;max-height:300px}.landing-footer{padding:16px;font-size:13px}}@media (max-width: 480px){.landing-header{padding:12px;flex-wrap:wrap;gap:12px}.landing-nav{width:100%;justify-content:flex-end}.landing-hero{padding:24px 12px 32px}.landing-hero h1{font-size:28px;line-height:1.2;margin-bottom:12px}.landing-hero .subtitle{font-size:15px;margin-bottom:20px;line-height:1.5}.landing-badges{gap:8px;margin:12px 0 20px}.badge{font-size:12px;padding:5px 10px}.landing-cta{max-width:100%;gap:10px;margin-bottom:20px}.btn-landing{padding:12px 20px;font-size:15px}.landing-features{gap:12px}.feature-section{margin:12px 0;padding:0 12px}.feature-card{padding:14px;grid-template-columns:auto 1fr;gap:8px}.feature-icon{font-size:28px}.feature-title{font-size:15px;margin-bottom:4px}.feature-text{font-size:12px;line-height:1.4}.hero-image img{max-height:250px}.landing-footer{padding:12px;font-size:12px}.landing-footer p{margin:4px 0}}@media (max-width: 360px){.landing-hero h1{font-size:24px}.landing-hero .subtitle{font-size:14px}.badge{font-size:11px;padding:4px 8px}.btn-landing{padding:10px 16px;font-size:14px}.feature-card{padding:12px}.feature-icon{font-size:24px}.feature-title{font-size:14px}.feature-text{font-size:11px}}@media (max-width: 768px) and (orientation: landscape){.landing-hero{min-height:auto;padding:20px 16px 30px}.hero-grid{grid-template-columns:1fr 1fr;gap:20px}.hero-image{order:0}.hero-image img{max-height:200px}.landing-hero h1{font-size:28px}.landing-hero .subtitle{font-size:14px;margin-bottom:16px}}@media (hover: none) and (pointer: coarse){.btn-landing{min-height:44px;min-width:44px}.btn-landing-primary:hover,.btn-landing-secondary:hover{transform:none}.btn-landing-primary:active{transform:scale(.98);box-shadow:0 4px 10px #fc4c0240}.btn-landing-secondary:active{background:#ffffff47}}.header-chat-wrap{position:relative}.header-chat-btn{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:2px solid var(--gray-200);border-radius:10px;background:var(--gray-100);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);overflow:visible}.header-chat-btn:hover{border-color:var(--primary-400);background:var(--primary-50);transform:scale(1.05)}.header-chat-btn:focus{outline:none;box-shadow:0 0 0 3px var(--primary-50)}.header-chat-icon{font-size:20px;line-height:1}.header-chat-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;display:flex;align-items:center;justify-content:center;background:var(--primary-500);color:#fff;font-size:11px;font-weight:700;border-radius:9px;line-height:1}[data-theme=dark] .header-chat-btn{border-color:var(--gray-500);background:var(--bg-tertiary)}[data-theme=dark] .header-chat-btn:hover{border-color:var(--primary-500);background:#ff6b3d26}.header-chat-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:320px;max-width:calc(100vw - 32px);background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:1100;animation:header-dropdown-in .2s ease;overflow:hidden}.header-chat-dropdown-header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--card-border)}.header-chat-dropdown-title{font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.header-chat-dropdown-loading,.header-chat-dropdown-empty{padding:var(--space-6) var(--space-4);text-align:center;font-size:var(--text-sm);color:var(--text-secondary)}.header-chat-dropdown-list{max-height:200px;overflow-y:auto}.header-chat-dropdown-item{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--card-border)}.header-chat-dropdown-item:last-child{border-bottom:none}.header-chat-dropdown-item.unread{background:var(--primary-50);border-left:4px solid var(--primary-500);padding-left:calc(var(--space-4) - 4px)}[data-theme=dark] .header-chat-dropdown-item.unread{background:#ff6b3d1f}.header-chat-dropdown-content{font-size:var(--text-sm);color:var(--text-primary);line-height:1.4;white-space:pre-wrap;word-break:break-word}.header-chat-dropdown-time{font-size:var(--text-xs);color:var(--text-secondary);margin-top:var(--space-1)}.header-chat-dropdown-footer{padding:var(--space-2) var(--space-4) var(--space-4);border-top:1px solid var(--card-border)}.header-chat-dropdown-btn{width:100%;padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-md);background:var(--gradient-primary);color:#fff;font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:opacity .2s ease;font-family:inherit}.header-chat-dropdown-btn:hover{opacity:.9}[data-theme=dark] .header-chat-dropdown{background:var(--card-bg);border-color:var(--card-border);box-shadow:0 10px 40px #0006}.top-header{position:fixed;top:0;left:0;right:0;background:#fff;z-index:1000;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);height:64px;display:none;overflow:visible;border-bottom:1px solid var(--gray-200)}.top-header:before{content:none}.top-header:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;pointer-events:none;z-index:0;border-radius:0 0 20px 20px}[data-theme=dark] .top-header{background:#141414d9;border-bottom-color:var(--card-border)}[data-theme=dark] .top-header:before{content:none}[data-theme=dark] .top-header:after{background:#ffffff05}.top-header-container{position:relative;z-index:1;max-width:var(--page-max-width);margin:0 auto;width:100%;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 var(--page-padding-x);gap:var(--space-8)}.top-header-logo{display:flex;align-items:center;gap:12px;cursor:pointer;transition:transform .2s ease;flex-shrink:0}.top-header-logo:hover{transform:scale(1.05)}.logo-text{font-size:28px;font-weight:800;font-style:italic;padding-left:10px;color:var(--primary-500);letter-spacing:-.5px}[data-theme=dark] .logo-text{color:var(--primary-500)}.top-header-nav{display:flex;align-items:center;justify-content:center;gap:2px;flex:1}.top-nav-item{position:relative;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;padding:12px 20px;margin:0 2px;border:none;border-radius:var(--radius-md);background:transparent;cursor:pointer;transition:color .2s ease,background .2s ease,border-color .2s ease;color:var(--text-secondary);font-size:var(--text-sm);font-weight:400}.top-nav-item:hover{color:var(--text-primary);background:var(--gray-100)}.top-nav-item.active{color:var(--primary-500);font-weight:500;background:transparent}.top-nav-item.active:after{content:"";position:absolute;left:20px;right:20px;bottom:0;height:2px;background:var(--primary-500);border-radius:2px 2px 0 0}.top-nav-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;color:inherit;transition:color .2s ease}.top-nav-icon svg{width:20px!important;height:20px!important;min-width:20px;min-height:20px;flex-shrink:0;object-fit:contain}.top-nav-label{font-size:inherit;line-height:1.2;font-weight:400;white-space:nowrap;text-transform:uppercase;letter-spacing:.02em;color:inherit;transition:color .2s ease}.top-nav-item.active .top-nav-icon,.top-nav-item.active .top-nav-label{color:var(--primary-500)}[data-theme=dark] .top-nav-item{color:var(--text-secondary)}[data-theme=dark] .top-nav-item:hover{color:var(--text-primary);background:var(--bg-tertiary)}[data-theme=dark] .top-nav-item.active .top-nav-icon,[data-theme=dark] .top-nav-item.active .top-nav-label{color:var(--primary-500)}[data-theme=dark] .top-nav-item.active .top-nav-label{font-weight:500}[data-theme=dark] .top-nav-item.active:after{background:var(--primary-500)}html:not([data-theme=dark]) .top-nav-item{color:var(--gray-600)}html:not([data-theme=dark]) .top-nav-item:hover{color:var(--gray-900);background:var(--gray-100)}html:not([data-theme=dark]) .top-nav-item.active .top-nav-icon,html:not([data-theme=dark]) .top-nav-item.active .top-nav-label{color:var(--primary-500)}html:not([data-theme=dark]) .top-nav-item.active .top-nav-label{font-weight:500}.top-header-actions{display:flex;align-items:center;gap:16px;flex-shrink:0}.top-header-onboarding-btn{flex-shrink:0;padding:8px 14px;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--primary-600);background:var(--primary-50);border:1px solid var(--primary-200);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:background var(--transition-base),color var(--transition-base),border-color var(--transition-base)}.top-header-onboarding-btn:hover{background:var(--primary-100);color:var(--primary-700);border-color:var(--primary-300)}[data-theme=dark] .top-header-onboarding-btn{color:var(--primary-400);background:#ff6b3d26;border-color:var(--primary-500)}[data-theme=dark] .top-header-onboarding-btn:hover{background:#ff6b3d40;color:var(--primary-300);border-color:var(--primary-400)}.header-avatar-wrap{position:relative}.header-avatar-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:2px solid var(--gray-200);border-radius:10px;background:var(--gray-100);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);overflow:hidden}.header-avatar-btn:hover{border-color:var(--primary-400);background:var(--primary-50);transform:scale(1.05)}.header-avatar-btn:focus{outline:none;box-shadow:0 0 0 3px var(--primary-50)}.header-avatar-img{width:100%;height:100%;object-fit:cover}.header-avatar-initials{font-size:14px;font-weight:700;color:var(--primary-600);letter-spacing:-.5px}[data-theme=dark] .header-avatar-btn{border-color:var(--gray-500);background:var(--bg-tertiary)}[data-theme=dark] .header-avatar-btn:hover{border-color:var(--primary-500);background:#ff6b3d26}[data-theme=dark] .header-avatar-initials{color:var(--primary-400)}.header-avatar-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;padding:var(--space-1);background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:1100;animation:header-dropdown-in .2s ease}@keyframes header-dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.header-dropdown-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-primary);font-size:var(--text-sm);font-weight:500;font-family:Montserrat,sans-serif;cursor:pointer;transition:background .15s ease,color .15s ease;text-align:left}.header-dropdown-item:hover{background:var(--gray-100)}.header-dropdown-item .header-dropdown-icon{font-size:18px;line-height:1;flex-shrink:0}.header-dropdown-item-danger:hover{background:var(--danger-50);color:var(--danger-600)}.header-dropdown-divider{height:1px;margin:var(--space-1) var(--space-2);background:var(--gray-200)}[data-theme=dark] .header-avatar-dropdown{background:var(--card-bg);border-color:var(--card-border);box-shadow:0 10px 40px #0006}[data-theme=dark] .header-dropdown-item:hover{background:var(--bg-tertiary)}[data-theme=dark] .header-dropdown-item-danger:hover{background:#ef444426;color:var(--danger-500)}[data-theme=dark] .header-dropdown-divider{background:var(--gray-600)}@media (min-width: 1024px){.top-header{display:block}}.top-header-mobile{display:flex!important;min-height:64px;height:calc(64px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0);align-items:center;background:var(--glass-bg)!important;backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-bottom:var(--glass-border);box-shadow:var(--glass-shadow),var(--glass-shadow-inset);border-radius:0 0 24px 24px;isolation:isolate;overflow:hidden}.top-header-mobile:before{opacity:.4;height:1px;box-shadow:0 4px 12px #fc4c0226}.top-header-mobile:after{background:transparent}.top-header-mobile .top-header-container{width:100%;justify-content:space-between;margin:0;padding:10px 14px;gap:14px}.top-header-mobile .header-avatar-btn{width:44px;height:44px;border-radius:12px}.top-header-mobile .header-avatar-initials{font-size:16px}.top-header-mobile .header-chat-btn{width:44px;height:44px;border-radius:12px}.top-header-mobile .header-chat-icon{font-size:22px}.top-header-mobile .top-header-nav{display:none}.top-header-mobile .top-header-onboarding-btn{padding:6px 10px;font-size:12px}.app-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:1200;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}.app-drawer-backdrop-open{opacity:1;visibility:visible}.app-drawer{position:fixed;top:0;right:0;bottom:0;width:min(300px,85vw);max-width:300px;background:var(--glass-bg-strong);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-left:var(--glass-border);z-index:1300;box-shadow:-4px 0 24px #0000001f,var(--glass-shadow-inset);transform:translate(100%);transition:transform .35s cubic-bezier(.25,.1,.25,1);overflow:hidden;display:flex;flex-direction:column;border-radius:24px 0 0 24px;isolation:isolate}.app-drawer-open{transform:translate(0)}.app-drawer-inner{padding:env(safe-area-inset-top,0) 0 max(16px,env(safe-area-inset-bottom));overflow-y:auto;flex:1}.app-drawer-header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:var(--glass-border)}.app-drawer-header .logo-text{font-size:18px;font-weight:800;font-style:italic;color:var(--primary-500);flex:1}.app-drawer-close{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:10px;font-size:20px;color:var(--gray-600);cursor:pointer;-webkit-tap-highlight-color:transparent}.app-drawer-close:hover{background:var(--gray-100);color:var(--gray-900)}[data-theme=dark] .app-drawer{box-shadow:-4px 0 24px #0006,var(--glass-shadow-inset)}[data-theme=dark] .app-drawer-header{border-bottom:var(--glass-border)}[data-theme=dark] .app-drawer-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.app-drawer-nav{display:flex;flex-direction:column;padding:8px 12px;gap:2px}.app-drawer-item{display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;border:none;border-radius:14px;background:transparent;color:var(--text-primary);font-size:16px;font-weight:500;font-family:inherit;cursor:pointer;text-align:left;transition:background .2s cubic-bezier(.25,.1,.25,1);-webkit-tap-highlight-color:transparent}.app-drawer-item:hover{background:var(--gray-100)}.app-drawer-item.active{background:var(--primary-50);color:var(--primary-600)}.app-drawer-item.active .app-drawer-icon{color:var(--primary-500)}[data-theme=dark] .app-drawer-item:hover{background:var(--bg-tertiary)}[data-theme=dark] .app-drawer-item.active{background:#ff6b3d26;color:var(--primary-400)}.app-drawer-icon{font-size:22px;line-height:1;flex-shrink:0;color:var(--gray-600)}[data-theme=dark] .app-drawer-icon{color:var(--text-secondary)}.app-drawer-label{white-space:nowrap}.app-drawer-item-danger:hover{background:var(--danger-50);color:var(--danger-600)}[data-theme=dark] .app-drawer-item-danger:hover{background:#ef444426;color:var(--danger-500)}.app-drawer-divider{height:1px;margin:8px 20px;background:var(--gray-200)}[data-theme=dark] .app-drawer-divider{background:var(--gray-600)}.bottom-nav{position:fixed;bottom:var(--bottom-nav-floating-gap, 12px);left:var(--bottom-nav-floating-gap, 12px);right:var(--bottom-nav-floating-gap, 12px);height:var(--bottom-nav-height);min-height:var(--bottom-nav-height);padding:8px 4px;box-sizing:border-box;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:var(--glass-border);display:flex;justify-content:space-around;align-items:center;box-shadow:var(--glass-shadow),var(--glass-shadow-inset),0 8px 32px #0000001f;z-index:1000;border-radius:24px;isolation:isolate;overflow:visible;--pill-left: 0;--pill-width: 60px}.nav-pill{position:absolute;left:0;top:8px;bottom:8px;min-height:48px;width:var(--pill-width);transform:translate(var(--pill-left));transition:transform .28s cubic-bezier(.33,1,.68,1),width .28s cubic-bezier(.33,1,.68,1);border-radius:9999px;background:var(--glass-bg-strong);box-shadow:0 2px 12px #0000000f,inset 0 1px #fff3;pointer-events:none;z-index:0}[data-theme=dark] .nav-pill{box-shadow:0 2px 12px #0000004d,inset 0 1px #ffffff0f}[data-theme=dark] .bottom-nav{box-shadow:var(--glass-shadow),var(--glass-shadow-inset),0 8px 32px #0006}.nav-item{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 12px;margin:0 2px;border:none;border-radius:24px;background:transparent;cursor:pointer;transition:transform .2s cubic-bezier(.25,.1,.25,1),color .2s ease;flex:1;min-width:0;-webkit-tap-highlight-color:transparent}.nav-item:active{transform:scale(.96)}.nav-item.active{background:transparent}.nav-icon{display:flex;align-items:center;justify-content:center;color:var(--gray-600);transition:transform .2s cubic-bezier(.25,.1,.25,1),color .2s ease}.nav-icon svg{width:24px;height:24px;flex-shrink:0}.nav-label{display:block;font-size:12px;line-height:1.2;color:var(--gray-600);font-weight:300;transition:color .2s cubic-bezier(.4,0,.2,1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}[data-theme=dark] .nav-icon,[data-theme=dark] .nav-label{color:#fff}.nav-item.active .nav-icon{color:var(--primary-500)}.nav-item.active .nav-label{color:var(--primary-500);font-weight:300}[data-theme=dark] .nav-item.active .nav-icon{color:var(--primary-500)}[data-theme=dark] .nav-item.active .nav-label{color:var(--primary-500);font-weight:300}.nav-icon-avatar{width:24px;height:24px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--gray-200);flex-shrink:0}.nav-avatar-img{width:100%;height:100%;object-fit:cover}.nav-avatar-initials{font-size:12px;font-weight:700;color:var(--primary-600);letter-spacing:-.5px}.nav-item.active .nav-icon-avatar{box-shadow:0 0 0 2px var(--primary-500)}[data-theme=dark] .nav-icon-avatar{background:var(--bg-tertiary)}[data-theme=dark] .nav-avatar-initials{color:#fff}[data-theme=dark] .nav-item.active .nav-avatar-initials{color:var(--primary-500)}@media (min-width: 1024px){.bottom-nav{display:none}}@media (max-width: 1023px){.bottom-nav{height:var(--bottom-nav-height);min-height:var(--bottom-nav-height);left:var(--bottom-nav-floating-gap, 12px);right:var(--bottom-nav-floating-gap, 12px);bottom:var(--bottom-nav-floating-gap, 12px)}}@media (max-device-width: 1023px){.bottom-nav{display:flex;left:12px;right:12px;bottom:12px;height:var(--bottom-nav-height);min-height:var(--bottom-nav-height);padding-top:8px;padding-bottom:8px}.bottom-nav .nav-pill{top:8px;bottom:8px;min-height:48px}}html.native-app .bottom-nav{background:#fffffffa;backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:20px;box-shadow:0 4px 24px #00000014,0 2px 8px #0000000a;padding-top:8px;padding-bottom:8px;height:var(--bottom-nav-height);min-height:var(--bottom-nav-height);bottom:calc(var(--bottom-nav-floating-gap, 12px) + env(safe-area-inset-bottom,0px));align-items:center;display:flex;justify-content:space-around}html.native-app[data-theme=dark] .bottom-nav{background:#1c1c1cfa;box-shadow:0 4px 24px #00000059,0 2px 8px #0003}html.native-app .bottom-nav .nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 12px;gap:4px;align-self:stretch;min-height:0;border-radius:9999px;transition:background .2s ease,box-shadow .2s ease,color .2s ease}html.native-app .bottom-nav .nav-item:active{transform:none}html.native-app .bottom-nav .nav-item.active{background:transparent}html.native-app .bottom-nav .nav-pill{top:8px;bottom:8px;min-height:48px;min-width:82px;background:#ffffffb3;box-shadow:0 2px 12px #0000000f,inset 0 1px #fff3}html.native-app[data-theme=dark] .bottom-nav .nav-pill{background:#ffffff1f;box-shadow:0 2px 12px #0000004d,inset 0 1px #ffffff0f}html.native-app .bottom-nav .nav-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;font-size:22px;line-height:24px;padding:0;margin:0;text-align:center;flex-shrink:0}html.native-app .bottom-nav .nav-icon-avatar{flex-shrink:0;width:24px;height:24px}.notifications-container{position:fixed;top:20px;right:20px;z-index:1001;display:flex;flex-direction:column;gap:12px;max-width:360px;animation:slideInRight .3s ease-out;pointer-events:none}.notifications-container>*{pointer-events:auto}.notification-card{background:#fff;border-radius:16px;padding:16px;box-shadow:0 4px 12px #00000026;display:flex;align-items:flex-start;gap:12px;animation:slideInRight .3s ease-out;border-left:4px solid var(--primary-500)}.notification-card--chat{border-left-color:var(--info-500)}.notification-icon{font-size:24px;line-height:1;flex-shrink:0}.notification-content{flex:1;min-width:0}.notification-title{font-size:14px;font-weight:600;color:var(--gray-900);margin-bottom:4px}.notification-date{font-size:12px;color:var(--gray-600);margin-bottom:4px;text-transform:capitalize}.notification-workout{font-size:13px;color:var(--primary-500);font-weight:500}.notification-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.notification-btn{padding:6px 12px;border-radius:8px;border:none;background:var(--primary-500);color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit}.notification-btn:hover{background:var(--primary-600);transform:scale(1.05)}.notification-dismiss{width:24px;height:24px;border-radius:50%;border:none;background:var(--gray-200);color:var(--gray-600);font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0}.notification-dismiss:hover{background:var(--gray-300);color:var(--gray-900)}[data-theme=dark] .notification-card{background:var(--card-bg);border-color:var(--primary-500)}[data-theme=dark] .notification-title{color:var(--text-primary)}[data-theme=dark] .notification-date{color:var(--text-secondary)}[data-theme=dark] .notification-dismiss{background:var(--bg-tertiary);color:var(--text-secondary)}[data-theme=dark] .notification-dismiss:hover{background:var(--gray-300);color:var(--text-primary)}@media (min-width: 1024px){.notifications-container{top:80px}}@media (max-width: 640px){.notifications-container{top:calc(76px + env(safe-area-inset-top,0px));right:max(16px,env(safe-area-inset-right,0px));left:max(16px,env(safe-area-inset-left,0px));max-width:none;max-height:calc(100vh - 176px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overflow-y:auto}.notification-card{padding:12px}}.page-transition{width:100%;min-height:100%}.page-transition-content{animation:contentFadeIn .2s ease-out;width:100%;min-height:100%}@media (max-width: 1023px){.page-transition-content{padding-top:calc(76px + env(safe-area-inset-top,0px));padding-bottom:var(--mobile-content-padding-bottom, 100px);min-height:100vh;box-sizing:border-box}.page-transition-content--chat{height:100vh;min-height:100vh;max-height:100vh;display:flex;flex-direction:column}@supports (height: 100dvh){.page-transition-content--chat{height:100dvh;min-height:100dvh;max-height:100dvh}}.page-transition-content--chat .app-tabs-content,.page-transition-content--chat .app-tab-pane--chat{flex:1 1 0;min-height:0;display:flex;flex-direction:column}}@keyframes contentFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.page-transition-content{animation:none}}.app-tabs-content{width:100%;min-height:100%;position:relative}.app-tab-pane{display:none;width:100%;min-height:100%}.app-tab-pane.app-tab-pane--active{display:block}.skeleton-container{padding:var(--page-padding);max-width:var(--page-max-width);margin:0 auto}@media (min-width: 1024px){.skeleton-container{padding-top:var(--page-top-desktop)}}.skeleton-line{height:16px;background:linear-gradient(90deg,var(--gray-200) 0%,var(--gray-100) 50%,var(--gray-200) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:8px;margin-bottom:12px}.skeleton-title{height:32px;width:60%;margin-bottom:16px}.skeleton-subtitle{height:20px;width:40%;margin-bottom:24px}.skeleton-short{width:50%}.skeleton-card{background:var(--card-bg);border-radius:16px;padding:20px;border:1px solid var(--card-border)}.skeleton-section{margin-bottom:20px}.skeleton-dash-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.skeleton-workout-card{min-height:100px}.skeleton-metrics-row{display:flex;gap:16px}.skeleton-metric-item{flex:1;display:flex;flex-direction:column;align-items:center}.skeleton-metric-item .skeleton-line{margin-bottom:0}.skeleton-week-strip{display:flex;gap:8px;margin-bottom:16px}.skeleton-week-day{flex:1;display:flex;flex-direction:column;align-items:center}.skeleton-week-day .skeleton-line{margin-bottom:0}.skeleton-day-circle{width:36px;height:36px;border-radius:50%;background:linear-gradient(90deg,var(--gray-200) 0%,var(--gray-100) 50%,var(--gray-200) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton-tabs-row{display:flex;gap:8px;margin-bottom:16px}.skeleton-tab{height:36px;flex:1;max-width:120px;background:linear-gradient(90deg,var(--gray-200) 0%,var(--gray-100) 50%,var(--gray-200) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:10px}.skeleton-tab--sm{height:30px;max-width:90px;border-radius:8px}.skeleton-time-range{margin-bottom:20px}.skeleton-stats-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}@media (min-width: 640px){.skeleton-stats-metrics{grid-template-columns:repeat(4,1fr)}}.skeleton-stat-metric{min-height:72px;display:flex;flex-direction:column;justify-content:center;padding:16px}.skeleton-stat-metric .skeleton-line{margin-bottom:0}.skeleton-chart-card{min-height:180px;display:flex;flex-direction:column;justify-content:flex-end;padding:20px}.skeleton-chart-bars{display:flex;align-items:flex-end;gap:8px;height:120px}.skeleton-chart-bar{flex:1;background:linear-gradient(90deg,var(--gray-200) 0%,var(--gray-100) 50%,var(--gray-200) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px 6px 0 0;min-height:12px}.skeleton-workout-item{padding:14px 16px;margin-bottom:8px}.skeleton-workout-item .skeleton-line{margin-bottom:0}.skeleton-chat{display:flex;flex-direction:column}.skeleton-chat-list{display:flex;flex-direction:column;gap:4px}.skeleton-chat-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--card-bg);border-radius:12px;border:1px solid var(--card-border)}.skeleton-chat-item-text{flex:1;min-width:0}.skeleton-chat-item-text .skeleton-line{margin-bottom:0}.skeleton-avatar{width:44px;height:44px;border-radius:50%;flex-shrink:0;background:linear-gradient(90deg,var(--gray-200) 0%,var(--gray-100) 50%,var(--gray-200) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton-avatar-sm{width:32px;height:32px;border-radius:50%;flex-shrink:0;background:linear-gradient(90deg,var(--gray-200) 0%,var(--gray-100) 50%,var(--gray-200) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton-chat-main{display:none}@media (min-width: 1024px){.skeleton-chat{flex-direction:row;gap:16px;min-height:500px}.skeleton-chat-list{width:280px;flex-shrink:0}.skeleton-chat-main{flex:1;display:flex;flex-direction:column;background:var(--card-bg);border-radius:16px;border:1px solid var(--card-border);padding:16px}}.skeleton-chat-messages-area{flex:1;display:flex;flex-direction:column;gap:12px;justify-content:flex-end;padding-bottom:16px}.skeleton-message{display:flex;align-items:flex-end;gap:8px;max-width:65%}.skeleton-message--right{margin-left:auto;flex-direction:row-reverse}.skeleton-message-bubble{flex:1;background:var(--bg-secondary, var(--gray-100));border-radius:16px;padding:12px 16px}.skeleton-message-bubble .skeleton-line{margin-bottom:0}.skeleton-chat-input-bar{display:flex;gap:8px;align-items:center;padding-top:12px;border-top:1px solid var(--card-border)}.skeleton-chat-input-bar .skeleton-line{margin-bottom:0}.skeleton-avatar-upload{display:flex;justify-content:center;margin-bottom:20px}.skeleton-avatar-lg{width:100px;height:100px;border-radius:50%;background:linear-gradient(90deg,var(--gray-200) 0%,var(--gray-100) 50%,var(--gray-200) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite;border:3px solid var(--card-border)}.skeleton-field{margin-bottom:16px}.skeleton-field .skeleton-line{margin-bottom:0}.skeleton-input{height:42px;border-radius:10px}.skeleton-form-row{display:flex;gap:16px}[data-theme=dark] .skeleton-line,[data-theme=dark] .skeleton-tab,[data-theme=dark] .skeleton-chart-bar,[data-theme=dark] .skeleton-day-circle,[data-theme=dark] .skeleton-avatar,[data-theme=dark] .skeleton-avatar-sm,[data-theme=dark] .skeleton-avatar-lg{background:linear-gradient(90deg,#ffffff14,#ffffff0a,#ffffff14);background-size:200% 100%}[data-theme=dark] .skeleton-card,[data-theme=dark] .skeleton-chat-item,[data-theme=dark] .skeleton-message-bubble{background:var(--card-bg);border-color:var(--card-border)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media (prefers-reduced-motion: reduce){.skeleton-line,.skeleton-tab,.skeleton-chart-bar,.skeleton-day-circle,.skeleton-avatar,.skeleton-avatar-sm,.skeleton-avatar-lg{animation:none}}.workout-card{background:#fff!important;border-radius:20px;padding:24px;margin-bottom:20px;box-shadow:0 2px 12px #0000000f;border:1px solid rgba(0,0,0,.04);cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;color:var(--gray-900)!important}.workout-card-planned{background:#fff!important;color:var(--gray-900)!important}.workout-card-completed{background:var(--success-50)!important;color:var(--gray-900)!important}.workout-card-missed{background:var(--accent-50)!important;color:var(--gray-900)!important}.workout-card-rest{background:var(--gray-100)!important;color:var(--gray-900)!important}[data-theme=dark] .workout-card{background:var(--card-bg)!important;border-color:var(--card-border);color:var(--text-primary)!important}[data-theme=dark] .workout-card-planned{background:var(--card-bg)!important;color:var(--text-primary)!important}[data-theme=dark] .workout-card-completed{background:#22c55e26!important;color:var(--text-primary)!important}[data-theme=dark] .workout-card-missed{background:#ef444426!important;color:var(--text-primary)!important}[data-theme=dark] .workout-card-rest{background:var(--bg-tertiary)!important;color:var(--text-primary)!important}.workout-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f;border-color:#00000014}.workout-card:active{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.workout-card-today{border:2px solid var(--primary-500);box-shadow:0 4px 20px #fc4c0240,0 0 0 1px #fc4c021a}[data-theme=dark] .workout-card-today{box-shadow:0 4px 20px #ff6b3d59,0 0 0 1px #ff6b3d26}.workout-card-compact{padding:16px}.workout-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:0}.workout-date-wrapper{display:flex;align-items:center;gap:10px}.workout-date{font-size:1.25rem;font-weight:600;color:var(--gray-800);letter-spacing:-.01em}[data-theme=light] .workout-date,[data-theme=dark] .workout-date{color:var(--text-primary)}.workout-badge-today{background:var(--primary-500);color:#fff;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.workout-status-icon{font-size:24px;line-height:1}.workout-title{font-size:22px;font-weight:800;color:var(--gray-900)!important;margin-bottom:20px;line-height:1.3;letter-spacing:-.3px}[data-theme=dark] .workout-title{color:var(--text-primary)!important}.workout-metrics{display:flex;gap:28px;margin-bottom:20px;flex-wrap:wrap}.metric{display:flex;align-items:center;gap:8px}.metric-icon{font-size:24px;line-height:1}.metric-content{display:flex;align-items:baseline;gap:4px}.metric-value{font-size:28px;font-weight:800;color:var(--gray-900)!important;line-height:1;letter-spacing:-.5px;font-variant-numeric:tabular-nums}[data-theme=dark] .metric-value{color:var(--text-primary)!important}.metric-unit{font-size:14px;color:var(--gray-600);font-weight:500}[data-theme=dark] .metric-unit{color:var(--text-secondary)}.workout-description{font-size:14px;color:var(--gray-600);line-height:1.5;margin-bottom:16px;white-space:pre-wrap}[data-theme=dark] .workout-description{color:var(--text-secondary)}.workout-exercises{margin-top:16px;padding-top:16px;border-top:1px solid var(--gray-200)}[data-theme=dark] .workout-exercises{border-top-color:var(--gray-400)}.workout-exercises-title{font-size:13px;font-weight:700;color:var(--primary-600);margin-bottom:10px}[data-theme=dark] .workout-exercises-title{color:var(--primary-400)}.workout-exercises-list{display:flex;flex-direction:column;gap:8px}.workout-exercise-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--gray-700);padding:8px;background:var(--gray-50);border-radius:8px;flex-wrap:wrap}[data-theme=dark] .workout-exercise-item{background:var(--bg-tertiary);color:var(--text-secondary)}.exercise-name{font-weight:600;flex:1;min-width:120px}.exercise-sets{color:var(--gray-500);font-size:12px}.exercise-detail{font-size:12px;color:var(--gray-500);background:var(--gray-100);padding:2px 6px;border-radius:4px}[data-theme=dark] .exercise-detail{background:var(--bg-secondary);color:var(--text-tertiary)}.workout-exercises-more{font-size:12px;color:var(--gray-500);font-style:italic;text-align:center;margin-top:4px}.workout-results{margin-top:16px;padding-top:16px;border-top:1px solid var(--gray-200)}[data-theme=dark] .workout-results{border-top-color:var(--gray-400)}.workout-results-title{font-size:13px;font-weight:700;color:var(--primary-600);margin-bottom:10px}[data-theme=dark] .workout-results-title{color:var(--primary-400)}.workout-result-item{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--gray-700);padding:8px;background:var(--gray-50);border-radius:8px;margin-bottom:6px;flex-wrap:wrap}[data-theme=dark] .workout-result-item{background:var(--bg-tertiary);color:var(--text-secondary)}.result-notes{font-size:12px;color:var(--gray-600);margin-top:4px;font-style:italic;width:100%}[data-theme=dark] .result-notes{color:var(--text-tertiary)}.workout-card-plan-days{margin-top:8px;display:flex;flex-direction:column;gap:12px}.workout-card-plan-day-block{position:relative;display:flex;flex-direction:column;gap:8px;padding:0;margin-bottom:0;overflow:hidden}.workout-card-plan-day-block--easy:before,.workout-card-plan-day-block--tempo:before,.workout-card-plan-day-block--interval:before,.workout-card-plan-day-block--long:before,.workout-card-plan-day-block--control:before,.workout-card-plan-day-block--race:before,.workout-card-plan-day-block--other:before,.workout-card-plan-day-block--sbu:before,.workout-card-plan-day-block--rest:before,.workout-card-plan-day-block--run:before{content:"";position:absolute;top:0;left:0;width:8px;height:100%;transition:width .2s ease}.workout-card-plan-day-block--easy:before{background:var(--workout-easy)}.workout-card-plan-day-block--tempo:before{background:var(--workout-tempo)}.workout-card-plan-day-block--interval:before{background:var(--workout-interval)}.workout-card-plan-day-block--long:before{background:var(--workout-long)}.workout-card-plan-day-block--control:before{background:var(--workout-control)}.workout-card-plan-day-block--race:before{background:var(--primary-500)}.workout-card-plan-day-block--other:before{background:var(--workout-strip-ofp)}.workout-card-plan-day-block--sbu:before{background:var(--workout-strip-sbu)}.workout-card-plan-day-block--rest:before{background:var(--workout-rest)}.workout-card-plan-day-block--run:before{background:var(--workout-strip-run)}.workout-card-plan-day-block--easy,.workout-card-plan-day-block--tempo,.workout-card-plan-day-block--interval,.workout-card-plan-day-block--long,.workout-card-plan-day-block--control,.workout-card-plan-day-block--race,.workout-card-plan-day-block--other,.workout-card-plan-day-block--sbu,.workout-card-plan-day-block--rest,.workout-card-plan-day-block--run{padding-left:16px}.workout-card-plan-day-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.workout-card-plan-day-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.workout-card-btn-edit-plan-day{padding:6px 12px;font-size:13px;font-weight:500;color:var(--primary-600);background:transparent;border:1px solid var(--primary-300);border-radius:8px;cursor:pointer;font-family:inherit;transition:background .2s,color .2s}.workout-card-btn-edit-plan-day:hover{background:var(--primary-50);color:var(--primary-700)}[data-theme=dark] .workout-card-btn-edit-plan-day{color:var(--primary-400);border-color:var(--primary-600)}[data-theme=dark] .workout-card-btn-edit-plan-day:hover{background:#3b82f626;color:var(--primary-300)}.workout-card-plan-day-type{font-weight:600;font-size:15px;color:var(--gray-800);display:flex;align-items:center;gap:8px;flex-wrap:wrap}[data-theme=dark] .workout-card-plan-day-type{color:var(--text-primary)}.workout-card-key-badge{display:inline-flex;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;border-radius:6px;background:var(--primary-50);color:var(--primary-600);border:1px solid var(--primary-200);line-height:1.4;white-space:nowrap}[data-theme=dark] .workout-card-key-badge{background:#fc4c0226;color:var(--primary-400);border-color:#fc4c024d}.workout-card-plan-day-text{font-size:14px;line-height:1.2;white-space:pre-wrap;word-break:break-word;color:var(--gray-700)}[data-theme=dark] .workout-card-plan-day-text{color:var(--text-secondary)}.workout-card-plan-day-more{display:block;font-size:12px;color:var(--gray-500);font-style:italic}[data-theme=dark] .workout-card-plan-day-more{color:var(--text-tertiary)}.workout-card-plan-day-text p{margin:0 0 6px}.workout-card-btn-delete-plan-day{flex-shrink:0;padding:6px 12px;font-size:13px;font-weight:500;color:var(--danger-600);background:transparent;border:1px solid var(--danger-300);border-radius:8px;cursor:pointer;font-family:inherit;transition:background .2s,color .2s}.workout-card-btn-delete-plan-day:hover{background:var(--danger-50);color:var(--danger-700)}[data-theme=dark] .workout-card-btn-delete-plan-day{color:var(--danger-400);border-color:var(--danger-600)}[data-theme=dark] .workout-card-btn-delete-plan-day:hover{background:#ef444426;color:var(--danger-300)}.workout-rest{display:flex;align-items:center;gap:12px;padding:16px 0}.rest-icon{font-size:32px}.rest-text{font-size:18px;font-weight:600;color:var(--gray-700)}.workout-card-content{min-height:0}.workout-actions{display:flex;gap:12px;margin-top:16px}.workout-card-extra-actions{display:flex;flex-direction:column;align-items:stretch;margin-top:12px}.btn-workout{flex:1;padding:16px 24px;border-radius:14px;font-size:16px;font-weight:700;border:none;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);font-family:inherit;letter-spacing:.2px}.btn-start{background:var(--primary-500);color:#fff}.btn-start:hover{background:var(--primary-600);transform:translateY(-1px);box-shadow:0 4px 8px #fc4c024d}[data-theme=dark] .btn-start:hover{box-shadow:0 4px 8px #ff6b3d66}.btn-start:active{transform:translateY(0)}.btn-details{background:var(--gray-100);color:var(--gray-700)}.btn-details:hover{background:var(--gray-200)}.btn-missed{background:var(--accent-50);color:var(--accent-600);border:1px solid var(--accent-500)}.btn-missed:hover{background:var(--accent-100)}.btn-workout.btn-missed.btn-primary{background:var(--primary-500);color:#fff;border-color:var(--primary-500)}.btn-workout.btn-missed.btn-primary:hover{background:var(--primary-600);border-color:var(--primary-600)}@media (max-width: 640px){.workout-card{padding:16px;border-radius:12px;margin-bottom:12px}.workout-title{font-size:18px;margin-bottom:12px}.workout-metrics{gap:16px}.metric-value{font-size:20px}.btn-workout{padding:10px 20px;font-size:14px}}@media (prefers-color-scheme: dark){.workout-card{background:var(--gray-800);color:var(--gray-100)}.workout-title{color:var(--gray-100)}.workout-date{color:var(--gray-400)}.metric-value{color:var(--gray-100)}.workout-description{color:var(--gray-400)}}.week-calendar-container{background:var(--card-bg);border-radius:20px;padding:32px;margin-bottom:28px;box-shadow:var(--shadow-xl);border:1px solid var(--card-border);transition:transform .2s ease,box-shadow .25s ease;position:relative;overflow:hidden;width:100%;box-sizing:border-box}.week-calendar-container:has(.week-days-grid){overflow:visible}[data-theme=dark] .week-calendar-container{background:transparent!important;border-color:var(--gray-300)!important;color:var(--text-primary)!important;box-shadow:0 4px 24px #00000080,0 1px 3px #0000004d}.week-calendar-container:has(.monthly-calendar){padding:0;border:none;box-shadow:unset}.week-calendar-container.swiping{transition:none}.week-calendar-empty{text-align:center;padding:40px;color:var(--gray-600)}.week-calendar-header{display:flex;flex-direction:column;gap:20px;margin-bottom:28px}.week-calendar-nav{display:flex;align-items:center;justify-content:center;gap:12px;width:100%}.week-nav-btn{width:48px;height:48px;border-radius:14px;border:2px solid var(--gray-200);background:var(--card-bg);font-size:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);flex-shrink:0;color:var(--gray-700);font-weight:600;box-shadow:var(--shadow-sm);position:relative;padding:0;overflow:hidden}.week-nav-btn:before{content:"";width:10px;height:10px;border:3px solid currentColor;border-top:none;border-right:none;transform:rotate(45deg);transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:2px 0 0}.week-nav-btn:last-child:before{transform:rotate(-135deg)}.week-nav-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-50) 0%,rgba(255,107,61,.1) 100%);border-color:var(--primary-500);color:var(--primary-500);transform:scale(1.05) translateY(-1px);box-shadow:0 6px 16px #fc4c0240,0 2px 6px #fc4c0226}.week-nav-btn:hover:not(:disabled):before{transform:rotate(45deg) translate(-1px) translateY(-1px);border-width:3.5px}.week-calendar-nav .week-nav-btn:last-child:hover:not(:disabled):before{transform:rotate(-135deg) translate(1px) translateY(-1px);border-width:3.5px}.week-nav-btn:active:not(:disabled){transform:scale(.98) translateY(0);box-shadow:0 2px 8px #fc4c0233,0 1px 3px #fc4c021a}.week-current-label{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);padding:0 8px;min-width:180px;text-align:center}[data-theme=dark] .week-current-label{color:var(--text-primary)}[data-theme=dark] .week-nav-btn{background:var(--bg-tertiary)!important;border-color:var(--gray-400)!important;color:var(--text-primary)!important;box-shadow:0 2px 8px #0006,0 1px 2px #0000004d!important}[data-theme=dark] .week-nav-btn:hover:not(:disabled){background:linear-gradient(135deg,#ff6b3d40,#ff6b3d26)!important;border-color:var(--primary-500)!important;color:var(--primary-500)!important;box-shadow:0 6px 20px #ff6b3d59,0 2px 6px #ff6b3d40!important;transform:scale(1.05) translateY(-1px)}[data-theme=dark] .week-nav-btn:active:not(:disabled){transform:scale(.98) translateY(0)!important;box-shadow:0 2px 10px #ff6b3d4d,0 1px 3px #ff6b3d33!important}.week-nav-btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important}.week-calendar-title{text-align:center;width:100%}.week-phase-name{font-size:16px;font-weight:500;color:var(--gray-600)}[data-theme=dark] .week-phase-name{color:var(--text-secondary)}.week-title-dates{font-size:14px;color:var(--gray-600);text-transform:capitalize}[data-theme=dark] .week-title-dates{color:var(--text-secondary)}.week-days-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:16px}.week-day-cell{background:transparent;border-radius:18px;padding:16px 12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:none;min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;position:relative;box-shadow:none;overflow:visible}.week-day-cell:before{content:"";position:absolute;bottom:-10px;left:5px;right:5px;height:2px;background:var(--gradient-primary);transform:scaleX(0);transition:transform .3s cubic-bezier(.4,0,.2,1);pointer-events:none}.week-day-cell:hover{background:transparent;transform:translateY(-4px);box-shadow:0 8px 24px #fc4c0233,0 4px 8px #fc4c021f}.week-day-cell:hover:before{transform:scaleX(1)}.week-day-cell:active{transform:translateY(-2px);box-shadow:0 4px 12px #fc4c022e,0 2px 4px #fc4c021a}.week-day-cell:active:before{transform:scaleX(1)}[data-theme=dark] .week-day-cell{background:transparent!important;border:none!important;box-shadow:none!important}[data-theme=dark] .week-day-cell:hover{background:transparent!important;box-shadow:0 8px 28px #ff6b3d4d,0 4px 8px #ff6b3d33!important;transform:translateY(-4px)}[data-theme=dark] .week-day-cell:active{box-shadow:0 4px 16px #ff6b3d40,0 2px 6px #ff6b3d26!important;transform:translateY(-2px)}.week-day-cell.today{background:transparent;border:none;box-shadow:none;position:relative}.week-day-cell.today:hover{box-shadow:0 8px 24px #fc4c0233,0 4px 8px #fc4c021f;transform:translateY(-4px)}.week-day-cell.today:active{box-shadow:0 4px 12px #fc4c022e,0 2px 4px #fc4c021a;transform:translateY(-2px)}[data-theme=dark] .week-day-cell.today:hover{box-shadow:0 8px 28px #ff6b3d4d,0 4px 8px #ff6b3d33!important;transform:translateY(-4px)}[data-theme=dark] .week-day-cell.today:active{box-shadow:0 4px 16px #ff6b3d40,0 2px 6px #ff6b3d26!important;transform:translateY(-2px)}.week-day-cell.today .week-day-number,.week-day-cell.today .week-day-date-sep,.week-day-cell.today .week-day-label,[data-theme=dark] .week-day-cell.today .week-day-number,[data-theme=dark] .week-day-cell.today .week-day-date-sep,[data-theme=dark] .week-day-cell.today .week-day-label{color:var(--primary-500)!important;text-shadow:none}.week-day-cell.selected:before{display:none}[data-theme=dark] .week-day-cell.today{background:transparent!important;border:none!important;box-shadow:none!important}.dashboard-week-strip .week-day-cell.today{box-shadow:0 0 0 2px #fc4c0280}.dashboard-week-strip .week-day-cell.today .week-day-number,.dashboard-week-strip .week-day-cell.today .week-day-date-sep,.dashboard-week-strip .week-day-cell.today .week-day-label{color:var(--primary-500)!important}[data-theme=dark] .dashboard-week-strip .week-day-cell.today{box-shadow:0 0 0 2px #ff6b3d99!important}[data-theme=dark] .dashboard-week-strip .week-day-cell.today .week-day-number,[data-theme=dark] .dashboard-week-strip .week-day-cell.today .week-day-date-sep,[data-theme=dark] .dashboard-week-strip .week-day-cell.today .week-day-label{color:var(--primary-500)!important}.week-calendar-container:has(.week-days-grid) .week-day-cell.today{box-shadow:0 0 0 2px #fc4c0280}.week-calendar-container:has(.week-days-grid) .week-day-cell.today .week-day-number,.week-calendar-container:has(.week-days-grid) .week-day-cell.today .week-day-date-sep,.week-calendar-container:has(.week-days-grid) .week-day-cell.today .week-day-label{color:var(--primary-500)!important}[data-theme=dark] .week-calendar-container:has(.week-days-grid) .week-day-cell.today{box-shadow:0 0 0 2px #ff6b3d99!important}[data-theme=dark] .week-calendar-container:has(.week-days-grid) .week-day-cell.today .week-day-number,[data-theme=dark] .week-calendar-container:has(.week-days-grid) .week-day-cell.today .week-day-date-sep,[data-theme=dark] .week-calendar-container:has(.week-days-grid) .week-day-cell.today .week-day-label{color:var(--primary-500)!important}:root:not([data-theme=dark]) .week-calendar-container:has(.week-days-grid) .week-day-date-square,:root:not([data-theme=dark]) .week-calendar-container:has(.week-days-grid) .week-day-icon-square{border:1px solid var(--gray-200)}@media (min-width: 641px){.week-calendar-container:has(.week-days-grid) .week-day-cell{min-height:100px}.week-calendar-container:has(.week-days-grid) .week-day-date-square,.week-calendar-container:has(.week-days-grid) .week-day-icon-square{max-width:100%}.week-calendar-container:has(.week-days-grid) .week-day-icons-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;flex:1;min-height:0;align-content:center}.week-calendar-container:has(.week-days-grid) .week-day-icons-grid .week-day-icon-square:only-child{grid-column:1 / -1;aspect-ratio:1}.week-calendar-container:has(.week-days-grid) .week-day-icons-grid:has(.week-day-icon-square:nth-child(2)):not(:has(.week-day-icon-square:nth-child(3))){aspect-ratio:1 / 1;grid-template-rows:1fr 1fr;align-items:stretch}.week-calendar-container:has(.week-days-grid) .week-day-icons-grid:has(.week-day-icon-square:nth-child(2)):not(:has(.week-day-icon-square:nth-child(3))) .week-day-icon-square:nth-child(1){grid-column:1 / -1;width:100%;height:100%;aspect-ratio:auto;min-height:0}.week-calendar-container:has(.week-days-grid) .week-day-icons-grid:has(.week-day-icon-square:nth-child(2)):not(:has(.week-day-icon-square:nth-child(3))) .week-day-icon-square:nth-child(2){grid-column:1 / -1;width:100%;height:100%;aspect-ratio:auto;min-height:0}.week-calendar-container:has(.week-days-grid) .week-day-icons-grid:has(.week-day-icon-square:nth-child(3)){width:100%;aspect-ratio:1 / 1;grid-template-rows:1fr 1fr;align-items:stretch}.week-calendar-container:has(.week-days-grid) .week-day-icons-grid:has(.week-day-icon-square:nth-child(3)):not(:has(.week-day-icon-square:nth-child(4))) .week-day-icon-square:nth-child(1),.week-calendar-container:has(.week-days-grid) .week-day-icons-grid:has(.week-day-icon-square:nth-child(3)):not(:has(.week-day-icon-square:nth-child(4))) .week-day-icon-square:nth-child(2){width:100%;height:100%;aspect-ratio:auto;min-height:0}.week-calendar-container:has(.week-days-grid) .week-day-icons-grid:has(.week-day-icon-square:nth-child(3)):not(:has(.week-day-icon-square:nth-child(4))) .week-day-icon-square:nth-child(3){grid-column:1 / -1;width:100%;height:100%;aspect-ratio:auto;min-height:0}.week-calendar-container:has(.week-days-grid) .week-day-icons-grid:has(.week-day-icon-square:nth-child(4)) .week-day-icon-square{width:100%;height:100%;aspect-ratio:auto;min-height:0}.week-calendar-container:has(.week-days-grid) .week-day-svg-icon{width:28px;height:28px}.week-calendar-container:has(.week-days-grid) .week-day-number{font-size:20px}.week-calendar-container:has(.week-days-grid) .week-day-label{font-size:11px}}.week-day-cell.completed{background:transparent;border-color:transparent;box-shadow:none}[data-theme=dark] .week-day-cell.completed{background:transparent!important;border-color:transparent!important;border-width:1px!important;box-shadow:none!important}.week-day-cell.planned{background:transparent;border-color:transparent;box-shadow:none}[data-theme=dark] .week-day-cell.planned{background:transparent!important;border-color:transparent!important;border-width:1px!important;box-shadow:none!important}.week-day-cell.rest{background:transparent;border-color:transparent;opacity:.7}.week-day-cell.planned:hover,.week-day-cell.completed:hover,.week-day-cell.rest:hover{background:transparent;box-shadow:0 8px 24px #fc4c0233,0 4px 8px #fc4c021f;transform:translateY(-4px)}.week-day-cell.planned:active,.week-day-cell.completed:active,.week-day-cell.rest:active{box-shadow:0 4px 12px #fc4c022e,0 2px 4px #fc4c021a;transform:translateY(-2px)}[data-theme=dark] .week-day-cell.planned:hover,[data-theme=dark] .week-day-cell.completed:hover,[data-theme=dark] .week-day-cell.rest:hover{background:transparent!important;box-shadow:0 8px 28px #ff6b3d4d,0 4px 8px #ff6b3d33!important;transform:translateY(-4px)}[data-theme=dark] .week-day-cell.planned:active,[data-theme=dark] .week-day-cell.completed:active,[data-theme=dark] .week-day-cell.rest:active{box-shadow:0 4px 16px #ff6b3d40,0 2px 6px #ff6b3d26!important;transform:translateY(-2px)}.week-day-cell.selected{background:transparent;border:none;box-shadow:0 0 0 2px #fc4c0280}.week-day-cell.selected .week-day-number,.week-day-cell.selected .week-day-date-sep,.week-day-cell.selected .week-day-label{color:var(--primary-500)!important}.week-day-cell.selected .workout-type-text,.week-day-cell.selected .rest-text,.week-day-cell.selected .week-day-empty{color:var(--text-primary)!important}.week-day-dot{width:6px;height:6px;border-radius:50%;background-color:var(--gray-300);margin-top:4px}.week-day-cell.selected .week-day-dot{background-color:var(--primary-500)!important}[data-theme=dark] .week-day-cell.selected{background:transparent!important;border:none!important;box-shadow:0 0 0 2px #ff6b3d99!important}[data-theme=dark] .week-day-cell.selected .week-day-number,[data-theme=dark] .week-day-cell.selected .week-day-date-sep,[data-theme=dark] .week-day-cell.selected .week-day-label{color:var(--primary-500)!important}[data-theme=dark] .week-day-cell.rest{background:transparent!important;border:none!important;opacity:.9}.week-day-date-square{width:100%;max-width:100%;height:40px;min-height:40px;margin:0 auto 6px;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:4px;background:var(--gray-100);border:none;border-radius:10px;flex-shrink:0}[data-theme=dark] .week-day-date-square{background:var(--bg-tertiary);border:none}.week-day-date-square .week-day-number,.week-day-date-square .week-day-date-sep,.week-day-date-square .week-day-label{display:inline-flex;align-items:center;justify-content:center;line-height:1;vertical-align:middle}.week-day-date-square .week-day-number{font-size:17px;font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}.week-day-date-square .week-day-date-sep{font-size:12px;font-weight:400;color:var(--gray-500);opacity:.85;-webkit-user-select:none;user-select:none}.week-day-date-square .week-day-label{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--gray-600)}[data-theme=dark] .week-day-date-square .week-day-number{color:var(--text-primary)}[data-theme=dark] .week-day-date-square .week-day-date-sep{color:var(--text-secondary);opacity:.8}[data-theme=dark] .week-day-date-square .week-day-label{color:var(--text-secondary)}.week-day-key-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--primary-500);flex-shrink:0;margin-left:2px}[data-theme=dark] .week-day-key-dot{background:var(--primary-400)}.week-day-icon-square{width:100%;aspect-ratio:1;max-width:100%;margin:0;display:flex;align-items:center;justify-content:center;background:var(--gray-50);border:none;border-radius:12px;flex-shrink:0;color:var(--gray-600)}.week-day-icons-grid{display:flex;flex-direction:column;gap:4px;width:100%}.week-day-icon-square+.week-day-icon-square{margin-top:0}.week-day-icons-grid .week-day-icon-square{margin-top:0}.week-day-cell:has(.week-day-icons-grid .week-day-icon-square:nth-child(3)) .week-day-svg-icon{width:20px;height:20px}[data-theme=dark] .week-day-icon-square{background:var(--bg-tertiary);border:none;color:var(--text-secondary)}.week-day-svg-icon{width:24px;height:24px;flex-shrink:0}.week-day-svg-icon--completed{color:var(--success-500)}.week-day-svg-icon--rest{opacity:.6}.week-day-icon-square--easy .week-day-svg-icon{color:var(--workout-easy)}.week-day-icon-square--tempo .week-day-svg-icon{color:var(--workout-tempo)}.week-day-icon-square--interval .week-day-svg-icon{color:var(--workout-interval)}.week-day-icon-square--long .week-day-svg-icon,.week-day-icon-square--long-run .week-day-svg-icon{color:var(--workout-long)}.week-day-icon-square--fartlek .week-day-svg-icon{color:var(--workout-interval)}.week-day-icon-square--control .week-day-svg-icon{color:var(--workout-control)}.week-day-icon-square--race .week-day-svg-icon{color:var(--primary-500)}.week-day-icon-square--other .week-day-svg-icon{color:var(--workout-strip-ofp)}.week-day-icon-square--sbu .week-day-svg-icon{color:var(--workout-strip-sbu)}.week-day-icon-square--rest .week-day-svg-icon,.week-day-icon-square--free .week-day-svg-icon{color:var(--workout-rest)}.week-day-empty-dash{font-size:18px;color:var(--gray-400);line-height:1}.week-day-more-dots{font-size:20px;font-weight:600;color:var(--gray-500);line-height:1;letter-spacing:-.05em}.week-day-cell.selected .week-day-date-square{background:var(--gray-100)}.week-day-cell.selected .week-day-icon-square{background:var(--gray-50);color:var(--gray-600)}.week-day-cell.selected .week-day-empty-dash{color:var(--gray-400)}.week-day-cell.selected .week-day-more-dots{color:var(--gray-500)}[data-theme=dark] .week-day-cell.selected .week-day-date-square{background:var(--bg-tertiary)}[data-theme=dark] .week-day-cell.selected .week-day-icon-square{background:var(--bg-tertiary);color:var(--text-secondary)}.week-day-header{width:100%;display:flex;flex-direction:column;align-items:center;margin-bottom:10px}.week-day-label{font-family:var(--font-stats);font-size:12px;font-weight:600;text-transform:uppercase;color:var(--gray-500);margin-bottom:4px;letter-spacing:.5px}[data-theme=dark] .week-day-label{color:var(--text-secondary);opacity:.9}.week-day-number{font-family:var(--font-stats);font-size:24px;font-weight:700;color:var(--gray-900);line-height:1;font-variant-numeric:tabular-nums}[data-theme=dark] .week-day-number{color:var(--text-primary)}.week-day-number.today-number{color:var(--primary-500);text-shadow:none}.week-day-workout{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;justify-content:center}.workout-type-icon{font-size:24px;line-height:1;margin-bottom:4px}.workout-type-text{font-size:11px;color:var(--gray-700);font-weight:700;text-align:center;line-height:1.3;letter-spacing:.2px}[data-theme=dark] .workout-type-text{color:var(--text-primary);font-weight:600}.week-day-rest{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;justify-content:center;opacity:.6}.rest-icon{font-size:24px;margin-bottom:4px;opacity:.7}.rest-text{font-size:11px;color:var(--gray-600);font-weight:600;letter-spacing:.2px}[data-theme=dark] .rest-text{color:var(--text-tertiary);opacity:.8}.week-day-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--gray-400);font-size:14px}.week-selected-day{margin-top:24px;animation:slideUp .3s ease}.week-selected-day-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-3)}.week-selected-day-actions .btn{flex:1;min-width:140px}.week-selected-day .btn{margin-top:0}.week-add-training-btn-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-full);background:#ffffff40;color:#fff;font-size:var(--text-lg);line-height:1;font-weight:var(--font-normal)}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (min-width: 641px){.week-day-cell{min-height:100px}.week-day-date-square,.week-day-icon-square{max-width:100%}.week-day-icons-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;flex:1;min-height:0;align-content:center}.week-day-icons-grid .week-day-icon-square:only-child{grid-column:1 / -1;aspect-ratio:1}.week-day-icons-grid:has(.week-day-icon-square:nth-child(2)):not(:has(.week-day-icon-square:nth-child(3))){aspect-ratio:1 / 1;grid-template-rows:1fr 1fr;align-items:stretch}.week-day-icons-grid:has(.week-day-icon-square:nth-child(2)):not(:has(.week-day-icon-square:nth-child(3))) .week-day-icon-square:nth-child(1){grid-column:1 / -1;width:100%;height:100%;aspect-ratio:auto;min-height:0}.week-day-icons-grid:has(.week-day-icon-square:nth-child(2)):not(:has(.week-day-icon-square:nth-child(3))) .week-day-icon-square:nth-child(2){grid-column:1 / -1;width:100%;height:100%;aspect-ratio:auto;min-height:0}.week-day-icons-grid:has(.week-day-icon-square:nth-child(3)){width:100%;aspect-ratio:1 / 1;grid-template-rows:1fr 1fr;align-items:stretch}.week-day-icons-grid:has(.week-day-icon-square:nth-child(3)):not(:has(.week-day-icon-square:nth-child(4))) .week-day-icon-square:nth-child(1),.week-day-icons-grid:has(.week-day-icon-square:nth-child(3)):not(:has(.week-day-icon-square:nth-child(4))) .week-day-icon-square:nth-child(2){width:100%;height:100%;aspect-ratio:auto;min-height:0}.week-day-icons-grid:has(.week-day-icon-square:nth-child(3)):not(:has(.week-day-icon-square:nth-child(4))) .week-day-icon-square:nth-child(3){grid-column:1 / -1;width:100%;height:100%;aspect-ratio:auto;min-height:0}.week-day-icons-grid:has(.week-day-icon-square:nth-child(4)) .week-day-icon-square{width:100%;height:100%;aspect-ratio:auto;min-height:0}.week-day-svg-icon{width:28px;height:28px}}@media (max-width: 768px){.week-calendar-container{padding:16px;border-radius:16px}.week-calendar-header{flex-direction:column;align-items:stretch;gap:12px}.week-nav-btn{width:40px;height:40px}.week-days-grid{gap:8px}.week-day-cell{min-height:80px;padding:8px}.week-day-number{font-size:20px}.workout-type-text{font-size:10px}}@media (max-width: 640px){.week-calendar-container{padding:8px 0 12px;margin-bottom:0;background:transparent;box-shadow:none;border:none;border-radius:0}[data-theme=dark] .week-calendar-container{background:transparent!important;box-shadow:none!important;border:none!important}.week-days-grid{grid-template-columns:repeat(7,1fr);gap:4px;margin-left:0;margin-right:0;width:100%}.week-day-cell{min-height:64px;padding:8px 4px;border-radius:6px;border:none}.week-day-date-square,.week-day-icon-square{border-radius:6px}.week-day-date-square{flex-direction:column;gap:0;justify-content:center}.week-day-date-square .week-day-date-sep{display:none}.week-day-label{font-size:10px;margin-bottom:0;line-height:1.1}.week-day-number{font-size:18px;line-height:1.1}.workout-type-text,.workout-type-icon,.rest-text,.week-day-empty{display:none}.week-day-cell:has(.week-day-icon-square) .week-day-number:after{display:none}.week-day-cell:has(.workout-type-icon) .week-day-number:after{content:"";display:block;width:5px;height:5px;background:var(--primary-500);border-radius:50%;margin:4px auto 0}.week-day-cell.type-easy .week-day-number:after{background:var(--workout-easy, #22C55E)!important}.week-day-cell.type-tempo .week-day-number:after{background:var(--workout-tempo, #EAB308)!important}.week-day-cell.type-interval .week-day-number:after{background:var(--workout-interval, #EF4444)!important}.week-day-cell.type-long .week-day-number:after,.week-day-cell.type-long-run .week-day-number:after{background:var(--workout-long, #3B82F6)!important}.week-day-cell.type-sbu .week-day-number:after{background:var(--workout-strip-sbu, #7C3AED)!important}.week-day-cell.type-other .week-day-number:after{background:var(--workout-strip-ofp, #EF4444)!important}.week-day-cell.type-fartlek .week-day-number:after{background:var(--workout-interval, #EF4444)!important}.week-day-cell.type-race .week-day-number:after{background:var(--primary-500)!important}.week-day-cell.completed .week-day-number:after{background:var(--success-500)!important}.week-day-cell.selected .week-day-number:after{background:var(--primary-500)!important}}.dashboard{--dashboard-card-padding: 24px;max-width:var(--page-max-width);margin:0 auto;padding:var(--page-padding);background:var(--bg-primary);min-height:100vh;padding-bottom:var(--page-padding-bottom);overflow-y:auto;position:relative;-webkit-overflow-scrolling:touch;color:var(--text-primary)}@media (max-width: 1023px){.dashboard{padding-bottom:var(--mobile-content-padding-bottom)}}[data-theme=dark] .dashboard{background:var(--bg-primary);color:var(--text-primary);padding-left:var(--page-padding-x);padding-right:var(--page-padding-x)}.pull-to-refresh-indicator{position:absolute;top:0;left:0;right:0;height:60px;display:flex;align-items:center;justify-content:center;color:var(--primary-500);font-size:var(--text-sm);font-weight:var(--font-semibold);z-index:10;pointer-events:none;transition:opacity .2s ease}[data-theme=dark] .pull-to-refresh-indicator{color:var(--primary-500)}.refreshing-indicator{position:sticky;top:0;left:0;right:0;height:60px;display:flex;align-items:center;justify-content:center;gap:12px;background:var(--primary-50);color:var(--primary-600);font-size:var(--text-sm);font-weight:var(--font-semibold);z-index:10;box-shadow:0 2px 8px #0000001a}[data-theme=dark] .refreshing-indicator{background:#ff6b3d26;color:var(--primary-500);box-shadow:0 2px 8px #0006}[data-theme=dark] .refreshing-indicator .spinner{border-color:#ff6b3d4d;border-top-color:var(--primary-500)}.refreshing-indicator .spinner{width:20px;height:20px;border:2px solid var(--primary-200);border-top-color:var(--primary-500);border-radius:50%;animation:spin .8s linear infinite}.plan-generation-notice{margin:var(--space-5);padding:var(--space-5);border-radius:var(--radius-xl);text-align:center}.plan-generation-notice--generating{background:var(--primary-50);border:2px solid var(--primary-500)}.plan-generation-notice--generating .plan-generation-notice__title{color:var(--primary-700)}.plan-generation-notice--generating .plan-generation-notice__message,.plan-generation-notice--generating .plan-generation-notice__spinner-row{color:var(--text-secondary)}.plan-generation-notice--generating .plan-generation-notice__btn{background:var(--primary-500);color:#fff;border:none}.plan-generation-notice--generating .spinner-dash{border-color:var(--gray-200);border-top-color:var(--primary-500)}[data-theme=dark] .plan-generation-notice--generating{background:var(--bg-tertiary);border-color:var(--primary-500)}[data-theme=dark] .plan-generation-notice--generating .plan-generation-notice__title{color:var(--primary-400)}.plan-generation-notice--error{background:var(--danger-50, #fef2f2);border:2px solid var(--danger-500, #ef4444)}.plan-generation-notice--error .plan-generation-notice__title{color:var(--danger-600, #dc2626)}.plan-generation-notice--error .plan-generation-notice__message{color:var(--text-secondary)}.plan-generation-notice--error .plan-generation-notice__btn{background:var(--primary-500);color:#fff;border:none}.plan-generation-notice__icon{font-size:48px;line-height:1;margin-bottom:var(--space-3)}.plan-generation-notice__title{margin:0 0 var(--space-3);font-size:var(--text-lg);font-weight:var(--font-semibold)}.plan-generation-notice__message{margin:0 0 var(--space-4);font-size:var(--text-sm);line-height:1.5}.plan-generation-notice__spinner-row{display:flex;align-items:center;justify-content:center;gap:var(--space-3);font-size:var(--text-sm)}.plan-generation-notice__spinner-row .spinner-dash{width:16px;height:16px;border:2px solid transparent;border-radius:50%;animation:spin 1s linear infinite}.plan-generation-notice__btn{margin-top:var(--space-4);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-semibold)}.plan-generation-notice__btn:disabled{opacity:.6;cursor:not-allowed}.dashboard-loading{text-align:center;padding:40px;color:var(--gray-600);font-size:var(--text-lg)}[data-theme=dark] .dashboard-loading{color:var(--text-secondary)}.dashboard-empty-onboarding{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:var(--space-8)}.dashboard-empty-onboarding-inner{max-width:400px;text-align:center}.dashboard-empty-onboarding-icon{font-size:4rem;margin-bottom:var(--space-5);line-height:1}.dashboard-empty-onboarding-title{font-family:var(--font-stats),sans-serif;font-size:var(--text-2xl);font-weight:var(--font-extrabold);color:var(--text-primary);margin:0 0 var(--space-4);text-transform:uppercase}.dashboard-empty-onboarding-text{font-size:var(--text-base);color:var(--text-secondary);line-height:1.5;margin:0 0 var(--space-8)}.dashboard-empty-onboarding-btn{padding:var(--space-3) var(--space-8);font-size:var(--text-base);font-weight:var(--font-semibold);color:#fff;background:var(--gradient-primary);border:none;border-radius:var(--radius-lg);cursor:pointer;box-shadow:var(--shadow-md);transition:transform var(--transition-base),box-shadow var(--transition-base);font-family:inherit}.dashboard-empty-onboarding-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}[data-theme=dark] .dashboard-empty-onboarding-btn{color:#fff}.dashboard-header{margin-bottom:40px;margin-top:20px}.dashboard-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.dashboard-customize-btn{flex-shrink:0;padding:8px 14px;font-size:var(--text-base);font-weight:var(--font-medium);color:var(--text-primary);background:transparent;border:1px solid var(--gray-600);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:background .2s ease,border-color .2s ease,color .2s ease}.dashboard-customize-btn:hover{background:var(--primary-500);border-color:var(--primary-500);color:#fff}[data-theme=dark] .dashboard-customize-btn{color:#fff;background:transparent;border-color:#fff}[data-theme=dark] .dashboard-customize-btn:hover{background:var(--primary-500);border-color:var(--primary-500);color:#fff}.dashboard-greeting{font-family:var(--font-stats),sans-serif;font-size:var(--text-3xl);font-weight:var(--font-extrabold);color:var(--gray-900);margin-bottom:4px;line-height:1.1;letter-spacing:-.5px;text-transform:uppercase}[data-theme=dark] .dashboard-greeting{color:var(--text-primary)}.dashboard-date{font-family:var(--font-stats),sans-serif;font-size:var(--text-base);color:var(--gray-600);text-transform:uppercase;font-weight:var(--font-medium)}[data-theme=dark] .dashboard-date{color:var(--text-secondary)}.dashboard-customizer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.dashboard-customizer{background:var(--card-bg);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:400px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}[data-theme=dark] .dashboard-customizer{border:1px solid var(--card-border)}.dashboard-customizer-header{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 0}.dashboard-customizer-header h3{margin:0;font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary)}.dashboard-customizer-close{width:36px;height:36px;padding:0;font-size:24px;line-height:1;color:var(--gray-600);background:none;border:none;border-radius:var(--radius-md);cursor:pointer}.dashboard-customizer-close:hover{background:var(--gray-100);color:var(--gray-800)}.dashboard-customizer-hint{padding:8px 20px 16px;margin:0;font-size:var(--text-sm);color:var(--text-secondary)}.dashboard-customizer-list{padding:6px 20px 20px;overflow-y:auto;-webkit-overflow-scrolling:touch}.dashboard-customizer--dragging .dashboard-customizer-list{overflow:hidden!important;touch-action:none;-webkit-overflow-scrolling:auto}body.dashboard-customizer-dragging{overflow:hidden;touch-action:none}.dashboard-customizer-row{display:flex;align-items:stretch;gap:8px;margin-bottom:8px;min-height:0;position:relative}.dashboard-customizer-row-double{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.dashboard-customizer-row-double .dashboard-customizer-slot-wrap{display:flex;min-height:100%}.dashboard-customizer-row-double .dashboard-customizer-slot-wrap .dashboard-customizer-item{flex:1;min-height:0;width:100%;align-items:center}.dashboard-customizer-slot-wrap{flex:1;min-width:0;transition:flex .22s ease,min-width .22s ease,max-width .22s ease}.dashboard-customizer-row-show-merge .dashboard-customizer-slot-wrap{max-width:calc(100% - 128px)}.dashboard-customizer-row:not(.dashboard-customizer-row-double) .dashboard-customizer-merge-zone{flex:0 0 0;min-width:0;width:0;opacity:0;overflow:hidden;padding:0;border-width:0;margin:0;min-height:44px;display:flex;align-items:center;justify-content:center;border-style:dashed;border-radius:var(--radius-md);background:var(--gray-50);cursor:pointer;pointer-events:none;transition:flex .22s ease,min-width .22s ease,width .22s ease,opacity .22s ease,border-color .15s,background .15s}.dashboard-customizer-row.dashboard-customizer-row-show-merge .dashboard-customizer-merge-zone{flex:0 0 120px;min-width:120px;width:120px;min-height:48px;opacity:1;overflow:visible;padding:12px 14px;border:1px solid var(--primary-300);border-style:solid;border-radius:var(--radius-md);background:var(--primary-50);box-shadow:0 2px 8px #fc4c0226;pointer-events:auto;z-index:2}.dashboard-customizer-merge-zone{min-height:44px;display:flex;align-items:center;justify-content:center;border-style:dashed;border-radius:var(--radius-md);background:var(--gray-50);cursor:pointer;transition:background .15s,border-color .15s}.dashboard-customizer-merge-zone:hover,.dashboard-customizer-merge-zone-active{background:#ff6b3d14;border-color:var(--primary-400)}.dashboard-customizer-merge-label{font-size:var(--text-sm);color:var(--primary-700);font-weight:var(--font-semibold);white-space:nowrap;text-align:center}.dashboard-customizer-merge-zone-active .dashboard-customizer-merge-label{color:var(--primary-700)}[data-theme=dark] .dashboard-customizer-merge-zone{background:var(--bg-tertiary);border-color:var(--card-border)}[data-theme=dark] .dashboard-customizer-row.dashboard-customizer-row-show-merge .dashboard-customizer-merge-zone{background:#ff6b3d2e;border-color:var(--primary-500);box-shadow:0 2px 8px #0000004d}[data-theme=dark] .dashboard-customizer-merge-zone:hover,[data-theme=dark] .dashboard-customizer-merge-zone-active{background:#ff6b3d26;border-color:var(--primary-500)}[data-theme=dark] .dashboard-customizer-merge-label{color:var(--text-tertiary)}[data-theme=dark] .dashboard-customizer-row.dashboard-customizer-row-show-merge .dashboard-customizer-merge-zone .dashboard-customizer-merge-label{color:var(--primary-300)}[data-theme=dark] .dashboard-customizer-merge-zone-active .dashboard-customizer-merge-label{color:var(--primary-400)}.dashboard-customizer-item-wrap{position:relative;margin-bottom:8px}.dashboard-customizer-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200);cursor:grab;transition:box-shadow .15s,background .15s,border-color .15s;-webkit-user-select:none;user-select:none}.dashboard-customizer-item:active{cursor:grabbing}.dashboard-customizer-item.dragging{opacity:.4;cursor:grabbing}.dashboard-customizer-item--overlay{cursor:grabbing;box-shadow:0 8px 24px #00000026,0 0 0 1px #0000000f;transform:rotate(-1deg);-webkit-user-select:none;user-select:none}[data-theme=dark] .dashboard-customizer-item--overlay{box-shadow:0 8px 24px #0006,0 0 0 1px var(--card-border)}.dashboard-customizer-item.dashboard-customizer-merge-active{box-shadow:0 0 0 2px var(--primary-400);border-color:var(--primary-400)}.dashboard-customizer-expand{width:32px;height:32px;padding:0;font-size:14px;line-height:1;border:1px solid var(--gray-300);background:#fff;border-radius:var(--radius-sm);cursor:pointer;color:var(--gray-600);flex-shrink:0;transition:color .15s,border-color .15s,background .15s}.dashboard-customizer-expand:hover{color:var(--primary-600);border-color:var(--primary-300);background:var(--primary-50)}[data-theme=dark] .dashboard-customizer-expand{background:var(--bg-primary);border-color:var(--card-border);color:var(--text-secondary)}[data-theme=dark] .dashboard-customizer-expand:hover{color:var(--primary-400);border-color:var(--primary-500);background:#ff6b3d26}.dashboard-customizer-strip-zone{min-height:14px;margin-bottom:4px;border-radius:2px;transition:background .15s}.dashboard-customizer-strip-zone:hover,.dashboard-customizer-strip-zone-active{background:#ff6b3d0f}.dashboard-customizer-strip-zone .dashboard-customizer-drop-strip{position:relative;top:0;margin:3px 0;height:4px;background:var(--primary-500);border-radius:2px;box-shadow:0 0 8px #ff6b3d66;pointer-events:none}.dashboard-customizer-drop-strip--full{width:100%;left:0;right:0}[data-theme=dark] .dashboard-customizer-drop-strip{background:var(--primary-500);box-shadow:0 0 10px #ff6b3d80}[data-theme=dark] .dashboard-customizer-item{background:var(--bg-tertiary);border-color:var(--card-border)}.dashboard-customizer-drag-handle{flex-shrink:0;color:var(--gray-400);font-size:14px;line-height:1;padding:4px 2px;cursor:grab;-webkit-user-select:none;user-select:none;letter-spacing:-2px}.dashboard-customizer-item:active .dashboard-customizer-drag-handle,.dashboard-customizer-item.dragging .dashboard-customizer-drag-handle{cursor:grabbing}[data-theme=dark] .dashboard-customizer-drag-handle{color:var(--text-tertiary)}.dashboard-customizer-label{flex:1;font-weight:var(--font-medium);color:var(--text-primary)}.dashboard-customizer-actions{display:flex;gap:4px}.dashboard-customizer-remove{width:32px;height:32px;padding:0;font-size:14px;line-height:1;border:1px solid var(--gray-300);background:#fff;border-radius:var(--radius-sm);cursor:pointer;color:var(--danger-500, #dc2626);border-color:var(--danger-200, #fecaca)}.dashboard-customizer-remove:hover{background:var(--danger-50, #fef2f2)}[data-theme=dark] .dashboard-customizer-remove{background:var(--bg-primary);border-color:var(--card-border);color:var(--danger-400, #f87171)}.dashboard-customizer-add{padding:16px 20px 20px;border-top:1px solid var(--gray-200)}[data-theme=dark] .dashboard-customizer-add{border-top-color:var(--card-border)}.dashboard-customizer-add label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);margin-bottom:8px}.dashboard-customizer-add select{width:100%;padding:10px 12px;font-size:var(--text-base);border:1px solid var(--gray-300);border-radius:var(--radius-md);background:#fff;color:var(--text-primary)}[data-theme=dark] .dashboard-customizer-add select{background:var(--bg-tertiary);border-color:var(--card-border)}.dashboard-section{margin-bottom:40px}.dashboard-module-card{height:auto;min-height:0;overflow:visible;display:flex;flex-direction:column;border-radius:0;background:transparent;border:none;box-shadow:none;transition:box-shadow .25s ease}.dashboard-row-two .dashboard-module-card{height:280px;min-height:280px;overflow:hidden}.dashboard-row-two .dashboard-module-card--workout,.dashboard-row-two .dashboard-module-card--week-progress,.dashboard-row-two .dashboard-module-card:has(.dashboard-week-strip),.dashboard-row-two .dashboard-module-card:has(.dashboard-stats-widget),.dashboard-row-two .dashboard-module-card:has(.dashboard-metrics-grid){overflow:visible}.dashboard-module-card:not(.dashboard-module-card--workout):not(.dashboard-module-card--week-progress):not(:has(.dashboard-week-strip)):not(:has(.dashboard-stats-widget)):not(:has(.dashboard-metrics-grid)):hover{box-shadow:none}.dashboard-module-card--workout,.dashboard-module-card--week-progress,.dashboard-module-card:has(.dashboard-week-strip),.dashboard-module-card:has(.dashboard-stats-widget),.dashboard-module-card:has(.dashboard-metrics-grid){transition:box-shadow .25s ease,transform .25s ease}.dashboard-module-card--workout{border-radius:20px}.dashboard-module-card--workout:hover,.dashboard-module-card--week-progress:hover,.dashboard-module-card:has(.dashboard-week-strip):hover,.dashboard-module-card:has(.dashboard-stats-widget):hover,.dashboard-module-card:has(.dashboard-metrics-grid):hover{transform:translateY(-4px);box-shadow:0 6px 24px #ff6b3d66}[data-theme=dark] .dashboard-module-card--workout:hover,[data-theme=dark] .dashboard-module-card--week-progress:hover,[data-theme=dark] .dashboard-module-card:has(.dashboard-week-strip):hover,[data-theme=dark] .dashboard-module-card:has(.dashboard-stats-widget):hover,[data-theme=dark] .dashboard-module-card:has(.dashboard-metrics-grid):hover{transform:translateY(-4px);box-shadow:0 6px 24px #ff6b3d66!important}[data-theme=dark] .dashboard-module-card--workout .workout-card{box-shadow:0 4px 20px #ff6b3d59,0 0 0 1px #ff6b3d26}.dashboard-module-card--workout .workout-card:hover,.dashboard-module-card--workout .workout-card:active{transform:none;box-shadow:0 2px 12px #0000000f;border-color:#0000000a}.dashboard-module-card--workout .workout-card{transition:none;border-left:none!important;box-shadow:0 4px 20px #ff6b3d59,0 0 0 1px #ff6b3d26}.dashboard-module-card--workout .workout-card-today{border:1px solid rgba(0,0,0,.04)}[data-theme=dark] .dashboard-module-card--workout .workout-card-today{border-color:var(--card-border)}[data-theme=dark] .dashboard-module-card--workout .workout-card:hover,[data-theme=dark] .dashboard-module-card--workout .workout-card:active{box-shadow:none;border-color:var(--card-border)}[data-theme=dark] .dashboard-module-card{background:transparent!important;box-shadow:none!important}[data-theme=dark] .dashboard-module-card:not(.dashboard-module-card--workout):not(.dashboard-module-card--week-progress):not(:has(.dashboard-week-strip)):not(:has(.dashboard-stats-widget)):not(:has(.dashboard-metrics-grid)):hover{box-shadow:none!important}.dashboard-workout-card-wrapper{flex:1;min-height:0;overflow:visible;cursor:pointer;display:flex;flex-direction:column;position:relative}.dashboard-row-two .dashboard-workout-card-wrapper{overflow:visible}.dashboard-workout-card-wrapper .dashboard-top-card{min-height:0;display:flex;flex-direction:column;flex:1}.dashboard-module-card--workout .workout-card{display:flex;flex-direction:column;flex:1;min-height:0;padding-left:0;padding-right:0;padding-bottom:var(--dashboard-card-padding);padding-top:var(--dashboard-card-padding)}.dashboard-module-card--workout .workout-card-header,.dashboard-module-card--workout .workout-card-plan-days{padding-left:var(--dashboard-card-padding);padding-right:var(--dashboard-card-padding)}.dashboard-module-card--workout .workout-card-extra-actions{display:flex;flex-direction:column}@media (min-width: 641px){.dashboard-section:not(.dashboard-section-inline) .dashboard-module-card--workout .workout-card-plan-days{display:grid;grid-template-columns:1fr 1fr;gap:16px}}.dashboard-row-two .dashboard-module-card--workout .workout-card .workout-card-content{flex:1;min-height:0;overflow-y:auto}.dashboard-row-two .dashboard-module-card--workout .workout-card-extra-actions{flex-shrink:0}.dashboard-module-card--workout .workout-card-extra-actions .dashboard-workout-open-calendar,.dashboard-module-card--workout .workout-card-extra-actions .dashboard-workout-mark-done{margin-left:var(--dashboard-card-padding);margin-right:var(--dashboard-card-padding);width:calc(100% - 2 * var(--dashboard-card-padding))}.dashboard-module-card--workout .workout-card-extra-actions .dashboard-workout-open-calendar,.dashboard-module-card--workout .workout-card-extra-actions .dashboard-workout-mark-done{background:transparent;color:var(--primary-500);border:1.5px solid var(--primary-500)}.dashboard-module-card--workout .workout-card-extra-actions .dashboard-workout-open-calendar:hover:not(:disabled),.dashboard-module-card--workout .workout-card-extra-actions .dashboard-workout-mark-done:hover:not(:disabled){background:var(--primary-500);color:#fff;border-color:var(--primary-500);box-shadow:0 4px 12px #fc4c0240}.dashboard-module-card--workout .workout-card-extra-actions .dashboard-workout-open-calendar:hover:not(:disabled):active,.dashboard-module-card--workout .workout-card-extra-actions .dashboard-workout-mark-done:hover:not(:disabled):active{background:var(--primary-600);border-color:var(--primary-600)}[data-theme=dark] .dashboard-module-card--workout .workout-card-extra-actions .dashboard-workout-open-calendar,[data-theme=dark] .dashboard-module-card--workout .workout-card-extra-actions .dashboard-workout-mark-done{background:transparent!important;color:var(--primary-500)!important;border:1.5px solid var(--primary-500)!important}[data-theme=dark] .dashboard-module-card--workout .workout-card-extra-actions .dashboard-workout-open-calendar:hover:not(:disabled),[data-theme=dark] .dashboard-module-card--workout .workout-card-extra-actions .dashboard-workout-mark-done:hover:not(:disabled){background:var(--primary-500)!important;color:#fff!important;border-color:var(--primary-500)!important;box-shadow:0 4px 12px #ff6b3d4d}[data-theme=dark] .dashboard-module-card--workout .workout-card-extra-actions .dashboard-workout-open-calendar:hover:not(:disabled):active,[data-theme=dark] .dashboard-module-card--workout .workout-card-extra-actions .dashboard-workout-mark-done:hover:not(:disabled):active{background:var(--primary-600)!important;border-color:var(--primary-600)!important}.dashboard-module-card--workout.dashboard-module-card--expanded{height:auto;min-height:270px;overflow:visible;transition:height .3s ease,min-height .3s ease}.dashboard-module-card--workout.dashboard-module-card--expanded .dashboard-workout-card-wrapper{overflow:visible}.dashboard-workout-expand-arrow{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;padding:8px;background:linear-gradient(to top,var(--card-bg, white) 60%,transparent);border:none;cursor:pointer;color:var(--primary-500);font-size:12px;transition:color .2s,background .2s;z-index:1}.workout-card-extra-actions .dashboard-workout-expand-arrow{position:absolute;bottom:0;left:0;right:0;background:transparent;padding:6px 8px;margin:0}.dashboard-section:not(.dashboard-section-inline) .dashboard-module-card--workout .dashboard-workout-expand-arrow{display:none}.dashboard-workout-expand-arrow:hover{color:var(--primary-600);background:linear-gradient(to top,var(--primary-300) 75%,rgba(255,107,61,.2))}.dashboard-module-card--expanded .dashboard-workout-expand-arrow:hover{background:var(--primary-50)}.dashboard-workout-expand-arrow-icon{display:inline-block;transition:transform .25s ease}.dashboard-workout-expand-arrow{gap:6px}.dashboard-workout-expand-hint{font-size:12px;opacity:.9}.dashboard-module-card--expanded .dashboard-workout-expand-arrow{background:transparent}.dashboard-module-card--expanded .dashboard-workout-expand-arrow-icon{transform:rotate(180deg)}.dashboard-workout-open-calendar{margin-top:12px;width:100%}.dashboard-row-two{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:40px;align-items:stretch}.dashboard-row-two .dashboard-section-inline{margin-bottom:0;min-width:0;display:flex;flex-direction:column}@media (max-width: 720px){.dashboard-row-two{grid-template-columns:1fr;gap:24px}.dashboard-row-two .dashboard-section-inline{margin-bottom:0}.dashboard-module-card:has(.dashboard-metrics-grid){padding-left:var(--dashboard-card-padding);padding-right:var(--dashboard-card-padding)}}.dashboard-module-link-card{display:flex;align-items:center;gap:16px;width:100%;padding:20px var(--dashboard-card-padding);background:#fff;border:1px solid var(--gray-200);border-radius:20px;cursor:pointer;text-align:left;transition:box-shadow .25s ease,border-color .2s;box-shadow:0 2px 8px #0000000a,0 8px 24px #0000000f}.dashboard-module-link-card:hover{border-color:var(--primary-300);box-shadow:0 4px 12px #0000000f,0 16px 32px #00000014}.dashboard-module-link-icon{font-size:2rem;flex-shrink:0}.dashboard-module-link-text{flex:1;font-size:var(--text-base);font-weight:var(--font-medium);color:var(--gray-800)}.dashboard-module-link-arrow{font-size:var(--text-xl);color:var(--primary-500);flex-shrink:0}[data-theme=dark] .dashboard-module-link-card{background:var(--card-bg);border-color:var(--card-border)}.dashboard-module-link-btn{display:block;width:100%;margin-top:12px;padding:10px 16px;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--primary-500);background:transparent;border:1px solid var(--primary-200);border-radius:var(--radius-md);cursor:pointer}.dashboard-module-link-btn:hover{background:var(--primary-50)}.dashboard-week-strip-empty .dashboard-module-link-btn,.dashboard-week-strip .dashboard-module-link-btn{width:auto;display:inline-block}.dashboard-week-strip{margin-bottom:0}.dashboard-week-strip-empty{text-align:center;padding:var(--dashboard-card-padding);color:var(--text-secondary);background:var(--card-bg);border-radius:20px;border:1px solid var(--gray-200);cursor:pointer}.dashboard-module-card:has(.dashboard-week-strip){background:var(--card-bg);border:1px solid var(--card-border);border-radius:20px;padding:var(--dashboard-card-padding);box-shadow:0 4px 20px #ff6b3d59,0 0 0 1px #ff6b3d26}[data-theme=dark] .dashboard-module-card:has(.dashboard-week-strip){background:var(--card-bg)!important;border-color:var(--card-border)!important;box-shadow:0 4px 20px #ff6b3d59,0 0 0 1px #ff6b3d26!important}.dashboard-week-calendar-wrap{margin:0}.dashboard-week-strip-content{display:flex;flex-direction:column;flex:1;min-height:0}.dashboard-week-strip-content .week-days-grid{flex:1;min-height:0}.dashboard-week-strip-legend{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:center;padding-top:12px;margin-top:4px;border-top:1px solid var(--card-border);flex-shrink:0}.dashboard-week-strip-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:12px;text-transform:uppercase;color:var(--text-secondary);font-family:Jost,sans-serif}.dashboard-week-strip-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dashboard-week-strip-legend-dot--easy{background-color:var(--workout-easy)}.dashboard-week-strip-legend-dot--tempo{background-color:var(--workout-tempo)}.dashboard-week-strip-legend-dot--interval{background-color:var(--workout-interval)}.dashboard-week-strip-legend-dot--long{background-color:var(--workout-long)}.dashboard-week-strip-legend-dot--race{background-color:var(--primary-500)}.dashboard-week-strip-legend-dot--other{background-color:var(--workout-strip-ofp)}.dashboard-week-strip-legend-dot--sbu{background-color:var(--workout-strip-sbu)}.dashboard-week-strip-legend-dot--rest{background-color:var(--workout-rest)}.dashboard-week-strip-legend-label{white-space:nowrap}:root:not([data-theme=dark]) .dashboard-week-strip .week-day-date-square,:root:not([data-theme=dark]) .dashboard-week-strip .week-day-icon-square{border:1px solid var(--gray-200)}.dashboard-week-strip .week-calendar-container{background:transparent!important;border:none!important;box-shadow:none!important;border-radius:0;padding:0;overflow:visible;display:flex;flex-direction:column;flex:1;min-height:0}[data-theme=dark] .dashboard-week-strip .week-calendar-container{background:transparent!important;border:none!important;box-shadow:none!important}@media (min-width: 641px){.dashboard-week-strip .week-day-cell{min-height:100px}.dashboard-week-strip .week-day-date-square,.dashboard-week-strip .week-day-icon-square{max-width:100%}.dashboard-week-strip .week-day-icons-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;flex:1;min-height:0;align-content:center}.dashboard-week-strip .week-day-icons-grid .week-day-icon-square:only-child{grid-column:1 / -1;aspect-ratio:1}.dashboard-week-strip .week-day-icons-grid:has(.week-day-icon-square:nth-child(2)):not(:has(.week-day-icon-square:nth-child(3))){aspect-ratio:1 / 1;grid-template-rows:1fr 1fr;align-items:stretch}.dashboard-week-strip .week-day-icons-grid:has(.week-day-icon-square:nth-child(2)):not(:has(.week-day-icon-square:nth-child(3))) .week-day-icon-square:nth-child(1){grid-column:1 / -1;width:100%;height:100%;aspect-ratio:auto;min-height:0}.dashboard-week-strip .week-day-icons-grid:has(.week-day-icon-square:nth-child(2)):not(:has(.week-day-icon-square:nth-child(3))) .week-day-icon-square:nth-child(2){grid-column:1 / -1;width:100%;height:100%;aspect-ratio:auto;min-height:0}.dashboard-week-strip .week-day-icons-grid:has(.week-day-icon-square:nth-child(3)){width:100%;aspect-ratio:1 / 1;grid-template-rows:1fr 1fr;align-items:stretch}.dashboard-week-strip .week-day-icons-grid:has(.week-day-icon-square:nth-child(3)):not(:has(.week-day-icon-square:nth-child(4))) .week-day-icon-square:nth-child(1),.dashboard-week-strip .week-day-icons-grid:has(.week-day-icon-square:nth-child(3)):not(:has(.week-day-icon-square:nth-child(4))) .week-day-icon-square:nth-child(2){width:100%;height:100%;aspect-ratio:auto;min-height:0}.dashboard-week-strip .week-day-icons-grid:has(.week-day-icon-square:nth-child(3)):not(:has(.week-day-icon-square:nth-child(4))) .week-day-icon-square:nth-child(3){grid-column:1 / -1;width:100%;height:100%;aspect-ratio:auto;min-height:0}.dashboard-week-strip .week-day-icons-grid:has(.week-day-icon-square:nth-child(4)) .week-day-icon-square{width:100%;height:100%;aspect-ratio:auto;min-height:0}.dashboard-week-strip .week-day-svg-icon{width:28px;height:28px}.dashboard-week-strip .week-day-number{font-size:20px}.dashboard-week-strip .week-day-label{font-size:11px}}@media (min-width: 641px){.dashboard-row-two .dashboard-module-card:has(.dashboard-week-strip){display:flex;flex-direction:column;min-height:0}.dashboard-row-two .dashboard-week-strip,.dashboard-row-two .dashboard-week-strip .dashboard-week-calendar-wrap{flex:1;min-height:0;display:flex;flex-direction:column;overflow:visible}.dashboard-row-two .dashboard-week-strip .week-days-grid{flex:1;min-height:0;gap:5px;margin-bottom:8px;align-items:flex-start}.dashboard-row-two .dashboard-week-strip .week-day-cell{min-height:0;padding:5px 4px;border-radius:10px;display:flex;flex-direction:column;flex:1}.dashboard-row-two .dashboard-week-strip .week-day-date-square{flex:0 0 auto;height:auto;width:100%;aspect-ratio:1;margin-bottom:4px;border-radius:8px;padding:4px 2px;display:flex;align-items:center;justify-content:center}.dashboard-row-two .dashboard-week-strip .week-day-icons-grid{flex:0 0 auto;width:100%;aspect-ratio:1;gap:3px;min-height:0;overflow:hidden}.dashboard-row-two .dashboard-week-strip .week-day-icons-grid:has(.week-day-icon-square:nth-child(2)):not(:has(.week-day-icon-square:nth-child(3))){aspect-ratio:1}.dashboard-row-two .dashboard-week-strip .week-day-icons-grid:has(.week-day-icon-square:nth-child(3)){aspect-ratio:1}.dashboard-row-two .dashboard-week-strip .week-day-icons-grid .week-day-icon-square{min-height:0}.dashboard-row-two .dashboard-week-strip .week-day-number{font-size:16px}.dashboard-row-two .dashboard-week-strip .week-day-label,.dashboard-row-two .dashboard-week-strip .week-day-date-sep{font-size:10px}.dashboard-row-two .dashboard-week-strip .week-day-svg-icon{width:22px;height:22px}.dashboard-row-two .dashboard-week-strip .week-day-empty-dash{font-size:14px}.dashboard-row-two .dashboard-week-strip .week-day-more-dots{font-size:16px}.dashboard-row-two .dashboard-week-strip .week-day-cell:has(.week-day-icons-grid .week-day-icon-square:nth-child(3)) .week-day-svg-icon{width:18px;height:18px}}@media (max-width: 640px){.dashboard-section:has(.dashboard-week-strip){margin-bottom:24px}.dashboard-week-strip .dashboard-week-calendar-wrap{margin-left:0;margin-right:0;width:100%}}.dashboard-module-card--week-progress{background:var(--card-bg);border:1px solid var(--card-border);border-radius:20px;padding:var(--dashboard-card-padding);box-shadow:0 4px 20px #ff6b3d59,0 0 0 1px #ff6b3d26}[data-theme=dark] .dashboard-module-card--week-progress{background:var(--card-bg)!important;border-color:var(--card-border)!important;box-shadow:0 4px 20px #ff6b3d59,0 0 0 1px #ff6b3d26!important}.dashboard-module-card--week-progress .progress-card,.dashboard-module-card--week-progress .dashboard-top-card.dashboard-empty{background:transparent!important;border:none!important;box-shadow:none!important;padding:0}[data-theme=dark] .dashboard-module-card--week-progress .progress-card,[data-theme=dark] .dashboard-module-card--week-progress .dashboard-top-card.dashboard-empty{background:transparent!important;border:none!important;box-shadow:none!important}.dashboard-module-card--week-progress .dashboard-top-card{min-height:0}.dashboard-module-card:has(.dashboard-stats-widget){background:var(--card-bg);border:1px solid var(--card-border);border-radius:20px;padding:var(--dashboard-card-padding);box-shadow:0 4px 20px #ff6b3d59,0 0 0 1px #ff6b3d26}[data-theme=dark] .dashboard-module-card:has(.dashboard-stats-widget){background:var(--card-bg)!important;border-color:var(--card-border)!important;box-shadow:0 4px 20px #ff6b3d59,0 0 0 1px #ff6b3d26!important}.dashboard-stats-widget{background:transparent;border:none;border-radius:0;box-shadow:none;padding:0;cursor:pointer}.dashboard-stats-widget-loading{text-align:center;padding:var(--dashboard-card-padding);color:var(--text-secondary)}.dashboard-stats-time-range{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.dashboard-time-range-btn{padding:8px 14px;border-radius:8px;border:1px solid var(--gray-200);background:#fff;color:var(--gray-700);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.dashboard-time-range-btn:hover{border-color:var(--primary-500);color:var(--primary-500)}.dashboard-time-range-btn.active{background:var(--glass-bg-strong);border:var(--glass-border);color:var(--primary-500);font-weight:600;box-shadow:0 2px 8px #0000000f,inset 0 1px #ffffff26}.dashboard-stats-metrics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media (min-width: 900px){.dashboard-stats-metrics-grid{grid-template-columns:repeat(4,1fr)}}.dashboard-row-two .dashboard-stats-metrics-grid{grid-template-columns:repeat(2,1fr)}.dashboard-stat-metric-card{background:var(--gray-50);border-radius:16px;padding:16px;border:1px solid var(--gray-200);display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.dashboard-stat-metric-card__label{display:flex;align-items:center;justify-content:center;gap:6px;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--gray-600)}.dashboard-stat-metric-card__icon{font-size:1rem;line-height:1;flex-shrink:0}.dashboard-stat-metric-card__value{display:flex;align-items:baseline;justify-content:center;gap:4px;flex-wrap:wrap}.dashboard-stat-metric-card__number{font-family:var(--font-stats);font-weight:700;font-style:italic;font-size:var(--text-2xl);color:var(--gray-900);font-variant-numeric:tabular-nums;line-height:1.2}.dashboard-stat-metric-card__unit{font-size:var(--text-sm);color:var(--gray-600);font-weight:var(--font-medium)}[data-theme=dark] .dashboard-stats-widget{background:transparent;border:none}[data-theme=dark] .dashboard-time-range-btn{background:var(--bg-tertiary);border-color:var(--card-border);color:var(--text-primary)}[data-theme=dark] .dashboard-time-range-btn.active{background:var(--glass-bg-strong);border:var(--glass-border);color:var(--primary-400);box-shadow:0 2px 8px #00000040,inset 0 1px #ffffff0f}[data-theme=dark] .dashboard-stat-metric-card{background:var(--bg-tertiary);border:1px solid var(--card-border)}[data-theme=dark] .dashboard-stat-metric-card__label{color:var(--text-secondary)}[data-theme=dark] .dashboard-stat-metric-card__number{color:var(--text-primary)}[data-theme=dark] .dashboard-stat-metric-card__unit{color:var(--text-secondary)}[data-theme=dark] .dashboard-module-link-text{color:var(--text-primary)}.dashboard-top-section{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:40px;align-items:stretch}@media (max-width: 768px){.dashboard-top-section{grid-template-columns:1fr;gap:0}}.dashboard-top-section .dashboard-section{display:flex;flex-direction:column;min-height:0}.dashboard-top-card{flex:1;min-height:200px;display:flex;flex-direction:column}.section-title{font-family:var(--font-stats),sans-serif;font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--text-secondary);margin-bottom:var(--space-2);padding:0 var(--space-1);letter-spacing:.5px;text-transform:uppercase}[data-theme=dark] .section-title{color:var(--text-secondary)}.progress-card{background:transparent;border:none;box-shadow:none;padding:0;min-height:0}[data-theme=dark] .progress-card{background:transparent;color:var(--text-primary)}.progress-card-head{display:flex;flex-direction:column;gap:2px}.progress-value{margin:0;font-style:italic;font-family:var(--font-stats),sans-serif;font-weight:var(--font-bold);font-size:var(--text-5xl);line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--primary-500)}[data-theme=dark] .progress-value{color:var(--text-primary)}.progress-value-current{color:var(--primary-500)}.progress-value-sep{color:var(--gray-500);font-weight:var(--font-semibold)}[data-theme=dark] .progress-value-sep{color:var(--text-secondary)}.progress-value-total{color:var(--gray-700)}[data-theme=dark] .progress-value-total{color:var(--text-secondary)}.progress-subtitle{margin:0;font-size:var(--text-xl);color:var(--gray-500);font-weight:var(--font-medium);line-height:1.3}[data-theme=dark] .progress-subtitle{color:var(--text-secondary)}.progress-bar-wrap{display:flex;align-items:center;gap:12px}.progress-bar{flex:1;min-width:80px;height:10px;background:var(--gray-200);border-radius:6px;overflow:hidden;position:relative}[data-theme=dark] .progress-bar{background:#ffffff1f}.progress-bar-fill{height:100%;background:var(--gradient-primary);border-radius:6px;transition:width .6s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #fc4c024d}[data-theme=dark] .progress-bar-fill{box-shadow:0 2px 4px #ff6b3d66}.progress-percentage{font-family:var(--font-stats);font-weight:var(--font-bold);font-style:italic;flex-shrink:0;font-size:var(--text-sm);color:var(--gray-700);letter-spacing:-.3px;min-width:4ch;text-align:right}[data-theme=dark] .progress-percentage{color:var(--text-secondary)}.dashboard-metrics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dashboard-metrics-grid--with-progress{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-section:not(.dashboard-section-inline) .dashboard-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;width:100%;max-width:100%}.dashboard-section:not(.dashboard-section-inline) .dashboard-metrics-grid .metric-card:nth-child(1){grid-column:1 / -1}.dashboard-section:not(.dashboard-section-inline) .dashboard-metrics-grid--with-progress{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-section:not(.dashboard-section-inline) .dashboard-metrics-grid--with-progress .metric-card:nth-child(1){grid-column:1 / -1}.dashboard-row-two .dashboard-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;max-width:100%}.dashboard-row-two .dashboard-metrics-grid .metric-card:nth-child(1){grid-column:1 / -1}.dashboard-row-two .dashboard-metrics-grid--with-progress{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-row-two .dashboard-metrics-grid--with-progress .metric-card:nth-child(1){grid-column:1 / -1}.dashboard-module-card:has(.dashboard-metrics-grid){background:var(--card-bg);border:1px solid var(--card-border);border-radius:20px;padding:var(--dashboard-card-padding);box-shadow:0 4px 20px #ff6b3d59,0 0 0 1px #ff6b3d26;justify-content:center}.dashboard-row-two .dashboard-module-card:has(.dashboard-metrics-grid){padding:14px}.dashboard-row-two .dashboard-module-card:has(.dashboard-metrics-grid) .metric-card{padding:10px 12px;gap:6px;border-radius:12px}.dashboard-row-two .dashboard-module-card:has(.dashboard-metrics-grid) .metric-card__label{font-size:var(--text-xs)}.dashboard-row-two .dashboard-module-card:has(.dashboard-metrics-grid) .metric-card__icon{width:.875rem;height:.875rem}.dashboard-row-two .dashboard-module-card:has(.dashboard-metrics-grid) .metric-card:not(.metric-card--progress) .metric-card__number,.dashboard-row-two .dashboard-module-card:has(.dashboard-metrics-grid) .metric-card:not(.metric-card--progress) .metric-card__unit{font-size:var(--text-xl)}.dashboard-row-two .dashboard-module-card:has(.dashboard-stats-widget){padding:14px}.dashboard-row-two .dashboard-module-card:has(.dashboard-stats-widget) .metric-card{padding:10px 12px;gap:6px;border-radius:12px;min-height:72px;justify-content:center}.dashboard-row-two .dashboard-module-card:has(.dashboard-stats-widget) .metric-card__label{font-size:var(--text-xs)}.dashboard-row-two .dashboard-module-card:has(.dashboard-stats-widget) .metric-card__icon{width:.875rem;height:.875rem}.dashboard-row-two .dashboard-module-card:has(.dashboard-stats-widget) .metric-card__number,.dashboard-row-two .dashboard-module-card:has(.dashboard-stats-widget) .metric-card__unit{font-size:var(--text-xl)}.dashboard-row-two .metric-card--progress{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:center;text-align:left;min-height:72px;padding:14px 12px}.dashboard-row-two .metric-card--progress .metric-card__value--progress{display:contents}.dashboard-row-two .metric-card--progress .progress-card-head{grid-column:1;grid-row:1}.dashboard-row-two .metric-card--progress .progress-bar-wrap{grid-column:2;grid-row:1;min-width:0;display:flex;align-items:center;gap:8px}.dashboard-row-two .dashboard-module-card:has(.dashboard-metrics-grid) .metric-card:not(.metric-card--progress){min-height:72px;padding:12px 10px;justify-content:center}.dashboard-row-two .metric-card--progress .progress-subtitle{font-size:var(--text-xs)}.dashboard-row-two .metric-card--progress .progress-bar{height:8px;border-radius:4px}.dashboard-row-two .metric-card--progress .progress-bar-fill{border-radius:4px}.dashboard-row-two .metric-card--progress .progress-percentage{font-size:var(--text-xs);min-width:3ch}[data-theme=dark] .dashboard-module-card:has(.dashboard-metrics-grid){background:var(--card-bg)!important;border-color:var(--card-border)!important;box-shadow:0 4px 20px #ff6b3d59,0 0 0 1px #ff6b3d26!important}.dashboard-module-card:has(.dashboard-metrics-grid) .metric-card,.dashboard-module-card:has(.dashboard-stats-widget) .metric-card{background:#fff;border:1px solid rgba(0,0,0,.04);border-radius:20px;box-shadow:0 2px 8px #0000000a,0 8px 24px #0000000f}[data-theme=dark] .dashboard-module-card:has(.dashboard-metrics-grid) .metric-card,[data-theme=dark] .dashboard-module-card:has(.dashboard-stats-widget) .metric-card{background:var(--card-bg);border:1px solid var(--card-border)}.dashboard-module-card:has(.dashboard-metrics-grid) .metric-card:hover,.dashboard-module-card:has(.dashboard-stats-widget) .metric-card:hover{box-shadow:0 8px 20px #00000014,0 20px 40px #00000014;transform:translateY(-4px)}[data-theme=dark] .dashboard-module-card:has(.dashboard-metrics-grid) .metric-card:hover,[data-theme=dark] .dashboard-module-card:has(.dashboard-stats-widget) .metric-card:hover{box-shadow:0 8px 24px #00000080,0 20px 48px #00000059}.dashboard-module-card:has(.dashboard-metrics-grid) .metric-card:active,.dashboard-module-card:has(.dashboard-stats-widget) .metric-card:active{transform:translateY(-2px)}[data-theme=dark] .dashboard-module-card:has(.dashboard-metrics-grid) .metric-card:active,[data-theme=dark] .dashboard-module-card:has(.dashboard-stats-widget) .metric-card:active{box-shadow:0 4px 16px #00000080,0 2px 4px #0000004d}.dashboard-module-card:has(.dashboard-metrics-grid) .metric-card:not(.metric-card--progress),.dashboard-module-card:has(.dashboard-stats-widget) .metric-card{flex-direction:column;align-items:stretch;justify-content:space-between;gap:8px;text-align:left}.dashboard-module-card:has(.dashboard-metrics-grid) .metric-card:not(.metric-card--progress) .metric-card__label,.dashboard-module-card:has(.dashboard-stats-widget) .metric-card .metric-card__label{align-self:flex-start;justify-content:flex-start}.dashboard-module-card:has(.dashboard-metrics-grid) .metric-card:not(.metric-card--progress) .metric-card__value,.dashboard-module-card:has(.dashboard-stats-widget) .metric-card .metric-card__value{align-self:flex-end;justify-content:flex-end;flex-direction:row;gap:4px}.dashboard-module-card:has(.dashboard-metrics-grid) .metric-card:not(.metric-card--progress) .metric-card__number,.dashboard-module-card:has(.dashboard-metrics-grid) .metric-card:not(.metric-card--progress) .metric-card__unit,.dashboard-module-card:has(.dashboard-stats-widget) .metric-card .metric-card__number,.dashboard-module-card:has(.dashboard-stats-widget) .metric-card .metric-card__unit{font-size:var(--text-3xl);font-style:italic}.dashboard-module-card:has(.dashboard-metrics-grid) .metric-card--progress{flex-direction:column;align-items:center;gap:8px;text-align:center}.dashboard-section:not(.dashboard-section-inline) .dashboard-metrics-grid .metric-card:not(.metric-card--progress){min-height:88px;padding:18px 16px}.dashboard-section:not(.dashboard-section-inline) .dashboard-module-card:has(.dashboard-stats-widget) .metric-card{min-height:88px;padding:18px 16px}.dashboard-module-card:has(.dashboard-metrics-grid) .metric-card--progress .metric-card__value--progress{display:flex;flex-direction:column;align-items:stretch;gap:8px;text-align:left;width:100%}.dashboard-section:not(.dashboard-section-inline) .metric-card--progress{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;text-align:left;min-height:88px;padding:20px var(--dashboard-card-padding)}.dashboard-section:not(.dashboard-section-inline) .metric-card--progress .metric-card__value--progress{display:contents}.dashboard-section:not(.dashboard-section-inline) .metric-card--progress .progress-card-head{grid-column:1;grid-row:1}.dashboard-section:not(.dashboard-section-inline) .metric-card--progress .progress-bar-wrap{grid-column:2;grid-row:1;min-width:0;display:flex;justify-content:end;align-items:center;gap:12px}@media (max-width: 640px){.dashboard-section:not(.dashboard-section-inline) .metric-card--progress{display:flex;flex-direction:column;text-align:center}.dashboard-section:not(.dashboard-section-inline) .metric-card--progress .metric-card__value--progress{display:flex;flex-direction:column;align-items:stretch}.dashboard-section:not(.dashboard-section-inline) .metric-card--progress .progress-bar-wrap{align-self:stretch}}.dashboard-module-card:has(.dashboard-metrics-grid) .metric-card__label,.dashboard-module-card:has(.dashboard-stats-widget) .metric-card__label{text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:6px;font-size:var(--text-sm);font-weight:300;color:var(--gray-600)}.dashboard-module-card:has(.dashboard-metrics-grid) .metric-card__icon,.dashboard-module-card:has(.dashboard-stats-widget) .metric-card__icon{width:1rem;height:1rem;flex-shrink:0;color:var(--gray-600)}.dashboard-module-card:has(.dashboard-metrics-grid) .metric-card__value,.dashboard-module-card:has(.dashboard-stats-widget) .metric-card__value{display:flex;align-items:baseline;justify-content:center;gap:4px;flex-wrap:wrap}.dashboard-module-card:has(.dashboard-metrics-grid) .metric-card__number,.dashboard-module-card:has(.dashboard-stats-widget) .metric-card__number{font-family:var(--font-stats);font-weight:700;font-style:italic;font-size:var(--text-2xl);color:var(--primary-500);font-variant-numeric:tabular-nums;line-height:1.2}.dashboard-module-card:has(.dashboard-metrics-grid) .metric-card__unit,.dashboard-module-card:has(.dashboard-stats-widget) .metric-card__unit{font-size:var(--text-sm);color:var(--gray-600);font-weight:var(--font-medium)}[data-theme=dark] .dashboard-module-card:has(.dashboard-metrics-grid) .metric-card__label,[data-theme=dark] .dashboard-module-card:has(.dashboard-stats-widget) .metric-card__label{color:var(--text-secondary)}[data-theme=dark] .dashboard-module-card:has(.dashboard-metrics-grid) .metric-card__icon,[data-theme=dark] .dashboard-module-card:has(.dashboard-stats-widget) .metric-card__icon{color:var(--text-secondary)}[data-theme=dark] .dashboard-module-card:has(.dashboard-metrics-grid) .metric-card__number,[data-theme=dark] .dashboard-module-card:has(.dashboard-stats-widget) .metric-card__number{color:var(--primary-500)}[data-theme=dark] .dashboard-module-card:has(.dashboard-metrics-grid) .metric-card__unit,[data-theme=dark] .dashboard-module-card:has(.dashboard-stats-widget) .metric-card__unit{color:var(--text-secondary)}.metric-card{min-width:0;background:#fff;border-radius:20px;padding:26px;box-shadow:0 2px 8px #0000000a,0 8px 24px #0000000f;border:1px solid rgba(0,0,0,.04);display:flex;flex-direction:row;align-items:center;gap:12px;text-align:left;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}[data-theme=dark] .metric-card{background:var(--card-bg);border-color:var(--card-border)}.metric-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #00000014,0 20px 40px #00000014}[data-theme=dark] .metric-card:hover{box-shadow:0 8px 24px #00000080,0 20px 48px #00000059}.metric-card:active{transform:translateY(-2px)}[data-theme=dark] .metric-card:active{box-shadow:0 4px 16px #00000080,0 2px 4px #0000004d}.metric-card .metric-icon{flex-shrink:0;font-size:var(--text-2xl);line-height:1;filter:grayscale(.2)}.metric-card .metric-content{flex:1;min-width:0}.metric-card .metric-value{font-size:var(--text-2xl);font-weight:var(--font-extrabold);color:var(--primary-500);line-height:1.2;letter-spacing:-.5px;font-variant-numeric:tabular-nums;margin-bottom:2px}[data-theme=dark] .metric-card .metric-value{color:var(--primary-500)}.metric-card .metric-unit{font-size:var(--text-sm);color:var(--gray-600);font-weight:var(--font-medium);line-height:1.4;margin-bottom:2px}[data-theme=dark] .metric-card .metric-unit{color:var(--text-secondary)}.metric-card .metric-label{font-size:var(--text-sm);color:var(--gray-600);font-weight:var(--font-medium);line-height:1.4}[data-theme=dark] .metric-card .metric-label{color:var(--text-secondary)}.dashboard-top-card.dashboard-empty{background:#fff;border-radius:20px;padding:var(--dashboard-card-padding);text-align:center;box-shadow:0 2px 8px #0000000a,0 8px 24px #0000000f;border:1px solid rgba(0,0,0,.04);justify-content:center}[data-theme=dark] .dashboard-top-card.dashboard-empty{background:var(--card-bg);border-color:var(--card-border);color:var(--text-primary)}.empty-icon{font-size:var(--text-4xl);margin-bottom:12px;line-height:1}.empty-text{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--gray-900);margin-bottom:6px;letter-spacing:-.3px}[data-theme=dark] .empty-text{color:var(--text-primary)}.empty-subtext{font-size:var(--text-sm);color:var(--gray-600);font-weight:var(--font-medium)}[data-theme=dark] .empty-subtext{color:var(--text-secondary)}.dashboard-top-card.dashboard-empty .dashboard-empty-btn{width:auto!important;min-width:0;max-width:100%;flex:0 0 auto;align-self:center;display:inline-block}.dashboard-top-card>.workout-card{flex:1;min-height:0;margin-bottom:0}.dashboard-top-section .workout-card .workout-card-header{margin-bottom:12px}.dashboard-top-section .workout-card .workout-date{font-size:var(--text-sm)}.dashboard-top-section .workout-card .workout-title{font-size:var(--text-lg);font-weight:var(--font-bold);margin-bottom:12px}.dashboard-top-section .workout-card .workout-metrics{margin-bottom:12px;gap:16px}.dashboard-top-section .workout-card .metric-value{font-size:var(--text-xl)}.dashboard-top-section .workout-card .metric-unit{font-size:var(--text-sm)}.dashboard-top-section .workout-card .workout-description{font-size:var(--text-sm);margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}.dashboard-top-section .workout-card .workout-exercises,.dashboard-top-section .workout-card .workout-results{margin-top:12px;padding-top:12px}.dashboard-top-section .workout-card .workout-exercises-title,.dashboard-top-section .workout-card .workout-results-title{font-size:var(--text-xs)}.dashboard-top-section .workout-card .workout-exercise-item,.dashboard-top-section .workout-card .workout-result-item{font-size:var(--text-xs);padding:6px 8px}.dashboard-top-section .workout-card .workout-actions{margin-top:12px}.dashboard-top-section .workout-card .btn-workout{padding:12px 20px;font-size:var(--text-sm)}.btn-dashboard{flex:1;padding:var(--space-4) var(--space-6);font-size:var(--text-base);border-radius:var(--radius-lg)}@media (min-width: 1024px){.dashboard{padding-top:var(--page-top-desktop)}}@media (max-width: 640px){.dashboard{padding:var(--page-padding-mobile);padding-bottom:var(--mobile-content-padding-bottom)}[data-theme=dark] .dashboard{padding-left:var(--page-padding-mobile);padding-right:var(--page-padding-mobile)}.dashboard-header-row{flex-wrap:wrap;gap:12px}.dashboard-greeting{font-size:var(--text-2xl)}.dashboard-customize-btn{min-height:44px;padding:10px 16px}.dashboard-module-card:has(.dashboard-metrics-grid){padding:var(--dashboard-card-padding)}.dashboard-section .dashboard-metrics-grid,.dashboard-metrics-grid{grid-template-columns:1fr 1fr;gap:12px;width:100%;max-width:100%}.dashboard-section:not(.dashboard-section-inline) .dashboard-metrics-grid{grid-template-columns:repeat(2,auto)}.dashboard-metrics-grid .metric-card:nth-child(3){grid-column:1 / -1}.dashboard-metrics-grid--with-progress .metric-card:nth-child(3){grid-column:auto}.dashboard-metrics-grid--with-progress .metric-card:nth-child(4){grid-column:1 / -1}.dashboard-metrics-grid--with-progress{grid-template-columns:1fr 1fr}.dashboard-metrics-grid .metric-card,.dashboard-stats-metrics-grid .metric-card{min-height:64px;min-width:0;width:100%;padding:10px 12px}.dashboard-module-card:has(.dashboard-metrics-grid) .metric-card:not(.metric-card--progress) .metric-card__number,.dashboard-module-card:has(.dashboard-metrics-grid) .metric-card:not(.metric-card--progress) .metric-card__unit,.dashboard-module-card:has(.dashboard-stats-widget) .metric-card .metric-card__number,.dashboard-module-card:has(.dashboard-stats-widget) .metric-card .metric-card__unit{font-size:var(--text-xl)}.metric-card{padding:12px 10px;gap:10px;min-height:44px}.metric-card .metric-icon,.metric-card .metric-value{font-size:var(--text-xl)}.metric-card .metric-unit{font-size:var(--text-xs)}.metric-card .metric-label{font-size:var(--text-sm)}.dashboard-row-two{margin-bottom:24px}.dashboard-row-two .dashboard-module-card{min-height:120px}.dashboard-customizer-strip-zone{min-height:8px;margin-bottom:0;transition:min-height .22s ease,background .15s}.dashboard-customizer-strip-zone-active{min-height:32px}.dashboard-customizer-merge-zone{display:none!important}.dashboard-customizer-row-double{grid-template-columns:1fr}.dashboard-customizer-row-double .dashboard-customizer-slot-wrap{max-width:none}.dashboard-customizer-item{min-height:44px;padding:10px 14px;touch-action:none}.dashboard-customizer-hint{margin-bottom:0}.dashboard-time-range-btn{min-height:44px;padding:10px 14px}.dashboard-module-link-card{min-height:44px}}:root{--primary-50: #FFF4F0;--primary-100: #FFE5D9;--primary-200: #FFC7B3;--primary-300: #FF9D7A;--primary-400: #FF6B3D;--primary-500: #FC4C02;--primary-600: #E03D00;--primary-700: #C03000;--primary-800: #9A2500;--primary-900: #7A1D00;--success-50: #ECFDF5;--success-100: #D1FAE5;--success-500: #10B981;--success-600: #059669;--success-700: #047857;--warning-50: #FFF3EB;--warning-100: #FFE3D3;--warning-500: #FF6B35;--warning-600: #E15822;--danger-50: #FEF2F2;--danger-500: #EF4444;--danger-600: #DC2626;--info-50: #EFF6FF;--info-500: #3B82F6;--info-600: #2563EB;--gray-50: #F5F7FA;--gray-100: #F3F4F6;--gray-200: #E5E7EB;--gray-300: #D1D5DB;--gray-400: #9CA3AF;--gray-500: #6B7280;--gray-600: #4B5563;--gray-700: #374151;--gray-800: #1F2937;--gray-900: #111827;--gradient-primary: linear-gradient(135deg, #FC4C02 0%, #E03D00 100%);--gradient-success: linear-gradient(135deg, #22C55E 0%, #16A34A 100%);--gradient-hero: linear-gradient(135deg, #FC4C02 0%, #EF4444 100%);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1)}body{font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:var(--text-base);font-weight:400;line-height:1.6;color:var(--gray-900);background:var(--gray-50);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{max-width:1800px;width:100%;margin:0 auto;background:#fff;min-height:100vh;overflow-x:hidden;box-sizing:border-box}.header{background:var(--gradient-primary);color:#fff;padding:var(--space-10) var(--space-12);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 20% 50%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(255,255,255,.1) 0%,transparent 50%);pointer-events:none}h1{position:relative;color:#fff;margin-bottom:var(--space-2);font-size:var(--text-4xl);font-weight:700;letter-spacing:-.02em;line-height:1.2}.subtitle{position:relative;color:#fffffff2;margin-bottom:0;font-size:var(--text-lg);font-weight:var(--font-normal);opacity:.9}.controls{background:#fff;padding:var(--space-5) var(--space-12);border-bottom:1px solid var(--gray-200);display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:center;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff2}[data-theme=dark] .controls{background:var(--bg-secondary)!important;border-bottom-color:var(--gray-300)!important;box-shadow:0 2px 8px #0000004d!important}.btn-share{background:var(--gradient-primary);color:#fff;border:none}.btn-share:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-print{border-color:var(--gray-300)}.btn-print:hover{background:var(--gray-100);color:var(--gray-900)}.progress-indicator{margin-left:auto;padding:var(--space-2) var(--space-4);background:var(--primary-50);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--primary-700)}[data-theme=dark] .progress-indicator{background:#ff6b3d26!important;border-color:#ff6b3d4d!important;color:var(--primary-500)!important}.progress-indicator strong{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--primary-600)}[data-theme=dark] .progress-indicator strong{color:var(--primary-500)!important}.viewing-banner{background:var(--gradient-primary);color:#fff;padding:var(--space-4) var(--space-6);margin:0;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-md);font-size:var(--text-sm);font-weight:var(--font-medium)}.viewing-banner strong{font-weight:var(--font-semibold)}.btn-back{background:#fff3;color:#fff;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);text-decoration:none;font-weight:var(--font-medium);transition:all var(--transition-base);border:1px solid rgba(255,255,255,.3);font-size:var(--text-sm)}.btn-back:hover{background:#ffffff4d;transform:translate(-3px)}.content{width:100%;max-width:100%;box-sizing:border-box;overflow-x:hidden}.phase{margin-bottom:var(--space-8)}.phase-header{padding:var(--space-5) var(--space-6);border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-base);-webkit-user-select:none;user-select:none}.phase-header:hover{transform:translate(4px);box-shadow:var(--shadow-md)}.phase-header:active{transform:scale(.98)}.phase0{background:linear-gradient(135deg,var(--gray-100) 0%,var(--gray-200) 100%);color:var(--gray-700)}.phase1{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af}.phase2{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46}.phase3{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.phase4{background:linear-gradient(135deg,#fce7f3,#fbcfe8);color:#831843}.phase5{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b}.phase-toggle{font-size:var(--text-xl);transition:transform var(--transition-base);display:inline-block}.phase-title{font-size:var(--text-lg);font-weight:var(--font-bold);margin-bottom:var(--space-1);line-height:1.3}.phase-goal{font-size:var(--text-sm);opacity:.9}.phase-content{padding:var(--space-6) 0}.week{margin-bottom:var(--space-10);width:100%;max-width:100%;box-sizing:border-box}.week-header{padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);margin-top:var(--space-2);transition:all var(--transition-base);border-radius:var(--radius-lg);background:var(--gray-50);border:1px solid var(--gray-200)}.week-header:hover{background:var(--gray-100);border-color:var(--primary-300);box-shadow:var(--shadow-sm);transform:translate(2px)}.week.current-week .week-header{background:linear-gradient(135deg,var(--primary-50) 0%,var(--primary-100) 100%);border-color:var(--primary-400);box-shadow:0 2px 8px #6366f126}.week-toggle{font-size:var(--text-base);color:var(--gray-500);-webkit-user-select:none;user-select:none;min-width:20px;display:inline-block;transition:transform .2s ease;margin-right:var(--space-2)}.week-info{display:flex;justify-content:space-between;align-items:center;flex:1;padding:0}.week-label{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--gray-900);line-height:1.3}.week.current-week .week-label{color:var(--primary-700)}.week-stats{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--gray-600)}.days-header{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-3);margin-bottom:var(--space-3);padding:0 var(--space-2);width:100%;max-width:100%;box-sizing:border-box}.day-header{font-size:var(--text-xs);font-weight:var(--font-bold);color:var(--gray-500);text-transform:uppercase;text-align:center;letter-spacing:.05em}.days-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-3);width:100%;max-width:100%;box-sizing:border-box}.training-cell{position:relative;background:#fff;border-radius:var(--radius-lg);padding:var(--space-3) var(--space-3);min-height:130px;cursor:pointer;transition:all var(--transition-base);display:flex;flex-direction:column;box-shadow:0 1px 2px #00000014,0 1px 1px #0000000a;border-left:5px solid var(--gray-300);border-top:1px solid var(--gray-100)}.training-cell:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f,0 2px 4px #00000014;border-left-width:6px}.training-cell:active{transform:translateY(-2px)}.training-cell.completed,.training-cell.has-workouts{background:var(--success-50);border-left-color:var(--success-500)}.training-cell.completed:after,.training-cell.has-workouts:after{content:"✓";position:absolute;top:var(--space-3);right:var(--space-3);width:24px;height:24px;background:var(--success-500);color:#fff;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--font-bold);box-shadow:var(--shadow-md)}.rest-day{background:var(--gray-50)!important;border-left-color:var(--gray-400)!important;min-height:100px;cursor:pointer;opacity:.85}.rest-day:hover{transform:none;box-shadow:0 1px 3px #0000001a}.long-run{border-left-color:var(--info-600);background:linear-gradient(to right,var(--info-50) 0%,white 10%)}.interval{border-left-color:var(--danger-600);background:linear-gradient(to right,var(--danger-50) 0%,white 10%)}.tempo{border-left-color:var(--success-600);background:linear-gradient(to right,var(--success-50) 0%,white 10%)}.key-session{border-left-color:var(--primary-600);background:linear-gradient(to right,var(--primary-50) 0%,white 10%);border-left-width:6px}.key-session:before{content:"⭐";position:absolute;top:var(--space-2);left:var(--space-2);font-size:var(--text-lg)}.control{border-left-color:var(--workout-control)}.free-training{background:#fff!important;border-left-color:var(--primary-500)}.date-cell{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--gray-900);margin-bottom:var(--space-2);line-height:1.2}.training-content{font-size:var(--text-xs);color:var(--gray-700);line-height:1.4;flex:1;margin-bottom:var(--space-2)}.result-display{margin-top:auto;font-size:var(--text-xs)}.result-info{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2);background:var(--gray-50);border-radius:var(--radius-md)}.result-info-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--gray-700);font-weight:var(--font-medium)}.result-info-item strong{font-size:var(--text-sm)}.workout-summary{margin-top:var(--space-2);padding:var(--space-3);background:var(--success-50);border-radius:var(--radius-md);border:1px solid var(--success-200)}.workout-indicator{font-size:var(--text-xs);font-weight:var(--font-bold);color:var(--success-700);margin-bottom:var(--space-2);display:flex;align-items:center;gap:var(--space-1)}.workout-stat{font-size:var(--text-xs);color:var(--gray-700);margin-bottom:var(--space-1);font-weight:var(--font-medium)}.workout-summary-divider{height:1px;background:var(--gray-200);margin:var(--space-2) 0}.training-cell.has-workouts{border-left-color:var(--success-500);border-left-width:4px}.btn-add-training,.btn-edit-training{position:absolute;top:var(--space-2);right:var(--space-2);width:28px;height:28px;padding:0;background:var(--primary-500);color:#fff;border:none;border-radius:var(--radius-lg);cursor:pointer;font-size:var(--text-base);transition:all var(--transition-base);z-index:10;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.btn-add-training:hover,.btn-edit-training:hover{background:var(--primary-600);transform:scale(1.1);box-shadow:var(--shadow-md)}.btn-edit-training{background:var(--primary-500);top:40px}.btn-edit-training:hover{background:var(--primary-600)}.btn-result{position:absolute;bottom:var(--space-3);right:var(--space-3);width:32px;height:32px;padding:0;background:#fff;color:var(--primary-500);border:2px solid var(--gray-200);border-radius:var(--radius-lg);cursor:pointer;font-size:var(--text-lg);transition:all var(--transition-base);z-index:5;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.btn-result:hover{background:var(--primary-500);color:#fff;border-color:var(--primary-500);transform:scale(1.1);box-shadow:var(--shadow-md)}.btn-result:active{transform:scale(.95)}.legend{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--gray-200);box-shadow:0 -4px 12px #00000014;z-index:999;padding:var(--space-6) var(--space-12)}.legend-title{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--gray-900);margin-bottom:var(--space-4)}.legend-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.legend-item{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--gray-700)}.legend-color{width:4px;height:32px;border-radius:var(--radius-sm)}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn var(--transition-base) ease}.modal-content{background:#fff;margin:5% auto;padding:0;border-radius:var(--radius-2xl);width:90%;max-width:600px;box-shadow:var(--shadow-2xl);animation:modalSlideIn var(--transition-slow) cubic-bezier(.34,1.56,.64,1);overflow:hidden}.modal-content.modal-large{max-width:1000px;max-height:90vh;overflow-y:auto}@keyframes modalSlideIn{0%{transform:translateY(-40px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-6) var(--space-6);border-bottom:1px solid var(--gray-200);background:var(--gray-50)}.modal-header h2{margin:0;font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--gray-900)}.close{color:var(--gray-400);font-size:28px;font-weight:300;cursor:pointer;transition:all var(--transition-base);width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);line-height:1}.close:hover{background:var(--gray-200);color:var(--gray-700)}.modal-body{padding:var(--space-6)}.form-group{margin-bottom:var(--space-6)}.form-group label{display:block;margin-bottom:var(--space-2);font-weight:var(--font-semibold);color:var(--gray-900);font-size:var(--text-sm)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:var(--space-3) var(--space-4);border:1.5px solid var(--gray-300);border-radius:var(--radius-lg);font-size:var(--text-base);transition:all var(--transition-base);font-family:inherit;background:#fff;color:var(--gray-900)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100)}.form-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%234B5563' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;padding-right:var(--space-10)}.form-group textarea{resize:vertical;min-height:100px}.form-group input[type=checkbox]{width:auto;height:18px;width:18px;cursor:pointer;accent-color:var(--primary-500);margin:0}.form-group label .required{color:var(--danger-500);font-weight:var(--font-bold);margin-left:2px}.form-group small{display:block;margin-top:var(--space-2);font-size:var(--text-sm);color:var(--gray-500);line-height:1.5}.form-actions{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--gray-200)}.today-dashboard{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden;border:1px solid var(--gray-200);flex:1;min-width:0;display:flex;flex-direction:column}.dashboard-container{display:flex;gap:var(--space-4);margin-bottom:var(--space-6);align-items:stretch}@media (max-width: 768px){.dashboard-container{flex-direction:column;gap:var(--space-4)}}.today-dashboard-header{background:var(--gradient-primary);color:#fff;padding:var(--space-4) var(--space-5);position:relative;overflow:hidden}.today-dashboard-header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.15),transparent 50%);pointer-events:none}.today-date{position:relative;display:flex;flex-direction:column;gap:var(--space-1)}.today-label{font-size:var(--text-sm);font-weight:var(--font-medium);opacity:.9;text-transform:uppercase;letter-spacing:.05em}.today-day-name{font-size:var(--text-xl);font-weight:var(--font-bold);line-height:1.2}.today-date-num{font-size:var(--text-base);opacity:.9;font-weight:var(--font-medium)}.today-week-info{position:relative;margin-top:var(--space-2);font-size:var(--text-sm);opacity:.85}.today-date-value{font-size:var(--text-base);opacity:.9;font-weight:var(--font-medium)}.today-week-info .phase-label,.today-week-info .week-label{display:block;font-size:var(--text-sm);opacity:.9}.today-plan-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.today-plan-header h3{margin:0;font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--gray-900)}.btn-mark-complete{padding:var(--space-2) var(--space-4);background:var(--primary-500);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);transition:background .2s}.btn-mark-complete:hover{background:var(--primary-600)}.today-dashboard-content{padding:var(--space-4) var(--space-5);flex:1;display:flex;flex-direction:column}#plan-description-block{flex:1;min-width:0;display:flex;flex-direction:column;padding:var(--space-5)!important;font-size:var(--text-sm);line-height:1.6}#plan-description-block h2{font-size:var(--text-lg)!important;margin-bottom:var(--space-3)!important}#plan-description-block>div{flex:1;overflow-y:auto;max-height:100%}.plan-description-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:var(--radius-xl);color:#fff;box-shadow:var(--shadow-lg);position:relative;flex:1;min-width:0;display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.1);padding:var(--space-4) var(--space-5)!important}.plan-description-close{position:absolute;top:var(--space-2);right:var(--space-2);background:#fff3;border:none;color:#fff;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:16px;line-height:1;transition:background .2s;z-index:10;display:flex;align-items:center;justify-content:center}.plan-description-close:hover{background:#ffffff4d}.plan-description-card h2{margin:0 0 var(--space-2) 0;font-size:var(--text-base);font-weight:var(--font-bold);color:#fff;padding-right:var(--space-8)}.plan-description-text{line-height:1.7;color:#fffffff2;flex:1;overflow-y:auto;font-size:var(--text-xs)}.plan-description-text .plan-text-paragraph{margin:0 0 1em;padding:0;word-wrap:break-word;overflow-wrap:break-word}.plan-description-text .plan-text-paragraph:last-child{margin-bottom:0}.plan-description-text .plan-text-paragraph:empty{margin:.5em 0;min-height:0}.plan-description-text .plan-text-heading{margin:1.5em 0 .75em;padding:0 0 .5em;font-size:1.1em;font-weight:600;color:#fff;border-bottom:1px solid rgba(255,255,255,.2)}.plan-description-text .plan-text-heading:first-child{margin-top:0}.plan-description-text .plan-text-list{margin:1em 0;padding-left:1.5em;list-style-position:outside}.plan-description-text .plan-text-list-ul{list-style-type:disc}.plan-description-text .plan-text-list-ol{list-style-type:decimal}.plan-description-text .plan-text-list-item{margin:.5em 0;padding-left:.5em;line-height:1.6;display:list-item;list-style-position:outside}.plan-description-text .plan-text-number{font-weight:600;color:#fff;background:#ffffff1a;padding:.15em .4em;border-radius:4px;font-family:Courier New,monospace}.plan-description-text strong{font-weight:600;color:#fff}.plan-description-text em{font-style:italic;color:#ffffffe6}@media (max-width: 768px){.dashboard-container{margin-bottom:var(--space-6)}.today-dashboard{margin-bottom:var(--space-4)}.plan-description-card{margin:0!important}.plan-description-text{font-size:var(--text-xs)}.plan-description-text .plan-text-heading{font-size:1em;margin:1.2em 0 .6em}.plan-description-text .plan-text-list{padding-left:1.2em}.plan-description-text .plan-text-list-item{margin:.4em 0}}.today-plan{margin-bottom:var(--space-6)}.today-plan-type{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--gray-50);border-radius:var(--radius-lg);border-left:4px solid var(--gray-300)}.today-plan-type.long-run{border-left-color:var(--info-600);background:var(--info-50)}.today-plan-type.interval{border-left-color:var(--danger-600);background:var(--danger-50)}.today-plan-type.tempo{border-left-color:var(--success-600);background:var(--success-50)}.today-plan-type.key-session{border-left-color:var(--primary-600);background:var(--primary-50)}.plan-icon{font-size:var(--text-2xl);line-height:1}.plan-type-label{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--gray-900)}.today-plan-description{font-size:var(--text-base);color:var(--gray-700);line-height:1.6}.today-plan-description .short-desc-details{font-size:var(--text-sm);color:var(--gray-700);line-height:1.6;max-height:400px;overflow-y:auto;padding:var(--space-2) 0}.today-plan-description .short-desc-details b,.today-plan-description .short-desc-details strong{font-weight:var(--font-bold);color:var(--gray-900);display:block;margin-top:var(--space-3);margin-bottom:var(--space-2)}.today-plan-description .short-desc-details b:first-child,.today-plan-description .short-desc-details strong:first-child{margin-top:0}.today-plan-description .short-desc-details br{line-height:1.8}.today-status{margin-bottom:var(--space-6)}.status-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-weight:var(--font-semibold);font-size:var(--text-sm)}.status-completed{background:var(--success-50);color:var(--success-700);border:1px solid var(--success-200)}.status-pending{background:var(--primary-50);color:var(--primary-700);border:1px solid var(--primary-200)}.status-icon{font-size:var(--text-lg)}.status-count{margin-left:var(--space-2);font-size:var(--text-xs);opacity:.8}.today-actions{display:flex;flex-direction:column;gap:var(--space-3)}.btn-today-action{padding:var(--space-3) var(--space-5);border-radius:var(--radius-lg);font-size:var(--text-base);font-weight:var(--font-semibold);border:1.5px solid var(--gray-300);background:#fff;color:var(--gray-900);cursor:pointer;transition:all var(--transition-base);text-align:center;display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.btn-today-action:hover{background:var(--gray-50);border-color:var(--gray-400);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-today-action.btn-primary{background:var(--primary-500);color:#fff;border-color:var(--primary-500)}.btn-today-action.btn-primary:hover{background:var(--primary-600);border-color:var(--primary-600);box-shadow:0 4px 12px #6366f14d}.btn-today-action.btn-secondary{background:var(--gray-100);color:var(--gray-900);border-color:var(--gray-300)}.btn-today-action.btn-secondary:hover{background:var(--gray-200);border-color:var(--gray-400)}@media (min-width: 769px){.today-dashboard-content{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-6);align-items:start}.today-plan{margin-bottom:0}.today-status{margin-bottom:var(--space-4)}.today-actions{flex-direction:row;flex-wrap:wrap}.btn-today-action{flex:1;min-width:140px}}@media (max-width: 768px){.today-dashboard{margin-bottom:var(--space-6);border-radius:var(--radius-lg)}.today-dashboard-header{padding:var(--space-5) var(--space-5)}.today-day-name{font-size:var(--text-xl)}.today-dashboard-content{padding:var(--space-5)}.today-actions{gap:var(--space-2)}.btn-today-action{padding:var(--space-4) var(--space-4);font-size:var(--text-sm)}}.activity-types-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--space-3);margin-top:var(--space-2)}.activity-type-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-4) var(--space-3);border:2px solid var(--gray-300);border-radius:var(--radius-lg);background:#fff;cursor:pointer;transition:all var(--transition-base);text-align:center;position:relative}.activity-type-card:hover{border-color:var(--primary-400);background:var(--primary-50);transform:translateY(-2px);box-shadow:var(--shadow-md)}.activity-type-card.selected{border-color:var(--primary-500);background:var(--primary-100);box-shadow:0 0 0 3px var(--primary-200)}.activity-type-card input[type=radio]{position:absolute;opacity:0;pointer-events:none}.activity-type-icon{font-size:var(--text-3xl);line-height:1;margin-bottom:var(--space-2)}.activity-type-name{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--gray-900)}.success-radio-group{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2)}.radio-option{display:flex;align-items:center;padding:var(--space-3) var(--space-4);border:2px solid var(--gray-300);border-radius:var(--radius-lg);background:#fff;cursor:pointer;transition:all var(--transition-base)}.radio-option:hover{border-color:var(--primary-400);background:var(--gray-50)}.radio-option input[type=radio]{margin-right:var(--space-3);cursor:pointer}.radio-option input[type=radio]:checked+span{font-weight:var(--font-bold);color:var(--primary-700)}.radio-option:has(input[type=radio]:checked){border-color:var(--primary-500);background:var(--primary-50)}@media (max-width: 768px){.activity-types-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:var(--space-2)}.activity-type-card{padding:var(--space-3) var(--space-2)}.activity-type-icon{font-size:var(--text-2xl)}.activity-type-name{font-size:var(--text-xs)}}@media (max-width: 1400px){.content,.controls,.header{padding-left:var(--space-8);padding-right:var(--space-8)}.days-grid{gap:var(--space-3)}}@media (max-width: 1024px){.days-grid,.days-header{grid-template-columns:repeat(4,1fr)}h1{font-size:var(--text-3xl)}}@media (max-width: 768px){.week-content{position:relative;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scroll-padding:0 15%;padding:0;margin:0;scrollbar-width:none;-ms-overflow-style:none}.week-content::-webkit-scrollbar{display:none}.days-header{display:none}.days-grid{display:flex;flex-direction:row;gap:var(--space-3);padding:0;width:max-content;min-width:100%;box-sizing:border-box;position:relative;background:transparent!important;opacity:1!important}.training-cell{flex:0 0 70%;min-width:70%;max-width:70%;scroll-snap-align:center;scroll-snap-stop:always;min-height:200px;box-sizing:border-box;background:#fff!important;opacity:1!important;box-shadow:0 1px 2px #00000014,0 1px 1px #0000000a!important}.training-cell.long-run,.training-cell.interval,.training-cell.tempo,.training-cell.key-session,.training-cell.control,.training-cell.free-training{border-left-width:3px!important;background:#fff!important;opacity:1!important;background-image:none!important}.training-cell.completed,.training-cell.has-workouts{background:#fff!important;background-image:none!important;border-left-color:var(--success-500)!important;opacity:1!important}.training-cell.current-day{box-shadow:0 0 0 3px var(--primary-500),0 4px 12px #6366f14d;transform:scale(1.03);z-index:5;position:relative}.training-cell.key-session:before{display:none}.content,.controls,.header{padding:var(--space-5)}h1{font-size:var(--text-2xl)}}@media (max-width: 640px){.training-cell{flex:0 0 75%;min-width:75%;max-width:75%;min-height:180px;background:#fff!important;box-shadow:0 1px 2px #00000014,0 1px 1px #0000000a!important}.training-cell.long-run,.training-cell.interval,.training-cell.tempo,.training-cell.key-session,.training-cell.control,.training-cell.free-training{border-left-width:3px!important;background:#fff!important}.days-grid{padding:0}.training-cell .date-cell:before{content:attr(data-day-name) " ";font-size:var(--text-xs);color:var(--gray-500);font-weight:var(--font-medium);text-transform:uppercase;margin-right:var(--space-1)}}@media print{body{background:#fff}.header,.controls,.legend,.training-checkbox,.btn-result{display:none}.week{page-break-inside:avoid}.training-cell{box-shadow:none;border:1px solid var(--gray-300)}}.loading{text-align:center;padding:var(--space-8);color:var(--gray-500);font-size:var(--text-sm)}.loading:before{content:"";display:inline-block;width:32px;height:32px;border:3px solid var(--gray-200);border-top-color:var(--primary-500);border-radius:var(--radius-full);animation:spin .8s linear infinite;margin-right:var(--space-2);vertical-align:middle}.training-category-card{background:#fff;border:2px solid var(--gray-200);border-radius:var(--radius-xl);padding:var(--space-6);text-align:center;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:180px}.training-category-card:hover{border-color:var(--primary-500);background:var(--primary-50);transform:translateY(-4px);box-shadow:0 8px 16px #fc4c0226}.training-category-card.selected{border-color:var(--primary-500);background:var(--primary-50);box-shadow:0 4px 12px #fc4c0233}.training-category-card[data-category=running]:hover{border-color:var(--primary-500);background:var(--primary-50)}.training-category-card[data-category=ofp]:hover{border-color:var(--success-500);background:var(--success-50)}.training-category-card[data-category=sbu]:hover{border-color:var(--warning-500);background:var(--warning-50)}.training-category-card.selected[data-category=running]{border-color:var(--primary-500);background:var(--primary-50)}.training-category-card.selected[data-category=ofp]{border-color:var(--success-500);background:var(--success-50)}.training-category-card.selected[data-category=sbu]{border-color:var(--warning-500);background:var(--warning-50)}.training-category-selection{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.text-center{text-align:center}.font-bold{font-weight:var(--font-bold)}.font-semibold{font-weight:var(--font-semibold)}.text-gray-600{color:var(--gray-600)}.text-primary{color:var(--primary-500)}.text-success{color:var(--success-500)}.btn-delete-workout{background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:4px;font-size:1em;opacity:.6;transition:all .2s ease}.btn-delete-workout:hover{opacity:1;background:var(--danger-50, #fef2f2);color:var(--danger-500, #ef4444)}@keyframes slideIn{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}@keyframes slideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100px)}}#toast-notification{font-family:var(--font-family, system-ui, -apple-system, sans-serif)}.modal-modern{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease}.modal-modern-content{background:#fff;border-radius:20px;max-width:600px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s cubic-bezier(.4,0,.2,1)}.modal-modern-header{padding:24px;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;align-items:flex-start;gap:16px;background:var(--gradient-primary);color:#fff}.modal-header-content{flex:1}.modal-title-modern{font-size:24px;font-weight:700;color:#fff;margin:0;line-height:1.3}.modal-metrics-preview{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.metric-badge{background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:4px 12px;border-radius:12px;font-size:13px;font-weight:600;color:#fff;border:1px solid rgba(255,255,255,.3)}.close-modern{background:#fff3;border:none;color:#fff;font-size:32px;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0;line-height:1;padding:0}.close-modern:hover{background:#ffffff4d;transform:scale(1.1)}.close-modern:active{transform:scale(.95)}.modal-modern-body{padding:24px;overflow-y:auto;flex:1;background:var(--gray-50)}[data-theme=dark] .modal-modern-body{background:var(--bg-primary);color:var(--text-primary)}.loading-modern{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px;color:var(--gray-600)}.spinner-modern{width:48px;height:48px;border:4px solid var(--gray-200);border-top-color:var(--primary-500);border-radius:50%;animation:spin .8s linear infinite}.no-workouts-modern{text-align:center;padding:60px 20px;color:var(--gray-600)}.no-workouts-modern .icon{font-size:48px;margin-bottom:16px}.plan-day-blocks{display:flex;flex-direction:column;gap:var(--space-3)}.plan-day-block{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);background:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200)}[data-theme=dark] .plan-day-block{background:var(--bg-tertiary);border-color:var(--gray-600)}.plan-day-block .plan-day-text{flex:1;white-space:pre-wrap;word-break:break-word;color:var(--text-primary)}.plan-day-block .plan-day-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.plan-day-block .btn-edit-plan-day,.plan-day-block .btn-delete-plan-day{padding:var(--space-1) var(--space-2);font-size:var(--text-sm);background:transparent;border-radius:var(--radius-md);cursor:pointer;border:1px solid}.plan-day-block .btn-edit-plan-day{color:var(--primary-600);border-color:var(--primary-300)}.plan-day-block .btn-edit-plan-day:hover{background:var(--primary-50)}.plan-day-block .btn-delete-plan-day{color:var(--danger-600);border-color:var(--danger-300)}.plan-day-block .btn-delete-plan-day:hover{background:var(--danger-50)}[data-theme=dark] .plan-day-block .btn-edit-plan-day{color:var(--primary-400);border-color:var(--primary-600)}[data-theme=dark] .plan-day-block .btn-delete-plan-day{color:var(--danger-400);border-color:var(--danger-600)}.day-plan-card-modern{background:#fff;border-radius:16px;padding:20px;margin-bottom:20px;box-shadow:0 2px 8px #00000014}[data-theme=dark] .day-plan-card-modern{background:var(--card-bg);color:var(--text-primary)}.day-plan-card-modern .day-plan-title{font-size:18px;font-weight:600;color:var(--gray-900);margin-bottom:12px}[data-theme=dark] .day-plan-card-modern .day-plan-title{color:var(--text-primary)}.day-plan-card-modern .day-plan-text{font-size:16px;color:var(--gray-700);line-height:1.6}[data-theme=dark] .day-plan-card-modern .day-plan-text{color:var(--text-secondary)}.workout-metrics-card{background:#fff;border-radius:16px;padding:20px;margin-bottom:20px;box-shadow:0 2px 8px #00000014}[data-theme=dark] .workout-metrics-card{background:var(--card-bg);color:var(--text-primary)}.metrics-title{font-size:18px;font-weight:600;color:var(--gray-900);margin-bottom:16px}[data-theme=dark] .metrics-title{color:var(--text-primary)}.metrics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.metric-item{text-align:center;padding:16px;background:var(--gray-50);border-radius:12px}[data-theme=dark] .metric-item{background:var(--bg-tertiary)}.metric-item-value{font-size:32px;font-weight:700;color:var(--primary-500);line-height:1;margin-bottom:4px}.metric-item-label{font-size:14px;color:var(--gray-600);font-weight:500}[data-theme=dark] .metric-item-label{color:var(--text-secondary)}.day-modal-workout-summary{background:var(--gray-50);border-radius:16px;padding:16px;margin-bottom:16px;border:1px solid var(--gray-200)}[data-theme=dark] .day-modal-workout-summary{background:var(--bg-tertiary);border-color:var(--card-border)}.day-modal-workout-summary-title{font-size:16px;font-weight:600;color:var(--gray-900);margin-bottom:12px}[data-theme=dark] .day-modal-workout-summary-title{color:var(--text-primary)}.day-modal-workout-summary-card{padding:12px 0;border-top:1px solid var(--gray-200)}.day-modal-workout-summary-card:first-of-type{border-top:none;padding-top:0}[data-theme=dark] .day-modal-workout-summary-card{border-top-color:var(--card-border)}.day-modal-workout-summary-metrics{font-size:14px;color:var(--gray-700);margin-bottom:8px}[data-theme=dark] .day-modal-workout-summary-metrics{color:var(--text-secondary)}.day-modal-workout-summary-link{display:inline-flex;align-items:center;font-size:14px;font-weight:600;color:var(--primary-500);background:none;border:none;cursor:pointer;padding:0;transition:color .2s}.day-modal-workout-summary-link:hover{color:var(--primary-600);text-decoration:underline}.workouts-list{margin-top:20px}.section-subtitle{font-size:18px;font-weight:600;color:var(--gray-900);margin-bottom:16px}[data-theme=dark] .section-subtitle{color:var(--text-primary)}.workout-item-card{background:#fff;border-radius:12px;padding:16px;margin-bottom:12px;box-shadow:0 1px 4px #00000014}[data-theme=dark] .workout-item-card{background:var(--card-bg);color:var(--text-primary)}.workout-item-metric{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.workout-item-label{font-size:14px;color:var(--gray-600)}[data-theme=dark] .workout-item-label{color:var(--text-secondary)}.workout-item-value{font-size:16px;font-weight:600;color:var(--gray-900)}[data-theme=dark] .workout-item-value{color:var(--text-primary)}.day-exercises-card-modern{background:#fff;border-radius:16px;padding:20px;margin-bottom:20px;box-shadow:0 2px 8px #00000014}[data-theme=dark] .day-exercises-card-modern{background:var(--card-bg);color:var(--text-primary)}.day-exercises-title{font-size:18px;font-weight:600;color:var(--gray-900);margin-bottom:16px}[data-theme=dark] .day-exercises-title{color:var(--text-primary)}.day-exercises-list{display:flex;flex-direction:column;gap:12px}.exercise-item{background:var(--gray-50);border-radius:12px;padding:16px;border-left:4px solid var(--primary-500)}[data-theme=dark] .exercise-item{background:var(--bg-tertiary)}.exercise-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.exercise-name{font-size:16px;font-weight:600;color:var(--gray-900)}[data-theme=dark] .exercise-name{color:var(--text-primary)}.exercise-category{font-size:12px;padding:4px 8px;background:var(--primary-100);color:var(--primary-700);border-radius:6px;font-weight:500}[data-theme=dark] .exercise-category{background:var(--primary-900);color:var(--primary-300)}.exercise-item-plan-day .exercise-header{gap:12px;flex-wrap:wrap}.exercise-item-plan-day .exercise-name{flex:1;min-width:0}.exercise-item-plan-day .btn-edit-plan-day,.exercise-item-plan-day .btn-delete-plan-day{padding:6px 12px;font-size:13px;background:transparent;border-radius:8px;cursor:pointer;border:1px solid;flex-shrink:0}.exercise-item-plan-day .btn-edit-plan-day{color:var(--primary-600);border-color:var(--primary-300)}.exercise-item-plan-day .btn-edit-plan-day:hover{background:var(--primary-50)}.exercise-item-plan-day .btn-delete-plan-day{color:var(--danger-600);border-color:var(--danger-300)}.exercise-item-plan-day .btn-delete-plan-day:hover{background:var(--danger-50)}[data-theme=dark] .exercise-item-plan-day .btn-edit-plan-day{color:var(--primary-400);border-color:var(--primary-600)}[data-theme=dark] .exercise-item-plan-day .btn-delete-plan-day{color:var(--danger-400);border-color:var(--danger-600)}.exercise-details{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.exercise-detail{font-size:14px;color:var(--gray-700);padding:4px 8px;background:#fff;border-radius:6px}[data-theme=dark] .exercise-detail{color:var(--text-secondary);background:var(--bg-primary)}.exercise-notes{margin-top:8px;font-size:14px;color:var(--gray-600);font-style:italic;padding-top:8px;border-top:1px solid var(--gray-200)}[data-theme=dark] .exercise-notes{color:var(--text-secondary);border-top-color:var(--gray-700)}@media (max-width: 640px){.modal-modern{padding:0;align-items:flex-end}.modal-modern-content{max-width:100%;max-height:90vh;border-radius:20px 20px 0 0}.modal-modern-header{padding:20px}.modal-title-modern{font-size:20px}.modal-modern-body{padding:20px}.metrics-grid{grid-template-columns:1fr}.metric-item-value{font-size:28px}}.day-modal-add-training{margin-top:24px;padding-top:20px;border-top:1px solid var(--gray-200)}.day-modal-add-training .btn{width:100%}.day-modal-actions-row{display:flex;flex-wrap:wrap;gap:12px}.day-modal-actions-row .btn{flex:1;min-width:140px}[data-theme=dark] .day-modal-add-training{border-top-color:var(--gray-700)}.app-modal-body--modern:has(.add-training-form),.app-modal-body--modern:has(.add-training-categories){padding:var(--space-4) var(--space-5)}.add-training-date{margin:0 0 var(--space-3) 0;font-size:var(--text-sm);color:var(--text-secondary)}.add-training-step-title{margin:0 0 var(--space-4) 0;font-weight:var(--font-semibold);color:var(--text-primary)}.add-training-categories{margin-bottom:var(--space-4)}.add-training-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-4)}.add-training-category-card{display:flex;flex-direction:column;align-items:center;text-align:center;cursor:pointer;border:2px solid transparent;transition:border-color .2s,box-shadow .2s}.add-training-category-card:hover{border-color:var(--primary-400);box-shadow:var(--shadow-md)}.add-training-category-icon{font-size:2.5rem;margin-bottom:var(--space-2);line-height:1}.add-training-category-label{font-weight:var(--font-semibold);font-size:var(--text-base);margin-bottom:var(--space-1);color:var(--text-primary)}.add-training-category-desc{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.3}[data-theme=dark] .add-training-cards,[data-theme=dark] .add-training-cards .add-training-category-label,[data-theme=dark] .add-training-cards .add-training-category-desc,[data-theme=dark] .add-training-cards .add-training-category-icon{color:#fff}.add-training-form{display:flex;flex-direction:column;gap:var(--space-4)}.add-training-form .form-group{margin-bottom:0}.add-training-back{font-size:var(--text-sm)}.add-training-block-title{margin:0 0 var(--space-2) 0;font-weight:var(--font-semibold);font-size:var(--text-sm);color:var(--text-primary)}.add-training-input{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:var(--text-base);background:var(--bg-primary);color:var(--text-primary)}[data-theme=dark] .add-training-input{border-color:var(--gray-600)}.add-training-select{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--gray-300);border-radius:var(--radius-lg);font-size:var(--text-base);font-family:inherit;background:var(--bg-primary);color:var(--text-primary)}.add-training-textarea{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--gray-300);border-radius:var(--radius-lg);font-size:var(--text-base);font-family:inherit;resize:vertical;min-height:80px;background:var(--bg-primary);color:var(--text-primary)}[data-theme=dark] .add-training-select,[data-theme=dark] .add-training-textarea{border-color:var(--gray-600);background:var(--bg-tertiary);color:var(--text-primary)}.add-training-run-calc,.add-training-interval,.add-training-fartlek,.add-training-library,.add-training-custom{padding:var(--space-4);background:var(--bg-primary);border:1px solid var(--gray-200);border-radius:var(--radius-xl)}[data-theme=dark] .add-training-run-calc,[data-theme=dark] .add-training-interval,[data-theme=dark] .add-training-fartlek,[data-theme=dark] .add-training-library,[data-theme=dark] .add-training-custom{background:var(--bg-tertiary);border-color:var(--card-border);color:#fff}[data-theme=dark] .add-training-run-calc .add-training-block-title,[data-theme=dark] .add-training-interval .add-training-block-title,[data-theme=dark] .add-training-fartlek .add-training-block-title,[data-theme=dark] .add-training-library .add-training-block-title,[data-theme=dark] .add-training-run-calc .form-group label,[data-theme=dark] .add-training-interval .form-group label,[data-theme=dark] .add-training-fartlek .form-group label,[data-theme=dark] .add-training-library .form-group label,[data-theme=dark] .add-training-loading,[data-theme=dark] .add-training-empty-lib,[data-theme=dark] .add-training-calc-total,[data-theme=dark] .add-training-custom .add-training-block-title,[data-theme=dark] .add-training-custom-hint{color:#fff}.add-training-calc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-3)}.add-training-calc-total{margin:var(--space-2) 0 0;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-secondary)}.add-training-fartlek-segment{margin-bottom:var(--space-3);padding:var(--space-3);border:1px solid var(--gray-200);border-radius:var(--radius-md)}[data-theme=dark] .add-training-fartlek-segment{border-color:var(--gray-600)}.add-training-segment-remove{align-self:flex-end}.add-training-library-list{max-height:260px;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-2)}.add-training-library-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--gray-50);border:1px solid var(--gray-200);transition:border-color .15s}.add-training-library-item:hover{border-color:var(--primary-400)}[data-theme=dark] .add-training-library-item{background:var(--bg-primary);border-color:var(--gray-600)}.add-training-library-item-label{flex:1;display:flex;align-items:center;gap:var(--space-2);cursor:pointer;min-width:0}.add-training-library-name{flex:1;font-weight:var(--font-medium);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.add-training-library-params{font-size:var(--text-sm);color:var(--text-secondary);flex-shrink:0}[data-theme=dark] .add-training-library .add-training-library-name,[data-theme=dark] .add-training-library .add-training-library-params{color:#fff}.add-training-library-sbu-dist{display:flex;align-items:center;gap:2px;flex-shrink:0}.add-training-library-dist-input{width:56px;padding:var(--space-1) var(--space-2);font-size:var(--text-sm);border:1px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);text-align:right;-moz-appearance:textfield}.add-training-library-dist-input::-webkit-inner-spin-button,.add-training-library-dist-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.add-training-library-dist-unit{font-size:var(--text-sm);color:var(--text-secondary)}[data-theme=dark] .add-training-library-dist-input{border-color:var(--gray-600);background:var(--bg-primary);color:var(--text-primary)}.add-training-library-ofp-params{display:flex;align-items:center;gap:4px;flex-shrink:0}.add-training-library-ofp-input{width:44px;padding:var(--space-1) var(--space-2);font-size:var(--text-sm);border:1px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);text-align:right;-moz-appearance:textfield}.add-training-library-ofp-input::-webkit-inner-spin-button,.add-training-library-ofp-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.add-training-library-ofp-input.add-training-library-ofp-weight{width:48px}.add-training-library-ofp-sep{font-size:var(--text-sm);color:var(--text-secondary);-webkit-user-select:none;user-select:none}[data-theme=dark] .add-training-library-ofp-input{border-color:var(--gray-600);background:var(--bg-primary);color:var(--text-primary)}.add-training-loading,.add-training-empty-lib{margin:0;font-size:var(--text-sm);color:var(--text-secondary)}[data-theme=dark] .add-training-run-calc .add-training-input,[data-theme=dark] .add-training-interval .add-training-input,[data-theme=dark] .add-training-fartlek .add-training-input,[data-theme=dark] .add-training-run-calc .add-training-select,[data-theme=dark] .add-training-interval .add-training-select,[data-theme=dark] .add-training-fartlek .add-training-select{color:#fff;border-color:var(--gray-500);background:var(--bg-primary)}.add-training-custom-hint{margin:0 0 var(--space-3) 0;font-size:var(--text-sm);color:var(--text-secondary)}.add-training-custom-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.add-training-custom-name{flex:1;min-width:140px}.add-training-custom-dist,.add-training-custom-ofp,.add-training-custom-weight{width:70px}.add-training-custom-add{flex-shrink:0}.add-training-custom-list{margin:var(--space-3) 0 0 0;display:flex;flex-direction:column;gap:var(--space-2)}.add-training-custom-item{border-color:var(--primary-200);background:var(--primary-50)}[data-theme=dark] .add-training-custom-item{background:#fc4c020f;border-color:#fc4c0240}.add-training-custom-remove-btn{flex-shrink:0;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;line-height:1;color:var(--text-secondary);background:transparent;border:1px solid var(--gray-200);border-radius:var(--radius-md);cursor:pointer;transition:color .15s,background .15s,border-color .15s;padding:0}.add-training-custom-remove-btn:hover{color:var(--danger-600);background:var(--danger-50);border-color:var(--danger-300)}[data-theme=dark] .add-training-custom-remove-btn{border-color:var(--gray-600);color:var(--gray-400)}[data-theme=dark] .add-training-custom-remove-btn:hover{color:var(--danger-400);background:#ef44441f;border-color:var(--danger-500)}.add-training-form .form-group label{display:block;margin-bottom:var(--space-2);font-weight:var(--font-semibold);color:var(--text-primary)}.form-group--row{display:flex;align-items:center;gap:var(--space-2)}.form-group--row label{margin-bottom:0}.add-training-error{padding:var(--space-3);background:var(--danger-50);color:var(--danger-600);border-radius:var(--radius-md);font-size:var(--text-sm)}[data-theme=dark] .add-training-error{background:#ef444426;color:var(--danger-500)}.add-training-form .form-actions{display:flex;gap:var(--space-3);justify-content:flex-end;padding-top:var(--space-4);border-top:1px solid var(--gray-200);margin:0}[data-theme=dark] .add-training-form .form-actions{border-top-color:var(--card-border)}[data-theme=dark] .add-training-form .form-group label[for=add-training-desc],[data-theme=dark] .add-training-form .form-group--row label[for=add-training-key]{color:#fff}.monthly-calendar{width:100%;max-width:var(--page-max-width);margin:0 auto;padding:20px}.monthly-calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;padding:0}.month-title{display:flex;align-items:center;gap:16px}.month-title h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--gray-900, #111827)}.month-nav-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--gray-100, #f3f4f6);border:1px solid var(--gray-300, #d1d5db);border-radius:8px;font-size:1.5rem;color:var(--gray-700, #374151);cursor:pointer;transition:all .2s}.month-nav-btn:hover{background:var(--gray-200, #e5e7eb);border-color:var(--gray-400, #9ca3af)}.monthly-calendar-grid{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.monthly-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:var(--gray-50, #f9fafb);border-bottom:2px solid var(--gray-200, #e5e7eb)}.weekday-header{padding:12px;text-align:center;font-weight:600;font-size:.875rem;color:var(--gray-600, #4b5563);text-transform:uppercase;letter-spacing:.5px}.monthly-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--gray-200, #e5e7eb)}.month-day-cell{width:100%;min-height:0;background:#fff;padding:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer;transition:all .2s;position:relative;box-sizing:border-box}@media (min-width: 769px){.monthly-calendar{padding-left:10%;padding-right:10%}.month-day-cell{aspect-ratio:1 / .8}}.month-day-cell:hover{background:var(--gray-50, #f9fafb);z-index:1;box-shadow:0 2px 8px #0000001a}.month-day-cell.empty{background:var(--gray-50, #f9fafb);cursor:default}.month-day-cell.today{background:var(--primary-50, #FFF4F0);border:2px solid var(--primary-500, #FC4C02)}.month-day-cell.completed{background:var(--success-50, #F0FDF4)}.month-day-cell.has-plan{border-left:3px solid var(--primary-400, #60a5fa)}.day-number{font-weight:600;font-size:1rem;color:var(--gray-900, #111827);margin-bottom:4px}.month-day-cell.today .day-number{color:var(--primary-700, #C03000);font-weight:700}.plan-indicator{font-size:1.2rem;margin-bottom:4px;line-height:1}.completed-indicator{position:absolute;top:8px;right:8px;font-size:1rem}.workout-info{margin-top:4px;font-size:.7rem;color:var(--gray-600, #4b5563);display:flex;flex-direction:column;align-items:center;gap:2px;line-height:1.2}.workout-type{font-weight:700;font-size:.65rem;color:var(--gray-700, #374151);text-transform:uppercase;letter-spacing:.3px;display:flex;align-items:center;gap:4px}.key-workout-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--primary-500);flex-shrink:0}[data-theme=dark] .key-workout-dot{background:var(--primary-400)}.workout-distance{font-weight:600;color:var(--success-700, #15803D)}.workout-duration,.workout-pace{font-size:.65rem;color:var(--gray-600, #4b5563)}.rest-indicator{font-size:1rem;opacity:.5;margin-top:auto}.monthly-calendar-legend{display:flex;gap:24px;justify-content:center;margin-top:20px;padding:16px;background:var(--gray-50, #f9fafb);border-radius:8px}.legend-item{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--gray-700, #374151)}.legend-icon{font-size:1.2rem}.legend-swatch{width:14px;height:14px;border-radius:3px;flex-shrink:0;border:1px solid var(--gray-200);background:var(--gray-100)}.legend-swatch--today{border:2px solid var(--primary-500);background:var(--primary-50)}.legend-swatch--plan{border:1px solid var(--gray-200);border-left:2px solid var(--primary-500);background:var(--primary-50)}.legend-swatch--completed{border:1px solid var(--primary-200);background:var(--success-50)}[data-theme=dark] .legend-swatch{background:var(--bg-tertiary);border-color:var(--card-border)}[data-theme=dark] .legend-swatch--today{border-color:var(--primary-500);background:#ff6b3d33}[data-theme=dark] .legend-swatch--plan{border-color:var(--card-border);border-left-color:var(--primary-500);background:#ff6b3d1f}[data-theme=dark] .legend-swatch--completed{border-color:var(--primary-500);background:#22c55e26}[data-theme=dark] .monthly-calendar{background:var(--bg-primary)}[data-theme=dark] .monthly-calendar-header,[data-theme=dark] .month-title h2{color:var(--text-primary)}[data-theme=dark] .month-nav-btn{background:var(--bg-tertiary)!important;border-color:var(--gray-400)!important;color:var(--text-primary)!important;box-shadow:0 2px 8px #0006,0 1px 2px #0000004d!important}[data-theme=dark] .month-nav-btn:hover{background:linear-gradient(135deg,#ff6b3d40,#ff6b3d26)!important;border-color:var(--primary-500)!important;color:var(--primary-500)!important;box-shadow:0 6px 20px #ff6b3d59,0 2px 6px #ff6b3d40!important}[data-theme=dark] .monthly-calendar-grid{background:var(--card-bg);border:1px solid var(--gray-400);box-shadow:0 4px 24px #00000080,0 1px 3px #0000004d}[data-theme=dark] .monthly-calendar-weekdays{background:var(--bg-secondary);border-bottom:2px solid var(--gray-400)}[data-theme=dark] .weekday-header{color:var(--text-secondary);font-weight:600}[data-theme=dark] .monthly-calendar-days{background:var(--gray-400);gap:1px}[data-theme=dark] .month-day-cell{background:var(--card-bg);border:none}[data-theme=dark] .month-day-cell:hover{background:var(--bg-tertiary);z-index:1;box-shadow:0 8px 28px #0009,0 4px 8px #0006}[data-theme=dark] .month-day-cell.empty{background:var(--bg-primary);opacity:.5}[data-theme=dark] .month-day-cell.today{background:linear-gradient(135deg,#ff6b3d40,#ff6b3d26);border:2px solid var(--primary-500);box-shadow:0 6px 24px #ff6b3d59,0 2px 8px #ff6b3d33}[data-theme=dark] .month-day-cell.today .day-number{color:var(--primary-500);font-weight:700}[data-theme=dark] .month-day-cell.completed{background:linear-gradient(135deg,#22c55e40,#22c55e26);border-color:var(--success-500);border-width:2px;box-shadow:0 4px 16px #22c55e40}[data-theme=dark] .month-day-cell.has-plan{border-left:3px solid var(--primary-500)}[data-theme=dark] .day-number{color:var(--text-primary);font-weight:600}[data-theme=dark] .workout-info{color:var(--text-secondary);font-size:.7rem}[data-theme=dark] .workout-type{color:var(--text-primary);font-weight:700}[data-theme=dark] .workout-distance{color:var(--success-500);font-weight:600}[data-theme=dark] .workout-duration,[data-theme=dark] .workout-pace{color:var(--text-secondary)}[data-theme=dark] .rest-indicator{opacity:.7}[data-theme=dark] .plan-indicator{opacity:.9}[data-theme=dark] .completed-indicator{opacity:1}[data-theme=dark] .monthly-calendar-legend{background:var(--card-bg);border:1px solid var(--gray-400);box-shadow:0 2px 8px #0006,0 1px 2px #0000004d}@media (max-width: 768px){.monthly-calendar{padding:0}.monthly-calendar-header{margin-bottom:12px;padding:0 4px}.month-title h2{font-size:16px;font-weight:600}.month-nav-btn{width:40px;height:40px;border-radius:8px;font-size:20px}.monthly-calendar-grid{border-radius:8px;overflow:hidden}.monthly-calendar-weekdays{gap:2px;margin-bottom:4px;padding:0}.weekday-header{font-size:11px;font-weight:600;padding:4px 0}.monthly-calendar-days{gap:2px}.month-day-cell{aspect-ratio:1;min-height:0;padding:4px;border-radius:4px;border:1px solid var(--gray-200);background:var(--gray-100)}.month-day-cell.empty{background:transparent;border:none}.month-day-cell.today{border-width:2px;border-color:var(--primary-500);background:var(--primary-50)}.month-day-cell.has-plan{border:1px solid var(--gray-200);border-left:1px solid var(--primary-500);background:var(--primary-50)}.month-day-cell.completed{border-width:2px;border-color:var(--primary-500);background:var(--success-50)}.day-number{font-size:9px;font-weight:500;margin-bottom:2px}.plan-indicator,.completed-indicator{display:none}.workout-info{font-size:.65rem;margin-top:0;gap:0}.monthly-calendar .workout-distance{font-size:10px;font-weight:700}.monthly-calendar .workout-type,.monthly-calendar .workout-duration,.monthly-calendar .workout-pace{display:none}.rest-indicator{font-size:12px}.monthly-calendar-legend{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:16px;padding:12px}[data-theme=dark] .month-title h2{color:var(--text-primary)}[data-theme=dark] .monthly-calendar-grid{background:var(--card-bg);border:1px solid var(--card-border);box-shadow:0 2px 8px #0000004d}[data-theme=dark] .monthly-calendar-weekdays{background:var(--bg-secondary);border-bottom-color:var(--card-border)}[data-theme=dark] .weekday-header{color:var(--text-secondary)}[data-theme=dark] .monthly-calendar-days{background:transparent}[data-theme=dark] .month-day-cell{background:var(--bg-tertiary);border-color:var(--card-border)}[data-theme=dark] .month-day-cell.empty{background:transparent;border:none}[data-theme=dark] .month-day-cell.today{background:#ff6b3d33;border-color:var(--primary-500)}[data-theme=dark] .month-day-cell.has-plan{border:1px solid var(--card-border);border-left:1px solid var(--primary-500);background:#ff6b3d1f}[data-theme=dark] .month-day-cell.completed{border-color:var(--primary-500);background:#22c55e26}[data-theme=dark] .day-number{color:var(--text-primary)}[data-theme=dark] .month-day-cell.today .day-number{color:var(--primary-400)}[data-theme=dark] .monthly-calendar .workout-distance{color:var(--success-500)}[data-theme=dark] .rest-indicator{opacity:.8}[data-theme=dark] .monthly-calendar-legend{background:var(--card-bg);border:1px solid var(--card-border)}[data-theme=dark] .legend-item{color:var(--text-secondary)}}.short-desc{display:flex;flex-direction:column;gap:6px}.short-desc-title{font-weight:700;font-size:.9em;color:var(--gray-900);line-height:1.3}.short-desc-title strong{font-weight:700}.short-desc-details{font-size:.85em;color:var(--gray-600);line-height:1.4}.training-content .more-info{margin-top:8px;font-size:.75em;color:var(--primary-color);font-style:italic;opacity:.7;cursor:pointer;transition:opacity .2s ease}.training-content:hover .more-info{opacity:1}.rest-day .short-desc-title{color:var(--gray-700)}@media (max-width: 768px){.short-desc-title{font-size:.85em}.short-desc-details{font-size:.8em}.training-content .more-info{font-size:.7em}}.container{max-width:var(--page-max-width);margin:0 auto;padding:var(--page-padding);background:var(--bg-primary);min-height:100vh;padding-bottom:var(--page-padding-bottom)}@media (max-width: 1023px){.container{padding-bottom:var(--mobile-content-padding-bottom)}}[data-theme=dark] .container{background:var(--bg-primary)}@media (min-width: 1024px){.container{padding-top:var(--page-top-desktop)}}.header{background:var(--gradient-primary);border-radius:var(--radius-2xl);padding:var(--space-8) var(--space-6);margin-bottom:var(--space-6);box-shadow:var(--shadow-lg);color:#fff;width:100%;box-sizing:border-box}[data-theme=dark] .header{box-shadow:0 4px 16px #ff6b3d40}.header h1{font-size:var(--text-3xl);font-weight:var(--font-extrabold);margin:0 0 var(--space-2) 0;letter-spacing:-.02em;color:#fff}.header .subtitle{font-size:var(--text-base);font-weight:var(--font-medium);opacity:.95;color:#fff}.controls{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap;margin-bottom:var(--space-6);padding:var(--space-4) var(--space-5);background:var(--bg-primary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-md);border:1px solid var(--gray-200);transition:box-shadow var(--transition-slow);width:100%;box-sizing:border-box}.controls:hover{box-shadow:0 4px 16px #00000014,0 2px 6px #0000000d}[data-theme=dark] .controls{background:var(--bg-secondary)!important;border-radius:var(--radius-2xl)!important;padding:var(--space-4) var(--space-5)!important;border:1px solid var(--gray-300)!important;box-shadow:var(--shadow-lg)!important}[data-theme=dark] .controls:hover{box-shadow:0 6px 24px #00000080,0 2px 6px #0006!important}.progress-indicator{margin-left:auto;padding:var(--space-3) var(--space-5);background:linear-gradient(135deg,var(--primary-50) 0%,rgba(255,107,61,.1) 100%);border-radius:var(--radius-xl);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--primary-700);border:2px solid var(--primary-200);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base),transform var(--transition-base)}.progress-indicator:hover{box-shadow:0 4px 12px #fc4c0233;transform:translateY(-1px)}[data-theme=dark] .progress-indicator{background:linear-gradient(135deg,#ff6b3d33,#ff6b3d1f)!important;border-color:#ff6b3d66!important;color:var(--primary-500)!important;box-shadow:0 2px 8px #ff6b3d33!important}.progress-indicator strong{font-size:16px;font-weight:800;color:var(--primary-600)}[data-theme=dark] .progress-indicator strong{color:var(--primary-500)}.content{margin-top:0;overflow:visible}.week-calendar-container:has(.monthly-calendar){padding-top:0}.calendar-view-toggle{display:flex;gap:10px;margin:0 0 20px;padding:0;justify-content:center;width:100%;box-sizing:border-box;overflow:visible}@media (max-width: 1023px){.container.calendar-screen{padding-left:0;padding-right:0}.container.calendar-screen .content{padding-top:0}.week-calendar-container:has(.monthly-calendar){padding:0;border:none;border-radius:unset}}.calendar-container{min-height:100vh;background-color:var(--bg-primary)}@media (min-width: 1024px){.calendar-container{padding-top:88px}}.calendar-header{background:var(--card-bg);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--card-border);display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:100}[data-theme=dark] .calendar-header{background:var(--bg-secondary)!important;border-bottom-color:var(--gray-300)!important}.calendar-header h1{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary)}.calendar-header nav{display:flex;gap:var(--space-4)}.calendar-header nav a{color:var(--info-500);text-decoration:none;font-weight:var(--font-medium);transition:color var(--transition-base)}.calendar-header nav a:hover{color:var(--info-600)}.calendar-content{padding:var(--space-6);max-width:var(--page-max-width);margin:0 auto}.loading{text-align:center;padding:var(--space-10);color:var(--text-secondary)}.empty-container{text-align:center;padding:var(--space-16) var(--space-10)}.empty-text{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-2)}.empty-subtext{font-size:var(--text-sm);color:var(--text-secondary)}.calendar-view-toggle{display:flex;gap:10px;margin:0 0 20px;padding:0;justify-content:center;width:100%;box-sizing:border-box}@media (max-width: 1023px){.calendar-view-toggle{justify-content:space-between;gap:12px}.calendar-view-toggle .view-toggle-btn{flex:1;min-width:0;justify-content:center}}.view-toggle-btn{padding:var(--space-3) var(--space-6);border-radius:var(--radius-xl);border:2px solid var(--gray-200);background:var(--bg-primary);color:var(--text-secondary);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:border-color var(--transition-slow),color var(--transition-slow),background var(--transition-slow),transform var(--transition-slow),box-shadow var(--transition-slow);display:inline-flex;align-items:center;gap:var(--space-2);letter-spacing:.02em;box-shadow:var(--shadow-sm)}.view-toggle-btn:hover{border-color:var(--primary-500);color:var(--primary-500);background:var(--primary-50);transform:translateY(-2px);box-shadow:0 4px 12px #fc4c0226}.view-toggle-btn.active{background:var(--primary-500);border-color:var(--primary-500);color:#fff;box-shadow:0 4px 16px #fc4c024d,0 2px 6px #fc4c0233;transform:translateY(-2px)}[data-theme=dark] .view-toggle-btn{background:var(--card-bg)!important;border-color:var(--card-border)!important;color:var(--text-primary)!important;box-shadow:0 2px 6px #0000004d!important}[data-theme=dark] .view-toggle-btn:hover{background:var(--bg-tertiary)!important;border-color:var(--primary-500)!important;color:var(--primary-500)!important;box-shadow:0 4px 12px #ff6b3d33!important}[data-theme=dark] .view-toggle-btn.active{background:var(--primary-500)!important;border-color:var(--primary-500)!important;color:#fff!important;box-shadow:0 4px 20px #ff6b3d66,0 2px 6px #ff6b3d4d!important}.calendar-header-row{display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin-bottom:var(--space-5)}.calendar-header-row .calendar-view-toggle{margin-bottom:0}.calendar-plan-actions{display:flex;gap:var(--space-2);align-items:center}.btn-next-plan{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-xl);font-size:var(--text-sm);font-weight:var(--font-semibold)}.btn-next-plan svg{flex-shrink:0}.btn-recalculate{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-xl);border:1.5px solid var(--gray-200);background:var(--bg-primary);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.btn-recalculate:hover:not(:disabled){border-color:var(--primary-500);color:var(--primary-500);background:var(--primary-50)}.btn-recalculate:disabled{opacity:.6;cursor:not-allowed}.btn-recalculate svg{flex-shrink:0}.btn-spinner{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}[data-theme=dark] .btn-recalculate{background:var(--card-bg);border-color:var(--card-border);color:var(--text-secondary)}[data-theme=dark] .btn-recalculate:hover:not(:disabled){border-color:var(--primary-500);color:var(--primary-500);background:#ff6b3d1a}.recalc-confirm-modal{max-width:420px;margin:20vh auto;padding:var(--space-6);background:var(--card-bg);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl)}.recalc-confirm-modal h3{margin:0 0 var(--space-3);font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary)}.recalc-confirm-modal p{margin:0 0 var(--space-3);font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.recalc-confirm-note{font-size:var(--text-xs)!important;color:var(--success-600)!important;font-weight:var(--font-medium)}.recalc-reason-hints{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.recalc-hint-chip{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);border:1.5px solid var(--gray-200);background:var(--bg-primary);color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.recalc-hint-chip:hover{border-color:var(--primary-500);color:var(--primary-500);background:var(--primary-50)}.recalc-hint-chip.active{border-color:var(--primary-500);background:var(--primary-50);color:var(--primary-600)}[data-theme=dark] .recalc-hint-chip{background:var(--bg-secondary);border-color:var(--card-border);color:var(--text-secondary)}[data-theme=dark] .recalc-hint-chip:hover,[data-theme=dark] .recalc-hint-chip.active{border-color:var(--primary-500);background:#ff6b3d1a;color:var(--primary-500)}.recalc-reason-input{width:100%;padding:var(--space-3);border:1.5px solid var(--gray-200);border-radius:var(--radius-lg);background:var(--bg-primary);color:var(--text-primary);font-size:var(--text-sm);font-family:inherit;line-height:1.5;resize:vertical;min-height:80px;transition:border-color var(--transition-fast);box-sizing:border-box}.recalc-reason-input:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #fc4c021a}.recalc-reason-input::placeholder{color:var(--text-tertiary)}[data-theme=dark] .recalc-reason-input{background:var(--bg-secondary);border-color:var(--card-border);color:var(--text-primary)}[data-theme=dark] .recalc-reason-input:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #ff6b3d26}.recalc-confirm-actions{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-5)}.recalc-confirm-actions .btn{padding:var(--space-2) var(--space-5);font-size:var(--text-sm)}@media (max-width: 1023px){.calendar-header-row{flex-wrap:wrap}.btn-recalculate,.btn-next-plan{font-size:var(--text-xs);padding:var(--space-2) var(--space-3)}.recalc-confirm-modal{margin:10vh var(--space-4);max-width:none}.recalc-reason-hints{gap:var(--space-1)}.recalc-hint-chip{font-size:11px;padding:3px var(--space-2)}.plan-completed-banner{flex-direction:column;text-align:center;gap:var(--space-3)}.plan-completed-banner__text{flex-direction:column;text-align:center}}.plan-completed-banner{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);margin-bottom:var(--space-4);background:linear-gradient(135deg,var(--primary-50),var(--success-50, rgba(16, 185, 129, .05)));border:1px solid var(--primary-200, rgba(255, 107, 61, .2));border-radius:var(--radius-xl)}.plan-completed-banner__icon{flex-shrink:0;color:var(--success-500, #10b981)}.plan-completed-banner__text{display:flex;flex-direction:column;gap:var(--space-1);flex:1;min-width:0}.plan-completed-banner__text strong{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--text-primary)}.plan-completed-banner__text span{font-size:var(--text-sm);color:var(--text-secondary)}[data-theme=dark] .plan-completed-banner{background:linear-gradient(135deg,#ff6b3d14,#10b9810f);border-color:#ff6b3d26}.plan-generating-banner{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);margin-bottom:var(--space-4);background:var(--primary-50);border:1px solid var(--primary-200, rgba(255, 107, 61, .2));border-radius:var(--radius-xl);font-size:var(--text-sm);color:var(--text-secondary)}[data-theme=dark] .plan-generating-banner{background:#ff6b3d14;border-color:#ff6b3d26}.stats-screen{max-width:var(--page-max-width);margin:0 auto;padding:var(--page-padding);background:var(--gray-50);min-height:100vh;padding-bottom:var(--page-padding-bottom);overflow-y:auto;-webkit-overflow-scrolling:touch;position:relative;box-sizing:border-box}@media (max-width: 1023px){.stats-screen{padding-bottom:var(--mobile-content-padding-bottom)}}@media (min-width: 1024px){.stats-screen{padding-top:var(--page-top-desktop)}}.stats-loading,.stats-empty{text-align:center;padding:60px 20px;color:var(--gray-600)}.empty-icon{font-size:64px;margin-bottom:16px}.empty-text{font-size:18px}.stats-header{background:var(--gradient-primary);border-radius:20px;padding:32px 28px;margin-bottom:28px;box-shadow:0 4px 16px #fc4c0233;color:#fff;width:100%;box-sizing:border-box}[data-theme=dark] .stats-header{box-shadow:0 4px 16px #ff6b3d40}.stats-title{font-size:32px;font-weight:800;letter-spacing:-.5px;color:#fff;margin:0}.stats-time-range{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px;padding:16px;background:var(--card-bg);border-radius:12px;box-shadow:var(--shadow-md)}[data-theme=dark] .stats-time-range{background:var(--card-bg);box-shadow:var(--shadow-md)}.time-range-btn{padding:8px 16px;border-radius:8px;border:1px solid var(--gray-200);background:#fff;color:var(--gray-700);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.time-range-btn:hover{border-color:var(--primary-500);color:var(--primary-500)}.time-range-btn.active{background:var(--primary-500);border-color:var(--primary-500);color:#fff}.stats-tabs{display:flex;gap:8px;margin-bottom:24px;background:#fff;border-radius:12px;padding:4px;box-shadow:0 2px 8px #00000014}[data-theme=dark] .stats-tabs{background:var(--card-bg);box-shadow:0 2px 8px #0000004d}.stats-tab{flex:1;padding:12px 16px;border-radius:8px;border:none;background:transparent;color:var(--gray-600);font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease}.stats-tab:hover{background:var(--gray-50);color:var(--gray-900)}[data-theme=dark] .stats-tab:hover{background:var(--bg-secondary);color:var(--text-primary)}.stats-tab.active{background:var(--primary-500);color:#fff}.stats-content{display:flex;flex-direction:column;gap:24px}.stats-metrics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media (min-width: 900px){.stats-metrics-grid{grid-template-columns:repeat(4,1fr)}}.stats-metrics-grid .dashboard-stat-metric-card{background:var(--gray-50);border-radius:16px;padding:16px;border:1px solid var(--gray-200);display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.stats-metrics-grid .dashboard-stat-metric-card__label{display:flex;align-items:center;justify-content:center;gap:6px;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--gray-600)}.stats-metrics-grid .dashboard-stat-metric-card__icon{font-size:1rem;line-height:1;flex-shrink:0}.stats-metrics-grid .dashboard-stat-metric-card__value{display:flex;align-items:baseline;justify-content:center;gap:4px;flex-wrap:wrap}.stats-metrics-grid .dashboard-stat-metric-card__number{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--gray-900);font-variant-numeric:tabular-nums;line-height:1.2}.stats-metrics-grid .dashboard-stat-metric-card__unit{font-size:var(--text-sm);color:var(--gray-600);font-weight:var(--font-medium)}[data-theme=dark] .stats-metrics-grid .dashboard-stat-metric-card{background:var(--bg-tertiary);border:1px solid var(--card-border)}[data-theme=dark] .stats-metrics-grid .dashboard-stat-metric-card__label{color:var(--text-secondary)}[data-theme=dark] .stats-metrics-grid .dashboard-stat-metric-card__number{color:var(--text-primary)}[data-theme=dark] .stats-metrics-grid .dashboard-stat-metric-card__unit{color:var(--text-secondary)}.stats-chart-section{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 8px #00000014;width:100%;max-width:100%;overflow:hidden;box-sizing:border-box}[data-theme=dark] .stats-chart-section{background:var(--card-bg);color:var(--text-primary)}.chart-mobile{display:block;width:100%;max-width:100%;overflow:hidden;box-sizing:border-box}.chart-desktop{display:none;width:100%;max-width:100%;overflow:hidden;box-sizing:border-box}@media (min-width: 768px){.chart-mobile{display:none}.chart-desktop{display:block}}.activity-heatmap{margin-top:24px;width:100%;max-width:100%;overflow:hidden}.heatmap-header{margin-bottom:16px}.heatmap-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding:0 8px}.heatmap-nav-btn{background:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px;color:var(--text-primary);transition:all .2s ease;flex-shrink:0}.heatmap-nav-btn:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--primary-500);color:var(--primary-500)}.heatmap-nav-btn:disabled{opacity:.3;cursor:not-allowed}.heatmap-nav-indicator{font-size:12px;font-weight:600;color:var(--text-secondary);padding:0 16px}.heatmap-months-container{position:relative;overflow:hidden;touch-action:pan-y;width:100%;max-width:100%;box-sizing:border-box}.heatmap-months-wrapper{overflow:hidden;position:relative}.heatmap-months-slider{display:flex;width:100%;will-change:transform}.heatmap-months{display:flex;flex-direction:column;gap:24px;min-width:100%;flex-shrink:0}.heatmap-month{display:flex;flex-direction:column;gap:8px;min-width:100%;flex-shrink:0}.heatmap-month-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:8px;text-transform:capitalize}.heatmap-calendar{display:flex;flex-direction:column;gap:4px;width:100%;max-width:100%;min-width:0}.heatmap-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;margin-bottom:4px;width:100%;max-width:100%;box-sizing:border-box}.heatmap-weekday{font-size:11px;font-weight:600;color:var(--gray-600);text-align:center;padding:4px 0}[data-theme=dark] .heatmap-weekday{color:var(--text-secondary)}.heatmap-days-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;width:100%;max-width:100%;min-width:0;box-sizing:border-box}.heatmap-day{width:100%;aspect-ratio:1;border-radius:4px;background:var(--gray-100);border:1px solid var(--gray-200);position:relative;cursor:pointer;transition:all .15s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;min-width:0;box-sizing:border-box}[data-theme=dark] .heatmap-day{background:var(--gray-800);border-color:var(--card-border)}.heatmap-day.empty{background:transparent;border:none;cursor:default}.heatmap-day.has-activity{border-color:var(--primary-500);border-width:2px}.heatmap-day:hover{transform:scale(1.1);z-index:1;box-shadow:0 2px 8px #0003}.heatmap-day-number{font-size:8px;color:var(--gray-600);line-height:1;margin-bottom:2px;font-weight:500}[data-theme=dark] .heatmap-day-number{color:var(--text-secondary)}.heatmap-day.has-activity .heatmap-day-number{color:var(--text-on-primary);font-weight:600}.heatmap-day-value{font-size:10px;font-weight:700;color:var(--text-on-primary);text-shadow:0 1px 2px rgba(0,0,0,.3);line-height:1}.heatmap-tooltip{position:fixed;background:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;padding:10px 12px;box-shadow:var(--shadow-lg);z-index:1000;min-width:150px;max-width:200px}[data-theme=dark] .heatmap-tooltip{background:var(--card-bg);box-shadow:var(--shadow-lg)}.tooltip-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.tooltip-date{font-size:12px;font-weight:600;color:var(--text-primary)}.tooltip-close{background:none;border:none;color:var(--text-secondary);font-size:20px;line-height:1;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.tooltip-close:hover{color:var(--text-primary)}.tooltip-distance{font-size:16px;font-weight:700;color:var(--primary-500);margin-bottom:4px}.tooltip-workouts{font-size:11px;color:var(--text-secondary)}.heatmap-legend{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--gray-200)}[data-theme=dark] .heatmap-legend{border-top-color:var(--card-border)}.legend-text{font-size:11px;color:var(--gray-600)}[data-theme=dark] .legend-text{color:var(--text-secondary)}.legend-gradient{display:flex;gap:2px}.gradient-step{width:12px;height:12px;border-radius:2px;background:var(--primary-500);border:1px solid var(--gray-200)}[data-theme=dark] .gradient-step{border-color:var(--card-border)}@media (max-width: 767px){.heatmap-day{min-height:32px}.heatmap-day-label{height:32px;line-height:32px}.heatmap-day-value{font-size:11px}.heatmap-day-number{font-size:9px}.heatmap-grid{gap:3px}.heatmap-container{gap:6px}.heatmap-week-label{font-size:8px}}.chart-tooltip{position:fixed;background:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;padding:8px 12px;box-shadow:var(--shadow-lg);z-index:1000;pointer-events:none;white-space:nowrap;margin-bottom:8px}[data-theme=dark] .chart-tooltip{background:var(--card-bg);box-shadow:var(--shadow-lg)}.tooltip-date{font-size:12px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.tooltip-distance{font-size:14px;font-weight:700;color:var(--primary-500)}.tooltip-workouts{font-size:11px;color:var(--text-secondary);margin-top:2px}.chart-tooltip:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid var(--card-bg)}[data-theme=dark] .chart-tooltip:after{border-top-color:var(--card-bg)}.distance-chart{width:100%;max-width:100%;overflow:hidden;box-sizing:border-box}.chart-header{display:flex;justify-content:flex-start;align-items:center;margin-bottom:16px}.chart-legend{display:flex;gap:16px}.legend-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--gray-600)}[data-theme=dark] .legend-item{color:var(--text-secondary)}.legend-color{width:12px;height:12px;border-radius:2px}.chart-bars-container{display:flex;gap:8px;position:relative;min-height:200px;width:100%;max-width:100%;overflow:hidden;box-sizing:border-box}.chart-y-axis{display:flex;flex-direction:column;justify-content:space-between;height:200px;padding:8px 0;min-width:35px;flex-shrink:0}.y-axis-label{font-size:11px;color:var(--gray-500);text-align:right;line-height:1;height:0;position:relative}.y-axis-label:first-child{top:-6px}.y-axis-label:last-child{bottom:-6px}[data-theme=dark] .y-axis-label{color:var(--text-secondary)}.chart-bars-wrapper{flex:1;overflow:hidden;width:100%;max-width:100%;min-width:0;box-sizing:border-box}.chart-bars{display:flex;align-items:flex-end;gap:1px;height:200px;padding:0 4px;position:relative;border-bottom:1px solid var(--gray-200);width:100%;box-sizing:border-box}[data-theme=dark] .chart-bars{border-bottom-color:var(--card-border)}.chart-bar-container{flex:1 1 0;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;position:relative;cursor:pointer;min-width:0;max-width:100%;box-sizing:border-box}.chart-bar-container.weekend{opacity:.7}.chart-bar-wrapper{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;position:relative}.chart-bar{width:100%;background:var(--gradient-primary);border-radius:4px 4px 0 0;transition:all .2s ease;min-width:4px;position:relative}.chart-bar-container:hover .chart-bar{opacity:.8;transform:scaleY(1.05)}.chart-bar-empty{width:100%;height:2px;background:var(--gray-200);border-radius:2px;opacity:.3}[data-theme=dark] .chart-bar-empty{background:var(--gray-600)}.chart-bar-dots{position:absolute;top:-10px;display:flex;gap:2px;justify-content:center;width:100%;z-index:1}.chart-dot{width:4px;height:4px;background:var(--primary-500);border-radius:50%;box-shadow:0 0 2px #0003}.chart-label{font-size:10px;color:var(--gray-600);margin-top:8px;text-align:center;white-space:nowrap;position:absolute;bottom:-24px;left:50%;transform:translate(-50%);width:max-content;max-width:60px;overflow:hidden;text-overflow:ellipsis}[data-theme=dark] .chart-label{color:var(--text-secondary)}.chart-summary{display:flex;justify-content:space-around;margin-top:40px;padding-top:16px;border-top:1px solid var(--gray-200);gap:16px;flex-wrap:wrap}[data-theme=dark] .chart-summary{border-top-color:var(--card-border)}.summary-item{display:flex;flex-direction:column;align-items:center;gap:4px}.summary-label{font-size:12px;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px}[data-theme=dark] .summary-label{color:var(--text-secondary)}.summary-value{font-size:18px;font-weight:600;color:var(--primary-500)}@media (min-width: 768px){.chart-bars-container{gap:8px;max-width:100%}.chart-y-axis{min-width:30px}.chart-bar-container{min-width:0;flex:1 1 0}.chart-label{font-size:10px}}.chart-empty{text-align:center;padding:40px;color:var(--gray-500)}.weekly-progress-chart{display:flex;flex-direction:column;gap:16px}.week-bar-container{display:flex;flex-direction:column;gap:8px}.week-bar-info{display:flex;justify-content:space-between;align-items:center}.week-bar-label{font-size:14px;font-weight:600;color:var(--gray-900)}.week-bar-value{font-size:14px;font-weight:600;color:var(--primary-500)}.week-bar{width:100%;height:12px;background:var(--gray-200);border-radius:6px;overflow:hidden}.week-bar-fill{height:100%;background:var(--gradient-primary);border-radius:6px;transition:width .5s ease}.stats-recent-workouts{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 8px #00000014}[data-theme=dark] .stats-recent-workouts{background:var(--card-bg);color:var(--text-primary)}.recent-workouts-list{display:flex;flex-direction:column;gap:12px}.workout-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--gray-50);border-radius:12px;transition:all .2s ease}[data-theme=dark] .workout-item{background:var(--card-bg);color:var(--text-primary)}.workout-item:hover{background:var(--gray-100);transform:translate(4px)}.workout-item-date{font-size:14px;font-weight:600;color:var(--gray-900)}[data-theme=dark] .workout-item-date{color:var(--text-primary)}.workout-item-metrics{display:flex;gap:16px;flex-wrap:wrap}.workout-metric{font-size:14px;color:var(--gray-600)}[data-theme=dark] .workout-metric{color:var(--text-secondary)}.workouts-empty{text-align:center;padding:40px;color:var(--gray-500)}.workouts-show-all-btn{margin-top:16px;padding:12px 24px;background:var(--primary-500);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%}.workouts-show-all-btn:hover{background:var(--primary-600);transform:translateY(-2px);box-shadow:0 4px 12px #fc4c024d}[data-theme=dark] .workouts-show-all-btn{background:var(--primary-600)}[data-theme=dark] .workouts-show-all-btn:hover{background:var(--primary-700)}.workout-details-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}.workout-details-modal{background:#fff;border-radius:16px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}[data-theme=dark] .workout-details-modal{background:var(--card-bg);color:var(--text-primary)}.workout-details-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--gray-200)}[data-theme=dark] .workout-details-modal-header{border-bottom-color:var(--card-border)}.workout-details-modal-title{font-size:24px;font-weight:700;color:var(--gray-900);margin:0}[data-theme=dark] .workout-details-modal-title{color:var(--text-primary)}.workout-details-modal-close{background:none;border:none;font-size:32px;color:var(--gray-500);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.workout-details-modal-close:hover{background:var(--gray-100);color:var(--gray-900)}[data-theme=dark] .workout-details-modal-close{color:var(--text-secondary)}[data-theme=dark] .workout-details-modal-close:hover{background:var(--card-border);color:var(--text-primary)}.workout-details-modal-body{padding:24px}.workout-details-loading,.workout-details-empty{text-align:center;padding:40px;color:var(--gray-500)}.workout-details-list{display:flex;flex-direction:column;gap:20px}.workout-details-item{padding:20px;background:var(--gray-50);border-radius:12px;border:1px solid var(--gray-200)}[data-theme=dark] .workout-details-item{background:var(--card-bg);border-color:var(--card-border)}.workout-details-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.workout-details-item-time{font-size:18px;font-weight:600;color:var(--gray-900)}[data-theme=dark] .workout-details-item-time{color:var(--text-primary)}.workout-details-item-type{font-size:14px;color:var(--gray-600);text-transform:capitalize}[data-theme=dark] .workout-details-item-type{color:var(--text-secondary)}.workout-details-item-metrics{display:flex;flex-direction:column;gap:12px}.workout-details-metric{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--gray-200)}.workout-details-metric:last-child{border-bottom:none}[data-theme=dark] .workout-details-metric{border-bottom-color:var(--card-border)}.workout-details-metric-label{font-size:14px;color:var(--gray-600)}[data-theme=dark] .workout-details-metric-label{color:var(--text-secondary)}.workout-details-metric-value{font-size:16px;font-weight:600;color:var(--gray-900)}[data-theme=dark] .workout-details-metric-value{color:var(--text-primary)}.workout-details-link{color:var(--primary-500);text-decoration:none;font-weight:600;transition:color .2s ease}.workout-details-link:hover{color:var(--primary-600);text-decoration:underline}.workout-details-notes{margin-top:16px;padding-top:16px;border-top:1px solid var(--gray-200)}[data-theme=dark] .workout-details-notes{border-top-color:var(--card-border)}.workout-details-notes-label{font-size:14px;font-weight:600;color:var(--gray-700);display:block;margin-bottom:8px}[data-theme=dark] .workout-details-notes-label{color:var(--text-secondary)}.workout-details-notes-text{font-size:14px;color:var(--gray-600);line-height:1.6}[data-theme=dark] .workout-details-notes-text{color:var(--text-secondary)}.workout-details-plan{margin-top:20px;padding-top:20px;border-top:1px solid var(--gray-200)}[data-theme=dark] .workout-details-plan{border-top-color:var(--card-border)}.workout-details-plan-label{font-size:14px;font-weight:600;color:var(--gray-700);display:block;margin-bottom:12px}[data-theme=dark] .workout-details-plan-label{color:var(--text-secondary)}.workout-details-plan-text{font-size:14px;color:var(--gray-600);line-height:1.6}[data-theme=dark] .workout-details-plan-text{color:var(--text-secondary)}.workout-details-exercises{margin-top:20px;padding-top:20px;border-top:1px solid var(--gray-200)}[data-theme=dark] .workout-details-exercises{border-top-color:var(--card-border)}.workout-details-exercises-label{font-size:14px;font-weight:600;color:var(--gray-700);display:block;margin-bottom:12px}[data-theme=dark] .workout-details-exercises-label{color:var(--text-secondary)}.workout-details-exercises-list{display:flex;flex-direction:column;gap:12px}.workout-details-exercise-item{background:var(--gray-50);border-radius:8px}[data-theme=dark] .workout-details-exercise-item{background:var(--card-bg)}.workout-details-exercise-name{font-size:15px;font-weight:600;color:var(--gray-900);margin-bottom:8px}[data-theme=dark] .workout-details-exercise-name{color:var(--text-primary)}.workout-details-exercise-category{font-size:13px;font-weight:400;color:var(--gray-500)}[data-theme=dark] .workout-details-exercise-category{color:var(--text-secondary)}.workout-details-exercise-details{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--gray-600);margin-bottom:8px}[data-theme=dark] .workout-details-exercise-details{color:var(--text-secondary)}.workout-details-exercise-details span{padding:4px 8px;background:var(--gray-100);border-radius:4px}[data-theme=dark] .workout-details-exercise-details span{background:var(--card-border)}.workout-details-exercise-notes{font-size:13px;color:var(--gray-500);font-style:italic;margin-top:8px}[data-theme=dark] .workout-details-exercise-notes{color:var(--text-secondary)}.workout-details-charts{margin-top:16px;margin-bottom:0;display:flex;flex-direction:column;gap:16px}.workout-chart-container{background:var(--gray-50);border-radius:12px;margin-top:0;margin-bottom:0}[data-theme=dark] .workout-chart-container{background:transparent}.workout-chart-svg .workout-chart-area--hr{fill:#ef44441f}.workout-chart-svg .workout-chart-area--pace{fill:#fc4c021a}[data-theme=dark] .workout-chart-svg .workout-chart-area--hr{fill:#ff525240}[data-theme=dark] .workout-chart-svg .workout-chart-area--pace{fill:#ff6b3d33}.workout-chart-svg .workout-chart-marker{stroke:#fff;stroke-width:2}[data-theme=dark] .workout-chart-svg .workout-chart-marker{stroke:var(--bg-primary)}.workout-chart-title{font-size:16px;font-weight:600;color:var(--gray-900)}[data-theme=dark] .workout-chart-title{color:#fff}[data-theme=dark] .workout-chart-title .workout-chart-title-icon{color:var(--danger-500)}.workout-chart-wrapper{width:100%;position:relative;margin:0 auto}.workout-chart-svg{width:100%;height:auto;display:block;min-height:250px;vertical-align:top}.workout-chart-legend{display:flex;gap:16px;margin-top:-35px;margin-bottom:0;font-size:12px;color:var(--gray-600);flex-wrap:wrap}[data-theme=dark] .workout-chart-legend{color:var(--gray-400)}.workout-chart-legend span{display:inline-block}.workout-chart-svg .workout-chart-axis-label{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-weight:400;-webkit-user-select:none;user-select:none}[data-theme=dark] .workout-chart-svg .workout-chart-axis-label{fill:var(--gray-400)}.workout-chart-tooltip{position:fixed;background:var(--gray-900);color:#fff;padding:8px 12px;border-radius:6px;font-size:12px;pointer-events:none;z-index:1000;box-shadow:0 4px 12px #00000026;white-space:nowrap}[data-theme=dark] .workout-chart-tooltip{background:var(--gray-700);color:var(--gray-100)}.workout-chart-tooltip .tooltip-time{font-size:11px;opacity:.9;margin-bottom:2px}.workout-chart-tooltip .tooltip-value{font-size:14px;font-weight:600}@media (max-width: 768px){.workout-chart-svg{min-height:200px}.workout-chart-tooltip{font-size:11px;padding:6px 10px}.workout-chart-tooltip .tooltip-value{font-size:12px}}.plan-progress-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 8px #00000014}[data-theme=dark] .plan-progress-card{background:var(--card-bg);color:var(--text-primary)}.progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.progress-stats{display:flex;align-items:baseline;gap:8px}.progress-value{font-size:var(--text-5xl);font-weight:var(--font-bold);color:var(--primary-500);line-height:1}.progress-separator{font-size:32px;color:var(--gray-400)}.progress-total{font-size:32px;color:var(--gray-600)}.progress-percentage{font-size:24px;font-weight:600;color:var(--gray-600)}.progress-bar-large{width:100%;height:16px;background:var(--gray-200);border-radius:8px;overflow:hidden}.progress-bar-fill-large{height:100%;background:var(--gradient-primary);border-radius:8px;transition:width .5s ease}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.achievement-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 8px #00000014;display:flex;align-items:center;gap:16px;position:relative;transition:all .2s ease}[data-theme=dark] .achievement-card{background:var(--card-bg);border:1px solid var(--card-border);box-shadow:0 2px 8px #0000004d}.achievement-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}[data-theme=dark] .achievement-card:hover{box-shadow:0 4px 12px #00000080}.achievement-card.achieved{background:var(--success-50);border:2px solid var(--success-500)}[data-theme=dark] .achievement-card.achieved{background:#22c55e26;border:2px solid var(--success-500)}.achievement-icon{font-size:48px;line-height:1}.achievement-content{flex:1}.achievement-title{font-size:18px;font-weight:600;color:var(--gray-900);margin-bottom:4px}[data-theme=dark] .achievement-title{color:var(--text-primary)}.achievement-description{font-size:14px;color:var(--gray-600)}[data-theme=dark] .achievement-description{color:var(--text-secondary)}.achievement-badge{position:absolute;top:12px;right:12px;width:32px;height:32px;background:var(--success-500);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700}@media (max-width: 768px){.stats-screen{padding:var(--page-padding-mobile)}.stats-header{flex-direction:column;align-items:stretch}.stats-metrics-grid{grid-template-columns:repeat(2,1fr)}.stats-time-range{margin:0}.chart-bars{gap:2px}.chart-label{font-size:8px}.achievements-grid{grid-template-columns:1fr}.workout-item{padding:10px 0;flex-direction:column;align-items:start}}.container.chat-page{max-width:var(--page-max-width);margin:0 auto;padding:0 var(--space-4) var(--space-4) var(--space-4);height:100vh;max-height:100vh;overflow:hidden;display:flex;flex-direction:column;background:var(--gray-50);box-sizing:border-box}[data-theme=dark] .container.chat-page{background:var(--bg-primary)}@media (min-width: 1024px){.container.chat-page{padding-top:var(--page-top-desktop);height:calc(100vh - var(--page-top-desktop));max-height:calc(100vh - var(--page-top-desktop))}}@media (max-width: 1023px){.container.chat-page{flex:1 1 0;min-height:0;padding:0;height:100%;max-height:100%}}.chat-layout{display:flex;flex:1;min-height:0;overflow:hidden;background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:0 2px 8px #0000000f}@media (max-width: 1023px){.container.chat-page .chat-layout{border-radius:0;box-shadow:none;flex:1 1 0;min-height:0}}[data-theme=dark] .chat-layout{box-shadow:0 2px 8px #0000004d}.chat-sidebar{flex-shrink:0;width:100%;max-width:320px;display:flex;flex-direction:column;border-right:1px solid var(--card-border);background:var(--card-bg);overflow:hidden}.chat-sidebar-header{padding:var(--space-4) var(--space-4) var(--space-3);border-bottom:1px solid var(--card-border);flex-shrink:0;display:flex;flex-direction:column;gap:var(--space-2)}.chat-sidebar-header-row{display:flex;align-items:center;gap:var(--space-2)}.chat-sidebar-title{margin:0;font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary)}.chat-sidebar-tabs{display:flex;gap:var(--space-1);flex:1;min-width:0}.chat-sidebar-tab{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);position:relative}.chat-sidebar-tab:hover{color:var(--text-primary);background:var(--card-border)}.chat-sidebar-tab.active{color:var(--primary-600);background:var(--primary-50);border-color:var(--primary-200);font-weight:var(--font-semibold)}[data-theme=dark] .chat-sidebar-tab.active{background:#fc4c0226;border-color:var(--primary-500);color:var(--primary-400)}.chat-sidebar-tab-badge{margin-left:var(--space-1);padding:0 5px;font-size:10px;font-weight:700;background:var(--primary-500);color:#fff;border-radius:10px;line-height:1.2}.chat-sidebar-tab.chat-mark-all-read-btn{color:var(--primary-600);background:var(--primary-50);border-color:var(--primary-200)}.chat-sidebar-tab.chat-mark-all-read-btn:hover:not(:disabled){color:var(--primary-600);background:var(--primary-100);border-color:var(--primary-400)}.chat-sidebar-tab.chat-mark-all-read-btn:disabled{opacity:.7;cursor:not-allowed}[data-theme=dark] .chat-sidebar-tab.chat-mark-all-read-btn{color:var(--primary-400);background:#fc4c0226;border-color:var(--primary-500)}[data-theme=dark] .chat-sidebar-tab.chat-mark-all-read-btn:hover:not(:disabled){background:#fc4c0240}.chat-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2)}.chat-list-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:none;border-radius:var(--radius-lg);background:transparent;cursor:pointer;text-align:left;font-family:inherit;transition:all var(--transition-fast);position:relative;width:100%}.chat-list-item:hover{background:var(--bg-tertiary)}.chat-list-item--active{background:var(--primary-50);border:1px solid var(--primary-200)}.chat-list-item--active:hover{background:var(--primary-100)}[data-theme=dark] .chat-list-item--active{background:#fc4c0226;border-color:var(--primary-500)}[data-theme=dark] .chat-list-item--active:hover{background:#fc4c0240}.chat-list-item-icon{font-size:28px;line-height:1;flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--gray-100);border-radius:var(--radius-full)}[data-theme=dark] .chat-list-item-icon{background:var(--gray-800)}.chat-list-item--active .chat-list-item-icon{background:var(--primary-100)}[data-theme=dark] .chat-list-item--active .chat-list-item-icon{background:#fc4c024d}.chat-list-item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.chat-list-item-label{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary)}.chat-list-item-desc{font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-theme=dark] .chat-list-item-content .chat-list-item-label,[data-theme=dark] .chat-list-item-content .chat-list-item-desc{color:var(--text-primary)}.chat-list-item-badge{flex-shrink:0;min-width:20px;height:20px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;background:var(--primary-500);color:#fff;font-size:11px;font-weight:700;border-radius:10px;line-height:1}.chat-main{flex:1 1 0;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-primary)}.chat-main-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--card-border);flex-shrink:0;background:var(--card-bg);min-height:72px}.chat-back-btn{display:none;padding:var(--space-2);background:transparent;border:1px solid var(--card-border);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-lg);color:var(--text-secondary);transition:all var(--transition-fast)}.chat-back-btn:hover{background:var(--bg-tertiary);color:var(--primary-600);border-color:var(--primary-500)}.chat-main-header-info{flex:1;display:flex;align-items:center;gap:var(--space-3);min-width:0}.chat-main-header-icon{font-size:32px;line-height:1;flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--gray-100);border-radius:var(--radius-full)}[data-theme=dark] .chat-main-header-icon{background:var(--gray-800)}.chat-main-header-title{margin:0;font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary)}.chat-main-header-subtitle{margin:4px 0 0;font-size:var(--text-xs);color:var(--text-secondary)}.chat-select-prompt{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-8);color:var(--text-secondary);font-size:var(--text-base)}@media (max-width: 767px){.chat-sidebar{max-width:none}.chat-back-btn{display:flex;align-items:center;justify-content:center}.chat-sidebar--hidden-mobile,.chat-main--hidden-mobile{display:none}}@media (min-width: 768px){.chat-back-btn{display:none}}.chat-messages{flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4);-webkit-overflow-scrolling:touch}.chat-loading,.chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-8);color:var(--text-secondary);font-size:var(--text-sm)}.chat-empty-hint{margin-top:var(--space-2);font-size:var(--text-xs);opacity:.8}.chat-message{display:flex;align-items:flex-end;gap:var(--space-2);width:100%}.chat-message--user{justify-content:flex-end}.chat-message--ai,.chat-message--admin{justify-content:flex-start}.chat-message-avatar{flex-shrink:0;width:36px;height:36px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--gray-200)}[data-theme=dark] .chat-message-avatar{background:var(--gray-700)}.chat-avatar-icon{font-size:20px;line-height:1}.chat-avatar-img{width:100%;height:100%;object-fit:cover}.chat-avatar-initials{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-primary)}.chat-message-bubble{max-width:85%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);word-wrap:break-word}.chat-message--user .chat-message-bubble{background:var(--gradient-primary);color:#fff}.chat-message--ai .chat-message-bubble,.chat-message--admin .chat-message-bubble{background:var(--card-bg);border:1px solid var(--card-border);color:var(--text-primary)}.chat-message-content{font-size:var(--text-base);line-height:1.5;white-space:pre-wrap}.chat-message-status{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--text-secondary);font-size:var(--text-sm)}.chat-message-error-text{color:var(--accent-600)}.chat-typing-dots{display:inline-flex;align-items:center;gap:4px}.chat-typing-dots span{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.6;animation:chat-typing-bounce 1.4s ease-in-out infinite both}.chat-typing-dots span:nth-child(2){animation-delay:.16s}.chat-typing-dots span:nth-child(3){animation-delay:.32s}@keyframes chat-typing-bounce{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.chat-message-time{font-size:var(--text-xs);opacity:.7;margin-top:var(--space-1)}.chat-message--user .chat-message-time{text-align:right}.chat-error{flex-shrink:0;padding:var(--space-2) var(--space-4);background:var(--danger-50);color:var(--danger-600);font-size:var(--text-sm);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.chat-error button{background:none;border:none;font-size:1.25rem;cursor:pointer;color:inherit;padding:0 var(--space-1)}.chat-info{flex-shrink:0;padding:var(--space-2) var(--space-4);background:var(--primary-50);color:var(--primary-700);font-size:var(--text-sm);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);border-radius:var(--radius-lg)}.chat-info button{background:none;border:none;font-size:1.25rem;cursor:pointer;color:inherit;padding:0 var(--space-1)}.chat-input-form{display:flex;gap:var(--space-2);padding:var(--space-4);border-top:1px solid var(--card-border);flex-shrink:0;min-height:0;background:var(--card-bg)}@media (max-width: 1023px){.chat-input-form{flex-shrink:0;padding-bottom:max(var(--space-4),env(safe-area-inset-bottom,0px));background:var(--bg-primary)}}.chat-input{flex:1;padding:var(--space-3) var(--space-4);border:1px solid var(--card-border);border-radius:var(--radius-lg);font-size:var(--text-base);background:var(--card-bg);color:var(--text-primary);outline:none}.chat-input:focus{border-color:var(--primary-500);box-shadow:0 0 0 2px #fc4c0233}.chat-input::placeholder{color:var(--text-tertiary)}.chat-input:disabled{opacity:.7;cursor:not-allowed}.chat-send-btn{width:48px;height:48px;border:none;border-radius:var(--radius-lg);background:var(--gradient-primary);color:#fff;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity var(--transition-fast)}.chat-send-btn:hover:not(:disabled){opacity:.9}.chat-send-btn:disabled{opacity:.5;cursor:not-allowed}.chat-clear-btn{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--card-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.chat-clear-btn:hover:not(:disabled){color:var(--danger-600);background:var(--danger-50);border-color:var(--danger-300)}.chat-clear-btn:disabled{opacity:.6;cursor:not-allowed}.chat-refresh-btn{padding:var(--space-2);background:var(--bg-tertiary);border:1px solid var(--card-border);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-lg);color:var(--text-secondary);transition:all var(--transition-fast)}.chat-refresh-btn:hover:not(:disabled){background:var(--primary-50);color:var(--primary-600);border-color:var(--primary-500)}.chat-refresh-btn:disabled{opacity:.6;cursor:not-allowed}.chat-admin-user-list{list-style:none;margin:0;padding:var(--space-2);overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:var(--space-1)}.chat-admin-user-list li{margin:0}.chat-admin-user-btn{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border:none;border-radius:var(--radius-lg);background:transparent;cursor:pointer;text-align:left;font-family:inherit;transition:all var(--transition-fast)}.chat-admin-user-btn:hover{background:var(--bg-tertiary)}.chat-admin-user-btn.active{background:var(--primary-50);border:1px solid var(--primary-200)}[data-theme=dark] .chat-admin-user-btn.active{background:#fc4c0226;border-color:var(--primary-500)}.chat-admin-user-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--gray-100);border-radius:var(--radius-full);overflow:hidden}[data-theme=dark] .chat-admin-user-icon{background:var(--gray-800)}.chat-admin-user-avatar-img{width:100%;height:100%;object-fit:cover}.chat-admin-user-initials{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.chat-admin-user-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.chat-admin-user-name{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary)}.chat-admin-user-email{font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-theme=dark] .chat-admin-user-name{color:#fff}[data-theme=dark] .chat-admin-user-email{color:#fffc}[data-theme=dark] .chat-admin-user-initials{color:#fff}.chat-admin-message.chat-message--user{justify-content:flex-start}.chat-admin-message.chat-message--admin{justify-content:flex-end}.chat-admin-message.chat-message--admin .chat-message-bubble{background:var(--gradient-primary);color:#fff}.chat-admin-message.chat-message--user .chat-message-bubble{background:var(--card-bg);border:1px solid var(--card-border);color:var(--text-primary)}.trainers-screen{max-width:var(--page-max-width);margin:0 auto;padding:var(--page-padding);background:var(--gray-50);min-height:100vh;padding-bottom:var(--page-padding-bottom);overflow-y:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box}@media (max-width: 1023px){.trainers-screen{padding-bottom:var(--mobile-content-padding-bottom)}}@media (min-width: 1024px){.trainers-screen{padding-top:var(--page-top-desktop)}}[data-theme=dark] .trainers-screen{background:var(--bg-primary)}.trainers-placeholder{text-align:center;padding:var(--space-12) var(--space-6);max-width:480px;margin:0 auto}.trainers-title{margin:0 0 var(--space-4);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary)}.trainers-text{margin:0;font-size:var(--text-base);color:var(--text-secondary);line-height:1.5}.settings-container{max-width:var(--page-max-width);margin:0 auto;padding:0;background:var(--gray-50);min-height:100vh}.settings-header{background:var(--gradient-primary);border-radius:20px;padding:32px 28px;margin-bottom:28px;box-shadow:0 4px 16px #fc4c0233;color:#fff;width:100%;box-sizing:border-box}[data-theme=dark] .settings-header{box-shadow:0 4px 16px #ff6b3d40}.settings-save-row{display:flex;justify-content:flex-end;align-items:center;margin-bottom:var(--space-6)}.settings-save-btn{flex:0 0 auto;width:fit-content;padding:10px 18px;font-size:var(--text-sm);display:inline-flex}.settings-header h1{margin:0 0 8px;font-size:32px;font-weight:800;letter-spacing:-.5px;color:#fff}.settings-content{padding:var(--space-8) var(--page-padding-x)}.settings-section{background:#fff;border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-6);box-shadow:var(--shadow-md);border:1px solid var(--gray-200);transition:all var(--transition-base)}.settings-section:hover{box-shadow:var(--shadow-lg)}.settings-section h2{margin:0 0 var(--space-3) 0;font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--gray-900);letter-spacing:-.01em}.settings-section p{color:var(--gray-600);margin:0 0 var(--space-5) 0;font-size:var(--text-base);line-height:1.6}.form-group{margin-bottom:var(--space-5)}.form-group label{display:block;margin-bottom:var(--space-2);font-weight:var(--font-semibold);color:var(--gray-800);font-size:var(--text-sm)}.form-group input,.form-group select{width:100%;padding:var(--space-3) var(--space-4);border:1.5px solid var(--gray-300);border-radius:var(--radius-lg);font-size:var(--text-base);font-family:Montserrat,sans-serif;transition:all var(--transition-base);background:#fff}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-50)}.form-group small{display:block;margin-top:var(--space-2);color:var(--gray-500);font-size:var(--text-sm)}.settings-page .btn{padding:var(--space-3) var(--space-6);background:var(--primary-500);color:#fff;border:none;border-radius:var(--radius-lg);cursor:pointer;font-size:var(--text-base);font-weight:var(--font-semibold);text-decoration:none;display:inline-flex;align-items:center;gap:var(--space-2);transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.settings-page .btn:hover{background:var(--primary-600);transform:translateY(-1px);box-shadow:var(--shadow-md);border-color:var(--primary-600)}.settings-page .btn-secondary{background:var(--gray-500);color:#fff;border:none}.settings-page .btn-secondary:hover{background:var(--gray-600);border-color:var(--gray-600)}.alert{padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);margin-bottom:var(--space-6);font-size:var(--text-sm);font-weight:var(--font-medium);border:1px solid}.alert-success{background:var(--success-50);color:var(--success-700);border-color:var(--success-100)}.alert-error{background:var(--danger-50);color:var(--danger-600);border-color:var(--danger-100)}.settings-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) 0;border-bottom:1px solid var(--gray-200)}.settings-row:last-child{border-bottom:none}.settings-label{flex:1}.settings-label strong{display:block;margin-bottom:var(--space-1);color:var(--gray-900);font-weight:var(--font-semibold)}.settings-label small{color:var(--gray-600);font-size:var(--text-sm)}.toggle-switch{position:relative;display:inline-block;width:52px;height:28px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--gray-300);transition:var(--transition-base);border-radius:var(--radius-full)}.toggle-slider:before{position:absolute;content:"";height:22px;width:22px;left:3px;bottom:3px;background-color:#fff;transition:var(--transition-base);border-radius:var(--radius-full);box-shadow:var(--shadow-sm)}.toggle-switch input:checked+.toggle-slider{background-color:var(--primary-500)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(24px)}.url-display{display:flex;gap:var(--space-3);margin-top:var(--space-4)}.url-input{flex:1;padding:var(--space-3) var(--space-4);border:1.5px solid var(--gray-300);border-radius:var(--radius-lg);font-family:Monaco,Menlo,Courier New,monospace;font-size:var(--text-sm);background:var(--gray-50);color:var(--gray-700)}.btn-copy{padding:var(--space-3) var(--space-5);background:var(--gray-100);border:1.5px solid var(--gray-300);border-radius:var(--radius-lg);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--gray-700);transition:all var(--transition-base)}.btn-copy:hover{background:var(--gray-200);border-color:var(--gray-400)}.coaches-list{margin-bottom:var(--space-5)}.coach-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);background:var(--gray-50);border-radius:var(--radius-lg);margin-bottom:var(--space-3);border:1px solid var(--gray-200);transition:all var(--transition-base)}.coach-item:hover{background:var(--gray-100);border-color:var(--gray-300)}.coach-info{display:flex;align-items:center;gap:var(--space-3)}.coach-avatar{width:48px;height:48px;border-radius:var(--radius-full);background:var(--gradient-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:var(--font-semibold);font-size:var(--text-lg);box-shadow:var(--shadow-sm);flex-shrink:0}.coach-avatar-img{width:48px;height:48px;border-radius:var(--radius-full);object-fit:cover;box-shadow:var(--shadow-sm);border:2px solid var(--gray-200)}.coach-details strong{display:block;margin-bottom:var(--space-1);font-weight:var(--font-semibold);color:var(--gray-900)}.coach-details small{color:var(--gray-600);font-size:var(--text-sm)}.add-coach-form{display:flex;gap:var(--space-3)}.add-coach-form input{flex:1;padding:var(--space-3) var(--space-4);border:1.5px solid var(--gray-300);border-radius:var(--radius-lg);font-size:var(--text-base)}.btn-add{padding:var(--space-3) var(--space-5);background:var(--primary-500);color:#fff;border:none;border-radius:var(--radius-lg);cursor:pointer;font-weight:var(--font-semibold);transition:all var(--transition-base)}.btn-add:hover{background:var(--primary-600);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-remove-coach,.btn-remove{background:var(--danger-500);color:#fff;border:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);transition:all var(--transition-base)}.btn-remove-coach:hover,.btn-remove:hover{background:var(--danger-600);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.telegram-status{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);background:var(--gray-50);border-radius:var(--radius-lg);margin-bottom:var(--space-4);border:1px solid var(--gray-200)}.status-success{display:flex;align-items:center;gap:var(--space-3)}.status-success strong{display:block;margin-bottom:var(--space-1);font-weight:var(--font-semibold)}.status-success small{color:var(--gray-600);font-size:var(--text-sm)}.status-success code{background:var(--gray-200);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-family:Monaco,Menlo,Courier New,monospace;font-size:var(--text-xs)}.telegram-link-form{padding:var(--space-4);background:var(--gray-50);border-radius:var(--radius-lg);border:1px solid var(--gray-200)}.password-form{max-width:500px}.password-form .form-group{margin-bottom:var(--space-4)}.avatar-preview{width:120px;height:120px;border-radius:var(--radius-full);object-fit:cover;border:3px solid var(--gray-200);box-shadow:var(--shadow-md)}.avatar-placeholder{width:120px;height:120px;border-radius:var(--radius-full);background:var(--gradient-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--text-4xl);font-weight:var(--font-bold);border:3px solid var(--gray-200);box-shadow:var(--shadow-md)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-bottom:var(--space-5)}.form-row .form-group{margin-bottom:0}@media (max-width: 768px){.form-row{grid-template-columns:1fr;gap:var(--space-3)}}.settings-progress{background:#fff;border-radius:var(--radius-xl);padding:var(--space-4) var(--space-6);margin-bottom:var(--space-6);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200)}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.progress-info{display:flex;flex-direction:column;gap:var(--space-1)}.progress-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--gray-700)}.progress-percent{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--primary-600)}.progress-bar{flex:1;max-width:300px;height:8px;background:var(--gray-200);border-radius:var(--radius-full);overflow:hidden;margin-left:var(--space-4)}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-500),var(--primary-600));border-radius:var(--radius-full);transition:width var(--transition-base)}.settings-welcome{background:linear-gradient(135deg,var(--primary-50),var(--primary-100));border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-6);display:flex;align-items:center;gap:var(--space-6);border:1px solid var(--primary-200)}.welcome-content{flex:1}.welcome-content h2{margin:0 0 var(--space-2) 0;color:var(--primary-700);font-size:var(--text-2xl)}.welcome-content p{margin:0 0 var(--space-4) 0;color:var(--gray-600)}.quick-stats{display:flex;gap:var(--space-4)}.stat-item{text-align:center;padding:var(--space-3);background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);min-width:100px}.stat-number{display:block;font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--primary-600);margin-bottom:var(--space-1)}.stat-label{font-size:var(--text-xs);color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px}.welcome-avatar{flex-shrink:0}.avatar-large{width:80px;height:80px;border-radius:var(--radius-full);border:3px solid var(--primary-300);box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center;font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--primary-600);background:#fff}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.section-header h2{margin:0;font-size:var(--text-xl);font-weight:var(--font-semibold)}.section-badge{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.5px}.section-badge.required{background:var(--danger-100);color:var(--danger-700)}.section-badge.optional{background:var(--gray-100);color:var(--gray-600)}.section-badge.recommended{background:var(--warning-100);color:var(--warning-700)}.section-badge.coming-soon{background:var(--info-100);color:var(--info-700)}.section-description{color:var(--gray-600);margin:0 0 var(--space-5) 0;line-height:1.6}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);margin-bottom:var(--space-6)}.form-column{display:flex;flex-direction:column;gap:var(--space-5)}.radio-group{display:flex;gap:var(--space-3)}.radio-label{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border:2px solid var(--gray-300);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);flex:1}.radio-label:hover{border-color:var(--primary-400)}.radio-label:has(input:checked){border-color:var(--primary-500);background:var(--primary-50)}.radio-label input[type=radio]{width:auto;accent-color:var(--primary-500)}.form-actions{display:flex;justify-content:flex-end;padding-top:var(--space-4);border-top:1px solid var(--gray-200)}.btn-primary{background:var(--primary-500);color:#fff;border:none;padding:var(--space-3) var(--space-6);border-radius:var(--radius-lg);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base)}.btn-primary:hover{background:var(--primary-600);transform:translateY(-1px);box-shadow:var(--shadow-md)}.privacy-options{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-6)}.privacy-option{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border:2px solid var(--gray-200);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base)}.privacy-option:hover{border-color:var(--primary-400)}.privacy-option:has(input:checked){border-color:var(--primary-500);background:var(--primary-50)}.privacy-option input[type=radio]{margin-top:var(--space-1);width:auto;accent-color:var(--primary-500)}.privacy-content strong{display:block;margin-bottom:var(--space-1);color:var(--gray-900)}.privacy-content small{color:var(--gray-600)}.password-form .form-grid{margin-bottom:var(--space-4)}.password-tips,.race-tips{background:var(--gray-50);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--gray-200)}.password-tips h3,.race-tips h3{margin:0 0 var(--space-3) 0;font-size:var(--text-base);color:var(--gray-800)}.password-tips ul,.race-tips ul{margin:0;padding-left:var(--space-4)}.password-tips li,.race-tips li{margin-bottom:var(--space-2);color:var(--gray-600);line-height:1.5}.coming-soon-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.feature-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--gray-50);border-radius:var(--radius-lg);border:1px solid var(--gray-200)}.feature-icon{font-size:var(--text-xl)}.feature-item strong{display:block;margin-bottom:var(--space-1);color:var(--gray-800)}.feature-item small{color:var(--gray-600)}.input-with-unit{display:flex;align-items:center;gap:var(--space-2)}.input-with-unit input{flex:1}.unit{background:var(--gray-200);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--gray-700);white-space:nowrap}.goal-race-section{background:var(--gray-50);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--gray-200);margin-top:var(--space-4);transition:all var(--transition-base);opacity:0;max-height:0;overflow:hidden}.goal-race-section[style*="display: block"]{opacity:1;max-height:500px;margin-top:var(--space-4)}.goal-race-section[style*="display: none"]{opacity:0;max-height:0;margin-top:0}.goal-race-section h3{margin:0 0 var(--space-2) 0;font-size:var(--text-lg);color:var(--gray-800)}.section-hint{margin:0 0 var(--space-3) 0;font-size:var(--text-sm);color:var(--gray-500);font-style:italic}.goal-progress{background:linear-gradient(135deg,var(--success-50),var(--success-100));padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--success-200);margin-top:var(--space-4)}.goal-progress h3{margin:0 0 var(--space-3) 0;font-size:var(--text-lg);color:var(--success-700)}.progress-stats{display:flex;gap:var(--space-4)}.progress-stats .stat-item{flex:1;text-align:center;background:#fff;padding:var(--space-3);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.progress-stats .stat-number{display:block;font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--success-600);margin-bottom:var(--space-1)}.progress-stats .stat-label{font-size:var(--text-xs);color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px}.telegram-status{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);background:var(--success-50);border-radius:var(--radius-lg);margin-bottom:var(--space-4);border:1px solid var(--success-200)}.telegram-connect{padding:var(--space-4);background:var(--gray-50);border-radius:var(--radius-lg);border:1px solid var(--gray-200)}@media (max-width: 768px){.settings-welcome{flex-direction:column;text-align:center;gap:var(--space-4)}.quick-stats{justify-content:center}.form-grid{grid-template-columns:1fr;gap:var(--space-4)}.radio-group{flex-direction:column;gap:var(--space-2)}.privacy-options{gap:var(--space-2)}.coming-soon-features{grid-template-columns:1fr}.progress-header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.progress-bar{width:100%;max-width:none;margin-left:0}}.settings-tabs{display:flex;background:#fff;border-radius:var(--radius-xl);padding:var(--space-2);margin-bottom:var(--space-6);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);overflow-x:auto}.tab-button{flex:1;min-width:120px;padding:var(--space-3) var(--space-4);border:none;background:transparent;color:var(--gray-600);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;border-radius:var(--radius-lg);transition:all var(--transition-base);white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.tab-button:hover{background:var(--gray-50);color:var(--gray-900)}.tab-button.active{background:var(--primary-500);color:#fff;box-shadow:var(--shadow-sm)}.tab-button.active:hover{background:var(--primary-600)}.tab-content{display:none}.tab-content.active{display:block}@media (max-width: 768px){.settings-tabs{flex-wrap:wrap;gap:var(--space-1)}.tab-button{flex:1 1 100%;min-width:auto}}.form-group textarea{width:100%;padding:var(--space-3) var(--space-4);border:1.5px solid var(--gray-300);border-radius:var(--radius-lg);font-size:var(--text-base);font-family:Montserrat,sans-serif;resize:vertical;min-height:80px;transition:all var(--transition-base);background:#fff}[data-theme=dark] .settings-container,[data-theme=dark] .settings-content{background:var(--bg-primary)}[data-theme=dark] .settings-section{background:var(--card-bg)!important;border-color:var(--card-border)!important;color:var(--text-primary);box-shadow:0 4px 24px #00000080,0 1px 3px #0000004d!important}[data-theme=dark] .settings-section:hover{box-shadow:0 6px 28px #0009,0 2px 4px #0006!important}[data-theme=dark] .settings-section h2{color:var(--text-primary)}[data-theme=dark] .settings-section p{color:var(--text-secondary)}[data-theme=dark] .form-group label{color:var(--text-primary)}[data-theme=dark] .form-group input,[data-theme=dark] .form-group select,[data-theme=dark] .form-group textarea{background:var(--bg-secondary)!important;border-color:var(--gray-400)!important;color:var(--text-primary)!important}[data-theme=dark] .form-group input:focus,[data-theme=dark] .form-group select:focus,[data-theme=dark] .form-group textarea:focus{border-color:var(--primary-500)!important;box-shadow:0 0 0 3px #ff6b3d33!important;background:var(--bg-tertiary)!important}[data-theme=dark] .form-group small{color:var(--text-tertiary)}[data-theme=dark] .settings-tabs{background:var(--card-bg)!important;border-color:var(--card-border)!important;box-shadow:0 2px 8px #0006,0 1px 2px #0000004d!important}[data-theme=dark] .tab-button{color:var(--text-secondary)}[data-theme=dark] .tab-button:hover{background:var(--bg-tertiary)!important;color:var(--text-primary)}[data-theme=dark] .tab-button.active{background:var(--primary-500)!important;color:#fff!important}[data-theme=dark] .tab-button.active:hover{background:var(--primary-600)!important}[data-theme=dark] .url-input{background:var(--bg-secondary)!important;border-color:var(--gray-400)!important;color:var(--text-primary)!important}[data-theme=dark] .btn-copy{background:var(--bg-tertiary)!important;border-color:var(--gray-400)!important;color:var(--text-primary)!important}[data-theme=dark] .btn-copy:hover{background:var(--bg-secondary)!important;border-color:var(--primary-500)!important;color:var(--primary-500)!important}[data-theme=dark] .coach-item{background:var(--bg-secondary)!important;border-color:var(--gray-400)!important}[data-theme=dark] .coach-item:hover{background:var(--bg-tertiary)!important;border-color:var(--primary-500)!important}[data-theme=dark] .coach-details strong{color:var(--text-primary)}[data-theme=dark] .coach-details small{color:var(--text-secondary)}[data-theme=dark] .add-coach-form input{background:var(--bg-secondary)!important;border-color:var(--gray-400)!important;color:var(--text-primary)!important}[data-theme=dark] .toggle-slider{background-color:var(--gray-400)}[data-theme=dark] .toggle-slider:before{background-color:var(--bg-primary)}[data-theme=dark] .toggle-switch input:checked+.toggle-slider{background-color:var(--primary-500)}[data-theme=dark] .day-checkbox-label{color:var(--text-primary)}[data-theme=dark] .day-checkbox-label input:checked+span{background:var(--primary-500)!important;color:#fff!important}[data-theme=dark] .day-checkbox-label span{background:var(--bg-secondary);border-color:var(--gray-400);color:var(--text-primary)}[data-theme=dark] .day-checkbox-label:hover span{background:var(--bg-tertiary);border-color:var(--primary-500)}[data-theme=dark] .radio-label{color:var(--text-primary);border-color:var(--gray-400);background:var(--bg-secondary)}[data-theme=dark] .radio-label:hover{background:var(--bg-tertiary);border-color:var(--primary-500)}[data-theme=dark] .radio-label:has(input:checked){background:var(--primary-500)!important;border-color:var(--primary-500)!important;color:#fff!important}[data-theme=dark] .privacy-option{background:var(--bg-secondary);border-color:var(--gray-400);color:var(--text-primary)}[data-theme=dark] .privacy-option:hover{background:var(--bg-tertiary);border-color:var(--primary-500)}[data-theme=dark] .privacy-option:has(input:checked){background:var(--primary-500)!important;border-color:var(--primary-500)!important;color:#fff!important}[data-theme=dark] .input-with-unit{background:var(--bg-secondary);border-color:var(--gray-400)}[data-theme=dark] .input-with-unit input{background:transparent;color:var(--text-primary)}[data-theme=dark] .input-with-unit .unit{color:var(--text-secondary)}[data-theme=dark] .alert{background:var(--card-bg);border-color:var(--card-border);color:var(--text-primary)}[data-theme=dark] .alert-success{background:#22c55e26;border-color:var(--success-500);color:var(--success-500)}[data-theme=dark] .alert-error{background:#ef444426;border-color:var(--accent-500);color:var(--accent-500)}[data-theme=dark] .settings-progress{background:var(--card-bg)!important;border-color:var(--card-border)!important;box-shadow:0 2px 8px #0006,0 1px 2px #0000004d!important}[data-theme=dark] .progress-label{color:var(--text-secondary)}[data-theme=dark] .progress-percent{color:var(--primary-500)}[data-theme=dark] .progress-bar{background:var(--bg-tertiary)}[data-theme=dark] .settings-welcome{background:linear-gradient(135deg,#ff6b3d26,#ff6b3d1a)!important;border-color:var(--primary-500)!important}[data-theme=dark] .welcome-content h2{color:var(--primary-500)}[data-theme=dark] .welcome-content p{color:var(--text-secondary)}[data-theme=dark] .stat-item{background:var(--card-bg)!important;border-color:var(--card-border)!important;box-shadow:0 2px 8px #0006,0 1px 2px #0000004d!important}[data-theme=dark] .stat-number{color:var(--primary-500)}[data-theme=dark] .stat-label{color:var(--text-tertiary)}[data-theme=dark] .avatar-large{background:var(--card-bg);border-color:var(--primary-500);color:var(--primary-500)}[data-theme=dark] .section-header h2{color:var(--text-primary)}[data-theme=dark] .section-description{color:var(--text-secondary)}[data-theme=dark] .section-hint{color:var(--text-tertiary)}[data-theme=dark] .password-tips,[data-theme=dark] .race-tips{background:var(--bg-secondary)!important;border-color:var(--gray-400)!important}[data-theme=dark] .password-tips h3,[data-theme=dark] .race-tips h3{color:var(--text-primary)}[data-theme=dark] .password-tips li,[data-theme=dark] .race-tips li{color:var(--text-secondary)}[data-theme=dark] .feature-item{background:var(--bg-secondary)!important;border-color:var(--gray-400)!important}[data-theme=dark] .feature-item strong{color:var(--text-primary)}[data-theme=dark] .feature-item small{color:var(--text-secondary)}[data-theme=dark] .goal-race-section{background:var(--bg-secondary)!important;border-color:var(--gray-400)!important}[data-theme=dark] .goal-race-section h3{color:var(--text-primary)}[data-theme=dark] .goal-progress{background:linear-gradient(135deg,#22c55e26,#22c55e1a)!important;border-color:var(--success-500)!important}[data-theme=dark] .goal-progress h3{color:var(--success-500)}[data-theme=dark] .progress-stats .stat-item{background:var(--card-bg)!important;border-color:var(--card-border)!important}[data-theme=dark] .progress-stats .stat-number{color:var(--success-500)}[data-theme=dark] .telegram-status{background:#22c55e26!important;border-color:var(--success-500)!important}[data-theme=dark] .telegram-connect{background:var(--bg-secondary)!important;border-color:var(--gray-400)!important}[data-theme=dark] .btn-add{background:var(--primary-500)!important;color:#fff!important}[data-theme=dark] .btn-add:hover{background:var(--primary-600)!important}[data-theme=dark] .btn-remove-coach,[data-theme=dark] .btn-remove{background:var(--danger-500)!important;color:#fff!important}[data-theme=dark] .btn-remove-coach:hover,[data-theme=dark] .btn-remove:hover{background:var(--danger-600)!important}[data-theme=dark] .btn-primary{background:var(--primary-500)!important;color:#fff!important}[data-theme=dark] .btn-primary:hover{background:var(--primary-600)!important}[data-theme=dark] .form-actions{border-top-color:var(--gray-400)}.form-group textarea:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-50)}.settings-container{max-width:var(--page-max-width);margin:0 auto;padding:0;background:var(--bg-secondary);min-height:100vh}[data-theme=dark] .settings-container{background:var(--bg-primary)}@media (min-width: 1024px){.settings-container{padding-top:var(--page-top-desktop)}}@media (max-width: 1023px){.settings-container{padding-bottom:var(--mobile-content-padding-bottom)}}.settings-message{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium)}.settings-message--error{background:var(--accent-50);color:var(--accent-600);border:1px solid var(--accent-100)}[data-theme=dark] .settings-message--error{background:#ef444426;color:var(--accent-500);border-color:#ef44444d}.settings-message-close{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:var(--radius-md);background:transparent;color:inherit;font-size:1.25rem;line-height:1;cursor:pointer;opacity:.85;transition:opacity var(--transition-fast),background var(--transition-fast);-webkit-tap-highlight-color:transparent}.settings-message-close:hover{opacity:1;background:#0000000f}[data-theme=dark] .settings-message-close:hover{background:#ffffff14}.theme-options{display:flex;flex-direction:column;gap:var(--space-2)}.theme-option{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-3) var(--space-4);border:2px solid var(--gray-300);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);background:var(--card-bg)}.theme-option:hover{border-color:var(--primary-400)}.theme-option.selected,.theme-option:has(input:checked){border-color:var(--primary-500);background:var(--primary-50)}.theme-option input[type=radio]{width:auto;accent-color:var(--primary-500)}.theme-option-label{font-weight:var(--font-semibold);color:var(--text-primary)}.theme-option-desc{width:100%;font-size:var(--text-sm);color:var(--text-secondary);padding-left:calc(1.25rem + var(--space-2))}[data-theme=dark] .theme-option{border-color:var(--gray-400);background:var(--bg-secondary)}[data-theme=dark] .theme-option:hover{border-color:var(--primary-500)}[data-theme=dark] .theme-option.selected,[data-theme=dark] .theme-option:has(input:checked){border-color:var(--primary-500);background:var(--primary-100)}@media (max-width: 768px){.settings-content{padding:0 var(--space-5)}}@media (max-width: 1023px){.settings-tabs{display:none}}.settings-container.settings-page .settings-content{padding-bottom:var(--space-8)}@media (max-width: 1023px){.settings-container.settings-page .settings-content{padding-bottom:var(--mobile-content-padding-bottom)}}.settings-biometric-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.settings-biometric-row p{margin:0;font-size:var(--text-sm);color:var(--text-secondary)}.settings-biometric-row .btn-sm{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.settings-biometric-hint{margin:0;font-size:var(--text-sm);color:var(--gray-600);line-height:1.4}[data-theme=dark] .settings-biometric-hint,[data-theme=dark] .settings-biometric-row p{color:var(--text-secondary)}@media (max-width: 1023px){.settings-biometric-section{margin-top:var(--space-10);padding:var(--space-6);border-top:1px solid var(--gray-200);border-radius:var(--radius-lg);background:var(--card-bg);box-shadow:0 2px 8px #0000000f}[data-theme=dark] .settings-biometric-section{border-top-color:var(--card-border);background:var(--bg-secondary);box-shadow:0 2px 12px #0003}.settings-biometric-section h2{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-1)}[data-theme=dark] .settings-biometric-section h2{color:var(--text-primary)}}.loading-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:var(--bg-primary);color:var(--text-primary)}.spinner{font-size:var(--text-lg);color:var(--primary-500)}.maintenance-overlay{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);color:var(--text-primary);padding:var(--space-6)}.maintenance-content{text-align:center;max-width:400px}.maintenance-content h1{font-size:var(--text-2xl);font-weight:var(--font-bold);margin-bottom:var(--space-4)}.maintenance-content p{color:var(--text-secondary);margin-bottom:var(--space-2)}.maintenance-contact{margin-top:var(--space-4);font-size:var(--text-sm)}:root{--primary-50: #FFF4F0;--primary-100: #FFE5D9;--primary-200: #FFC7B3;--primary-300: #FF9D7A;--primary-400: #FF6B3D;--primary-500: #FC4C02;--primary-600: #E03D00;--primary-700: #C03000;--primary-800: #9A2500;--primary-900: #7A1D00;--accent-50: #FEF2F2;--accent-100: #FEE2E2;--accent-500: #EF4444;--accent-600: #DC2626;--success-50: #F0FDF4;--success-100: #DCFCE7;--success-500: #22C55E;--success-600: #16A34A;--success-700: #15803D;--warning-50: #FEFCE8;--warning-100: #FEF9C3;--warning-500: #EAB308;--warning-600: #CA8A04;--info-50: #EFF6FF;--info-100: #DBEAFE;--info-500: #3B82F6;--info-600: #2563EB;--gray-50: #F8FAFC;--gray-100: #F1F5F9;--gray-200: #E2E8F0;--gray-300: #CBD5E1;--gray-400: #94A3B8;--gray-500: #64748B;--gray-600: #475569;--gray-700: #334155;--gray-800: #1E293B;--gray-900: #0F172A;--bg-primary: #FFFFFF;--bg-secondary: #F8FAFC;--bg-tertiary: #F1F5F9;--text-primary: #0F172A;--text-secondary: #475569;--text-tertiary: #64748B;--card-bg: #FFFFFF;--card-border: #E2E8F0;--gradient-primary: linear-gradient(135deg, #FC4C02 0%, #E03D00 100%);--gradient-success: linear-gradient(135deg, #22C55E 0%, #16A34A 100%);--gradient-hero: linear-gradient(135deg, #FC4C02 0%, #EF4444 100%);--gradient-energy: linear-gradient(135deg, #FC4C02 0%, #EAB308 50%, #22C55E 100%);--font-stats: "Jost", sans-serif;--workout-easy: #22C55E;--workout-tempo: #EAB308;--workout-interval: #EF4444;--workout-long: #3B82F6;--workout-control: #8B5CF6;--workout-rest: #A3A3A3;--workout-strip-run: var(--primary-500);--workout-strip-sbu: #7C3AED;--workout-strip-ofp: var(--accent-500);--status-completed: #22C55E;--status-planned: #FC4C02;--status-missed: #EF4444;--status-rest: #A3A3A3;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(252, 76, 2, .05);--shadow-md: 0 4px 6px -1px rgba(252, 76, 2, .1), 0 2px 4px -1px rgba(252, 76, 2, .06);--shadow-lg: 0 10px 15px -3px rgba(252, 76, 2, .1), 0 4px 6px -2px rgba(252, 76, 2, .05);--shadow-xl: 0 20px 25px -5px rgba(252, 76, 2, .1), 0 10px 10px -5px rgba(252, 76, 2, .04);--shadow-2xl: 0 25px 50px -12px rgba(252, 76, 2, .25);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--page-max-width: 1440px;--page-padding-x: var(--space-5);--page-padding: var(--space-6) var(--page-padding-x);--page-padding-mobile: var(--space-4);--page-padding-bottom: 100px;--page-top-desktop: 88px;--bottom-nav-height: 78px;--bottom-nav-floating-gap: 12px;--mobile-content-padding-bottom: calc(var(--bottom-nav-floating-gap) + var(--bottom-nav-height) + env(safe-area-inset-bottom, 0px));--glass-bg: rgba(255, 255, 255, .22);--glass-bg-strong: rgba(255, 255, 255, .35);--glass-border: 1px solid rgba(255, 255, 255, .45);--glass-blur: 20px;--glass-shadow: 0 4px 24px rgba(0, 0, 0, .08);--glass-shadow-inset: inset 0 1px 0 0 rgba(255, 255, 255, .5)}[data-theme=light],:root[data-theme=light]{--bg-primary: #FFFFFF;--bg-secondary: #F8FAFC;--bg-tertiary: #F1F5F9;--text-primary: #0F172A;--text-secondary: #475569;--text-tertiary: #64748B;--gray-50: #F8FAFC;--gray-100: #F1F5F9;--gray-200: #E2E8F0;--gray-300: #CBD5E1;--gray-400: #94A3B8;--gray-500: #64748B;--gray-600: #475569;--gray-700: #334155;--gray-800: #1E293B;--gray-900: #0F172A;--card-bg: #FFFFFF;--card-border: #E2E8F0}[data-theme=dark],:root[data-theme=dark]{--bg-primary: #1A1A1A;--bg-secondary: #252525;--bg-tertiary: #2F2F2F;--text-primary: #F5F5F5;--text-secondary: #D4D4D4;--text-tertiary: #A3A3A3;--gray-50: #2F2F2F;--gray-100: #3A3A3A;--gray-200: #4A4A4A;--gray-300: #5A5A5A;--gray-400: #737373;--gray-500: #9CA3AF;--gray-600: #C4C4C4;--gray-700: #D4D4D4;--gray-800: #E5E5E5;--gray-900: #F5F5F5;--card-bg: #252525;--card-border: #3A3A3A;--primary-50: rgba(255, 107, 61, .1);--primary-100: rgba(255, 107, 61, .15);--primary-200: rgba(255, 107, 61, .25);--primary-300: rgba(255, 107, 61, .4);--primary-400: #FF8C5A;--primary-500: #FF6B3D;--primary-600: #FF4D1A;--primary-700: #FF3D0A;--primary-800: #E03000;--primary-900: #C02800;--gradient-primary: linear-gradient(135deg, #FF6B3D 0%, #FF4D1A 100%);--gradient-hero: linear-gradient(135deg, #FF6B3D 0%, #FF8C5A 100%);--success-500: #2ED573;--success-600: #22C55E;--accent-500: #FF5252;--accent-600: #EF4444;--danger-50: rgba(239, 68, 68, .15);--danger-500: #FF5252;--danger-600: #EF4444;--workout-strip-run: var(--primary-500);--workout-strip-sbu: #8B5CF6;--workout-strip-ofp: var(--accent-500);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5), 0 4px 6px -2px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .6), 0 10px 10px -5px rgba(0, 0, 0, .5);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .7);--glass-bg: rgba(28, 28, 28, .72);--glass-bg-strong: rgba(38, 38, 38, .85);--glass-border: 1px solid rgba(255, 255, 255, .12);--glass-shadow: 0 4px 24px rgba(0, 0, 0, .35);--glass-shadow-inset: inset 0 1px 0 0 rgba(255, 255, 255, .08)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg-primary: #1A1A1A;--bg-secondary: #252525;--bg-tertiary: #2F2F2F;--text-primary: #F5F5F5;--text-secondary: #D4D4D4;--text-tertiary: #A3A3A3;--gray-50: #2F2F2F;--gray-100: #3A3A3A;--gray-200: #4A4A4A;--gray-300: #5A5A5A;--gray-400: #737373;--gray-500: #9CA3AF;--gray-600: #C4C4C4;--gray-700: #D4D4D4;--gray-800: #E5E5E5;--gray-900: #F5F5F5;--card-bg: #252525;--card-border: #3A3A3A;--primary-50: rgba(255, 107, 61, .1);--primary-100: rgba(255, 107, 61, .15);--primary-200: rgba(255, 107, 61, .25);--primary-300: rgba(255, 107, 61, .4);--primary-400: #FF8C5A;--primary-500: #FF6B3D;--primary-600: #FF4D1A;--primary-700: #FF3D0A;--primary-800: #E03000;--primary-900: #C02800;--gradient-primary: linear-gradient(135deg, #FF6B3D 0%, #FF4D1A 100%);--gradient-hero: linear-gradient(135deg, #FF6B3D 0%, #FF8C5A 100%);--success-500: #2ED573;--success-600: #22C55E;--accent-500: #FF5252;--accent-600: #EF4444;--danger-50: rgba(239, 68, 68, .15);--danger-500: #FF5252;--danger-600: #EF4444;--glass-bg: rgba(28, 28, 28, .72);--glass-bg-strong: rgba(38, 38, 38, .85);--glass-border: 1px solid rgba(255, 255, 255, .12);--glass-shadow: 0 4px 24px rgba(0, 0, 0, .35);--glass-shadow-inset: inset 0 1px 0 0 rgba(255, 255, 255, .08)}}html.native-app{--bottom-nav-height: 78px;--bottom-nav-floating-gap: 8px}body[data-theme=dark],body:not([data-theme])[data-theme=dark],[data-theme=dark] body{background:var(--bg-primary);color:var(--text-primary)}[data-theme=dark] h1,[data-theme=dark] h2,[data-theme=dark] h3,[data-theme=dark] h4,[data-theme=dark] h5,[data-theme=dark] h6{color:var(--text-primary)}[data-theme=dark] p,[data-theme=dark] span,[data-theme=dark] div{color:inherit}[data-theme=dark] .workout-card,[data-theme=dark] .stat-metric-card,[data-theme=dark] .week-calendar-container,[data-theme=dark] .progress-card,[data-theme=dark] .achievement-card{background:var(--card-bg);border-color:var(--card-border);color:var(--text-primary)}[data-theme=dark] .workout-title,[data-theme=dark] .metric-value,[data-theme=dark] .section-title{color:var(--text-primary)}[data-theme=dark] .workout-date,[data-theme=dark] .metric-label,[data-theme=dark] .workout-description{color:var(--text-secondary)}[data-theme=dark] .dashboard,[data-theme=dark] .stats-screen{background:var(--bg-primary)}[data-theme=dark] .modal-modern-content{background:var(--card-bg);color:var(--text-primary)}[data-theme=dark] .modal-modern-header{background:var(--gradient-primary)}[data-theme=dark] .week-day-cell{background:var(--card-bg);border-color:var(--card-border)}[data-theme=dark] .week-day-cell.today{background:#fc4c0233;border-color:var(--primary-500)}[data-theme=dark] .week-day-cell.completed{background:#22c55e33;border-color:var(--success-500)}[data-theme=dark] .week-day-cell.planned{background:#fc4c0233;border-color:var(--primary-500)}[data-theme=dark] .btn-workout,[data-theme=dark] .btn-dashboard{background:var(--primary-500);color:#fff}[data-theme=dark] .btn-dashboard.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary)}[data-theme=dark] .stats-tab{color:var(--text-secondary)}[data-theme=dark] .stats-tab.active{background:var(--primary-500);color:#fff}[data-theme=dark] .time-range-btn{background:var(--card-bg);border-color:var(--card-border);color:var(--text-primary)}[data-theme=dark] .time-range-btn.active{background:var(--primary-500);border-color:var(--primary-500);color:#fff}[data-theme=dark] .chart-bar{background:var(--gradient-primary)}[data-theme=dark] .progress-bar,[data-theme=dark] .week-bar{background:var(--bg-tertiary)}[data-theme=dark] .workout-item{background:var(--card-bg)}[data-theme=dark] .workout-item:hover{background:var(--bg-tertiary)}body,[data-theme=dark] .dashboard,[data-theme=dark] .stats-screen,[data-theme=dark] .container,[data-theme=dark] .bottom-nav,[data-theme=dark] .week-calendar-container,[data-theme=dark] .modal-modern-content,[data-theme=dark] .app-modal-content{transition:background-color .2s ease,color .2s ease,border-color .2s ease}.spinner,.chart-bar,.progress-bar-fill{transition:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-family:inherit;font-size:var(--text-sm);font-weight:var(--font-semibold);line-height:1.25;border-radius:var(--radius-lg);border:1.5px solid var(--gray-300);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;transition:background-color var(--transition-base),border-color var(--transition-base),color var(--transition-base),transform var(--transition-base),box-shadow var(--transition-base);text-decoration:none;white-space:nowrap;-webkit-tap-highlight-color:transparent}.btn:hover:not(:disabled){border-color:var(--primary-500);color:var(--primary-600);background:var(--primary-50);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--primary-500);color:#fff;border-color:var(--primary-500)}.btn-primary:hover:not(:disabled){background:var(--primary-600);border-color:var(--primary-600);color:#fff;box-shadow:0 4px 12px #fc4c0240}.btn-secondary{background:var(--gray-100);color:var(--gray-700);border-color:var(--gray-300)}.btn-secondary:hover:not(:disabled){background:var(--gray-200);border-color:var(--gray-400);color:var(--gray-900)}.btn--sm{padding:var(--space-2) var(--space-4);font-size:var(--text-xs)}.btn--lg{padding:var(--space-4) var(--space-6);font-size:var(--text-base)}.btn--block{flex:1;min-width:0}[data-theme=dark] .btn{background:var(--card-bg);border-color:var(--card-border);color:var(--text-primary)}[data-theme=dark] .btn:hover:not(:disabled){border-color:var(--primary-500);color:var(--primary-500);background:var(--bg-tertiary)}[data-theme=dark] .btn-primary{background:var(--primary-500);color:#fff;border-color:var(--primary-500)}[data-theme=dark] .btn-primary:hover:not(:disabled){background:var(--primary-600);border-color:var(--primary-600);box-shadow:0 4px 12px #ff6b3d4d}[data-theme=dark] .btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--card-border)}[data-theme=dark] .btn-secondary:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--primary-500);color:var(--primary-500)}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-sm);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.card--compact{padding:var(--space-4);border-radius:var(--radius-lg)}.card--interactive:hover{border-color:var(--gray-300);box-shadow:var(--shadow-md)}[data-theme=dark] .card{background:var(--card-bg);border-color:var(--card-border)}[data-theme=dark] .card--interactive:hover{border-color:var(--gray-500)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInLeft{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.dashboard,.stats-screen,.calendar-container{animation:fadeIn .3s ease-out}.workout-card{animation:slideUp .3s ease-out}.workout-card:nth-child(1){animation-delay:0ms}.workout-card:nth-child(2){animation-delay:50ms}.workout-card:nth-child(3){animation-delay:.1s}.workout-card:nth-child(4){animation-delay:.15s}.stat-metric-card{animation:scaleIn .3s ease-out}.stat-metric-card:nth-child(1){animation-delay:0ms}.stat-metric-card:nth-child(2){animation-delay:.1s}.stat-metric-card:nth-child(3){animation-delay:.2s}.stat-metric-card:nth-child(4){animation-delay:.3s}.week-calendar-container{animation:slideInRight .4s cubic-bezier(.4,0,.2,1)}.week-day-cell{animation:scaleIn .2s ease-out}.week-day-cell:nth-child(1){animation-delay:0ms}.week-day-cell:nth-child(2){animation-delay:30ms}.week-day-cell:nth-child(3){animation-delay:60ms}.week-day-cell:nth-child(4){animation-delay:90ms}.week-day-cell:nth-child(5){animation-delay:.12s}.week-day-cell:nth-child(6){animation-delay:.15s}.week-day-cell:nth-child(7){animation-delay:.18s}.btn-workout,.btn-dashboard,.nav-item,.view-toggle-btn,.time-range-btn,.stats-tab{transition:all .2s cubic-bezier(.4,0,.2,1)}.workout-card:hover,.stat-metric-card:hover,.achievement-card:hover{transition:transform .2s ease,box-shadow .2s ease}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading,.dashboard-loading,.stats-loading{animation:pulse 1.5s ease-in-out infinite}.modal-modern{animation:fadeIn .2s ease}.modal-modern-content{animation:slideUp .3s cubic-bezier(.4,0,.2,1)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@font-face{font-family:Jost;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/jost-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Jost;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/jost-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Jost;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/jost-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Jost;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jost-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Jost;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jost-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Jost;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jost-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Jost;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jost-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Jost;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jost-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Jost;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jost-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Jost;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/jost-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Jost;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/jost-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Jost;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/jost-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Jost;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jost-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Jost;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jost-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Jost;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jost-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Jost;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/jost-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Jost;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/jost-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Jost;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/jost-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Jost;font-style:italic;font-weight:300;font-display:swap;src:url(/fonts/jost-italic-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Jost;font-style:italic;font-weight:300;font-display:swap;src:url(/fonts/jost-italic-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Jost;font-style:italic;font-weight:300;font-display:swap;src:url(/fonts/jost-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Jost;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/jost-italic-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Jost;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/jost-italic-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Jost;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/jost-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Jost;font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/jost-italic-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Jost;font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/jost-italic-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Jost;font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/jost-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Jost;font-style:italic;font-weight:600;font-display:swap;src:url(/fonts/jost-italic-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Jost;font-style:italic;font-weight:600;font-display:swap;src:url(/fonts/jost-italic-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Jost;font-style:italic;font-weight:600;font-display:swap;src:url(/fonts/jost-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Jost;font-style:italic;font-weight:700;font-display:swap;src:url(/fonts/jost-italic-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Jost;font-style:italic;font-weight:700;font-display:swap;src:url(/fonts/jost-italic-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Jost;font-style:italic;font-weight:700;font-display:swap;src:url(/fonts/jost-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Jost;font-style:italic;font-weight:800;font-display:swap;src:url(/fonts/jost-italic-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Jost;font-style:italic;font-weight:800;font-display:swap;src:url(/fonts/jost-italic-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Jost;font-style:italic;font-weight:800;font-display:swap;src:url(/fonts/jost-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/montserrat-300.woff2) format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/montserrat-400.woff2) format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/montserrat-500.woff2) format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/montserrat-600.woff2) format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/montserrat-700.woff2) format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/montserrat-800.woff2) format("woff2")}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color var(--transition-base),color var(--transition-base)}[data-theme=dark] body{background-color:var(--bg-primary);color:var(--text-primary)}#root{min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
