:root{--bg-primary:#0a0a0f;--bg-secondary:#111118;--bg-card:#16161f;--bg-card-hover:#1c1c28;--bg-surface:#1e1e2a;--border-subtle:#ffffff0f;--border-hover:#ffffff1f;--text-primary:#f0f0f5;--text-secondary:#8888a0;--text-muted:#55556a;--recovery-green:#00f5d4;--recovery-green-dim:#00f5d426;--sleep-purple:#7b61ff;--sleep-purple-dim:#7b61ff26;--strain-red:#ff6b6b;--strain-red-dim:#ff6b6b26;--strain-yellow:#ffe66d;--workout-blue:#4cc9f0;--workout-blue-dim:#4cc9f026;--grad-recovery:linear-gradient(135deg, #00f5d4, #00d4aa);--grad-sleep:linear-gradient(135deg, #7b61ff, #a78bfa);--grad-strain:linear-gradient(135deg, #ff6b6b, #ffe66d);--grad-workout:linear-gradient(135deg, #4cc9f0, #7b61ff);--shadow-card:0 4px 24px #0000004d;--shadow-glow-recovery:0 0 60px #00f5d41f;--shadow-glow-sleep:0 0 60px #7b61ff1f;--shadow-glow-strain:0 0 60px #ff6b6b1f;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:14px}body{background:var(--bg-primary);color:var(--text-primary);min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;overflow-x:hidden}.screen{display:none}.screen.active{display:block}.login-container{background:radial-gradient(ellipse at 20% 50%, #7b61ff14 0%, transparent 60%), radial-gradient(ellipse at 80% 20%, #00f5d40f 0%, transparent 50%), radial-gradient(ellipse at 60% 80%, #ff6b6b0d 0%, transparent 50%), var(--bg-primary);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.login-glow{pointer-events:none;background:radial-gradient(circle,#7b61ff26,#0000 70%);border-radius:50%;width:500px;height:500px;animation:4s ease-in-out infinite glowPulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes glowPulse{0%,to{opacity:.6;transform:translate(-50%,-50%)scale(1)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.15)}}.login-card{z-index:2;-webkit-backdrop-filter:blur(40px);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);text-align:center;background:#16161fb3;width:100%;max-width:420px;padding:48px 40px;animation:.8s cubic-bezier(.16,1,.3,1) cardEntrance;position:relative}@keyframes cardEntrance{0%{opacity:0;transform:translateY(30px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.login-logo{margin-bottom:24px}.logo-ring{width:80px;height:80px;margin:0 auto}.logo-svg{width:100%;height:100%;animation:20s linear infinite logoSpin}@keyframes logoSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-title{background:linear-gradient(135deg,#00f5d4,#7b61ff);-webkit-text-fill-color:transparent;letter-spacing:-.5px;-webkit-background-clip:text;background-clip:text;margin-bottom:12px;font-size:2rem;font-weight:800}.login-subtitle{color:var(--text-secondary);margin-bottom:32px;font-size:.95rem;line-height:1.6}.login-btn{color:#0a0a0f;background:linear-gradient(135deg,#00f5d4,#00d4aa);border-radius:50px;align-items:center;gap:10px;padding:14px 32px;font-size:1rem;font-weight:700;text-decoration:none;transition:all .3s;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 4px 24px #00f5d440}.login-btn:hover{transform:translateY(-2px);box-shadow:0 8px 32px #00f5d459}.btn-shimmer{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);width:100%;height:100%;animation:3s infinite shimmer;position:absolute;top:0;left:-100%}@keyframes shimmer{0%{left:-100%}to{left:200%}}.login-features{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:32px;display:flex}.feature-pill{border:1px solid var(--border-subtle);color:var(--text-secondary);background:#ffffff0a;border-radius:50px;align-items:center;gap:6px;padding:6px 14px;font-size:.8rem;display:flex}.feature-dot{border-radius:50%;width:8px;height:8px}.feature-dot.recovery{background:var(--recovery-green)}.feature-dot.sleep{background:var(--sleep-purple)}.feature-dot.strain{background:var(--strain-red)}.feature-dot.workout{background:var(--workout-blue)}.topbar{z-index:100;-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-subtle);background:#0a0a0fcc;justify-content:space-between;align-items:center;padding:12px 24px;display:flex;position:sticky;top:0}.topbar-left{align-items:center;gap:12px;display:flex}.topbar-title{background:linear-gradient(135deg,#00f5d4,#7b61ff);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.15rem;font-weight:700}.topbar-right{align-items:center;gap:12px;display:flex}.topbar-user{border:1px solid var(--border-subtle);background:#ffffff08;border-radius:50px;align-items:center;gap:10px;padding:6px 14px;display:flex}.user-avatar{background:var(--grad-recovery);color:#0a0a0f;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.75rem;font-weight:700;display:flex}.user-info{flex-direction:column;display:flex}.user-name{font-size:.85rem;font-weight:600}.user-status{color:var(--recovery-green);align-items:center;gap:4px;font-size:.7rem;display:flex}.status-dot{background:var(--recovery-green);border-radius:50%;width:6px;height:6px;animation:2s infinite statusPulse}@keyframes statusPulse{0%,to{opacity:1}50%{opacity:.4}}.topbar-btn{border:1px solid var(--border-subtle);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;background:#ffffff08;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.topbar-btn:hover{border-color:var(--border-hover);color:var(--text-primary);background:#ffffff0f}.topbar-btn.danger:hover{color:var(--strain-red);background:#ff6b6b14;border-color:#ff6b6b66}.nav-tabs{border-bottom:1px solid var(--border-subtle);scrollbar-width:none;gap:4px;padding:12px 24px;display:flex;overflow-x:auto}.nav-tabs::-webkit-scrollbar{display:none}.nav-tab{border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:8px;padding:10px 18px;font-family:Inter,sans-serif;font-size:.85rem;font-weight:500;transition:all .25s;display:flex}.nav-tab:hover{color:var(--text-primary);background:#ffffff0a}.nav-tab.active{color:var(--text-primary);box-shadow:0 0 0 1px var(--border-hover);background:#ffffff14}.date-filter-bar{border-bottom:1px solid var(--border-subtle);background:#16161f80;justify-content:space-between;align-items:center;gap:16px;padding:12px 24px;display:flex}.date-filter-left{align-items:center;gap:12px;display:flex}.date-filter-icon{color:var(--text-muted);flex-shrink:0}.date-input-group{align-items:center;gap:6px;display:flex}.date-input-group label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:600}.date-input{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;outline:none;padding:7px 12px;font-family:JetBrains Mono,monospace;font-size:.8rem;transition:all .2s}.date-input:focus{border-color:var(--recovery-green);box-shadow:0 0 0 2px #00f5d41a}.date-apply-btn{background:var(--grad-recovery);color:#0a0a0f;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:6px;padding:7px 16px;font-family:Inter,sans-serif;font-size:.8rem;font-weight:600;transition:all .2s;display:flex}.date-apply-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px #00f5d440}.date-nav-btn{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:#ffffff08;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.date-nav-btn:hover{border-color:var(--recovery-green);color:var(--recovery-green);background:#00f5d414}.date-nav-btn:active{transform:scale(.92)}.date-apply-btn:active{transform:translateY(0)}.date-filter-right{gap:4px;display:flex}.date-preset{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;padding:6px 14px;font-family:Inter,sans-serif;font-size:.75rem;font-weight:500;transition:all .2s}.date-preset:hover{border-color:var(--border-hover);color:var(--text-primary);background:#ffffff0a}.date-preset.active{color:var(--recovery-green);background:#00f5d41a;border-color:#00f5d44d}@media (width<=768px){.date-filter-bar{flex-direction:column;align-items:stretch;gap:10px;padding:10px 16px}.date-filter-left{flex-wrap:wrap}.date-filter-right{justify-content:center}}.content{max-width:1400px;margin:0 auto;padding:24px}.tab-content{animation:.4s fadeInUp;display:none}.tab-content.active{display:block}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.section-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.section-header h2{letter-spacing:-.3px;font-size:1.3rem;font-weight:700}.section-date{color:var(--text-secondary);font-size:.85rem}.section-badge{border-radius:50px;padding:4px 12px;font-size:.75rem;font-weight:600}.recovery-badge{background:var(--recovery-green-dim);color:var(--recovery-green)}.sleep-badge{background:var(--sleep-purple-dim);color:var(--sleep-purple)}.strain-badge{background:var(--strain-red-dim);color:var(--strain-red)}.workout-badge{background:var(--workout-blue-dim);color:var(--workout-blue)}.hero-cards{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.hero-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);align-items:center;gap:24px;padding:24px;transition:all .3s;display:flex;position:relative;overflow:hidden}.hero-card:before{content:"";border-radius:var(--radius-lg) var(--radius-lg) 0 0;height:2px;position:absolute;top:0;left:0;right:0}.recovery-card:before{background:var(--grad-recovery)}.recovery-card:hover{box-shadow:var(--shadow-glow-recovery);border-color:#00f5d426}.sleep-card:before{background:var(--grad-sleep)}.sleep-card:hover{box-shadow:var(--shadow-glow-sleep);border-color:#7b61ff26}.strain-card:before{background:var(--grad-strain)}.strain-card:hover{box-shadow:var(--shadow-glow-strain);border-color:#ff6b6b26}.hero-ring-container{flex-shrink:0;width:100px;height:100px;position:relative}.hero-ring{width:100%;height:100%}.hero-ring-progress{transition:stroke-dashoffset 1.2s cubic-bezier(.4,0,.2,1)}.hero-ring-value{justify-content:center;align-items:center;font-family:JetBrains Mono,monospace;font-size:1.5rem;font-weight:800;display:flex;position:absolute;inset:0}.hero-card-info h3{text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);margin-bottom:12px;font-size:.85rem;font-weight:600}.hero-metrics{flex-direction:column;gap:6px;display:flex}.hero-metric{align-items:baseline;gap:6px;display:flex}.metric-label{color:var(--text-muted);min-width:70px;font-size:.75rem}.metric-value{font-family:JetBrains Mono,monospace;font-size:1.05rem;font-weight:700}.metric-unit{color:var(--text-muted);font-size:.7rem}.body-stats-row{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.body-stat{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);text-align:center;padding:20px;transition:all .3s}.body-stat:hover{border-color:var(--border-hover);background:var(--bg-card-hover)}.body-stat-icon{margin-bottom:8px;font-size:1.6rem}.body-stat-value{background:linear-gradient(135deg, var(--text-primary), var(--text-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:4px;font-family:JetBrains Mono,monospace;font-size:1.4rem;font-weight:800}.body-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}.chart-container{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);margin-bottom:24px;padding:24px}.data-table-container{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);margin-bottom:24px;overflow:hidden}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:1px solid var(--border-subtle);background:#ffffff05;padding:14px 16px;font-size:.75rem;font-weight:600}.data-table td{border-bottom:1px solid var(--border-subtle);padding:12px 16px;font-family:JetBrains Mono,monospace;font-size:.8rem}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:#ffffff05}.score-badge{border-radius:50px;align-items:center;padding:3px 10px;font-size:.8rem;font-weight:600;display:inline-flex}.score-green{background:var(--recovery-green-dim);color:var(--recovery-green)}.score-yellow{color:var(--strain-yellow);background:#ffe66d26}.score-red{background:var(--strain-red-dim);color:var(--strain-red)}.sleep-stages-container{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-bottom:24px;display:grid}.sleep-stage-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:20px}.sleep-stage-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.sleep-stage-name{font-size:.85rem;font-weight:600}.sleep-stage-time{font-family:JetBrains Mono,monospace;font-size:1rem;font-weight:700}.sleep-stage-bar{background:#ffffff0f;border-radius:3px;height:6px;overflow:hidden}.sleep-stage-fill{border-radius:3px;height:100%;transition:width 1s cubic-bezier(.4,0,.2,1)}.workout-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.workout-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:20px;transition:all .3s;position:relative;overflow:hidden}.workout-card:before{content:"";background:var(--grad-workout);height:2px;position:absolute;top:0;left:0;right:0}.workout-card:hover{border-color:#4cc9f033;transform:translateY(-2px);box-shadow:0 8px 32px #4cc9f014}.workout-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.workout-sport{text-transform:capitalize;font-size:1rem;font-weight:700}.workout-date{color:var(--text-muted);font-size:.75rem}.workout-stats{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.workout-stat{flex-direction:column;gap:2px;display:flex}.workout-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-size:.7rem}.workout-stat-value{font-family:JetBrains Mono,monospace;font-size:1rem;font-weight:700}.workout-zones{border-top:1px solid var(--border-subtle);margin-top:16px;padding-top:16px}.workout-zones-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px;font-size:.7rem}.zones-bar{border-radius:4px;gap:1px;height:8px;display:flex;overflow:hidden}.zone-segment{height:100%;transition:width .8s cubic-bezier(.4,0,.2,1)}.zone-0{background:#4cc9f0}.zone-1{background:#00f5d4}.zone-2{background:#ffe66d}.zone-3{background:#ff9f43}.zone-4{background:#ff6b6b}.zone-5{background:#e63946}.loading-overlay{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0a0fd9;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.loading-overlay.active{display:flex}.loading-pulse{flex-direction:column;align-items:center;gap:24px;display:flex}.pulse-ring{border:2px solid var(--recovery-green);border-radius:50%;width:80px;height:80px;animation:2s cubic-bezier(0,0,.2,1) infinite pulseRing;position:absolute}.pulse-ring.delay-1{animation-delay:.5s}.pulse-ring.delay-2{animation-delay:1s}@keyframes pulseRing{0%{opacity:1;transform:scale(.5)}to{opacity:0;transform:scale(2.5)}}.loading-text{color:var(--text-secondary);margin-top:60px;font-size:.9rem;animation:2s infinite fadeInOut}@keyframes fadeInOut{0%,to{opacity:.5}50%{opacity:1}}.empty-state{text-align:center;color:var(--text-muted);padding:60px 20px}.empty-state-icon{opacity:.6;margin-bottom:16px;font-size:3rem}.empty-state-text{color:var(--text-secondary);font-size:1rem}@media (width<=1024px){.hero-cards{grid-template-columns:1fr}.body-stats-row{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.content{padding:16px}.topbar{padding:10px 16px}.topbar-user{display:none}.hero-card{gap:16px;padding:16px}.hero-ring-container{width:80px;height:80px}.body-stats-row{grid-template-columns:repeat(2,1fr)}.login-card{margin:16px;padding:32px 24px}.data-table-container{overflow-x:auto}}@media (width<=480px){.nav-tabs{padding:8px 16px}.nav-tab{padding:8px 12px;font-size:.8rem}.nav-tab svg{display:none}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}.raw-data-toggle{border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;background:#ffffff08;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:20px;padding:10px 20px;font-family:Inter,sans-serif;font-size:.8rem;font-weight:500;transition:all .2s;display:flex}.raw-data-toggle:hover{border-color:var(--border-hover);color:var(--text-primary);background:#ffffff0f}.raw-data-toggle.active{color:var(--sleep-purple);background:#7b61ff14;border-color:#7b61ff4d}.raw-data-container{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);margin-top:16px;animation:.3s fadeInUp;display:none;overflow:hidden}.raw-data-container.visible{display:block}.raw-data-scroll{max-height:500px;overflow:auto}.raw-data-table{border-collapse:collapse;white-space:nowrap;width:100%}.raw-data-table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--sleep-purple);background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);z-index:1;padding:10px 14px;font-size:.7rem;font-weight:700;position:sticky;top:0}.raw-data-table td{color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);text-overflow:ellipsis;max-width:300px;padding:8px 14px;font-family:JetBrains Mono,monospace;font-size:.75rem;overflow:hidden}.raw-data-table tr:hover td{color:var(--text-primary);background:#ffffff05}.raw-data-info{color:var(--text-muted);border-bottom:1px solid var(--border-subtle);background:#7b61ff0a;justify-content:space-between;padding:12px 16px;font-size:.75rem;display:flex}
