@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";
.modal-backdrop{z-index:20;background:#26232199;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.auth-modal{background:#fff;width:min(100%,420px);padding:22px}.auth-content{color:var(--muted);gap:14px;font-size:12px;display:grid}.auth-content p{margin:0;line-height:1.6}.auth-input{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;margin:6px 0;padding:11px 12px}.auth-action{width:100%;margin-top:8px}.auth-switch{margin-top:12px}.form-help{color:var(--muted);margin:8px 0;font-size:10px;line-height:1.5}.top-avatar{cursor:pointer}.add-food-form{gap:5px;display:grid}.add-food-option,.add-custom-food{text-align:left;border-radius:6px;width:100%;padding:8px;font-size:10px}.add-food-option:hover,.add-custom-food:hover{background:#f5efea}.add-custom-food{background:var(--coral);color:#fff;text-align:center;margin-top:5px}:root{--ink:#262321;--muted:#8b8986;--line:#ebe7e3;--paper:#faf9f7;--card:#fff;--coral:#ee705e;--coral-light:#fff0ec;--violet:#8975d4;--blue:#5996c8;--green:#54a882}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Manrope,Arial,sans-serif}button,input{font:inherit}button{cursor:pointer;color:inherit;background:0 0;border:0}.app-shell{min-height:100vh;display:flex}.sidebar{background:#f4f1ed;border-right:1px solid #ebe7e2;flex-direction:column;flex-shrink:0;width:244px;padding:25px 15px 18px;display:flex}.brand{letter-spacing:-.04em;align-items:center;gap:10px;padding:0 11px 29px;font-size:21px;font-weight:800;display:flex}.brand-mark{background:var(--ink);color:#fff;border-radius:9px;place-items:center;width:29px;height:29px;display:grid}.profile-card{align-items:center;gap:10px;margin-bottom:22px;padding:12px 9px;display:flex}.avatar,.top-avatar{color:#875d4b;background:#e6d9ce;border-radius:50%;place-items:center;font-size:11px;font-weight:800;display:grid}.avatar{width:34px;height:34px}.profile-card div:nth-child(2){flex-direction:column;flex:1;gap:3px;display:flex}.profile-card strong{font-size:12px}.profile-card span,.eyebrow,.metric-label,.day-subtitle,.active-top span,.exercise-info span{color:var(--muted);font-size:10px}.muted-icon{color:#aaa5a0}.nav-label{text-transform:uppercase;letter-spacing:.14em;color:#aaa49d;margin:0 12px 8px;font-size:9px;font-weight:700}.nav-list{flex-direction:column;gap:3px;display:flex}.nav-item{color:#827e79;text-align:left;border-radius:9px;align-items:center;gap:12px;padding:11px 12px;font-size:12px;display:flex}.nav-item.active{color:var(--ink);background:#fff;font-weight:700;box-shadow:0 2px 8px #d9d3cb55}.nav-count{color:#cc644f;background:#fce3dc;border-radius:99px;margin-left:auto;padding:2px 7px;font-size:10px}.sidebar-bottom{margin-top:auto}.streak-card{color:#d16a55;background:#fbe7de;border-radius:10px;align-items:center;gap:10px;margin:0 0 12px;padding:14px 12px;display:flex}.streak-card div{flex-direction:column;gap:3px;display:flex}.streak-card strong{font-size:11px}.streak-card span{color:#b57869;font-size:9px}.content{flex:1;min-width:0;padding:34px 5.2vw 58px}.topbar{justify-content:space-between;align-items:flex-start;margin-bottom:30px;display:flex}.topbar h1{letter-spacing:-.04em;margin:7px 0 0;font-size:23px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;margin:0;font-weight:700}.wave{color:var(--coral);margin-left:4px;font-size:17px}.top-actions{align-items:center;gap:10px;display:flex}.icon-button{border:1px solid var(--line);color:#77716c;background:#fff;border-radius:9px;place-items:center;width:35px;height:35px;display:grid}.icon-button.small{border-radius:8px;width:30px;height:30px}.top-avatar{width:35px;height:35px}.dashboard-grid{max-width:1160px;margin:auto}.card{background:var(--card);border:1px solid #eeeae6;border-radius:13px;box-shadow:0 4px 20px #46312005}.hero-card{color:#fff;background:#292624;border-radius:15px;justify-content:space-between;min-height:210px;padding:25px 30px;display:flex;position:relative;overflow:hidden}.hero-copy{z-index:1;position:relative}.hero-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.primary-button,.secondary-button{border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-size:11px;font-weight:700;display:inline-flex}.primary-button{background:var(--coral);color:#fff}.secondary-button{color:#f6f1ee;background:#ffffff1a;border:1px solid #ffffff1f}.primary-button.compact{padding:10px 12px}.badge{letter-spacing:.02em;border-radius:99px;align-items:center;gap:6px;padding:6px 9px;font-size:9px;font-weight:700;display:inline-flex}.badge-orange{color:#e98a6f;background:#4c302c}.badge-green{color:#388564;background:#e5f5ec}.badge-neutral{background:#f2efeb}.status-dot{background:#f19b75;border-radius:50%;width:6px;height:6px}.hero-card h2{letter-spacing:-.05em;margin:18px 0 7px;font-size:25px}.hero-card p{color:#aaa29c;margin:0 0 23px;font-size:12px}.hero-visual{color:#8f8983;flex-direction:column;justify-content:center;align-items:center;gap:11px;padding-right:8%;font-family:DM Mono,monospace;font-size:10px;display:flex}.ring{border:1px solid #655a55;border-radius:50%;place-items:center;display:grid}.ring-outer{border-color:#8f584d;border-top-color:var(--coral);width:120px;height:120px;transform:rotate(-35deg)}.ring-inner{width:70px;height:70px;color:var(--coral);background:#302c2a;transform:rotate(35deg)}.metric-row{grid-template-columns:repeat(3,1fr);gap:12px;margin:15px 0 36px;display:grid}.metric-card{grid-template-columns:32px 1fr;align-items:center;column-gap:10px;padding:17px 18px;display:grid}.metric-icon{border-radius:9px;grid-row:span 2;place-items:center;width:31px;height:31px;display:grid}.metric-icon.coral{color:var(--coral);background:#ffebe6}.metric-icon.violet{color:var(--violet);background:#f0ecff}.metric-icon.blue{color:var(--blue);background:#e9f4fb}.metric-label{align-self:end}.metric-card strong{letter-spacing:-.05em;font-size:20px;line-height:1.15}.metric-card small{color:var(--muted);font-size:11px;font-weight:500}.metric-change{grid-column:2;font-size:9px;font-weight:700}.metric-change em{color:#aaa39d;margin-left:3px;font-style:normal;font-weight:500}.metric-change.up{color:#4ea17f}.metric-change.neutral{color:#aaa39d}.section-block{min-width:0}.section-heading{justify-content:space-between;align-items:flex-end;margin-bottom:15px;display:flex}.section-heading h2{letter-spacing:-.04em;margin:6px 0 0;font-size:18px}.mini-heading{margin-bottom:10px}.text-button{color:#8a8580;align-items:center;gap:5px;font-size:10px;font-weight:700;display:flex}.schedule-grid{grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:35px;display:grid}.day-card{text-align:left;border:1px solid var(--line);background:#fff;border-radius:10px;min-height:145px;padding:12px 10px 13px;transition:transform .15s,box-shadow .15s}.day-card:hover,.day-card.selected{transform:translateY(-2px);box-shadow:0 8px 18px #4d312011}.day-card.selected{border-color:var(--coral)}.day-card.coral .date-number,.day-card.coral .day-title{color:var(--coral)}.day-card.violet .date-number,.day-card.violet .day-title{color:var(--violet)}.day-card.blue .date-number,.day-card.blue .day-title{color:var(--blue)}.day-name{color:#aaa5a0;font-size:10px}.date-number{letter-spacing:-.07em;margin:7px 0 10px;font-size:25px;font-weight:700;display:block}.day-title{font-size:12px;font-weight:800;display:block}.day-subtitle{min-height:23px;margin-top:4px;font-size:9px;line-height:1.35;display:block}.day-meta{color:#a29d98;margin-top:10px;font-size:8px;display:block}.content-two-col{grid-template-columns:1.5fr 1fr;gap:15px;margin-bottom:35px;display:grid}.progress-card,.nutrition-card{padding:20px}.period-button{border:1px solid var(--line);color:#77716b;border-radius:7px;align-items:center;gap:5px;padding:7px 9px;font-size:9px;display:flex}.chart-wrap{height:180px;margin-top:20px}.nutrition-card{color:#fff;background:#292624;border-color:#292624}.nutrition-card .eyebrow,.nutrition-card .section-heading h2{color:#fff}.nutrition-card .eyebrow{color:#958e89}.calorie-total{align-items:baseline;gap:5px;margin-top:26px;display:flex}.calorie-total strong{letter-spacing:-.05em;font-size:28px}.calorie-total span{color:#a7a09b;font-size:10px}.calorie-bar{background:#4a4541;border-radius:99px;height:7px;margin:14px 0 22px;overflow:hidden}.calorie-bar span{background:var(--coral);border-radius:99px;height:100%;display:block}.macro-list{border-top:1px solid #413d3a;grid-template-columns:1fr 1fr 1fr;gap:7px;padding-top:16px;display:grid}.macro-list div{color:#aaa39d;grid-template-columns:8px 1fr;align-items:center;column-gap:5px;font-size:9px;display:grid}.macro-list strong{color:#fff;grid-column:2;margin-top:3px;font-size:11px}.macro-dot{border-radius:50%;grid-row:span 2;width:6px;height:6px}.protein{background:#ef735f}.carbs{background:#8d7bd6}.fats{background:#65a4cf}.outline-button{color:#fff;border:1px solid #5a514c;border-radius:7px;justify-content:center;align-items:center;gap:7px;width:100%;margin-top:21px;padding:9px 12px;font-size:10px;display:flex}.library-card,.active-card{padding:10px}.search-box{color:#aaa39d;background:#f7f5f3;border-radius:8px;align-items:center;gap:8px;margin-bottom:7px;padding:9px 11px;display:flex}.search-box input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:10px}.exercise-row{border-bottom:1px solid #f0edea;align-items:center;gap:10px;padding:10px 5px;display:flex}.exercise-row:last-child{border-bottom:0}.exercise-thumb{width:30px;height:30px;color:var(--coral);background:#f7e9e2;border-radius:8px;place-items:center;display:grid}.exercise-info{flex-direction:column;flex:1;gap:3px;display:flex}.exercise-info strong{font-size:10px}.last-result{color:#77716b;margin-right:6px;font-family:DM Mono,monospace;font-size:9px}.active-card{padding:17px}.active-top{border-bottom:1px solid #eeeae6;align-items:center;gap:10px;padding-bottom:16px;display:flex}.active-icon{width:36px;height:36px;color:var(--coral);background:#fbe9e4;border-radius:9px;place-items:center;display:grid}.active-top>div:nth-child(2){flex-direction:column;flex:1;gap:3px;display:flex}.active-top strong{font-size:12px}.set-table{padding:13px 0 4px}.set-head,.set-row{grid-template-columns:25px 1fr 22px 45px 28px 21px;align-items:center;gap:5px;display:grid}.set-head{color:#aaa5a0;letter-spacing:.1em;padding:0 4px 6px;font-size:8px}.set-row{border-radius:7px;padding:5px 4px}.set-row.complete{background:#f2faf6}.set-row input{text-align:center;color:#56504b;border:1px solid #e5e1dc;border-radius:5px;width:100%;padding:6px 4px;font-family:DM Mono,monospace;font-size:10px}.set-row span{color:#aaa5a0;font-size:9px}.set-number{color:#8b847e;background:#f1eeeb;border-radius:6px;width:21px;height:21px;font-size:9px}.complete .set-number{color:#398567;background:#d9f1e5}.reps-label{margin-left:-3px}.more-button{color:#aaa5a0}.session-actions{justify-content:space-between;align-items:center;gap:10px;margin-top:10px;display:flex}.add-set-button{color:var(--coral);align-items:center;gap:5px;padding:8px 4px;font-size:10px;font-weight:700;display:flex}.history-panel{border-top:1px solid #f1eee9;margin-top:14px;padding-top:14px}.history-list{flex-direction:column;gap:10px;display:flex}.history-row{border-bottom:1px solid #f5f3f1;grid-template-columns:46px 1fr auto;align-items:center;gap:10px;padding:8px 0;display:grid}.history-row:last-child{border-bottom:0}.history-date{color:#8a847e;font-family:DM Mono,monospace;font-size:9px}.history-body{flex-direction:column;gap:2px;display:flex}.history-body strong{font-size:10px}.history-body span{color:#9c958f;font-size:8px}.history-volume{color:#332f2c;font-family:DM Mono,monospace;font-size:9px}.mobile-menu,.mobile-close{display:none}@media (max-width:1050px){.content{padding-left:28px;padding-right:28px}.schedule-grid{grid-template-columns:repeat(4,1fr)}.day-card{min-height:125px}.content-two-col{grid-template-columns:1fr}.bottom-row{grid-template-columns:1fr 1fr}}@media (max-width:700px){.sidebar{z-index:10;transition:left .2s;position:fixed;top:0;bottom:0;left:-260px;box-shadow:10px 0 30px #0002}.sidebar-open{left:0}.mobile-menu,.mobile-close{place-items:center;display:grid}.mobile-menu{margin-right:12px}.mobile-close{margin-left:auto}.content{padding:22px 16px 40px}.topbar{align-items:center;margin-bottom:24px}.topbar>div:nth-child(2){flex:1}.topbar h1{font-size:19px}.top-actions{display:none}.metric-row{grid-template-columns:1fr;margin-bottom:28px}.metric-card{padding:14px 16px}.hero-card{min-height:260px;padding:22px}.hero-card h2{max-width:200px;font-size:23px}.hero-visual{opacity:.8;position:absolute;bottom:23px;right:-8px}.schedule-grid{grid-template-columns:repeat(2,1fr);gap:7px}.day-card{min-height:130px}.schedule-section{margin-bottom:30px}.content-two-col{grid-template-columns:1fr;gap:25px;margin-bottom:28px}.bottom-row{grid-template-columns:1fr}.section-heading h2{font-size:17px}.last-result{display:none}.progress-card,.nutrition-card{padding:17px}.session-actions{flex-direction:column;align-items:stretch}.history-row{grid-template-columns:44px 1fr}.history-volume{grid-column:2}}.workspace-subtitle{color:#8b8986;margin-top:6px;font-size:11px}.top-actions{position:relative}.calendar-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.status-banner{background:#fff;border:1px solid #e8e3de;border-radius:10px;margin:0 0 16px;padding:10px 12px;font-size:11px;font-weight:600}.status-banner.ok{color:#2f6f52;background:#f1faf5;border-color:#d2e8dc}.status-banner.warn{color:#8a5b2f;background:#fff7ef;border-color:#f0dfcc}.single-col{grid-template-columns:1fr}.session-actions-right{align-items:center;gap:8px;display:flex}.subtle-button{color:#7f7a75;background:#fff;border:1px solid #e7e2dd;border-radius:7px;padding:8px 10px;font-size:10px;font-weight:700}.danger-button{color:#9d3d36;background:#fff4f3;border:1px solid #f0d4d1;border-radius:7px;align-items:center;gap:4px;padding:6px 8px;font-size:9px;font-weight:700;display:inline-flex}.history-actions{grid-column:2/span 2;justify-content:flex-end;align-items:center;gap:6px;display:flex}.exercise-row{text-align:left;width:100%}.primary-button:disabled{opacity:.7;cursor:not-allowed}@media (max-width:700px){.history-actions{grid-column:1/span 2;justify-content:flex-start}.session-actions-right{justify-content:space-between;width:100%}}
