@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#101612;--panel:#19211b;--raised:#202b23;--line:#303d32;--text:#edf4ed;--muted:#9aaa9e;--green:#b4f28b;--lime:#cefcac;--amber:#e8c389;--red:#ffb4ab;--radius:20px;font:14px 'DM Sans',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}[hidden]{display:none!important}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button,a,input,textarea,select{outline-offset:4px}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3,.brand{font-family:Manrope,sans-serif}h1{font-size:38px;line-height:1.18;letter-spacing:-1.5px;font-weight:600;margin-bottom:12px}h2{font-size:20px;font-weight:600;letter-spacing:-.4px}h3{font-size:16px;font-weight:600}p{line-height:1.65}small{font-size:11px}.muted{color:var(--muted)}.eyebrow,.sidebar-caption,.breadcrumb{font-size:10px;font-weight:700;letter-spacing:1.8px;color:var(--muted)}.eyebrow{color:var(--green);margin-bottom:14px}.brand{font-size:33px;letter-spacing:-2px;font-weight:800}.brand span{color:var(--green)}.brand small{display:block;letter-spacing:2px;font-size:9px;color:var(--muted);margin-top:8px}.primary,.secondary{border-radius:10px;padding:12px 18px;font-weight:700;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:10px}.primary{background:var(--green);color:#182114}.primary:hover{background:var(--lime)}.secondary{background:var(--raised);color:var(--text);border-color:var(--line)}.text-button{background:none;border:0;color:var(--green);padding:10px;font-size:12px}.icon-button{background:none;border:0;color:var(--muted);font-size:20px;padding:8px}.pill{font-size:11px;border:1px solid var(--line);padding:7px 12px;border-radius:30px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--green)}.notice{font-size:13px;white-space:pre-wrap;line-height:1.6;color:var(--amber)}.global-notice{margin:12px 40px 0;padding:14px 18px;border:1px solid #776244;background:#332d21;border-radius:12px}.boot{padding:60px;text-align:center;color:var(--muted)}label{display:block;color:var(--muted);font-size:12px;font-weight:500}input,textarea,select{display:block;width:100%;margin:8px 0 18px;padding:13px 14px;color:var(--text);border:1px solid var(--line);border-radius:9px;background:#121a15}textarea{resize:vertical;line-height:1.6}input:focus,textarea:focus,select:focus{border-color:var(--green)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
#auth-screen{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.auth-brand{background:radial-gradient(ellipse at 10% 90%,#345536 0,transparent 65%),#1c2a20;padding:65px 12%;display:flex;flex-direction:column;justify-content:center}.auth-brand .brand{margin-bottom:90px}.auth-brand h1{font-size:64px;letter-spacing:-3px}.auth-brand p{font-size:17px;color:#adbeaf}.auth-note{margin-top:80px;font-size:10px;letter-spacing:2px;color:#91a995}.auth-card{align-self:center;max-width:440px;width:100%;padding:42px;margin:auto}.auth-card h2{font-size:30px}.auth-card .primary{width:100%;margin:6px 0 20px}.auth-card .text-button{display:block;margin:auto}
.sidebar{position:fixed;inset:0 auto 0 0;width:224px;padding:38px 22px;background:#151d17;border-right:1px solid var(--line);display:flex;flex-direction:column}.sidebar .brand{padding-left:16px}.sidebar-caption{font-size:9px;margin:50px 0 16px 16px}.nav{display:flex;align-items:center;gap:15px;width:100%;border:0;background:none;color:var(--muted);padding:15px 17px;text-align:left;border-radius:10px;font-size:17px;margin-bottom:6px}.nav span{font-size:13px;font-weight:500}.nav:hover{background:var(--raised)}.nav.active{background:#2a3a27;color:var(--green)}.sidebar-bottom{display:flex;align-items:center;gap:9px;margin-top:auto;border-top:1px solid var(--line);padding-top:24px}.sidebar-bottom strong{font-size:12px}.sidebar-bottom small{display:block;color:var(--muted);margin-top:4px}.sidebar-bottom .icon-button{margin-left:auto}.user-avatar{border-radius:50%;background:#354932;color:var(--green);width:34px;height:34px;display:grid;place-items:center;font-weight:700}.workspace{margin-left:224px}.topbar{height:78px;border-bottom:1px solid var(--line);padding:0 40px;display:flex;gap:15px;align-items:center}.topbar .breadcrumb{margin-right:auto;font-size:9px}.topbar #today-label{font-size:12px;color:var(--muted)}#content{max-width:1320px;margin:auto;padding:38px 40px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.page-heading p:last-child{margin-bottom:0}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.card-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.card-title h2,.card-title h3{margin:0}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:20px}.hero{position:relative;overflow:hidden;background:linear-gradient(105deg,#30422b,#223321);border-color:#4a6440;padding:30px;min-height:176px;display:flex;align-items:center;justify-content:space-between;gap:20px}.hero h2{font-size:26px;max-width:600px}.hero p{color:#b8c9b7;margin:0}.hero-mark{font-family:Manrope;font-size:78px;color:#a5d982;opacity:.6;line-height:1}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.metric{padding:20px 18px;min-height:143px}.metric-label{font-size:11px;color:var(--muted);margin-bottom:18px}.metric-value{font:600 26px Manrope,system-ui,sans-serif;letter-spacing:-1px}.metric-value small{font:400 11px 'DM Sans';color:var(--muted);letter-spacing:0;margin-left:4px}.metric-target{font-size:10px;color:var(--muted);margin-top:8px}.progress-track{height:4px;background:#303b31;border-radius:5px;margin-top:14px;overflow:hidden}.progress-track span{display:block;height:100%;background:var(--green);border-radius:5px}.streak-card{display:flex;flex-direction:column;align-items:center;text-align:center;background:radial-gradient(ellipse at 50% 0,#3f4129 0,transparent 70%),var(--panel)}.streak-number{font:500 66px Manrope,system-ui,sans-serif;color:var(--amber);letter-spacing:-4px;margin:20px 0 0}.streak-card h3{margin:8px 0}.streak-card p{font-size:12px}.section-gap{margin-top:20px}.small-row{display:flex;align-items:center;justify-content:space-between;gap:15px}.small-row h3{margin:0}.small-row p{margin:6px 0 0;font-size:12px}.icon-tile{background:#30412c;border-radius:12px;padding:12px;font-size:22px;color:var(--green)}.empty{padding:30px 16px;text-align:center;color:var(--muted);line-height:1.8}.empty h3{color:var(--text)}.spark-chart{display:flex;align-items:flex-end;height:130px;gap:9px;margin-top:30px}.spark-column{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;gap:10px}.spark-bar{width:100%;max-width:32px;background:#86b46b;min-height:2px;border-radius:5px 5px 2px 2px}.spark-column:last-child .spark-bar{background:var(--green)}.spark-column small{font-size:9px;color:var(--muted)}.legend{display:flex;gap:16px;font-size:11px;color:var(--muted);margin-top:16px}
.coach-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}.conversation-panel{border:1px solid var(--line);border-radius:var(--radius);background:#151d17;overflow:hidden}#conversation{height:55vh;min-height:320px;overflow:auto;padding:26px;display:flex;flex-direction:column;gap:20px}.message{max-width:92%;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;font-size:14px}.message.user{align-self:flex-end;background:#2b3b28;border:1px solid #3b5233;border-radius:16px 16px 3px 16px;padding:14px 18px}.message.coach{align-self:flex-start}.copy-reply{display:block;min-height:44px;margin-top:8px}.message-label{display:block;color:var(--green);font-size:10px;font-weight:700;letter-spacing:1.5px;margin-bottom:8px}.composer{border-top:1px solid var(--line);padding:18px}.composer textarea{border:0;background:none;margin:0;padding:4px;min-height:60px;max-height:200px}.composer textarea:focus{outline:none}.composer-actions{display:flex;align-items:center;gap:9px;margin-top:10px}.composer-actions .muted{margin-left:auto;font-size:10px}.attach-button{cursor:pointer;color:var(--muted);font-size:12px}.session-panel{border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:var(--panel)}.activity{padding:15px 0;border-top:1px solid var(--line)}.activity-name{display:flex;align-items:baseline;gap:9px;line-height:1.5;font-weight:500}.activity-number{color:var(--muted);font:11px Manrope,system-ui,sans-serif;min-width:18px}.activity.current .activity-name{color:var(--green)}.activity.completed .activity-name{color:#a4b89e}.activity.replaced .activity-name,.activity.skipped .activity-name{color:#7f9080;text-decoration:line-through}.activity p{font-size:11px;margin:6px 0;color:var(--muted)}.activity .pill{display:inline-block;font-size:9px;padding:3px 7px;margin-top:5px}.set-form{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.set-form label{flex:1;min-width:65px;font-size:10px}.set-form input,.set-form select{padding:8px;margin:6px 0}.set-form button{width:100%;padding:9px}.activity-controls{display:flex;gap:7px;margin-top:10px}.activity-controls button{font-size:10px;padding:8px}.logged-set{font-size:11px;color:var(--green);margin:8px 0}.filter-bar{display:flex;align-items:end;gap:14px;margin-bottom:22px;flex-wrap:wrap}.filter-bar input{margin-bottom:0}.filter-bar button{margin-bottom:1px}.entry-row{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:15px}.entry-row:last-child{border:0}.entry-row h3{margin-bottom:5px;font-size:13px}.entry-row p{font-size:12px;color:var(--muted);margin:0}.entry-date{font-size:10px;color:var(--muted);white-space:nowrap}.entry-actions{display:flex;align-items:center;gap:4px}.entry-actions button{padding:4px 7px}.plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.plan-list{list-style:none;padding:0;margin:0}.plan-list li{padding:12px 0;border-bottom:1px solid var(--line);line-height:1.6}.plan-list li:last-child{border:0}.plan-list small{display:block;color:var(--muted)}.shopping-add{display:flex;flex-wrap:wrap;align-items:end;gap:14px}.shopping-add label{flex:1;min-width:140px}.shopping-add input{margin-bottom:0}.shopping-add button{min-height:44px}.shopping-row span{overflow-wrap:anywhere;min-width:0}.shopping-row input{flex-shrink:0;min-width:24px;height:24px}.shopping-row span{font-size:16px}.shopping-row small{font-size:12px}.shopping-row small{overflow-wrap:anywhere;max-width:35%;flex-shrink:0}#shopping-status{color:var(--muted);font-size:13px}.shopping-row{display:flex;gap:13px;align-items:center;border-bottom:1px solid var(--line);padding:17px 0}.shopping-row input{width:18px;margin:0;accent-color:var(--green)}.shopping-row.checked span{text-decoration:line-through;color:var(--muted)}.shopping-row small{margin-left:auto;color:var(--muted)}.settings-card{max-width:620px;margin-bottom:20px}.check-label{display:flex;align-items:center;gap:12px;margin:22px 0}.check-label input{width:17px;margin:0;accent-color:var(--green)}.danger{color:var(--red)}footer{border-top:1px solid var(--line);margin:20px 40px;padding:20px 0;color:#718473;font-size:9px;letter-spacing:2px}dialog{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:16px;padding:30px;max-width:430px;width:90vw}dialog::backdrop{background:#0009}#workout-reply{white-space:pre-wrap;margin-bottom:16px}#pending-reply,.reply-status{padding:15px 20px;background:#333120;color:var(--amber);font-size:12px}
@media(min-width:1500px){#content{padding-top:48px}.metric{min-height:157px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 310px}}
@media(max-width:1150px){.sidebar{width:190px;padding:32px 15px}.workspace{margin-left:190px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 235px}#content{padding:28px}.metric-grid{gap:10px}.metric{padding:16px 12px}.metric-value{font-size:23px}.coach-layout{grid-template-columns:minmax(0,1fr)}.topbar{padding:0 28px}}
@media(max-width:900px){.sidebar{width:76px;padding:25px 10px}.sidebar .brand{font-size:24px;padding:0}.sidebar-caption,.nav span,.sidebar-bottom strong,.sidebar-bottom small,.user-avatar{display:none}.nav{justify-content:center;padding:14px 0;font-size:22px}.sidebar nav{margin-top:40px}.sidebar-bottom{justify-content:center}.sidebar-bottom .icon-button{margin:auto}.workspace{margin-left:76px}.dashboard-grid{grid-template-columns:1fr}.dashboard-side{display:grid;grid-template-columns:1fr 1fr;gap:20px}.dashboard-side .section-gap{margin:0}.streak-card{padding:18px}.streak-number{font-size:40px;margin:5px 0}.coach-layout{grid-template-columns:1fr}.session-panel{order:-1}.session-panel .activity{padding:12px 0}.hero-mark{display:none}.auth-brand{padding:40px}.auth-brand h1{font-size:48px}.composer-actions .muted{display:none}.composer-actions .primary{margin-left:auto}}
@media(max-width:600px){#auth-screen{grid-template-columns:1fr}.auth-brand{padding:35px;min-height:240px}.auth-brand .brand{margin-bottom:25px}.auth-brand h1{font-size:37px;margin-bottom:0}.auth-brand p,.auth-note{display:none}.auth-card{padding:30px}.sidebar{inset:auto 0 0;width:100%;height:67px;padding:5px 8px;border:0;border-top:1px solid var(--line);z-index:10}.sidebar .brand,.sidebar-bottom{display:none}.sidebar nav{display:flex;margin:0;justify-content:space-around}.nav{margin:0;width:13.8%;padding:8px 2px;display:flex;flex-direction:column;gap:3px;font-size:18px}.nav span{display:block;font-size:8px}.workspace{margin:0 0 67px}.topbar{height:60px;padding:0 20px;gap:6px}.breadcrumb{display:none}#content{padding:24px 18px}.page-heading{align-items:start;gap:14px;margin-bottom:24px}.page-heading .primary{font-size:10px;padding:10px}.page-heading h1{font-size:29px}.page-heading .muted{font-size:12px}.page-heading .pill{max-width:130px}.eyebrow{font-size:8px;letter-spacing:1.3px}.hero{padding:22px;min-height:150px}.hero h2{font-size:23px}.hero .primary{font-size:11px;padding:10px}.hero p{font-size:12px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.metric{min-height:130px}.metric-value{font-size:28px}.dashboard-side{grid-template-columns:1fr}.plan-grid{grid-template-columns:1fr}.card{padding:20px}.entry-row{padding:16px 0}.entry-date{font-size:9px}.entry-actions{flex-direction:column}#conversation{padding:20px;height:51vh}.message{font-size:13px}.composer{padding:15px}.spark-chart{gap:5px}.global-notice{margin:10px 18px 0}.filter-bar{gap:10px}.filter-bar label{flex:1;min-width:110px}.filter-bar button{font-size:11px}footer{margin:0 20px}#signout-mobile{display:block}}

/* Daily exercise charts reflect Coach-authored session order. */
.progression-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.progression-heading h2{font-size:19px;margin:0}.progression-heading .eyebrow{margin-bottom:7px}.progression-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.progression-card{min-width:0;padding:18px 16px 12px;border:1px solid var(--line);border-radius:16px;background:#111813}.progression-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-height:35px}.progression-card h3{font-size:11px;line-height:1.5;letter-spacing:.4px;text-transform:uppercase;margin:0;overflow-wrap:anywhere}.pr-badge{color:#ffc94a;background:#30250b;border:1px solid #73520f;border-radius:20px;padding:3px 8px;font:700 10px/1.4 ui-monospace,monospace;flex-shrink:0;max-width:48%;text-align:right}.chart-caption,.chart-footnote{font-size:10px;color:var(--muted);margin:8px 0}.chart-unit{color:var(--muted);font-size:10px;margin-top:12px}.progression-chart{width:100%;display:block;overflow:visible}.chart-grid line{stroke:#29322b;stroke-width:.65}.chart-grid text{fill:#93a195;font:10px ui-monospace,monospace}.chart-empty{fill:#93a195;font:11px system-ui,sans-serif}.chart-history{font-size:11px;color:var(--muted);margin-top:4px}.chart-history summary{cursor:pointer;padding:7px 0}.chart-history ul{list-style:none;padding:0;max-height:160px;overflow:auto}.chart-history li{display:flex;justify-content:space-between;gap:10px;padding:5px 0}.chart-footnote{margin-top:12px}@media(max-width:1250px){.progression-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.progression-grid{grid-template-columns:1fr}.progression-heading{align-items:flex-start}.progression-heading h2{font-size:17px}.progression-heading .text-button{font-size:11px;white-space:nowrap}.progression-card{padding:18px 14px 10px}}
/* Keep flexible panels within narrow screens and allow long user content to wrap. */
html{width:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-width:0}.workspace,#content,.view,.auth-card,.auth-brand,.conversation-panel,.session-panel,.page-heading>div,.dashboard-grid>*,.coach-layout>*{min-width:0}
.message,.activity,.card,.page-heading{overflow-wrap:anywhere}
@media(max-width:900px){input,select,textarea{font-size:16px}#auth-screen{min-height:100svh}.composer-actions{flex-wrap:wrap}}
@media(max-width:600px){#conversation{height:51svh}.sidebar{height:calc(67px + env(safe-area-inset-bottom));padding-bottom:calc(5px + env(safe-area-inset-bottom))}.workspace{margin-bottom:calc(67px + env(safe-area-inset-bottom))}}