@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Sora:wght@600;700;800&display=swap";:root{--primary: #ff2a54;--primary-strong: #e91846;--secondary: #00d7e6;--accent: #ffd700;--dark: #0f0f1a;--dark-soft: #17172a;--dark-line: rgba(255, 255, 255, .12);--light: #f4f7ff;--text: #0f172a;--text-muted: #5f6f89;--line: #e4ebf6;--line-strong: #d1deef;--success: #16a34a;--danger: #dc2626;--warning: #f59e0b;--panel-grad: linear-gradient(154deg, rgba(255, 255, 255, .96) 0%, rgba(255, 255, 255, .88) 100%);--hero-grad: linear-gradient(150deg, #0f172a 0%, #162445 50%, #1f335a 100%);font-family:Inter,sans-serif;color:var(--text);background:var(--light)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{min-height:100vh;background:var(--light);color:var(--text)}h1,h2,h3,h4{margin:0;font-family:Sora,Inter,sans-serif;font-weight:800;letter-spacing:-.015em}p{margin:0}label{display:flex;flex-direction:column;gap:.45rem;font-size:.88rem;color:var(--text-muted)}input,textarea,select,button{font:inherit}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:12px;padding:.72rem .8rem;background:#fff;color:var(--text);transition:border-color .18s ease,box-shadow .18s ease}input::placeholder,textarea::placeholder{color:#8fa0b7}input:focus,textarea:focus,select:focus{outline:none;border-color:#ff2a548c;box-shadow:0 0 0 3px #ff2a5424}textarea{resize:vertical}button{border:0;cursor:pointer}.loading-screen{min-height:100vh;display:grid;place-items:center;color:var(--text);font-weight:700}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:1.2rem;position:relative;overflow:hidden}.auth-background{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 15%,rgba(0,240,255,.18) 0%,transparent 36%),radial-gradient(circle at 84% 88%,rgba(255,42,84,.2) 0%,transparent 36%)}.auth-card{width:min(96vw,460px);position:relative;z-index:2;border:1px solid var(--line);background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px;padding:1.2rem;box-shadow:0 24px 54px #0f172a21}.brand-lockup{display:grid;grid-template-columns:auto 1fr;gap:.75rem;margin-bottom:1rem;align-items:center}.brand-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--secondary),var(--primary))}.brand-eyebrow{color:var(--primary);text-transform:uppercase;letter-spacing:.08em;font-size:.74rem;font-weight:700}.auth-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:#eef3fb;padding:.26rem;border-radius:11px}.auth-switch button{border-radius:8px;padding:.52rem .7rem;color:#6a7d97;background:transparent;font-weight:700}.auth-switch button.active{background:#fff;color:var(--text);box-shadow:0 2px 6px #0f172a14}.auth-form{margin-top:.95rem;display:grid;gap:.82rem}.app-frame{min-height:100vh;display:flex;background:var(--light);position:relative}.app-background{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 8% 8%,rgba(0,240,255,.12) 0%,transparent 30%),radial-gradient(circle at 94% 4%,rgba(255,42,84,.13) 0%,transparent 32%);pointer-events:none;z-index:0}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c0e188c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:20;opacity:0;pointer-events:none;transition:opacity .24s ease}.sidebar-overlay.show{opacity:1;pointer-events:auto}.app-sidebar{width:272px;min-width:272px;background:linear-gradient(170deg,#0f0f1a,#16162a);color:#a8b0c3;border-right:1px solid var(--dark-line);display:flex;flex-direction:column;z-index:30;position:sticky;top:0;height:100vh;box-shadow:20px 0 45px #0a0a1447}.sidebar-brand{height:76px;padding:0 1.2rem;border-bottom:1px solid var(--dark-line);display:flex;align-items:center;gap:.65rem}.sidebar-logo{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--secondary),var(--primary));box-shadow:0 0 18px #00f0ff59}.sidebar-brand strong{display:block;color:#fff;font-size:1rem}.sidebar-eyebrow{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--secondary)}.sidebar-close{margin-left:auto;width:30px;height:30px;border-radius:8px;border:1px solid var(--dark-line);background:#ffffff0f;color:#ccd3e0;display:none;align-items:center;justify-content:center}.sidebar-nav{padding:1rem .72rem;display:grid;gap:.3rem}.sidebar-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:#5f6880;padding:0 .52rem;margin:.2rem 0 .35rem;font-weight:700}.sidebar-link{width:100%;border-radius:11px;padding:.68rem .75rem;border:1px solid transparent;background:transparent;color:#a8b0c3;display:flex;align-items:center;gap:.56rem;font-weight:600;text-align:left}.sidebar-link:hover{background:#ffffff0f;color:#fff}.sidebar-link.active{background:#ff2a5424;border-color:#ff2a544d;color:#ff8fa5}.sidebar-footer{margin-top:auto;border-top:1px solid var(--dark-line);padding:.9rem 1.05rem}.sidebar-footer p{color:#fff;font-weight:700;font-size:.9rem}.sidebar-footer small{color:#8893aa;font-size:.75rem}.app-shell{flex:1;min-width:0;display:flex;flex-direction:column;z-index:1}.workout-shell{max-width:980px;margin:0 auto;width:100%}.top-bar{height:76px;border-bottom:1px solid var(--line);background:#f4f7ffdb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:0 1.4rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:10}.top-bar-main{display:flex;align-items:center;gap:.68rem}.menu-btn{width:34px;height:34px;border-radius:9px;border:1px solid var(--line);background:#fff;color:#1b2940;display:none;align-items:center;justify-content:center}.top-bar h1{font-size:clamp(1.2rem,1.8vw,1.5rem)}.welcome-line{color:#7c8ca8;font-size:.78rem;font-weight:600}.header-actions{display:flex;gap:.5rem;flex-wrap:wrap}.content-scroll{flex:1;overflow:auto;padding:1rem 1.4rem 1.8rem;display:grid;gap:.8rem}.workout-content{padding:1rem 1rem 2rem}.section-hero{border:1px solid rgba(255,255,255,.34);border-radius:20px;padding:.88rem .96rem;background:var(--hero-grad);color:#f8fbff;display:grid;gap:.65rem;box-shadow:0 18px 30px #0f172a29}.section-hero-eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700;color:#9ce8ff}.section-hero h2{font-size:clamp(1.15rem,1.7vw,1.45rem);margin-top:.1rem}.section-hero>div>p:last-child{margin-top:.28rem;color:#c7d6ee;font-size:.9rem;line-height:1.38}.section-hero-chips{display:flex;gap:.4rem;flex-wrap:wrap}.section-hero-chips span{border:1px solid rgba(156,232,255,.34);border-radius:999px;padding:.22rem .58rem;background:#080f1c70;color:#d8f8ff;font-size:.76rem;font-weight:600}.status-box,.error-box,.loading-inline{border-radius:12px;padding:.72rem .84rem;border:1px solid;background:#fff}.status-box{color:#0f7a40;border-color:#16a34a59}.error-box{color:#991b1b;border-color:#dc262657}.loading-inline{color:#0b6788;border-color:#00d7e657}.onboarding-alert,.weekly-alert{border-radius:12px;padding:.7rem .82rem;display:flex;align-items:flex-start;gap:.45rem;border:1px solid;background:#fff}.onboarding-alert{border-color:#f59e0b66;color:#9a6200}.weekly-alert{border-color:#00d7e666;color:#0a6681}.dashboard-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.9fr);gap:.85rem;align-items:start}.dashboard-layout.single-column{grid-template-columns:minmax(0,1fr)}.dashboard-main,.dashboard-side{display:grid;gap:.85rem}.quick-actions-bar{display:flex;align-items:center;gap:.4rem;overflow-x:auto;padding:.1rem .02rem .18rem;scrollbar-width:thin}.quick-action-btn{border:1px solid var(--line-strong);border-radius:999px;padding:.44rem .72rem;background:#fff;color:#243247;display:inline-flex;align-items:center;gap:.34rem;white-space:nowrap;font-size:.8rem;font-weight:700;line-height:1;height:auto;align-self:center;transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}.quick-action-btn:hover{transform:translateY(-1px)}.quick-action-btn.active{color:#fff;border-color:transparent;background:linear-gradient(135deg,#0f172a,#1f335a)}.home-snapshot{border-color:#00d7e652;background:linear-gradient(150deg,#f5fcff,#fff 56%)}.home-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.mini-stat-card{border:1px solid var(--line);border-radius:12px;padding:.58rem;background:#fff;display:grid;gap:.2rem}.mini-stat-card p{color:var(--text-muted);font-size:.74rem}.mini-stat-card strong{font-size:.96rem}.home-shortcuts{display:flex;gap:.42rem;flex-wrap:wrap}.panel{border:1px solid var(--line);border-radius:22px;padding:.95rem;background:var(--panel-grad);box-shadow:0 10px 24px #0f172a0d;display:grid;gap:.78rem;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.panel:hover{transform:translateY(-1px);box-shadow:0 16px 30px #0f172a17}.panel.compact{padding:.82rem}.wizard-panel{border-color:#ff2a5459;background:linear-gradient(150deg,#fff6f9,#fff 52%)}.coach-panel{border-color:#00d7e657;background:linear-gradient(150deg,#f0fdff,#fff 55%)}.overview-panel{border-color:#1e293b;background:linear-gradient(165deg,#0f172a,#1a253b);color:#fff}.overview-panel .panel-header h2{color:#fff}.overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.overview-card{border:1px solid rgba(255,255,255,.12);border-radius:13px;padding:.58rem;background:#0f172a61;display:grid;gap:.18rem;position:relative}.overview-card p{color:#94a3b8;font-size:.72rem}.overview-card strong{color:#f8fafc;font-size:.95rem}.overview-card svg{position:absolute;right:.45rem;top:.45rem;color:var(--secondary)}.onboarding-panel,.weekly-panel{background:linear-gradient(155deg,#0f172a,#1a253b);color:#e6edf8;border-color:#ffffff24}.onboarding-panel label,.weekly-panel label,.onboarding-panel .muted,.weekly-panel .muted,.onboarding-panel .muted-small,.weekly-panel .muted-small,.onboarding-panel .summary-line,.weekly-panel .summary-line,.onboarding-panel .summary-text,.weekly-panel .summary-text{color:#b7c4d9}.onboarding-panel input,.onboarding-panel textarea,.onboarding-panel select,.weekly-panel input,.weekly-panel textarea,.weekly-panel select{background:#080e1ccc;border-color:#ffffff26;color:#f3f7ff}.panel-required{box-shadow:0 0 0 1px #ffd70059,0 10px 24px #0f172a24}.panel-complete{box-shadow:0 0 0 1px #00f0ff47,0 10px 24px #0f172a24}.weekly-panel-due{border-color:#ffd70073}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:.72rem;flex-wrap:wrap}.panel-header h2,.panel-header h3{display:inline-flex;align-items:center;gap:.45rem;font-size:1.01rem}.panel-subtitle{color:#516582;font-size:.86rem;line-height:1.42}.panel-header-actions{display:inline-flex;align-items:center;gap:.4rem;flex-wrap:wrap}.onboarding-counter{border-radius:999px;border:1px solid;padding:.2rem .6rem;font-size:.75rem;font-weight:700}.counter-alert{border-color:#ffd70080;background:#ffd70024;color:#ffe486}.counter-ok{border-color:#00f0ff73;background:#00f0ff24;color:#9ff8ff}.collapse-toggle{min-width:108px}.collapsed-summary{border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:.62rem .7rem;background:#070c188a;display:grid;gap:.32rem}.summary-line{font-size:.78rem;font-weight:600}.summary-text{font-size:.87rem}.summary-warning{color:#ffe486;font-size:.8rem}.onboarding-grid{display:grid;gap:.64rem}.weekly-state-ok,.weekly-state-due{border-radius:10px;padding:.5rem .58rem;font-size:.82rem}.weekly-state-ok{border:1px solid rgba(0,240,255,.34);background:#00f0ff1f;color:#abfbff}.weekly-state-due{border:1px solid rgba(255,215,0,.34);background:#ffd7001a;color:#ffe486}.weekly-history{display:grid;gap:.45rem}.weekly-history-item{border:1px solid rgba(255,255,255,.14);border-radius:11px;padding:.5rem;background:#080e1cbd;display:grid;gap:.2rem}.coach-thread{border:1px solid var(--line);border-radius:14px;padding:.6rem;max-height:320px;overflow:auto;display:grid;gap:.48rem;background:#f7fbff}.coach-bubble{border:1px solid var(--line);border-radius:12px;padding:.5rem .6rem;display:grid;gap:.18rem}.coach-bubble small{color:#7185a3;font-size:.72rem}.coach-bubble p{color:var(--text);font-size:.85rem;white-space:pre-wrap}.coach-assistant{background:#00d7e614;border-color:#00d7e659}.coach-user{background:#ff2a5414;border-color:#ff2a544d}.coach-form{display:grid;gap:.56rem}.coach-empty-state{border:1px dashed var(--line-strong);border-radius:12px;background:#ffffffc2;padding:.72rem;display:grid;gap:.58rem;justify-items:start}.primary-btn,.ghost-btn,.danger-btn,.fab-complete{display:inline-flex;align-items:center;justify-content:center;gap:.42rem;border-radius:999px;padding:.62rem .9rem;font-size:.86rem;font-weight:700;transition:transform .18s ease,filter .18s ease,box-shadow .2s ease}.primary-btn{background:linear-gradient(135deg,var(--primary),#ff4b72);color:#fff;box-shadow:0 10px 22px #ff2a543d}.ghost-btn{border:1px solid var(--line-strong);background:#fff;color:#1e293b}.danger-btn{border:1px solid rgba(220,38,38,.3);background:#dc262614;color:#b91c1c}.primary-btn:hover,.ghost-btn:hover,.danger-btn:hover,.fab-complete:hover{transform:translateY(-1px);filter:brightness(1.02)}.primary-btn:disabled,.fab-complete:disabled{opacity:.84;cursor:wait}.wizard-header-actions,.wizard-toolbar{display:flex;gap:.42rem;flex-wrap:wrap}.wizard-grid,.custom-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.full-span{grid-column:1 / -1}.muted{color:var(--text-muted)}.muted-small{color:var(--text-muted);font-size:.82rem}.history-list{display:grid;gap:.56rem}.calendar-month-nav{display:inline-flex;align-items:center;gap:.38rem}.calendar-month-nav strong{font-size:.9rem;text-transform:capitalize}.calendar-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.calendar-overview>div{border:1px solid var(--line);border-radius:12px;padding:.52rem;background:#f9fbff}.calendar-overview p{color:var(--text-muted);font-size:.74rem}.calendar-overview strong{font-size:.94rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.28rem}.calendar-weekday{text-align:center;color:#8a9ab0;font-size:.72rem;font-weight:700;padding:.24rem 0}.calendar-day{border:1px solid var(--line);border-radius:10px;min-height:60px;padding:.24rem .3rem;background:#fff;color:var(--text);display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}.calendar-day.out-month{opacity:.42}.calendar-day.selected{border-color:#00d7e6b3;box-shadow:0 0 0 2px #00d7e62e}.calendar-day>span{font-weight:700}.calendar-markers{width:100%;display:flex;gap:.18rem;flex-wrap:wrap}.dot{border:1px solid var(--line);border-radius:999px;padding:.06rem .28rem;font-size:.62rem}.workout-dot{border-color:#16a34a57;color:#15803d;background:#16a34a1a}.photo-dot{border-color:#00d7e657;color:#0e7490;background:#00d7e61a}.day-panel{border:1px solid var(--line);border-radius:13px;padding:.65rem;background:#f9fbff;display:grid;gap:.62rem}.day-workouts-list{display:grid;gap:.42rem}.day-workout-item{border:1px solid var(--line);border-radius:10px;padding:.5rem;background:#fff;display:flex;justify-content:space-between;align-items:center;gap:.45rem;flex-wrap:wrap}.day-workout-item p{margin-top:.15rem;font-size:.78rem;color:var(--text-muted)}.photo-upload-form{border:1px dashed var(--line-strong);border-radius:11px;padding:.55rem;background:#fff;display:grid;gap:.54rem}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.photo-card{margin:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.photo-card img{width:100%;height:182px;object-fit:cover;display:block}.photo-card figcaption{padding:.44rem;display:grid;gap:.2rem}.photo-card figcaption span{display:inline-flex;align-items:center;gap:.25rem;font-size:.72rem;color:var(--text-muted)}.photo-card figcaption small{color:var(--text);font-size:.76rem}.history-item{border:1px solid var(--line);border-radius:12px;padding:.6rem;background:#f9fbff;display:flex;justify-content:space-between;gap:.62rem;align-items:center;flex-wrap:wrap}.history-item p{color:var(--text-muted);font-size:.8rem}.history-meta{display:flex;gap:.35rem;flex-wrap:wrap}.history-meta span{border:1px solid var(--line);border-radius:999px;padding:.18rem .52rem;font-size:.72rem;background:#fff}.combo-tag{background:#16a34a1a;border-color:#16a34a4d!important}.workout-mode{display:grid;gap:.82rem;padding-bottom:6.8rem}.workout-live-banner{border-radius:12px;border:1px solid rgba(0,215,230,.45);background:#00d7e61c;color:#0b6788;padding:.6rem .72rem;display:inline-flex;align-items:center;gap:.4rem;font-size:.86rem;font-weight:600}.explain-box{border:1px solid rgba(0,215,230,.34);border-radius:16px;padding:.84rem;background:linear-gradient(150deg,#f0fdff,#fff 52%);display:grid;gap:.46rem}.explain-box h3{display:inline-flex;align-items:center;gap:.34rem}.explain-tags{display:flex;gap:.38rem;flex-wrap:wrap}.explain-tags span{border:1px solid var(--line);border-radius:999px;padding:.2rem .54rem;font-size:.76rem;background:#fff}.blocked-line{display:inline-flex;align-items:center;gap:.3rem;color:#b91c1c;font-size:.84rem}.progress-track{width:100%;height:10px;border-radius:999px;overflow:hidden;border:1px solid var(--line);background:#eef3fb}.progress-fill{height:100%;background:linear-gradient(135deg,var(--secondary),#14f195);transition:width .28s ease}.exercise-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.68rem}.exercise-card{border:1px solid var(--line);border-radius:15px;padding:.78rem;background:#fff;display:grid;gap:.62rem}.exercise-card.custom{border-color:#00d7e661}.exercise-head{display:grid;grid-template-columns:auto 1fr;gap:.52rem}.exercise-head p{color:var(--text-muted);font-size:.84rem;margin:.24rem 0}.exercise-head small{color:#6a7d97}.exercise-thumb{width:54px;height:54px;border-radius:12px;display:grid;place-items:center;color:#fff;font-weight:800;background:linear-gradient(135deg,var(--secondary),var(--primary))}.set-row{display:flex;gap:.36rem;flex-wrap:wrap}.set-btn{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:#f8fbff;color:var(--text-muted);font-weight:700}.set-btn.done{border-color:#16a34a57;background:#16a34a1f;color:#15803d}.exercise-actions{display:flex;gap:.4rem;flex-wrap:wrap}.exercise-actions .ghost-btn{padding:.45rem .62rem;font-size:.8rem}.explanation-panel{border:1px solid var(--line);border-radius:10px;padding:.54rem;background:#f9fbff;color:var(--text-muted);font-size:.84rem;line-height:1.42}.timer-actions{display:flex;gap:.48rem;flex-wrap:wrap}.fab-complete{position:fixed;left:50%;transform:translate(-50%);bottom:1.06rem;width:min(92vw,520px);color:#fff;font-weight:800;background:linear-gradient(135deg,var(--primary),#ff4b72);box-shadow:0 12px 24px #ff2a5447;z-index:20}@media (max-width: 1200px){.dashboard-layout{grid-template-columns:1fr}.dashboard-side{order:-1}}@media (max-width: 1024px){.app-sidebar{position:fixed;top:0;left:0;transform:translate(-100%);transition:transform .24s ease}.app-sidebar.open{transform:translate(0)}.sidebar-close,.menu-btn{display:inline-flex}}@media (max-width: 760px){.top-bar{padding:.7rem .9rem;height:auto;min-height:70px;align-items:flex-start;gap:.55rem}.header-actions,.wizard-header-actions,.wizard-toolbar,.panel-header-actions{width:100%}.header-actions button,.wizard-header-actions button,.wizard-toolbar button{flex:1}.content-scroll{padding:.74rem .82rem 1.4rem}.panel{border-radius:18px}.wizard-grid,.custom-grid,.home-stats-grid,.calendar-overview,.overview-grid,.photo-grid,.exercise-grid{grid-template-columns:1fr}.calendar-day{min-height:56px;padding:.2rem .26rem}.section-hero{border-radius:16px;padding:.72rem .78rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
