*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--font-body: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display: "Poppins", sans-serif;--bg: #F4F7F6;--bg-secondary: #E8EEED;--bg-card: #FFFFFF;--bg-input: #FFFFFF;--text-primary: #2D3436;--text-secondary: #636E72;--text-muted: #B2BEC3;--accent: #FF7675;--accent-hover: #E86B6A;--accent-subtle: rgba(255, 118, 117, .15);--border: rgba(45, 52, 54, .08);--border-strong: rgba(45, 52, 54, .15);--success: #63A3A3;--success-subtle: rgba(99, 163, 163, .15);--teal: #63A3A3;--teal-subtle: rgba(99, 163, 163, .12);--warning: #A29BFE;--shadow-sm: 0 1px 3px rgba(45, 52, 54, .05);--shadow-md: 0 4px 16px rgba(45, 52, 54, .08);--shadow-lg: 0 8px 32px rgba(45, 52, 54, .12);--sidebar-rail-width: 64px;--sidebar-panel-width: 240px;--sidebar-bg: #FFFFFF;--sidebar-panel-bg: #F4F7F6;--sidebar-border: rgba(45, 52, 54, .08);--sidebar-text: #2D3436;--sidebar-text-muted: #636E72;--sidebar-active-bg: rgba(99, 163, 163, .12);--sidebar-hover-bg: rgba(45, 52, 54, .04);--sidebar-accent: #63A3A3}@media(prefers-color-scheme:dark){:root{--bg: #0D1117;--bg-secondary: #161B22;--bg-card: #21262D;--bg-input: #0D1117;--text-primary: #F0F6FC;--text-secondary: #8B949E;--text-muted: #6E7681;--accent: #FF7675;--accent-hover: #FF8C8B;--accent-subtle: rgba(255, 118, 117, .2);--border: #30363D;--border-strong: #484F58;--success: #63A3A3;--success-subtle: rgba(99, 163, 163, .2);--teal: #63A3A3;--teal-subtle: rgba(99, 163, 163, .2);--warning: #A29BFE;--shadow-sm: 0 1px 3px rgba(0,0,0,.4);--shadow-md: 0 4px 16px rgba(0,0,0,.6);--shadow-lg: 0 8px 32px rgba(0,0,0,.8);--sidebar-bg: #0D1117;--sidebar-panel-bg: #161B22;--sidebar-border: #30363D;--sidebar-text: #F0F6FC;--sidebar-text-muted: #8B949E;--sidebar-active-bg: rgba(99, 163, 163, .2);--sidebar-hover-bg: rgba(255, 255, 255, .05);--sidebar-accent: #63A3A3}}html,body{height:100%;background:var(--bg);color:var(--text-primary);font-family:var(--font-body);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3{font-family:var(--font-display);letter-spacing:.02em;line-height:1.1}button{cursor:pointer;font-family:var(--font-body);border:none;outline:none}input,select,textarea{font-family:var(--font-body)}a{text-decoration:none;color:inherit}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,transform .2s ease}@media(max-width:767px){.card{padding:16px;border-radius:12px}}.btn-primary{background:var(--accent);color:#fff;padding:12px 24px;border-radius:10px;font-weight:600;font-size:14px;letter-spacing:.02em;border:none;box-shadow:0 4px 12px var(--accent-subtle);transition:all .2s ease}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 6px 16px var(--accent-subtle)}.btn-primary:active{transform:scale(.98) translateY(0);box-shadow:0 2px 8px var(--accent-subtle)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background:transparent;color:var(--text-primary);padding:10px 20px;border-radius:10px;font-weight:600;font-size:14px;border:1px solid var(--border-strong);transition:all .2s ease}.btn-secondary:hover{border-color:var(--teal);background:var(--teal-subtle);color:var(--teal)}.btn-ghost{background:transparent;color:var(--text-secondary);padding:8px 14px;border-radius:10px;font-size:14px;font-weight:500;transition:all .2s ease}.btn-ghost:hover{background:var(--teal-subtle);color:var(--teal)}.btn-danger{background:transparent;color:var(--accent);padding:6px 12px;border-radius:8px;font-size:13px;font-weight:500;border:1px solid var(--accent);transition:all .2s ease}.btn-danger:hover{background:var(--accent-subtle)}.input-field{width:100%;background:var(--bg-input);border:1px solid var(--border-strong);color:var(--text-primary);padding:12px 14px;border-radius:10px;font-size:14px;transition:border-color .2s,box-shadow .2s;outline:none}.input-field:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-subtle)}.input-field::placeholder{color:var(--text-muted)}select.input-field option{background:var(--bg-card);color:var(--text-primary)}.label{font-size:12px;font-weight:600;color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;display:block}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.error-text{color:var(--accent);font-size:13px;margin-top:4px}.badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border)}.badge-accent{background:var(--accent-subtle);color:var(--accent);border-color:var(--accent-subtle)}.badge-success{background:var(--success-subtle);color:var(--success);border-color:var(--success-subtle)}.badge-teal{background:var(--teal-subtle);color:var(--teal);border-color:var(--teal-subtle)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e242699;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}@media(max-width:767px){.modal-overlay{padding:0;align-items:flex-end}}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:32px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:fadeIn .2s ease}@media(max-width:767px){.modal{max-width:100%;max-height:85vh;border-radius:24px 24px 0 0;padding:24px 20px;animation:slideUp .3s ease}}.modal-title{font-size:28px;margin-bottom:24px;color:var(--text-primary)}@media(max-width:767px){.modal-title{font-size:24px;margin-bottom:20px}}.divider{height:1px;background:var(--border);margin:20px 0}.empty-state-large{text-align:center;padding:40px}.empty-state-icon-large{font-size:48px;margin-bottom:16px}.empty-state-title{font-family:var(--font-display);font-size:24px;margin-bottom:8px;color:var(--text-primary)}.empty-state-desc{color:var(--text-secondary);margin-bottom:24px;font-size:14px}.empty-state-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.active-session-banner{margin-bottom:20px;background:var(--teal-subtle);border:1px solid var(--teal);border-radius:12px}.active-session-label{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--teal);margin-bottom:4px;text-transform:uppercase}.active-session-timer{font-family:var(--font-display);font-size:32px;color:var(--text-primary);line-height:1}.active-session-info-right{text-align:right}.active-session-plan{font-size:12px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.active-session-progress{font-size:13px;color:var(--text-secondary)}.active-session-column-header{display:flex;gap:8px;font-size:11px;font-weight:600;color:var(--text-muted);margin-bottom:8px;padding-left:8px}.active-session-row{display:flex;gap:8px;align-items:center;margin-bottom:8px}.set-toggle-btn{width:38px;height:38px;border-radius:10px;cursor:pointer;flex-shrink:0;background:var(--bg-input);border:2px solid var(--border-strong);color:var(--text-muted);font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1)}.set-toggle-btn.completed{background:var(--success);border-color:var(--success);color:#fff;transform:scale(1.05)}.app-layout{display:flex;min-height:100vh}.app-layout .main-content{flex:1;min-height:100vh;background:var(--bg);transition:margin-left .3s cubic-bezier(.2,.8,.2,1)}@media(min-width:768px){aside.sidebar-desktop.expanded~.main-content{margin-left:var(--sidebar-panel-width)}aside.sidebar-desktop.collapsed~.main-content{margin-left:var(--sidebar-rail-width)}}@media(max-width:767px){.app-layout .main-content{margin-left:0!important;padding-bottom:70px}}.page-layout{min-height:100vh}.page-content{max-width:1100px;margin:0 auto;padding:40px 32px}@media(max-width:767px){.page-content{padding:20px 16px}}@media(min-width:768px)and (max-width:1023px){.page-content{padding:32px 24px}}.page-header{margin-bottom:32px}@media(max-width:767px){.page-header{margin-bottom:20px}}.page-title{font-size:48px;color:var(--text-primary);margin-bottom:4px}@media(max-width:767px){.page-title{font-size:32px}}@media(min-width:768px)and (max-width:1023px){.page-title{font-size:40px}}.page-subtitle{color:var(--text-secondary);font-size:15px}@media(max-width:767px){.page-subtitle{font-size:14px}}.grid-2{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}@media(max-width:767px){.grid-2{grid-template-columns:1fr;gap:12px}}.flex-row{display:flex;align-items:center;gap:12px}.flex-between{display:flex;align-items:center;justify-content:space-between}@media(max-width:767px){.flex-row{gap:8px;flex-wrap:wrap}.flex-between{gap:8px}}.empty-state{text-align:center;padding:60px 24px;color:var(--text-muted)}.empty-state svg{margin-bottom:16px;opacity:.3}.empty-state p{font-size:15px}@media(max-width:767px){.empty-state{padding:40px 16px}.empty-state p{font-size:14px}}@media(max-width:767px){.hide-mobile{display:none!important}}@media(min-width:768px){.show-mobile-only{display:none!important}}@media(max-width:1023px){.hide-tablet{display:none!important}}.login-structure-container{min-height:100vh;display:flex;background:var(--bg)}.login-brand-panel{flex:1;background:var(--teal-subtle);color:var(--text-primary);display:flex;flex-direction:column;justify-content:space-between;padding:80px;position:relative;overflow:hidden}.login-brand-bg-shape{position:absolute;top:-20%;left:-20%;width:70%;height:70%;background:var(--teal);border-radius:40% 60% 70% 30%/40% 50% 60%;transform:rotate(-15deg);opacity:.15;z-index:0;pointer-events:none}.login-brand-content{position:relative;z-index:1}.login-brand-logo{color:var(--teal)}.login-brand-name{font-family:var(--font-display);font-size:32px;letter-spacing:.1em;font-weight:700;color:var(--text-primary)}.login-brand-headline{font-family:var(--font-display);font-size:72px;line-height:.9;margin-top:60px;color:var(--text-primary)}.login-brand-footer{position:relative;z-index:1;font-size:16px;max-width:300px;color:var(--text-secondary)}.login-form-panel{flex:1;display:flex;align-items:center;justify-content:center;padding:40px;background:var(--bg-card)}.login-form-wrapper{width:100%;max-width:400px}@media(max-width:1023px){.login-structure-container{flex-direction:column}.login-brand-panel{padding:40px;min-height:300px;align-items:center;text-align:center}.login-brand-content{display:flex;flex-direction:column;align-items:center}.login-brand-headline{font-size:48px;margin-top:30px}.login-brand-footer{display:none}.login-brand-bg-shape{width:100%;height:100%;top:0;left:0;border-radius:0;transform:none;opacity:.1}}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:40px}@media(max-width:767px){.stats-grid{grid-template-columns:1fr}}.stat-card{display:flex;flex-direction:column;gap:4px}.stat-card-label{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.stat-card-value{font-family:var(--font-display);font-size:42px;color:var(--text-primary);line-height:1}.stat-card-sub{font-size:12px;color:var(--text-secondary)}.list-stack{display:flex;flex-direction:column;gap:12px}.workout-item-header{display:flex;align-items:center;gap:10px;margin-bottom:6px}.workout-item-title{font-family:var(--font-display);font-size:20px;margin:0}.workout-item-meta{display:flex;gap:20px;font-size:13px;color:var(--text-secondary);flex-wrap:wrap}.workout-item-exercises{text-align:right;font-size:12px;color:var(--text-muted)}.sidebar-desktop{position:fixed;left:0;top:0;bottom:0;background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);display:flex;flex-direction:column;z-index:50;transition:width .3s cubic-bezier(.2,.8,.2,1);overflow:hidden;white-space:nowrap}.sidebar-desktop.expanded{width:var(--sidebar-panel-width)}.sidebar-desktop.collapsed{width:var(--sidebar-rail-width)}.sidebar-header{display:flex;align-items:center;padding:16px 14px;margin-bottom:12px;height:70px}.rail-logo-icon{background:var(--accent);border-radius:10px;display:flex;align-items:center;justify-content:center;overflow:hidden}.sidebar-brand-name{font-family:var(--font-display);font-size:24px;letter-spacing:.04em;color:#e8f0ef;animation:fadeIn .3s ease}.sidebar-nav{display:flex;flex-direction:column;gap:4px;padding:0 10px}.sidebar-bottom{padding:0 10px 16px;display:flex;flex-direction:column;gap:4px}.sidebar-nav-item{display:flex;align-items:center;gap:12px;padding:10px;border-radius:10px;background:transparent;border:none;color:var(--sidebar-text-muted);cursor:pointer;width:100%;text-align:left;transition:background .15s,color .15s}.sidebar-nav-item:hover{background:var(--sidebar-hover-bg);color:#e8f0ef}.sidebar-nav-item.active{background:var(--sidebar-active-bg);color:var(--sidebar-accent)}.nav-item-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0}.sidebar-desktop.collapsed .nav-item-icon{margin:0 auto}.nav-item-label{font-size:14px;font-weight:500;font-family:var(--font-body);animation:fadeIn .3s ease}.user-avatar{border-radius:50%;background:linear-gradient(135deg,var(--accent),#ff7a5c);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;letter-spacing:.05em}.mobile-bottom-nav{display:none}@media(max-width:767px){.mobile-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--sidebar-panel-bg);border-top:1px solid var(--sidebar-border);padding:8px 12px calc(8px + env(safe-area-inset-bottom));z-index:50;justify-content:space-around;box-shadow:0 -4px 16px #0000004d}}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 16px;background:transparent;border:none;color:var(--sidebar-text-muted);font-size:11px;font-weight:500;cursor:pointer;transition:color .15s;flex:1;max-width:100px}.mobile-nav-item.active{color:var(--sidebar-accent)}.mobile-nav-item:active{transform:scale(.95)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.animate-in{animation:fadeIn .25s ease forwards}.loading-pulse{animation:pulse 1.5s ease infinite}.workout-tabs{position:relative;display:flex;gap:24px;border-bottom:2px solid var(--border);padding-bottom:8px;margin-bottom:32px}.workout-tab{position:relative;padding:10px 4px;font-size:15px;font-weight:500;color:var(--text-secondary);cursor:pointer;background:transparent;border:none;transition:color .2s ease}.workout-tab:hover{color:var(--teal)}.workout-tab.active{color:var(--teal);font-weight:700}.workout-tab-indicator{position:absolute;bottom:-2px;height:4px;background:var(--teal);border-radius:4px 4px 0 0;transition:transform .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1)}
