@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@300;400;500;600;700;800&display=swap";:root{--bg-primary:#f8fafc;--bg-card:#fff;--text-primary:#0f172a;--text-secondary:#64748b;--text-light:#94a3b8;--accent-blue:#0284c7;--accent-blue-light:#e0f2fe;--accent-gold:#f59e0b;--accent-gold-light:#fef3c7;--accent-red:#ef4444;--accent-red-light:#fee2e2;--accent-green:#10b981;--accent-green-light:#d1fae5;--gradient-strain:linear-gradient(135deg, #fef08a 0%, #fde047 50%, #eab308 100%);--gradient-recovery-high:linear-gradient(135deg, #a7f3d0 0%, #34d399 100%);--gradient-recovery-mid:linear-gradient(135deg, #fde047 0%, #fbbf24 100%);--gradient-recovery-low:linear-gradient(135deg, #fca5a5 0%, #f87171 100%);--gradient-blue:linear-gradient(135deg, #e0f2fe 0%, #bae6fd 100%);--border-radius-lg:24px;--border-radius-md:16px;--border-radius-sm:12px;--shadow-sm:0 2px 8px #0000000a;--shadow-md:0 10px 30px #0000000f;--shadow-lg:0 20px 40px #00000014;--transition-smooth:all .3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);justify-content:center;align-items:flex-start;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;display:flex;overflow-x:hidden}h1,h2,h3,h4,.font-outfit{font-family:Outfit,sans-serif}#root{background:var(--bg-primary);flex-direction:column;width:100%;max-width:480px;min-height:100vh;margin:0 auto;display:flex;position:relative;box-shadow:0 0 50px #0000000d}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.glass{-webkit-backdrop-filter:blur(20px);background:#ffffffb3;border:1px solid #fff6}.ripple-effect{position:relative;overflow:hidden}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-subtle{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.app-container{flex-direction:column;flex:1;width:100%;padding:16px 20px 90px;display:flex;overflow-y:auto}.app-header{justify-content:space-between;align-items:center;margin-bottom:20px;animation:.5s ease-out fadeIn;display:flex}.date-selector{text-align:center}.date-title{color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;gap:4px;font-size:18px;font-weight:700;display:flex}.date-subtitle{color:var(--text-secondary);font-size:11px;font-weight:500}.btn-refresh{color:var(--text-secondary);cursor:pointer;width:36px;height:36px;transition:var(--transition-smooth);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.btn-refresh:hover{color:var(--text-primary);background:#0000000d;transform:rotate(180deg)}.status-card{border-radius:var(--border-radius-lg);color:var(--text-primary);box-shadow:var(--shadow-md);transition:var(--transition-smooth);margin-bottom:16px;padding:24px;animation:.6s ease-out fadeIn;position:relative;overflow:hidden}.status-card.strained{background:var(--gradient-strain)}.status-card.recovery-high{background:var(--gradient-recovery-high);color:#064e3b}.status-card.recovery-mid{background:var(--gradient-recovery-mid);color:#78350f}.status-card.recovery-low{background:var(--gradient-recovery-low);color:#7f1d1d}.status-label{letter-spacing:-.5px;margin-bottom:4px;font-size:32px;font-weight:800}.status-description{opacity:.85;margin-bottom:20px;font-size:14px;font-weight:500}.pills-container{flex-wrap:wrap;gap:8px;display:flex}.attention-pill{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff8c;border:1px solid #ffffff40;border-radius:50px;align-items:center;gap:6px;padding:6px 12px;font-size:11px;font-weight:600;display:flex;box-shadow:0 2px 6px #00000005}.attention-pill.warning{background:var(--accent-red-light);color:var(--accent-red);border-color:#ef444433}.action-card{background:var(--bg-card);border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition-smooth);border:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-bottom:16px;padding:18px 20px;display:flex}.action-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.action-title{color:var(--text-primary);font-size:15px;font-weight:600}.action-badge{color:#025091;align-items:center;gap:4px;font-size:13px;font-weight:600;display:flex}.metric-card{background:var(--bg-card);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);transition:var(--transition-smooth);border:1px solid #f1f5f9;margin-bottom:16px;padding:20px;animation:.7s ease-out fadeIn}.metric-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.metric-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.metric-title{color:var(--text-primary);align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.metric-icon-wrap{border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.metric-icon-wrap.sleep{color:var(--accent-green);background:#f0fdf4}.metric-icon-wrap.exercise{color:var(--accent-blue);background:#f0f9ff}.metric-icon-wrap.heart{color:var(--accent-red);background:#fef2f2}.metric-log-link{color:var(--accent-blue);cursor:pointer;font-size:13px;font-weight:600}.metric-values{gap:40px;margin-bottom:12px;display:flex}.metric-value-block{flex-direction:column;display:flex}.metric-value{color:var(--text-primary);font-size:26px;font-weight:800;line-height:1.2}.metric-value-unit{color:var(--text-secondary);margin-left:2px;font-size:12px;font-weight:500}.metric-label{color:var(--text-secondary);font-size:12px;font-weight:500}.compact-title{color:var(--text-primary);margin:0;font-size:15px;font-weight:700}.compact-subtitle{color:var(--text-secondary);margin-top:2px;font-size:11px}.readiness-card,.load-card{border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);background:#fff;border:1px solid #f1f5f9;margin-bottom:16px;padding:18px}.readiness-score{color:var(--text-primary);background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:800}.readiness-drivers{flex-direction:column;gap:12px;display:flex}.driver-row{grid-template-columns:1fr 98px;align-items:center;gap:12px;display:grid}.driver-row strong{font-size:13px;display:block}.driver-row span{color:var(--text-secondary);font-size:11px;display:block}.driver-value{text-align:right}.driver-value b{color:var(--text-primary);font-size:13px}.driver-track{background:#e2e8f0;border-radius:999px;height:6px;margin-top:5px;overflow:hidden}.driver-track span{border-radius:inherit;background:linear-gradient(90deg, var(--accent-blue), var(--accent-green));height:100%;display:block}.load-scale{grid-template-columns:1fr 1fr 1fr;gap:4px;height:18px;margin:16px 0 12px;display:grid;position:relative}.load-zone{border-radius:999px}.load-zone.easy{background:#d1fae5}.load-zone.steady{background:#fef3c7}.load-zone.hard{background:#fee2e2}.load-needle{background:#0f172a;border-radius:999px;width:3px;height:28px;position:absolute;top:-5px;transform:translate(-50%)}.load-summary,.activity-breakdown,.sleep-summary-grid,.weekly-lab{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.load-summary span,.activity-breakdown div,.sleep-summary-grid div,.lab-stat{border-radius:var(--border-radius-sm);color:var(--text-secondary);background:#f8fafc;border:1px solid #f1f5f9;padding:10px;font-size:11px}.load-summary strong,.activity-breakdown strong,.sleep-summary-grid strong,.lab-stat strong{color:var(--text-primary);margin-top:2px;font-size:15px;display:block}.mini-chart-block{margin-top:16px}.mini-chart-header{color:var(--text-secondary);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:11px;display:flex}.mini-chart-header strong{color:var(--text-primary)}.mini-bars{grid-template-columns:repeat(7,1fr);align-items:end;gap:8px;height:112px;display:grid}.mini-bar-wrap{flex-direction:column;justify-content:flex-end;align-items:center;gap:5px;height:100%;display:flex}.mini-bar{border-radius:8px 8px 3px 3px;width:100%;max-width:22px;min-height:4px;display:block;box-shadow:0 8px 18px #0284c724}.mini-bar-value{color:var(--text-primary);min-height:11px;font-size:9px;font-weight:800}.mini-bar-label{color:var(--text-secondary);text-transform:capitalize;font-size:9px}.sparkline-axis line,.comparative-chart line{stroke:#e2e8f0}.sparkline-axis text,.comparative-chart text{fill:var(--text-secondary);font-size:9px;font-weight:700}.comparative-chart{background:#fafafa;border:1px solid #f1f5f9;border-radius:16px;padding:12px}.weekly-lab{margin-bottom:16px}.correlation-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.correlation-cell{border-radius:var(--border-radius-sm);background:#f8fafc;border:1px solid #f1f5f9;padding:12px}.correlation-cell span{color:var(--text-secondary);font-size:11px}.correlation-cell strong{color:var(--text-primary);margin:3px 0 8px;font-size:20px;display:block}.correlation-track{background:#e2e8f0;border-radius:999px;height:6px;overflow:hidden}.correlation-track span{border-radius:inherit;height:100%;display:block}.sleep-target-chart{flex-direction:column;gap:10px;display:flex}.sleep-target-row{color:var(--text-secondary);text-transform:capitalize;grid-template-columns:34px 1fr 48px;align-items:center;gap:10px;font-size:11px;display:grid}.sleep-target-row strong{color:var(--text-primary);text-align:right;text-transform:none}.sleep-target-track{background:#e2e8f0;border-radius:999px;height:10px;position:relative;overflow:hidden}.sleep-target-fill{border-radius:inherit;background:linear-gradient(90deg,#10b981,#0ea5e9);height:100%;position:absolute;top:0;left:0}.sleep-target-marker{opacity:.35;background:#0f172a;width:2px;height:16px;position:absolute;top:-3px;right:0}.sleep-view{--sleep-bg:#fff;--sleep-panel:#f8fafc;--sleep-line:#e2e8f0;--sleep-muted:#64748b}.sleep-premium-card,.stage-timeline-card,.hours-need-card{background:var(--sleep-bg);color:var(--text-primary);box-shadow:var(--shadow-md);border:1px solid #f1f5f9;border-radius:26px;margin-bottom:18px;padding:20px}.sleep-premium-header,.sleep-section-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.sleep-premium-header span,.sleep-section-head span{letter-spacing:2.5px;text-transform:uppercase;color:var(--sleep-muted);font-size:11px;font-weight:800;display:block}.sleep-premium-header strong{margin-top:6px;font-size:28px;line-height:1.1;display:block}.sleep-section-head strong{color:var(--text-secondary);font-size:13px}.sleep-score-pill{color:#065f46;background:#d1fae5;border-radius:999px;padding:8px 12px;font-size:20px;font-weight:900}.sleep-hr-chart{border:1px solid var(--sleep-line);background:#f8fafc;border-radius:20px;margin-bottom:18px;padding:12px 12px 8px}.sleep-hr-chart svg line{stroke:#e2e8f0}.sleep-hr-chart svg text{fill:var(--text-secondary);font-size:10px;font-weight:800}.sleep-hr-chart svg path{fill:none;stroke:#ff667d;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 8px 12px #ff667d26)}.sleep-chart-axis,.timeline-axis{color:#6b7280;justify-content:space-between;font-size:11px;display:flex}.stage-list-premium{flex-direction:column;gap:16px;display:flex}.stage-premium-row{grid-template-columns:38px 1fr 58px;align-items:center;gap:12px;display:grid}.stage-ring{background:conic-gradient(var(--stage-color) var(--stage-pct), #e2e8f0 0);border-radius:50%;width:30px;height:30px;position:relative}.stage-ring:after{content:"";border-radius:inherit;background:var(--sleep-bg);position:absolute;inset:6px}.stage-premium-main>div:first-child{align-items:baseline;gap:8px;margin-bottom:7px;display:flex}.stage-premium-main strong{font-size:15px}.stage-premium-main span{font-size:14px;font-weight:800}.stage-premium-track{background:#e2e8f0;border-radius:999px;height:10px;overflow:hidden}.stage-premium-track span{border-radius:inherit;height:100%;display:block}.stage-premium-row>b{color:var(--text-secondary);text-align:right;font-size:14px}.stage-timeline-card,.hours-need-card{background:#fff}.stage-timeline{border:1px solid var(--sleep-line);background:#f8fafc;border-radius:22px;padding:18px 14px 12px}.timeline-row{grid-template-columns:70px 1fr;align-items:center;min-height:42px;display:grid}.timeline-row>span{font-size:13px;font-weight:800}.timeline-row>div{height:32px;position:relative}.timeline-row i{opacity:.96;border-radius:5px;height:24px;position:absolute;top:4px;box-shadow:0 8px 18px #0f172a14}.timeline-axis{margin-top:4px;padding-left:70px}.need-values{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px;display:grid}.need-values div{border:1px solid var(--sleep-line);background:#f8fafc;border-radius:14px;padding:12px}.need-values span{color:var(--sleep-muted);font-size:11px;display:block}.need-values strong{margin-top:5px;font-size:18px;display:block}.need-track{background:#e2e8f0;border-radius:999px;height:16px;overflow:hidden}.need-track span{border-radius:inherit;background:linear-gradient(90deg,#5668f2,#55c4e8);height:100%;display:block}.hours-need-card .sleep-target-row{color:var(--text-secondary)}.hours-need-card .sleep-target-row strong{color:var(--text-primary)}.hours-need-card .sleep-target-track{background:#e2e8f0}.metric-comparative{margin-top:4px;font-size:12px;font-weight:600}.metric-comparative.below{color:var(--text-light)}.metric-comparative.above{color:var(--accent-green)}.metric-suggestion{border-radius:var(--border-radius-sm);color:#0369a1;border-left:3px solid var(--accent-blue);background:#f0f9ff;align-items:flex-start;gap:10px;margin-top:14px;padding:12px 14px;font-size:13px;display:flex}.metric-suggestion-icon{flex-shrink:0;margin-top:2px}.trends-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;display:grid}.trend-item-card{border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);background:#fff;border:1px solid #f1f5f9;flex-direction:column;justify-content:space-between;padding:14px;display:flex}.trend-item-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.trend-item-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.trend-item-value{color:var(--text-primary);font-size:20px;font-weight:800}.trend-item-unit{color:var(--text-secondary);margin-left:2px;font-size:11px;font-weight:500}.trend-sparkline-wrap{align-items:flex-end;height:52px;margin-top:8px;display:flex}.sleep-sessions-list{flex-direction:column;gap:12px;margin-top:16px;display:flex}.sleep-session-card{border-radius:var(--border-radius-md);background:#f8fafc;border:1px solid #f1f5f9;padding:16px}.sleep-session-card.nap{border-left:4px solid var(--accent-blue);background:#f0f9ff}.sleep-session-card.night{border-left:4px solid var(--accent-green);background:#f0fdf4}.sleep-session-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.sleep-session-title{color:var(--text-primary);font-size:14px;font-weight:700}.sleep-session-time{color:var(--text-secondary);font-size:11px;font-weight:500}.sleep-session-stats{gap:20px;margin-top:8px;display:flex}.sleep-stages-bar{background:#e2e8f0;border-radius:10px;width:100%;height:20px;margin:16px 0;display:flex;overflow:hidden}.sleep-stage-segment{height:100%;transition:width .5s ease-out}.sleep-stage-segment.deep{background:#1e3a8a}.sleep-stage-segment.rem{background:#0ea5e9}.sleep-stage-segment.light{background:#10b981}.sleep-stage-segment.awake{background:#cbd5e1}.sleep-stage-legends{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px;display:grid}.sleep-legend-item{flex-direction:column;font-size:11px;display:flex}.sleep-legend-dot{border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.sleep-legend-dot.deep{background:#1e3a8a}.sleep-legend-dot.rem{background:#0ea5e9}.sleep-legend-dot.light{background:#10b981}.sleep-legend-dot.awake{background:#cbd5e1}.sleep-legend-label{color:var(--text-secondary);font-weight:500}.sleep-legend-value{color:var(--text-primary);margin-top:2px;font-weight:700}.bottom-nav{-webkit-backdrop-filter:blur(12px);z-index:100;background:#ffffffe6;border-top:1px solid #f1f5f9;justify-content:space-around;align-items:center;height:74px;padding:0 10px 10px;display:flex;position:absolute;bottom:0;left:0;right:0}.nav-item{color:var(--text-secondary);cursor:pointer;width:60px;height:50px;transition:var(--transition-smooth);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.nav-icon-wrap{width:44px;height:28px;transition:var(--transition-smooth);border-radius:20px;justify-content:center;align-items:center;margin-bottom:2px;display:flex}.nav-item.active .nav-icon-wrap{color:#0284c7;background:#e0f2fe}.nav-item.active{color:var(--text-primary);font-weight:600}.nav-label{font-size:10px}.auth-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:70vh;padding:40px 20px;display:flex}.auth-card{border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);background:#fff;border:1px solid #f1f5f9;width:100%;padding:30px}.auth-logo{color:var(--text-primary);background:linear-gradient(90deg,#0284c7,#34d399);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:10px;font-size:32px;font-weight:800}.auth-desc{color:var(--text-secondary);margin-bottom:30px;font-size:14px;line-height:1.6}.btn-google{color:#334155;cursor:pointer;width:100%;transition:var(--transition-smooth);background:#fff;border:1px solid #cbd5e1;border-radius:50px;justify-content:center;align-items:center;gap:12px;padding:14px;font-size:15px;font-weight:600;display:flex}.btn-google:hover{background:#f8fafc;border-color:#94a3b8;box-shadow:0 4px 12px #0000000d}.google-icon{width:18px;height:18px}.logs-container{flex-direction:column;gap:14px;display:flex}.log-item{border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);background:#fff;border:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:16px;display:flex}.log-date{color:var(--text-primary);font-size:14px;font-weight:700}.log-day{color:var(--text-secondary);text-transform:capitalize;font-size:11px}.log-metrics{gap:16px;display:flex}.log-badge{flex-direction:column;align-items:center;min-width:50px;display:flex}.log-badge-val{font-size:15px;font-weight:700}.log-badge-label{color:var(--text-secondary);font-size:10px}.sleep-ring-container{justify-content:center;align-items:center;margin:10px 0;display:flex;position:relative}.sleep-ring-text{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute}.sleep-ring-value{color:var(--text-primary);font-size:36px;font-weight:800;line-height:1}.sleep-ring-label{color:var(--text-secondary);margin-top:4px;font-size:12px}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0006;justify-content:center;align-items:flex-end;animation:.2s ease-out fadeIn;display:flex;position:absolute;inset:0}.modal-content{border-radius:var(--border-radius-lg) var(--border-radius-lg) 0 0;background:#fff;width:100%;padding:24px;animation:.3s cubic-bezier(.4,0,.2,1) slideUp;box-shadow:0 -10px 40px #0000001a}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-title{font-size:18px;font-weight:700}.btn-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none}.form-group{margin-bottom:16px}.form-label{color:var(--text-primary);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.form-input{border-radius:var(--border-radius-sm);width:100%;transition:var(--transition-smooth);border:1px solid #cbd5e1;padding:12px 16px;font-size:14px}.form-input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--accent-blue-light);outline:none}.btn-submit{color:#fff;cursor:pointer;width:100%;transition:var(--transition-smooth);background:#0f172a;border:none;border-radius:50px;margin-top:10px;padding:14px;font-size:15px;font-weight:600}.btn-submit:hover{background:#334155}.btn-fab{color:#fff;cursor:pointer;z-index:99;width:50px;height:50px;transition:var(--transition-smooth);background:#0f172a;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:90px;right:20px;box-shadow:0 4px 12px #00000026}.btn-fab:hover{background:#334155;transform:scale(1.05)}.api-badge{letter-spacing:.5px;text-transform:uppercase;border-radius:4px;padding:4px 8px;font-size:9px;font-weight:700;display:inline-block}.api-badge.demo{color:#d97706;background:#fef3c7}.api-badge.google{color:#059669;background:#d1fae5}
