:root{--bg: #0e0f11;--surface: #16181c;--surface2: #1e2128;--border: #2a2d35;--accent: #c8f135;--accent2: #f1a135;--accent3: #35c8f1;--red: #f13535;--text: #e8eaf0;--muted: #6b7280;--white: #ffffff}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:Manrope,sans-serif;font-weight:400;background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}.app{min-height:100vh;max-width:960px;margin:0 auto;padding:24px 16px}.header{margin-bottom:24px}.header__row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.header__title{font-family:Bebas Neue,sans-serif;font-size:48px;font-weight:400;color:var(--white);letter-spacing:2px}.header__right{display:flex;align-items:center;gap:12px}.header__refresh{background:none;border:none;font-size:20px;cursor:pointer;padding:4px}.header__logout{background:none;border:1px solid var(--border);color:var(--muted);font-family:inherit;font-size:12px;font-weight:600;padding:6px 14px;border-radius:8px;cursor:pointer;transition:color .15s,border-color .15s}.header__logout:hover{color:var(--text);border-color:var(--muted)}.tabs{display:flex;gap:0;border-bottom:1px solid var(--border)}.tabs__btn{background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);font-family:inherit;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:10px 20px;cursor:pointer;transition:color .15s,border-color .15s}.tabs__btn:hover{color:var(--text)}.tabs__btn--active{color:var(--accent);border-bottom-color:var(--accent)}.main{padding:24px 0}.muted{color:var(--muted);font-size:14px}.login{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh;gap:24px}.login__title{font-family:Bebas Neue,sans-serif;font-size:48px;font-weight:400;color:var(--white);letter-spacing:2px}.login__form{display:flex;gap:12px;width:100%;max-width:400px}.login__input{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:12px;color:var(--text);font-family:inherit;font-size:14px;padding:12px 16px;outline:none;transition:border-color .15s}.login__input:focus{border-color:var(--accent)}.login__btn{background:var(--accent);color:var(--bg);font-family:inherit;font-size:14px;font-weight:700;border:none;border-radius:12px;padding:12px 24px;cursor:pointer;transition:opacity .15s}.login__btn:hover{opacity:.9}.login__btn:disabled{opacity:.5;cursor:default}.login__error{color:var(--red);font-size:14px}.card{background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:16px;padding:16px 20px;margin-bottom:16px}.card__title{font-family:Bebas Neue,sans-serif;font-size:20px;font-weight:400;color:var(--white);letter-spacing:1px;margin-bottom:12px}.macro-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}.macro-card{display:flex;flex-direction:column;gap:4px}.macro-card__label{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--muted);letter-spacing:.5px}.macro-card__value{font-size:22px;font-weight:700;color:var(--white)}.macro-card__value small{font-size:12px;font-weight:400;color:var(--muted)}.progress-bar{height:6px;background:var(--surface2);border-radius:3px;overflow:hidden;margin-top:4px}.progress-bar__fill{height:100%;border-radius:3px;transition:width .3s ease}.warnings{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.badge{display:inline-block;font-size:12px;font-weight:700;padding:4px 12px;border-radius:20px;color:var(--bg)}.badge--outline{background:none;border:1px solid var(--border);color:var(--text);font-size:11px;font-weight:600}.meal-list{display:flex;flex-direction:column;gap:0}.meal-list__row{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--border)}.meal-list__row:last-child{border-bottom:none}.meal-list__time{color:var(--muted);font-size:13px;font-weight:600}.meal-list__desc{font-size:14px}.meal-list__macros{font-size:12px;color:var(--muted);white-space:nowrap}.day-info{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-bottom:8px}.day-info__item{display:flex;flex-direction:column;gap:2px}.day-info__label{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--muted)}.day-info__value{font-size:16px;font-weight:600}.day-info__value--accent{color:var(--accent)}.day-info__comment{margin-top:8px;font-size:14px;color:var(--muted);font-style:italic}.exercise-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;padding:6px 0;border-bottom:1px solid var(--border)}.exercise-row:last-child{border-bottom:none}.exercise-row__name{font-size:14px;font-weight:600}.exercise-row__detail{font-size:14px;color:var(--muted)}.exercise-row__prev{width:100%;font-size:12px;color:var(--muted);padding-left:12px}.delta{font-size:12px;font-weight:700;margin-left:4px}.delta--up{color:var(--accent)}.delta--down{color:var(--red)}.workout-card__header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.workout-card__date{font-size:16px;font-weight:700;color:var(--white)}.workout-card__exercises{display:flex;flex-direction:column}.badges-row{display:flex;gap:16px;margin-bottom:20px}.stat-badge{display:flex;flex-direction:column;align-items:center;gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px 28px;min-width:140px}.stat-badge__value{font-size:28px;font-weight:800}.stat-badge__label{font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase}.avg-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.avg-grid__item{display:flex;flex-direction:column;align-items:center;gap:4px}.avg-grid__value{font-size:22px;font-weight:700;color:var(--white)}.avg-grid__label{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase}.chart-wrap{width:100%;position:relative}.chart-wrap canvas{display:block;width:100%}.chart-tooltip{position:absolute;transform:translate(-50%);background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:4px 10px;font-size:12px;font-weight:600;color:var(--white);white-space:nowrap;pointer-events:none;z-index:10}.date-nav{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:20px;position:relative}.date-nav__arrow{background:none;border:1px solid var(--border);color:var(--text);font-size:16px;width:36px;height:36px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s,color .15s}.date-nav__arrow:hover{border-color:var(--accent);color:var(--accent)}.date-nav__label{background:none;border:none;color:var(--white);font-family:Bebas Neue,sans-serif;font-size:22px;font-weight:400;letter-spacing:1px;cursor:pointer;padding:4px 12px;border-radius:8px;transition:background .15s;min-width:180px;text-align:center}.date-nav__label:hover{background:var(--surface2)}.date-nav__dropdown{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:8px;z-index:100}.calendar-picker{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px;min-width:280px;box-shadow:0 8px 32px #0006}.calendar-picker__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.calendar-picker__title{font-family:Bebas Neue,sans-serif;font-size:18px;color:var(--white);letter-spacing:1px;text-transform:capitalize}.calendar-picker__nav{background:none;border:1px solid var(--border);color:var(--text);font-size:14px;width:32px;height:32px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s,color .15s}.calendar-picker__nav:hover{border-color:var(--accent);color:var(--accent)}.calendar-picker__weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px}.calendar-picker__wd{text-align:center;font-size:10px;font-weight:700;text-transform:uppercase;color:var(--muted);padding:4px 0}.calendar-picker__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-picker__day{background:none;border:none;color:var(--text);font-family:inherit;font-size:13px;font-weight:500;width:36px;height:36px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.calendar-picker__day:hover{background:var(--surface2)}.calendar-picker__day--today{border:1px solid var(--accent);color:var(--accent)}.calendar-picker__day--selected{background:var(--accent);color:var(--bg);font-weight:700}.mini-calendar__weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px}.mini-calendar__wd{text-align:center;font-size:10px;font-weight:700;text-transform:uppercase;color:var(--muted);padding:4px 0}.mini-calendar__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.mini-calendar__day{display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:500;color:var(--muted);width:36px;height:36px;border-radius:10px;margin:0 auto}.mini-calendar__day--today{border:1px solid var(--muted);color:var(--text)}.mini-calendar__day--highlighted{background:var(--accent);color:var(--bg);font-weight:700}.month-nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:20px}.month-nav__title{font-family:Bebas Neue,sans-serif;font-size:22px;color:var(--white);letter-spacing:1px;min-width:180px;text-align:center;text-transform:capitalize}.month-nav__arrow{background:none;border:1px solid var(--border);color:var(--text);font-size:16px;width:36px;height:36px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s,color .15s}.month-nav__arrow:hover{border-color:var(--accent);color:var(--accent)}.date-range{display:flex;gap:16px;margin-bottom:20px;align-items:flex-end;justify-content:center}.date-range__field{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px}.date-range__hint{font-size:10px;font-weight:700;text-transform:uppercase;color:var(--muted);letter-spacing:.5px}.date-range__btn{background:var(--surface);border:1px solid var(--border);border-radius:10px;color:var(--white);font-family:inherit;font-size:13px;font-weight:600;padding:8px 16px;cursor:pointer;transition:border-color .15s,background .15s;white-space:nowrap}.date-range__btn:hover{border-color:var(--accent);background:var(--surface2)}.date-range__dropdown{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:8px;z-index:100}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:64px 16px;text-align:center}.empty-state__icon{font-size:48px;margin-bottom:8px}.empty-state__title{font-size:18px;font-weight:700;color:var(--white)}.empty-state__sub{font-size:14px;color:var(--muted)}.day-tab,.workouts-tab,.progress-tab{display:flex;flex-direction:column}@media(max-width:700px){.header__title{font-size:32px}.macro-grid{grid-template-columns:repeat(2,1fr)}.macro-card__value{font-size:18px}.meal-list__row{grid-template-columns:1fr;gap:4px}.meal-list__time{font-size:11px}.day-info,.avg-grid{grid-template-columns:repeat(2,1fr)}.badges-row{flex-direction:column;align-items:stretch}.stat-badge{min-width:0}.tabs__btn{padding:10px 12px;font-size:11px}.date-nav__label{font-size:18px;min-width:140px}.date-range{gap:12px}.month-nav__title{font-size:18px;min-width:140px}.calendar-picker{min-width:260px}.calendar-picker__day,.mini-calendar__day{width:32px;height:32px;font-size:12px}}
