@import"https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800;900&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&display=swap";:root{--color-primary: #7c3aed;--color-primary-light: #6d28d9;--color-primary-glow: rgba(124, 58, 237, .25);--color-primary-subtle: rgba(124, 58, 237, .1);--color-success: #00C896;--color-success-dark: #059669;--color-success-glow: rgba(0, 200, 150, .2);--color-success-subtle: rgba(0, 200, 150, .08);--color-success-bg: #1a2e1a;--color-accent: #F59E0B;--color-accent-glow: rgba(245, 158, 11, .2);--color-danger: #ef4444;--color-danger-subtle: rgba(239, 68, 68, .1);--bg-base: #080d1a;--bg-elevated: #0f1629;--card-bg: rgba(26, 26, 46, .9);--card-border: rgba(255, 255, 255, .07);--card-border-solid: #2d2d44;--text-primary: #f1f5f9;--text-secondary: #a0a0b8;--text-muted: #64748b;--text-disabled: #3d3d54;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .35);--shadow-md: 0 8px 24px rgba(0, 0, 0, .45);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .55);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-pill: 100px;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--font-display: "Outfit", sans-serif;--font-body: "DM Sans", sans-serif}html[data-theme=light]{--bg-base: #f0f2f8;--bg-elevated: #ffffff;--card-bg: rgba(255, 255, 255, .95);--card-border: rgba(0, 0, 0, .07);--card-border-solid: #e5e7eb;--text-primary: #111827;--text-secondary: #6b7280;--text-muted: #9ca3af;--text-disabled: #d1d5db}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{overflow-x:hidden;overflow-y:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"kern" 1,"liga" 1,"calt" 1;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-body);font-size:15px;line-height:1.55;color:var(--text-primary);min-height:100vh;min-height:100dvh;background-color:var(--bg-base);background-image:radial-gradient(ellipse 90% 55% at 15% -5%,rgba(124,58,237,.13) 0%,transparent 65%),radial-gradient(ellipse 70% 45% at 85% 100%,rgba(0,200,150,.09) 0%,transparent 55%),radial-gradient(ellipse 50% 30% at 50% 50%,rgba(15,22,41,.95) 0%,transparent 100%);background-attachment:fixed}html,body,#root{min-height:100%;height:auto}#root{width:100%;text-align:left;position:relative}img{image-rendering:-webkit-optimize-contrast;display:block}svg{shape-rendering:geometricPrecision}a{color:inherit;text-decoration:none}button{font-family:var(--font-body);cursor:pointer}button,a,input,.card,.exercise-card,.meal-card,.day-pill,.nav-item{transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-base),transform var(--transition-base),opacity var(--transition-fast)}.text-display{font-family:var(--font-display);font-weight:900;letter-spacing:-.02em}.section-title,.card-title{font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:12px;letter-spacing:-.01em}.label-upper{font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.card,.client-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow-sm),inset 0 1px #ffffff0a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:relative;overflow:hidden}.card:before,.client-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.03) 0%,transparent 50%);pointer-events:none}.card:hover,.client-card:hover{border-color:#00c8964d;box-shadow:var(--shadow-md),0 0 0 1px #00c89614}.btn-primary,.btn-save{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 20px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);color:#fff;border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-weight:600;font-size:15px;box-shadow:0 4px 16px var(--color-primary-glow);position:relative;overflow:hidden}.btn-primary:after,.btn-save:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.1) 0%,transparent 60%);pointer-events:none}.btn-primary:hover,.btn-save:hover{transform:translateY(-2px);box-shadow:0 8px 24px var(--color-primary-glow)}.btn-primary:active,.btn-save:active{transform:translateY(0);box-shadow:0 2px 8px var(--color-primary-glow)}.btn-secondary,.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:transparent;color:#a78bfa;border:1px solid var(--color-primary);border-radius:var(--radius-md);font-family:var(--font-body);font-weight:600;font-size:14px}.btn-secondary:hover,.btn-outline:hover{background:var(--color-primary-subtle);border-color:#a78bfa}.btn-done,.mark-done-btn,.complete-exercise-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 16px;margin-top:10px;background:linear-gradient(135deg,var(--color-success-dark) 0%,var(--color-success) 100%);color:#fff;border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-weight:700;font-size:14px;box-shadow:0 4px 16px var(--color-success-glow);position:relative;overflow:hidden}.btn-done:after,.mark-done-btn:after,.complete-exercise-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.12) 0%,transparent 60%);pointer-events:none}.btn-done:hover,.mark-done-btn:hover,.complete-exercise-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px var(--color-success-glow)}.btn-done:active,.mark-done-btn:active{transform:translateY(0)}.btn-done:disabled,.mark-done-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.workout-complete-btn{display:block;width:100%;padding:18px 24px;margin:20px 0 16px;background:linear-gradient(135deg,var(--color-success) 0%,var(--color-success-dark) 100%);color:#fff;border:none;border-radius:var(--radius-md);font-family:var(--font-display);font-weight:800;font-size:16px;letter-spacing:.01em;box-shadow:0 6px 24px var(--color-success-glow),inset 0 1px #ffffff26;text-align:center;cursor:pointer}.workout-complete-btn:hover{transform:translateY(-3px);box-shadow:0 12px 32px var(--color-success-glow)}input[type=text],input[type=number],textarea,select{background:#2d2d4499;border:1px solid var(--card-border-solid);border-radius:var(--radius-sm);color:var(--text-primary);padding:10px 12px;font-size:14px;font-family:var(--font-body);width:100%;outline:none}input[type=text]:focus,input[type=number]:focus,textarea:focus,select:focus{border-color:var(--color-success);box-shadow:0 0 0 3px #00c89626}input::-moz-placeholder{color:var(--text-muted)}input::placeholder{color:var(--text-muted)}.training-tabs,.workout-subnav{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}.training-tab-btn,.workout-tab{padding:8px 14px;border-radius:var(--radius-pill);border:1px solid var(--card-border-solid);background:transparent;color:var(--text-muted);font-family:var(--font-body);font-weight:600;font-size:13px;white-space:nowrap}.training-tab-btn:hover,.workout-tab:hover{color:var(--text-secondary);border-color:#7c3aed66}.training-tab-btn.active,.workout-tab.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:0 4px 14px var(--color-primary-glow)}.day-selector,.weekday-pills{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:16px}.day-pill{padding:6px 4px;border-radius:var(--radius-sm);text-align:center;font-family:var(--font-display);font-weight:700;font-size:11px;border:1px solid transparent;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.day-pill.done{background:var(--color-success-bg);border-color:var(--color-success);color:var(--color-success)}.day-pill.today{background:var(--color-primary);color:#fff;box-shadow:0 2px 10px var(--color-primary-glow)}.day-pill.rest,.day-pill.future{background:#1a1a2e;border-color:var(--card-border-solid);color:var(--text-muted)}.day-pill.rest:hover,.day-pill.future:hover{border-color:#7c3aed4d;color:var(--text-secondary)}.exercise-card{background:#1a1a2ee6;border:1px solid var(--card-border-solid);border-radius:var(--radius-md);padding:14px 16px;margin-bottom:10px;position:relative;overflow:hidden;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.exercise-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);pointer-events:none}.exercise-card:hover{border-color:#00c89659;box-shadow:0 4px 20px #00c8961f}.exercise-card.completed{background:#00c89612;border-color:var(--color-success);box-shadow:0 0 24px #00c8961a,inset 0 0 20px #00c8960a}.exercise-card.completed:after{content:"✓";position:absolute;top:12px;right:16px;font-size:20px;color:var(--color-success);font-weight:900;font-family:var(--font-display)}.exercise-name{color:var(--text-primary);font-family:var(--font-display);font-weight:700;font-size:16px;margin-bottom:8px;margin-right:28px;letter-spacing:-.01em}.exercise-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:10px}.chip,.meta-chip{display:inline-flex;align-items:center;gap:4px;background:#2d2d44cc;color:#a78bfa;border-radius:var(--radius-sm);padding:4px 10px;font-size:11px;font-weight:700;font-family:var(--font-display);border:1px solid rgba(124,58,237,.15)}.chip.rest{background:#00c8961a;color:var(--color-success);border-color:#00c89633}.rest-timer{background:linear-gradient(135deg,#1a1a2ef2,#252540f2);border:1px solid var(--card-border-solid);border-radius:var(--radius-md);padding:16px 14px;text-align:center;margin:12px 0;display:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.rest-timer.active{display:block;animation:fadeIn .3s ease;border-color:var(--color-success);box-shadow:0 0 20px #00c8961f}.rest-timer-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin-bottom:6px}.rest-timer-time{font-family:var(--font-display);font-size:52px;font-weight:900;color:var(--color-success);line-height:1;margin:6px 0 10px;text-shadow:0 0 30px rgba(0,200,150,.35);letter-spacing:-.03em}.rest-timer-btn{padding:10px 16px;border-radius:var(--radius-sm);border:1px solid var(--card-border-solid);background:transparent;color:var(--text-primary);font-family:var(--font-body);font-weight:600;font-size:13px;margin:4px}.rest-timer-btn:hover{background:var(--card-border-solid)}.rest-timer-btn.start{background:var(--color-success);color:#000;border-color:var(--color-success);font-weight:800;box-shadow:0 4px 12px var(--color-success-glow)}.rest-timer-btn.start:hover{opacity:.9;transform:translateY(-1px)}.week-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:var(--radius-md);margin-bottom:8px;background:#1a1a2eb3;border:1px solid var(--card-border)}.week-row.done{border-color:#00c89640}.week-row.missed{border-color:#ef444433}.week-row.today{border-color:#7c3aed66;background:#7c3aed0f}.week-row-status{font-size:13px;font-weight:700;font-family:var(--font-display)}.week-row.done .week-row-status{color:var(--color-success)}.week-row.missed .week-row-status{color:var(--color-danger);opacity:.7}.week-row.rest .week-row-status{color:var(--text-muted)}.week-row.today .week-row-status{color:var(--color-primary)}.meal-card{background:#1a1a2ee6;border:1px solid var(--card-border-solid);border-radius:var(--radius-md);padding:14px 16px;margin-bottom:12px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.meal-title{font-family:var(--font-display);font-weight:700;font-size:15px;color:var(--text-primary);margin-bottom:12px;letter-spacing:-.01em}.meal-inputs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.meal-input-field{display:flex;flex-direction:column;gap:4px}.meal-input-field label{font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.meal-input-field input{background:#2d2d44cc;border:1px solid rgba(61,61,84,.9);border-radius:var(--radius-sm);padding:8px 10px;color:var(--text-primary);font-size:14px;font-weight:700;font-family:var(--font-display);width:100%;outline:none}.meal-input-field input:focus{border-color:var(--color-success);box-shadow:0 0 0 3px #00c8961f}.meal-save-btn{width:100%;padding:10px;background:linear-gradient(135deg,var(--color-success-dark) 0%,var(--color-success) 100%);color:#000;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-weight:800;font-size:13px;letter-spacing:.01em;box-shadow:0 4px 12px var(--color-success-glow)}.meal-save-btn:hover{opacity:.9;transform:translateY(-1px)}.nutrition-summary{margin:16px 0}.progress-item{margin-bottom:14px}.progress-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:5px}.progress-label strong{font-family:var(--font-display);font-weight:700;color:var(--text-primary)}.progress-bar-bg{width:100%;height:6px;background:#2d2d44cc;border-radius:var(--radius-pill);overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-success) 0%,var(--color-success-dark) 100%);border-radius:var(--radius-pill);transition:width .5s cubic-bezier(.4,0,.2,1);box-shadow:0 0 8px var(--color-success-glow)}.progress-bar-fill.protein{background:linear-gradient(90deg,#818cf8,#7c3aed);box-shadow:0 0 8px #7c3aed4d}.progress-bar-fill.carbs{background:linear-gradient(90deg,var(--color-accent),#f97316);box-shadow:0 0 8px var(--color-accent-glow)}.photo-date{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--text-primary);margin-bottom:8px;letter-spacing:-.01em}.pose-counter{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:var(--radius-pill);font-family:var(--font-display);font-size:12px;font-weight:800;margin-left:8px;vertical-align:middle}.pose-counter.incomplete{background:#f59e0b26;color:var(--color-accent);border:1px solid rgba(245,158,11,.3)}.pose-counter.complete{background:#00c8961f;color:var(--color-success);border:1px solid rgba(0,200,150,.25);box-shadow:0 0 12px #00c8961a}.bottom-nav,.bnav,.nav-tabs{position:fixed;bottom:0;left:0;right:0;width:100%;z-index:100;display:flex;justify-content:space-around;align-items:center;padding:8px 0 max(8px,env(safe-area-inset-bottom));background:#0f1629eb;border-top:1px solid var(--card-border);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 -4px 24px #0000004d}.nav-item,.nav-btn,.tab-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 12px;font-family:var(--font-body);font-size:10px;font-weight:600;color:var(--text-muted);background:none;border:none;text-decoration:none;position:relative;min-width:44px;min-height:44px}.nav-item:hover,.nav-btn:hover,.tab-item:hover{color:var(--text-secondary)}.nav-item.active,.nav-btn.active,.tab-item.active{color:var(--color-success)}.nav-item.active:after,.nav-btn.active:after,.tab-item.active:after{content:"";position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:20px;height:3px;background:var(--color-success);border-radius:2px 2px 0 0;box-shadow:0 0 8px var(--color-success-glow)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#2d2d44e6;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#3d3d54e6}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-green{0%,to{box-shadow:0 0 #00c89666}50%{box-shadow:0 0 0 8px #00c89600}}@keyframes pulse-purple{0%,to{box-shadow:0 0 #7c3aed66}50%{box-shadow:0 0 0 8px #7c3aed00}}@keyframes timerTick{0%{transform:scale(1)}50%{transform:scale(1.04)}to{transform:scale(1)}}.fade-in{animation:fadeIn .3s ease}.slide-up{animation:slideUp .4s cubic-bezier(.4,0,.2,1)}.pulse-green{animation:pulse-green 2s ease-in-out infinite}.pulse-purple{animation:pulse-purple 2s ease-in-out infinite}.rest-timer-time.ticking{animation:timerTick 1s ease-in-out infinite}.hidden{display:none}.visible{display:block}.text-success{color:var(--color-success)}.text-primary{color:var(--color-primary)}.text-accent{color:var(--color-accent)}.text-muted{color:var(--text-muted)}.text-danger{color:var(--color-danger)}.bg-success-subtle{background:var(--color-success-subtle)}.bg-primary-subtle{background:var(--color-primary-subtle)}.mt-auto{margin-top:auto}.w-full{width:100%}
