:root{--navy:#071a4a;--blue:#1768ff;--green:#08bd82;--bg:#f8faff;--card:#fff;--text:#081a49;--muted:#607296;--line:#dfe8f5;--shadow:0 10px 28px rgba(32,66,126,.075)}
body{background:linear-gradient(180deg,#fff 0,#f8faff 38%,#f5f8fd 100%)}
.app-shell{max-width:1180px}.topbar{height:82px;padding:env(safe-area-inset-top) 22px 0;background:rgba(255,255,255,.93);border-bottom:1px solid rgba(223,232,245,.65)}
.topbar .icon-btn{display:none}.brand{gap:10px;font-size:20px;letter-spacing:.14em}.brand img{width:48px;height:48px;object-fit:contain}.drawer-logo{width:48px;height:48px;object-fit:contain}.top-actions{margin-left:auto;display:flex;align-items:center;gap:9px}.top-actions .date-chip{margin:0;height:38px;border:0;background:#f2f6fc;color:var(--muted);font-size:12px}.header-action,.profile-avatar{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;background:transparent;color:var(--navy);font-weight:800}.header-action{font-size:24px}.profile-avatar{background:#e8eef8;color:#4f6386}
main{padding-top:34px}.view#dashboard{max-width:840px;margin:0 auto}.hello-row{margin:0 0 26px;align-items:center}.hello-row h1{font-size:clamp(1.75rem,5vw,2.45rem);font-weight:850}.hello-row .muted{margin-top:6px;font-size:1rem}.score-ring{flex-basis:116px;width:116px;height:116px;background:linear-gradient(145deg,#edfff9,#e7f8ff);box-shadow:none;color:var(--navy)}.score-ring small{order:0;font-size:.68rem;color:var(--navy);font-weight:750}.score-ring span{order:1;font-size:2rem;line-height:1;font-weight:900;margin:4px 0}.score-ring b{order:2;color:var(--green);font-size:.64rem}
.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}.metric{min-width:0;padding:15px 13px;border-radius:18px;box-shadow:0 5px 18px rgba(29,74,145,.045)}.metric-top{display:grid;gap:7px;justify-content:start}.metric-top span{order:2;color:var(--navy);font-weight:750}.metric-top b{order:1;font-size:1.2rem}.metric>strong{margin:12px 0 10px;font-size:1.15rem;white-space:nowrap}.metric>strong small{font-size:.62rem}.metric>button,.metric .counter{min-height:32px}.metric>button{padding-top:10px}.bar{height:7px}
.coach-card{display:grid;grid-template-columns:auto 1fr auto;gap:14px;margin:0 0 16px;padding:19px;border:1px solid #d6e8ff;border-radius:22px;background:linear-gradient(115deg,#e7f3ff,#f3fbff);color:var(--navy);box-shadow:0 8px 24px rgba(44,106,190,.09)}.coach-orb{width:50px;height:50px;border-radius:50%;font-size:1rem;letter-spacing:1px;background:linear-gradient(145deg,#3197ff,#1768ff)}.coach-copy small{color:var(--blue);font-size:.69rem}.coach-copy strong{font-size:1.05rem;margin-top:4px}.coach-copy span{color:#4f658b;font-size:.8rem;line-height:1.35}.coach-card>button{width:42px;height:42px;padding:0;border-radius:50%;background:#fff;color:var(--navy);font-size:1.8rem;box-shadow:0 4px 12px rgba(31,67,126,.1)}
.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.workout-card,.nutrition-card{position:relative;min-height:166px;margin:0;padding:18px;border:1px solid var(--line);border-radius:21px;background:var(--card);color:var(--navy);box-shadow:var(--shadow);display:grid;grid-template-columns:auto 1fr;align-content:start;gap:9px}.feature-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;font-weight:900}.workout-icon{background:#e8f0ff;color:var(--blue)}.nutrition-icon{background:#dcfaef;color:var(--green)}.workout-copy,.nutrition-card>div{min-width:0}.workout-card .eyebrow,.nutrition-card .eyebrow{margin:2px 0 7px;color:var(--navy);font-size:.67rem}.workout-card h2,.nutrition-card h2{font-size:1.15rem;line-height:1.2}.workout-card p:last-child,.nutrition-card p:last-child{margin-top:7px;color:var(--muted);font-size:.78rem;line-height:1.4}.feature-arrow{position:absolute;right:15px;bottom:15px;display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;background:#f2f6fc;color:var(--navy);font-size:1.55rem}.nutrition-card::after{content:'✦';position:absolute;right:23px;top:21px;color:#a9ebd4;font-size:2rem}
.plan-card{border:1px solid var(--line);border-radius:19px;padding:15px 17px;background:#fff;box-shadow:0 6px 20px rgba(29,55,91,.05)}.plan-panel{box-shadow:0 10px 24px rgba(29,55,91,.05)}.quick-log-link{display:block;margin:12px auto 0;border:0;background:transparent;color:var(--blue);font-size:.8rem;font-weight:800}.week-card{margin-top:16px;border:1px solid var(--line);box-shadow:0 6px 20px rgba(29,55,91,.05)}
.bottom-nav{padding-top:10px;border-top:1px solid #e4ebf5;box-shadow:0 -7px 24px rgba(28,54,92,.05)}.bottom-nav .log-fab span{width:54px;height:54px;margin-top:-30px;background:var(--blue);box-shadow:0 9px 22px rgba(23,104,255,.32)}
@media(max-width:560px){main{padding:25px 14px 120px}.topbar{height:70px;padding-left:15px;padding-right:15px}.brand img{width:37px;height:37px}.brand{font-size:17px}.top-actions{gap:3px}.top-actions .date-chip{display:none}.header-action,.profile-avatar{width:34px;height:34px}.hello-row{gap:10px;margin-bottom:22px}.hello-row h1{font-size:1.6rem}.hello-row .muted{font-size:.88rem}.score-ring{flex-basis:88px;width:88px;height:88px}.score-ring span{font-size:1.55rem}.score-ring b{font-size:.55rem}.metric-grid{gap:7px}.metric{padding:11px 8px;border-radius:15px}.metric-top{gap:4px}.metric-top span{font-size:.7rem}.metric-top b{font-size:1rem}.metric>strong{font-size:.93rem;margin:9px 0 8px;white-space:normal}.metric>strong small{display:block;margin-top:2px;font-size:.56rem}.metric>button{font-size:.67rem}.counter{gap:2px}.counter button{width:25px;height:25px}.counter span{display:none}.coach-card{padding:15px;gap:11px}.coach-orb{width:43px;height:43px}.coach-copy span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.feature-grid{gap:9px}.workout-card,.nutrition-card{min-height:174px;padding:14px;grid-template-columns:1fr}.feature-icon{width:30px;height:30px}.workout-card h2,.nutrition-card h2{font-size:1rem}.nutrition-card::after{top:15px;right:17px}.feature-arrow{width:34px;height:34px;right:12px;bottom:12px}}
@media(max-width:370px){.metric-grid{grid-template-columns:1fr 1fr}.metric>strong small{display:inline}.feature-grid{grid-template-columns:1fr}.workout-card,.nutrition-card{min-height:140px}}
@media(min-width:780px){.topbar{padding-left:30px;padding-right:30px}.view#dashboard{max-width:900px}.metric{padding:18px}.metric>strong{font-size:1.35rem}.feature-grid{gap:16px}.workout-card,.nutrition-card{min-height:180px}.drawer .brand-mark{border-radius:12px}}
@media(prefers-color-scheme:dark){:root{--bg:#0c1726;--card:#132238;--text:#ecf4ff;--navy:#ecf4ff;--muted:#9aaac0;--line:#263a55}.topbar{background:rgba(12,23,38,.94)}body{background:linear-gradient(180deg,#0c1726,#101d2f)}.top-actions .date-chip,.profile-avatar{background:#1b2d45}.score-ring{background:linear-gradient(145deg,#143b38,#142b48)}.coach-card{background:linear-gradient(115deg,#132b4a,#113c43);border-color:#24506a;color:var(--text)}.coach-copy span{color:#b3c5dc}.workout-card,.nutrition-card,.plan-card{background:var(--card);color:var(--text)}.feature-arrow{background:#1e324b;color:var(--text)}}
.memory-card{margin-bottom:18px;padding:20px;border:1px solid var(--line);border-radius:24px;background:var(--card);box-shadow:var(--shadow)}.memory-head{display:flex;align-items:center;gap:12px}.memory-head img{width:46px;height:46px;object-fit:contain}.memory-head small{color:var(--blue);font-weight:850;letter-spacing:.08em}.memory-head h2{margin-top:2px}.memory-head>span{margin-left:auto;padding:6px 9px;border-radius:999px;background:#edf3ff;color:var(--blue);font-size:11px;font-weight:800}.memory-card>p{margin-top:12px;color:var(--muted);font-size:.82rem;line-height:1.5}.memory-list{display:grid;gap:8px;margin-top:14px}.memory-list:empty::before{content:'VAI will add useful preferences here as you chat.';padding:14px;border-radius:14px;background:var(--bg);color:var(--muted);font-size:.78rem;text-align:center}.memory-fact{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:11px 12px;border-radius:14px;background:var(--bg);font-size:.8rem}.memory-fact button{width:28px;height:28px;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:18px}.memory-card .wide:disabled{opacity:.45;cursor:not-allowed}@media(prefers-color-scheme:dark){.memory-head>span{background:#1d3454}.memory-fact{background:#0f1d30}}
