.refresh-btn[data-v-11283127]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:50%;background:transparent;color:var(--color-text-secondary, #666);cursor:pointer;transition:background .2s}.refresh-btn[data-v-11283127]:hover{background:#f5f5f5}.refresh-btn[data-v-11283127]:active{background:#e8e8e8}.refresh-btn[data-v-11283127]:disabled{opacity:.5;cursor:not-allowed}.refresh-btn.spinning svg[data-v-11283127]{animation:spin-11283127 .8s linear infinite}@keyframes spin-11283127{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app-layout[data-v-48027dd9]{display:flex;min-height:100vh;background:var(--color-bg)}.sidebar[data-v-48027dd9]{width:220px;background:var(--color-card);border-right:1px solid #f0f0f0;padding:20px 12px;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100}.sidebar-header[data-v-48027dd9]{display:flex;align-items:center;gap:8px;padding:0 8px 20px;border-bottom:1px solid #f5f5f5;margin-bottom:16px}.sidebar-logo-img[data-v-48027dd9]{width:28px;height:28px;border-radius:6px}.sidebar-logo-text[data-v-48027dd9]{font-size:16px;font-weight:700;color:var(--color-primary);flex:1}.main-content[data-v-48027dd9]{flex:1;margin-left:220px;padding:24px;overflow-x:hidden;max-width:100vw}@media(max-width:767px){.sidebar[data-v-48027dd9]{display:none}.main-content[data-v-48027dd9]{margin-left:0;padding:12px 16px calc(env(safe-area-inset-bottom) + 16px)}}.user-card[data-v-7cfd9ef2]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.user-id[data-v-7cfd9ef2]{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}.user-name[data-v-7cfd9ef2]{font-size:16px;font-weight:600}.user-tags[data-v-7cfd9ef2]{display:flex;gap:6px;flex-wrap:wrap}.user-tag[data-v-7cfd9ef2]{font-size:11px;font-weight:600;color:var(--text-2);background:var(--border);padding:1px 8px;border-radius:999px;white-space:nowrap}.cal-target[data-v-7cfd9ef2]{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0;background:var(--surface);padding:6px 14px;border-radius:14px}.ct-label[data-v-7cfd9ef2]{font-size:13px;font-weight:700;color:#d73c63}.ct-val[data-v-7cfd9ef2]{font-size:16px;font-weight:700;color:var(--text-1);letter-spacing:-.3px}.weight-progress[data-v-cfd9d9bf]{text-align:center;padding-bottom:18px}.weight-progress .card-title[data-v-cfd9d9bf]{text-align:left;margin-bottom:4px}.weight-progress-body[data-v-cfd9d9bf]{display:flex;flex-direction:column;align-items:center;gap:0}.weight-gauge[data-v-cfd9d9bf]{position:relative;width:260px;max-width:100%;margin:0 0 -12px}.gauge-svg[data-v-cfd9d9bf]{width:100%;height:auto;display:block}.gauge-track[data-v-cfd9d9bf]{stroke:var(--border);stroke-width:6;stroke-linecap:round}.gauge-marker[data-v-cfd9d9bf]{fill:#d73c63;stroke:#fff;stroke-width:2;filter:drop-shadow(0 1px 2.5px rgba(215,60,99,.5))}.gauge-fill[data-v-cfd9d9bf]{stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset .8s cubic-bezier(.4,0,.2,1)}.gauge-center[data-v-cfd9d9bf]{position:absolute;left:0;right:0;bottom:10px;display:flex;flex-direction:column;align-items:center;line-height:1}.gauge-current-row[data-v-cfd9d9bf]{display:flex;align-items:baseline;gap:3px}.gauge-current[data-v-cfd9d9bf]{font-family:Poppins,system-ui,sans-serif;font-size:54px;font-weight:700;color:var(--text-1);letter-spacing:-1.5px}.gauge-current-unit[data-v-cfd9d9bf]{font-size:13px;color:var(--text-1)}.gauge-current-label[data-v-cfd9d9bf]{font-size:11px;color:var(--text-3);margin-top:2px}.gauge-ends[data-v-cfd9d9bf]{display:flex;justify-content:space-between;width:260px;max-width:100%;padding:0 6px;margin-top:0;transform:translateY(2px)}.gauge-end-left[data-v-cfd9d9bf]{display:flex;flex-direction:column;align-items:flex-start;text-align:left}.gauge-end-right[data-v-cfd9d9bf]{display:flex;flex-direction:column;align-items:flex-end;text-align:right}.endpoint-value[data-v-cfd9d9bf]{font-size:13px;font-weight:600;color:var(--text-2);transform:translateY(2px)}.endpoint-label[data-v-cfd9d9bf]{font-size:11px;color:var(--text-3)}.loss-note[data-v-cfd9d9bf]{font-size:15px;color:var(--text-2);font-weight:700;margin-bottom:0;transform:translateY(4px)}.loss-note strong[data-v-cfd9d9bf]{color:var(--brand-deep);font-weight:700}.loss-unit[data-v-cfd9d9bf]{font-weight:700;color:var(--text-2)}.goal-text[data-v-cfd9d9bf]{font-size:12px;color:var(--text-3);transform:translateY(2px)}.chart-header[data-v-1d889bd2]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:12px}.layer-switch[data-v-1d889bd2]{position:relative;display:flex;width:260px;max-width:90%;margin:0 auto 12px;padding:3px;background:var(--surface);border-radius:999px}.ls-thumb[data-v-1d889bd2]{position:absolute;top:3px;bottom:3px;left:3px;width:calc(33.333% - 2px);background:#fff;border-radius:999px;box-shadow:0 1px 3px #0000001f;transition:transform .25s cubic-bezier(.4,0,.2,1)}.ls-thumb.both[data-v-1d889bd2]{transform:translate(0)}.ls-thumb.weight[data-v-1d889bd2]{transform:translate(100%)}.ls-thumb.calorie[data-v-1d889bd2]{transform:translate(200%)}.ls-btn[data-v-1d889bd2]{position:relative;z-index:1;flex:1;border:none;background:none;padding:6px 0;font-size:13px;color:var(--text-3);cursor:pointer;transition:color .2s;outline:none;-webkit-tap-highlight-color:transparent}.ls-btn.active[data-v-1d889bd2]{color:var(--text-1);font-weight:600}.chart-frame[data-v-1d889bd2]{position:relative}.chart-scroll[data-v-1d889bd2]{margin:0 48px 0 30px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.chart-scroll[data-v-1d889bd2]::-webkit-scrollbar{display:none}.chart-container[data-v-1d889bd2]{height:220px}.axis-overlay[data-v-1d889bd2]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.chart-hint[data-v-1d889bd2]{margin-top:8px;text-align:center;font-size:11px;color:var(--text-3)}.body-composition-placeholder[data-v-325cf91a]{background:#f9f9f9;border:1px dashed #e0e0e0}.placeholder-content[data-v-325cf91a]{display:flex;align-items:center;justify-content:center;gap:8px;padding:24px 0;color:var(--color-text-secondary);font-size:15px}.placeholder-emoji[data-v-325cf91a]{font-size:20px}.daily-page[data-v-6c2cf49e]{display:block}.daily-top-card[data-v-6c2cf49e]{perspective:1600px}.flip-inner[data-v-6c2cf49e]{display:grid;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1)}.flip-inner.flipped[data-v-6c2cf49e]{transform:rotateY(180deg)}.flip-face[data-v-6c2cf49e]{grid-area:1 / 1;min-width:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.flip-back[data-v-6c2cf49e]{transform:rotateY(180deg)}.flip-btn[data-v-6c2cf49e]{margin:16px auto 0;width:fit-content;padding:8px 24px;border:none;background:linear-gradient(135deg,#f5b9d0,#d73c63);border-radius:999px;color:#fff;font-size:14px;font-weight:700;letter-spacing:.5px;cursor:pointer;box-shadow:0 2px 8px #d73c6338;transition:opacity .15s,transform .1s;display:flex;align-items:center;justify-content:center;gap:8px}.flip-btn>span[data-v-6c2cf49e]{line-height:1;display:inline-flex;align-items:center}.flip-icon[data-v-6c2cf49e]{font-size:26px;font-weight:700;transform:translateY(-2px)}.flip-btn[data-v-6c2cf49e]:active{transform:scale(.98);opacity:.9}.flip-back-head[data-v-6c2cf49e]{display:flex;align-items:center;gap:10px;margin-bottom:12px}.flip-back-btn[data-v-6c2cf49e]{background:none;border:none;color:var(--brand-deep);font-size:14px;font-weight:500;cursor:pointer;padding:0;flex-shrink:0}.flip-back-head .card-title[data-v-6c2cf49e]{margin-bottom:0}.cal[data-v-6c2cf49e]{position:relative;margin:0 auto 16px}.cal-backdrop[data-v-6c2cf49e]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.cal-popover[data-v-6c2cf49e]{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:50;padding:12px 14px;background:var(--card);border-radius:14px;box-shadow:0 8px 28px #00000029}.cal-bar[data-v-6c2cf49e]{display:flex;align-items:center;justify-content:center;gap:10px}.di-arrow[data-v-6c2cf49e]{width:28px;height:28px;border:none;background:var(--surface);border-radius:50%;color:#4b5563;font-size:20px;line-height:1;cursor:pointer;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:0}.di-arrow[data-v-6c2cf49e]:disabled{opacity:.3;cursor:default}.cal-date[data-v-6c2cf49e]{display:inline-flex;align-items:center;gap:6px;border:none;background:none;font-size:14px;font-weight:600;color:var(--text-1);cursor:pointer;min-width:120px;justify-content:center}.cal-chev[data-v-6c2cf49e]{font-size:12px;color:var(--text-3);line-height:1;transition:transform .2s}.cal-chev.open[data-v-6c2cf49e]{transform:rotate(180deg)}.cal-collapse-btn[data-v-6c2cf49e]{display:block;margin:8px auto 0;padding:4px 14px;border:none;background:var(--surface);border-radius:999px;color:var(--text-3);font-size:12px;cursor:pointer}.cal-month[data-v-6c2cf49e]{display:flex;align-items:center;justify-content:center;gap:16px;margin:10px 0}.cal-title[data-v-6c2cf49e]{font-size:14px;font-weight:600;color:var(--text-1);min-width:86px;text-align:center}.cal-nav[data-v-6c2cf49e]{border:none;background:none;box-shadow:none;outline:none;padding:0 8px;color:var(--text-2);font-size:26px;line-height:1;cursor:pointer}.cal-nav[data-v-6c2cf49e]:disabled{opacity:.3;cursor:default}.cal-grid[data-v-6c2cf49e]{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-dow-cell[data-v-6c2cf49e]{display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--text-3);padding-bottom:2px}.cal-cell[data-v-6c2cf49e]{aspect-ratio:1 / 1;border:none;background:none;border-radius:10px;font-size:13px;color:var(--text-1);cursor:pointer;display:flex;align-items:center;justify-content:center}.cal-cell.cal-empty[data-v-6c2cf49e]{background:none;cursor:default}.cal-cell[data-v-6c2cf49e]:disabled{color:var(--text-3);cursor:default}.cal-cell.status-below[data-v-6c2cf49e]{background:#c8e6c9bf}.cal-cell.status-on_target[data-v-6c2cf49e]{background:#6bcb8bbf;color:#fff}.cal-cell.status-over[data-v-6c2cf49e]{background:#fdd0b1bf}.cal-cell.today[data-v-6c2cf49e]{font-weight:700;text-decoration:underline;text-underline-offset:3px}.cal-cell.active[data-v-6c2cf49e]{box-shadow:inset 0 0 0 2px var(--brand)}.cal-legend[data-v-6c2cf49e]{display:flex;justify-content:center;gap:14px;margin-top:10px;font-size:11px;color:var(--text-3)}.cal-legend span[data-v-6c2cf49e]{display:inline-flex;align-items:center;gap:4px}.cal-legend .lg[data-v-6c2cf49e]{width:10px;height:10px;border-radius:3px;display:inline-block}.cal-legend .lg.below[data-v-6c2cf49e]{background:#c8e6c9e6}.cal-legend .lg.ontarget[data-v-6c2cf49e]{background:#6bcb8be6}.cal-legend .lg.over[data-v-6c2cf49e]{background:#fdd0b1e6}.empty-card[data-v-6c2cf49e]{text-align:center;padding:40px 20px}.empty-msg[data-v-6c2cf49e]{color:var(--text-2);margin-top:8px}.daily-layout[data-v-6c2cf49e]{display:grid;grid-template-columns:1fr;gap:12px}.left-col[data-v-6c2cf49e],.right-col[data-v-6c2cf49e]{display:flex;flex-direction:column;gap:12px}.hero-section[data-v-6c2cf49e]{display:flex;flex-direction:column;align-items:center}.empty-inline[data-v-6c2cf49e]{text-align:center;color:var(--text-3);padding:12px 0}.hero-head[data-v-6c2cf49e]{width:100%;display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.hero-date[data-v-6c2cf49e]{font-size:16px;font-weight:600;color:var(--text-1)}.hero-label[data-v-6c2cf49e]{font-size:12px;color:var(--text-3);margin-top:2px}.ring-wrap[data-v-6c2cf49e]{position:relative;width:200px;height:200px;margin:12px 0 8px}.ring[data-v-6c2cf49e]{transform:rotate(-90deg);display:block}.ring-track[data-v-6c2cf49e]{fill:none;stroke:var(--border);stroke-width:14}.ring-fill[data-v-6c2cf49e]{fill:none;stroke:url(#calRingGrad);stroke-width:14;stroke-linecap:round;transition:stroke-dashoffset .8s cubic-bezier(.4,0,.2,1)}.ring-center[data-v-6c2cf49e]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.ring-pct[data-v-6c2cf49e]{font-size:28px;font-weight:700;color:var(--brand-deep);letter-spacing:-.5px}.ring-cals[data-v-6c2cf49e]{font-size:14px;color:var(--text-1);margin-top:4px}.ring-consumed[data-v-6c2cf49e]{font-weight:600}.ring-sep[data-v-6c2cf49e]{color:var(--text-3);margin:0 2px}.ring-target[data-v-6c2cf49e]{color:var(--text-2)}.ring-unit[data-v-6c2cf49e]{font-size:11px;color:var(--text-3);margin-top:2px}.to-target[data-v-6c2cf49e]{font-size:13px;color:var(--text-2);margin-top:8px}.over-text[data-v-6c2cf49e]{color:var(--over);font-weight:500}.macro-section[data-v-6c2cf49e]{width:100%;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.macro-rings[data-v-6c2cf49e]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.macro-ring-item[data-v-6c2cf49e]{display:flex;flex-direction:column;align-items:center;gap:3px}.macro-ring[data-v-6c2cf49e]{position:relative;width:64px;height:64px}.macro-ring svg[data-v-6c2cf49e]{width:100%;height:100%;transform:rotate(-90deg)}.mr-track[data-v-6c2cf49e]{stroke:var(--border);stroke-width:6}.mr-fill[data-v-6c2cf49e]{stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset .6s cubic-bezier(.4,0,.2,1)}.mr-pct[data-v-6c2cf49e]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:var(--text-1)}.mr-pct-sign[data-v-6c2cf49e]{font-size:11px;font-weight:400;margin-left:1px}.mr-name[data-v-6c2cf49e]{font-size:12px;color:var(--text-2)}.mr-val[data-v-6c2cf49e]{font-size:12px;font-weight:600;color:var(--text-1)}.meals-empty[data-v-6c2cf49e]{color:var(--text-3);font-size:13px;text-align:center;padding:24px 0}.meal-list[data-v-6c2cf49e]{list-style:none;display:flex;flex-direction:column;gap:14px}.meal-item[data-v-6c2cf49e]{display:flex;gap:12px;padding:12px;background:var(--surface);border-radius:12px;transition:transform .15s ease}.meal-item[data-v-6c2cf49e]:hover{transform:translate(2px)}.meal-time-col[data-v-6c2cf49e]{display:flex;flex-direction:column;align-items:center;min-width:48px}.meal-dot[data-v-6c2cf49e]{width:8px;height:8px;border-radius:50%;background:var(--brand);margin-top:4px;margin-bottom:4px}.meal-time[data-v-6c2cf49e]{font-size:12px;color:var(--text-3);font-feature-settings:"tnum"}.meal-content[data-v-6c2cf49e]{flex:1;min-width:0}.meal-row[data-v-6c2cf49e]{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}.meal-name[data-v-6c2cf49e]{font-size:15px;font-weight:600;color:var(--text-1)}.meal-cals[data-v-6c2cf49e]{font-size:14px;font-weight:600;color:var(--brand-deep)}.meal-macros[data-v-6c2cf49e]{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--text-3)}@media(min-width:1024px){.daily-page[data-v-6c2cf49e]{max-width:1200px;margin:0 auto}.daily-layout[data-v-6c2cf49e]{grid-template-columns:2fr 3fr;gap:20px;align-items:start}}@media(min-width:1440px){.daily-page[data-v-6c2cf49e]{max-width:1400px}}.meal-groups[data-v-6c2cf49e]{display:flex;flex-direction:column;gap:12px}.meal-group-card[data-v-6c2cf49e]{background:var(--surface);border-radius:12px;padding:14px}.meal-group-header[data-v-6c2cf49e]{display:flex;align-items:center;gap:8px;margin-bottom:10px}.meal-group-icon[data-v-6c2cf49e]{font-size:18px}.meal-group-name[data-v-6c2cf49e]{font-weight:600;font-size:14px;flex:1}.meal-group-time[data-v-6c2cf49e]{font-size:12px;color:var(--text-3)}.meal-group-cals[data-v-6c2cf49e]{font-size:13px;font-weight:600;color:var(--brand-deep)}.meal-group-dishes[data-v-6c2cf49e]{display:flex;flex-direction:column;gap:6px}.dish-row[data-v-6c2cf49e]{display:flex;align-items:center;gap:8px;font-size:13px;padding:4px 0;border-bottom:1px solid var(--border)}.dish-row[data-v-6c2cf49e]:last-child{border-bottom:none}.dish-name[data-v-6c2cf49e]{flex:1;color:var(--text-1)}.dish-weight[data-v-6c2cf49e]{color:var(--text-3);min-width:48px;text-align:right}.dish-cals[data-v-6c2cf49e]{color:var(--text-2);min-width:64px;text-align:right}.coach-text[data-v-6c2cf49e]{font-size:14px;color:var(--text-2);line-height:1.6}@media(min-width:1024px){.meal-groups[data-v-6c2cf49e]{display:grid;grid-template-columns:1fr 1fr;gap:12px}}.calendar-footer[data-v-6c2cf49e]{display:flex;align-items:center;justify-content:flex-end;margin-top:8px}.cal-expand-btn[data-v-6c2cf49e]{background:none;border:1px solid var(--border);border-radius:6px;padding:3px 10px;font-size:11px;color:var(--text-2);cursor:pointer}.cal-expand-btn[data-v-6c2cf49e]:hover{background:var(--surface)}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/poppins-400.woff2) format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/poppins-600.woff2) format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/poppins-700.woff2) format("woff2")}:root{--brand: #F5A0B5;--brand-soft: #FFF0F5;--brand-deep: #E8758A;--surface: #FAFAFA;--card: #FFF;--text-1: #1A1A1A;--text-2: #6B7280;--text-3: #9CA3AF;--success: #10B981;--warning: #F59E0B;--over: #EF4444;--border: #F3F4F6;--radius: 16px;--shadow: 0 1px 3px rgba(0,0,0,.04);--color-primary: var(--brand);--color-primary-light: var(--brand-soft);--color-primary-dark: var(--brand-deep);--color-bg: var(--surface);--color-card: var(--card);--color-text: var(--text-1);--color-text-secondary: var(--text-2);--color-success: var(--success);--color-warning: var(--warning);--color-chart-weight: var(--brand);--color-chart-calorie: #FFB74D;--color-chart-target: #E0E0E0}*{margin:0;padding:0;box-sizing:border-box}html,body{overflow-x:hidden;width:100%}body{font-family:Poppins,system-ui,PingFang SC,-apple-system,sans-serif;font-feature-settings:"tnum";background:var(--surface);color:var(--text-1);line-height:1.5;min-height:100vh;-webkit-font-smoothing:antialiased}html{scroll-behavior:smooth}::selection{background:var(--brand-soft);color:var(--brand-deep)}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-bottom:0;animation:fadeIn .3s ease both}.card:nth-child(2){animation-delay:.05s}.card:nth-child(3){animation-delay:.1s}.card:nth-child(4){animation-delay:.15s}.card:nth-child(5){animation-delay:.2s}.card:nth-child(6){animation-delay:.25s}.card-title{font-size:14px;color:var(--text-2);margin-bottom:12px;font-weight:500}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@media(hover:hover){.card{transition:box-shadow .2s ease,transform .2s ease}.card:hover{box-shadow:0 4px 12px #0000000f;transform:translateY(-1px)}}.dashboard-grid{display:flex;flex-direction:column;gap:12px;max-width:1100px;margin:0 auto}.progress-bar{height:8px;background:var(--border);border-radius:4px;position:relative;overflow:visible;margin:8px 0}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--brand),var(--brand-deep));border-radius:4px;transition:width .8s cubic-bezier(.4,0,.2,1)}.progress-labels{display:flex;justify-content:space-between;font-size:12px;color:var(--text-3)}.tabs{display:flex;gap:4px;margin-bottom:16px}.tab{padding:6px 14px;border-radius:8px;font-size:13px;cursor:pointer;border:none;color:var(--text-2);background:var(--surface);transition:all .2s ease}.tab:hover{opacity:.8}.tab.active{background:var(--brand);color:#fff}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.metric-item{text-align:center;padding:12px;background:var(--surface);border-radius:12px;transition:transform .15s ease;min-width:0}.metric-item:hover{transform:scale(1.02)}.metric-value{font-size:clamp(18px,5.5vw,22px);font-weight:700;margin-bottom:2px;letter-spacing:-.5px}.metric-label{font-size:12px;color:var(--text-3)}.weight-big{font-size:36px;font-weight:700;color:var(--brand);letter-spacing:-1px;animation:pulse 2s ease infinite}.badge{display:inline-block;padding:2px 8px;border-radius:6px;font-size:12px;font-weight:500}.badge-success{background:#d1fae5;color:#065f46}.badge-warning{background:#fef3c7;color:#92400e}.badge-over{background:#fee2e2;color:#991b1b;animation:pulse 2.5s ease infinite}.streak-badge{display:inline-flex;align-items:center;gap:4px;background:linear-gradient(135deg,#fde68a,#fcd34d);padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;color:#92400e}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.chart-value{font-size:24px;font-weight:700;letter-spacing:-.5px}.chart-sub{font-size:12px;color:var(--text-3)}.body-comp{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.comp-item{padding:14px;background:var(--surface);border-radius:12px;transition:transform .15s ease}.comp-item:hover{transform:translateY(-2px)}.comp-value{font-size:20px;font-weight:700;letter-spacing:-.3px}.comp-label{font-size:12px;color:var(--text-3);margin-bottom:4px}.comp-change{font-size:12px;color:var(--success)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-3)}.nav-item:focus-visible,.tab:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@media(max-width:767px){.card{padding:16px;margin-bottom:0;border-radius:14px}.weight-big{font-size:30px}.chart-value{font-size:20px}.metric-value{font-size:18px}.comp-value{font-size:17px}}@media(min-width:1024px){.body-comp{grid-template-columns:repeat(4,1fr)}}@media(min-width:1440px){.card{padding:24px}}@supports (padding-top: env(safe-area-inset-top)){body{padding-top:env(safe-area-inset-top)}}@media(prefers-color-scheme:dark){:root{--surface: #111;--card: #1a1a1a;--text-1: #f0f0f0;--text-2: #a0a0a0;--text-3: #666;--border: #2a2a2a}}
