/* Prime Body / Coach Phee. Shared presentation for client, guide and coach surfaces.
   Keep medical/status colours and training data distinct; never hide workflow controls. */
body.prime-ui{--bg:#fafbf8;--paper:#fff;--ink:#293633;--muted:#6c7b72;--line:#e1e8de;--soft:#f1f5ee;--accent:#52755e;--accent-soft:#edf3e7;--teal:#557d67;--teal-soft:#eaf2e4;--warm:#98774d;--warm-bg:#f8f2e5;--good:#52755e;--bad:#a1443d;--card-shadow:none;background:var(--bg);color:var(--ink)}
.prime-ui :is(button,a,summary):focus-visible{outline:3px solid #65875e;outline-offset:3px}
.prime-ui :is(input,select,textarea):focus{border-color:#789572;box-shadow:0 0 0 3px #78957220}
.prime-ui input[type=checkbox],.prime-ui input[type=radio],.prime-ui progress{accent-color:#64825c}
.prime-ui .btn.primary,.prime-ui.focus-side .btn.primary,.prime-ui.focus-client #sheet .btn.primary{background:#55755e;border-color:#55755e;color:#fff;box-shadow:none}
.prime-ui .btn.secondary,.prime-ui.focus-side .btn.secondary{background:#f0f5ea;color:#476346;border-color:#dbe6d3;box-shadow:none}
.prime-ui .btn.text{color:#526e57}.prime-ui .btn.danger{color:#a1443d}
.prime-ui :is(.card,.quest-card,.quest-question,.focus-details,.focus-mini,.member,.ow-history .card){border-color:var(--line);box-shadow:none;border-radius:23px}
.prime-ui :is(.badge,.tag){background:#f1f4ed;color:#62735f}.prime-ui :is(.badge.good,.quest-status.approved){background:#edf4e7;color:#4e6c40}.prime-ui .badge.warm{background:#faf1df;color:#8b6836}
.prime-ui .avatar,.prime-ui .focus-side-avatar{background:#dfecd6;border-color:#fff;color:#486849}
.prime-ui :is(.app-header,.focus-side-header,.ow-header){color:var(--ink)}
.prime-ui :is(.prime-install-button,.prime-install-choice,.prime-install-card){border-color:var(--line)}
.prime-ui .prime-install-button{color:#4d6d4c;background:#edf3e8}
.prime-ui :is(.sheet-content,dialog){color:var(--ink);border-color:var(--line);background:#fff}
.prime-ui dialog::backdrop{background:#29363366;backdrop-filter:blur(5px)}
.prime-ui progress::-webkit-progress-bar{background:#edf1e9}
.prime-ui progress::-webkit-progress-value{background:#93ad80}
.prime-ui progress::-moz-progress-bar{background:#93ad80}
.prime-ui .peach{background:#f8f0df;color:#8a683d}.prime-ui .sage{background:#eaf2e4;color:#4e714e}
.prime-mascot{display:block;width:48px;height:48px;object-fit:contain;flex-shrink:0}
.prime-ui .prime-waiting-mascot{display:block;object-fit:contain;width:100px;height:100px;margin:0 0 16px}
.prime-ui .focus-check-dot.focus-check-emoji{width:54px;height:54px;background:#f1f5ed;border-radius:18px;flex:0 0 54px}
.prime-ui .focus-check-dot.complete{background:#e5efdd;color:#52724d}
.prime-ui .focus-action-emoji{width:54px;height:54px;background:#f4f5ed;border-radius:18px;display:grid;place-items:center;flex-shrink:0}
.prime-ui .focus-week-icon{background:#edf3e7;color:#52755e}
.prime-ui .focus-next-actions .focus-action-item{border-color:var(--line)}
/* Training: selected plans, proposed targets and recorded results remain distinguishable. */
.prime-ui.focus-client .next-target-row{background:#f1f6eb;border-color:#d8e4ce;color:#486645;box-shadow:none}
.prime-ui.focus-client .next-target-row:hover{background:#eaf2e1}.prime-ui .next-target-row>span:nth-child(2){color:#5b7355}
.prime-ui .set-value>small:not(:empty),.prime-ui .next-target-table .progression-row strong{background:#f0f5e8;color:#527048}
.prime-ui .focus-exercise-tabs button[aria-pressed=true]{background:#edf4e7;border-color:#cbdcbe;color:#496944}.prime-ui .focus-exercise-tabs button[aria-pressed=true] b{background:#dce9d0}
.prime-ui.focus-client .compact-exercise .set-row input[type=number]:focus{border-color:#789572;outline-color:#edf3e7}
.prime-ui.focus-client .compact-exercise .set-row.is-done input[type=number]{background:#f0f5e9;border-color:#dce6d3}
.prime-ui.focus-client .check input:checked{background:#64815a;border-color:#64815a}
.prime-ui .focus-rest-start{background:#eef4e6;border-color:#d6e2ca;color:#516d45}.prime-ui .focus-rest-start.running{background:#55755e;color:#fff;border-color:#55755e}
.prime-ui .compact-exercise .focus-swap-trigger{background:#f1f4ed;border-color:#e0e6db;color:#586f55}
.prime-ui .exercise-bottom-tools{background:#f8faf5;border-color:var(--line)}
/* Monthly focus and full roadmap. Anatomical/measurement illustrations stay untouched. */
.prime-ui .focus-month-card.with-coach{background:#edf3e7;color:#334c38;border-color:#dce7d2;box-shadow:none}
.prime-ui .focus-coach-figure{background-image:url('/assets/coach-phee-nav/progress-v1.png');filter:none;animation:none}
.prime-ui .focus-coach-figure:has(img){background-image:none}
.prime-ui .with-coach :is(.focus-month-top,.focus-month-sub,.focus-month-habit),.prime-ui .focus-coach-label{color:#687c61}
.prime-ui .with-coach .focus-month-track i.active{background:#8fae78}.prime-ui .with-coach .focus-month-track i.past{background:#c7d9b6}
.prime-ui .with-coach .focus-month-bottom,.prime-ui .with-coach .focus-month-bottom>span:first-child{color:#526e47}
.prime-ui .focus-month-open{color:#526e47!important}
.prime-ui .focus-month-tabs button[aria-pressed=true],.prime-ui .rm-tab[aria-selected=true]{background:#edf4e7;border-color:#cadcbc;color:#4f6c43}
.prime-ui .focus-month-focus,.prime-ui .focus-month-expect{background:#f5f4ea;color:#5e7051}
.prime-ui .focus-month-focus .prime-mascot{width:48px;height:48px}
.prime-ui.focus-side .focus-roadmap-hero{background:linear-gradient(120deg,#edf3e7,#f8f4e7);color:#344a38;border:1px solid #dce6d4}
.prime-ui .focus-roadmap-hero :is(.rm-kicker,.rm-title-th,.focus-roadmap-progress){color:#6a7e60}.prime-ui .focus-roadmap-progress strong{color:#45613b}
.prime-ui.focus-side .focus-roadmap-month{border-color:var(--line)}
.prime-ui.focus-side .rm-habit{background:#f4f4e9}
.prime-ui .focus-habit-icon,.prime-ui .focus-mission-icon{width:52px;height:52px;flex:0 0 52px;background:#f3f5ed;border-radius:16px}
.prime-ui .rm-home-card .prime-mascot,.prime-ui .rm-editor summary .prime-mascot{display:inline-block;vertical-align:middle}
/* Weekly check-in keeps readable question labels and real response states. */
.prime-ui.focus-side .focus-checkin-action:not(.has-checkin){background:#f5f1e5;color:var(--ink);border:1px solid #e9e1ce;position:relative}
.prime-ui .focus-checkin-action:not(.has-checkin) :is(.quest-kicker,p,small){color:#738067}
.prime-ui.focus-side .focus-checkin-action:not(.has-checkin) .btn.primary{background:#55755e;color:white}
.prime-checkin-coach{display:block;margin-bottom:10px}.prime-checkin-coach .prime-mascot{width:76px;height:76px}
.prime-ui .focus-week-stat .prime-mascot{width:52px;height:52px;background:#f2f5eb;border-radius:16px}
.prime-ui.focus-side .quest-question .question-icon{width:80px;height:80px;background:#f1f4e9;border-radius:24px;margin-bottom:22px}.prime-ui .question-icon .prime-mascot{width:72px;height:72px}
.prime-ui.focus-side .quest-rating[aria-pressed=true]{background:#55755e;border-color:#55755e;color:white}
.prime-ui.focus-side .quest-mission-option[aria-pressed=true]{background:#edf4e6;border-color:#9eb68b}
.prime-ui .focus-review-steps .done i,.prime-ui .focus-review-steps .current i{background:#dfebd3;color:#48633e}
.prime-ui .focus-next-goal{background:#f3f6ec}
/* Same labelled mascot navigation on secondary client pages. */
.prime-ui .prime-side-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:fixed;z-index:20;bottom:0;left:0;transform:none;width:100%;padding:6px max(12px,calc((100vw - 720px)/2)) max(7px,env(safe-area-inset-bottom));border:0;border-top:1px solid var(--line);border-radius:0;background:#ffffffed;backdrop-filter:blur(16px);box-shadow:none}
.prime-ui .prime-side-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;color:#748172;background:none;padding:0 3px;border-radius:0;font-size:11px;min-width:0}
.prime-ui .prime-side-nav .prime-nav-mascot{width:52px;height:52px;object-fit:contain;border:1px solid transparent;border-radius:17px}
.prime-ui .prime-side-nav a[aria-current=page]{background:none;color:#52754e}.prime-ui .prime-side-nav a[aria-current=page] .prime-nav-mascot{background:#e7efdc;border-color:#c5d5b8}
.prime-ui.focus-side-coach .prime-side-nav{display:none}
.prime-ui.focus-side .quest-shell,.prime-ui.focus-side .rm-shell{padding-bottom:140px}
/* Forms and one-time sessions. Preserve dense set-entry grids and warnings. */
.prime-ui.prime-outside .ow-shell{padding-bottom:150px}.prime-ui .ow-header img{object-fit:contain}
.prime-illustrated-heading{position:relative;padding:22px 120px 22px 24px;border-radius:25px;background:#eef3e8;border:1px solid #e0e8d7}
.prime-illustrated-heading .prime-heading-mascot{position:absolute;right:16px;top:50%;transform:translateY(-50%);width:100px;height:100px;object-fit:contain}
.prime-ui .ow-heading h1{font-size:clamp(25px,4vw,38px)}.prime-ui .ow-notice{background:#f8f2e4;border-color:#e9ddc4;color:#756345}
.prime-ui .ow-set input{border-radius:12px;background:#fbfcf9}.prime-ui #ow-form fieldset{border-color:var(--line)}
.prime-ui .ow-entry{border-color:var(--line)}
/* Login/member handoff belongs to the same app. LINE's official brand button stays green. */
.prime-ui .login-story{background:linear-gradient(145deg,#eaf1e2,#f8f3e6);color:var(--ink)}
.prime-ui .login-art{right:30px;bottom:38px;width:170px;height:170px;border:0;border-radius:0;pointer-events:none}
.prime-ui .login-art:before,.prime-ui .login-art:after{display:none}
.prime-login-mascot{width:100%;height:100%;object-fit:contain}
.prime-login-welcome{margin:12px 0}.prime-login-welcome .prime-mascot{width:80px;height:80px}
.prime-ui .login-panel{color:var(--ink)}
.prime-ui .member .status-icon{margin:0 auto 20px}.prime-ui .member{border:1px solid var(--line);background:#fff}
.prime-guide-mascot{width:64px;height:64px;object-fit:contain}.prime-ui .guide-tile{border-color:var(--line)}
.prime-ui .guide-tile:nth-child(3n+1){background:#f0f5e8}.prime-ui .guide-tile:nth-child(3n+2){background:#f8f3e6}.prime-ui .guide-tile:nth-child(3n){background:#edf3f5}
.prime-ui .assessment-step-emoji .prime-mascot{width:64px;height:64px}
@media(max-width:600px){.prime-ui .focus-side-header{padding:20px 18px;height:auto;min-height:90px}.prime-ui .focus-side-header .prime-wordmark{max-width:185px;width:48vw}.prime-ui .prime-side-nav a{font-size:10px}.prime-ui .prime-side-nav .prime-nav-mascot{width:49px;height:49px}.prime-ui .prime-illustrated-heading{padding:20px 98px 20px 20px}.prime-illustrated-heading .prime-heading-mascot{width:80px;height:80px;right:12px}.prime-ui .login-panel{padding-bottom:28px}.prime-ui input:not([type=checkbox]):not([type=radio]),.prime-ui select,.prime-ui textarea{font-size:16px}.prime-ui .focus-action-emoji{width:48px;height:48px}.prime-ui .focus-check-dot.focus-check-emoji{flex-basis:48px;width:48px;height:48px}.prime-ui .focus-week-stat strong{font-size:24px}}
@media(prefers-reduced-motion:reduce){.prime-ui .prime-mascot,.prime-ui .prime-nav-mascot,.prime-ui .focus-coach-figure{animation:none;transition:none}}
/* Data accents share the same restrained sage, sand and slate palette. */
.prime-ui.focus-side .quest-step i.active{background:#9bb486}
.prime-ui.focus-side .focus-month-nav [role=tab][aria-selected=true]{background:#edf4e5;border-color:#cbdcbe;color:#4f6c43}
.prime-ui.focus-side .rm-mission progress::-webkit-progress-value,.prime-ui .focus-roadmap-progress progress::-webkit-progress-value{background:#96ad82}
.prime-ui.focus-side .rm-band{fill:#edf3e7}.prime-ui.focus-side .rm-weight-line{stroke:#7e9a70}.prime-ui.focus-side .rm-point{fill:#6d8a61}.prime-ui.focus-side .rm-training-bar{fill:#d4e1c7}.prime-ui.focus-side .rm-training-bar.is-current{fill:#8aa475}
.prime-ui .focus-roadmap-progress progress,.prime-ui .focus-roadmap-progress progress::-webkit-progress-bar{background:#e4eadc}
.prime-ui .focus-roadmap-hero .focus-soft-badge{background:#e8efdf;color:#596f4c}
.prime-ui .progression-dates button[aria-pressed=true],.prime-ui .focus-swap-list button:disabled{background:#eef4e7;border-color:#d3e1c7;color:#526c47}
.prime-ui.focus-client .macro-grid>div:nth-child(1) progress::-webkit-progress-value{background:#95b282}.prime-ui.focus-client .macro-grid>div:nth-child(2) progress::-webkit-progress-value{background:#d2b582}.prime-ui.focus-client .macro-grid>div:nth-child(3) progress::-webkit-progress-value{background:#93aeb9}
.prime-ui.focus-client .macro-grid>div:nth-child(1) progress::-moz-progress-bar{background:#95b282}.prime-ui.focus-client .macro-grid>div:nth-child(2) progress::-moz-progress-bar{background:#d2b582}.prime-ui.focus-client .macro-grid>div:nth-child(3) progress::-moz-progress-bar{background:#93aeb9}
.prime-ui .focus-mini:first-child progress::-webkit-progress-value,.prime-ui .warm-track::-webkit-progress-value{background:#d2b582}.prime-ui .focus-mini:nth-child(2) progress::-webkit-progress-value{background:#93aeb9}
.prime-ui .focus-measurements .focus-mini[aria-pressed=true]{background:#f0f5e9;border-color:#cdddbd}.prime-ui.focus-client .spark-chart polyline{stroke:#819d72}
.prime-ui .saved-notice-check{background:#e9f1e1;color:#527447}.prime-ui .saved-notice{border-color:var(--line)}
.prime-ui .focus-body-month{color:#5c7850}.prime-ui .focus-body-milestones span.active{border-color:#91ac7b;color:#527048}.prime-ui .focus-body-toolbar button[aria-pressed=true]{background:#55755e;color:#fff}
.prime-ui .calm-day-picker .day-pills button[aria-pressed=true] .day-type-check{color:#426840}
.prime-ui .prime-side-nav{min-height:82px;padding-top:4px;padding-bottom:max(5px,env(safe-area-inset-bottom))}
.prime-ui .prime-side-nav a{min-height:73px;gap:1px;padding:3px 2px}
.prime-ui .prime-side-nav .prime-nav-art{display:grid;place-items:center;width:58px;height:49px;border:1px solid transparent;border-radius:17px}
.prime-ui .prime-side-nav .prime-nav-mascot{width:46px;height:46px;border:0;border-radius:0}
.prime-ui .prime-side-nav a[aria-current=page] .prime-nav-mascot{background:none;border:0}
.prime-ui .prime-side-nav a[aria-current=page] .prime-nav-art{background:#e6efdd;border-color:#b7caa7}
.prime-ui .food-methods button{background:#f7f9f3;color:#657760;border-color:#e0e7d9}.prime-ui .food-methods button[aria-pressed=true]{background:#55755e;border-color:#55755e;color:#fff}
.prime-ui .food-result:hover{border-color:#9eb58c;background:#f7faf2}.prime-ui .food-review-note{background:#f8f2e5;color:#806640}
/* Coach tools use the same system without replacing client identity or review status icons. */
body.prime-ui.coach-home{--cw-ink:#293633;--cw-muted:#6c7b72;--cw-line:#e1e8de;--cw-soft:#edf3e7;--cw-accent:#52755e}
.prime-ui .cw-card{border-color:var(--line);border-radius:23px;box-shadow:none}.prime-ui .cw-sidebar{border-color:var(--line)}
.prime-ui .cw-sidebar nav a[aria-current=page]{background:#edf3e7;color:#4f6c45}.prime-ui .cw-button.primary{background:#55755e;border-color:#55755e;color:#fff}.prime-ui .cw-button{border-color:var(--line);border-radius:13px}
.prime-ui .cw-avatar{background:#edf3e7;color:#58704e}.prime-ui .cw-client:hover{border-color:#a1b991}
.prime-ui.coach-workspace-client .coach-tabs [aria-current=page]{color:#4e6b45;border-bottom-color:#93af7c}.prime-ui.coach-workspace-client .cw-progress-chips .complete{background:#edf4e6;color:#527248}
.prime-ui.coach-workspace-client .cw-course-link{color:#52755e}.prime-ui .agent-workspace button{background:#55755e;color:#fff}.prime-ui .agent-workspace #list button{background:#f0f5e9;color:var(--ink)}
.prime-ui.prime-target-import .shell{max-width:960px;margin:24px auto;padding:0 20px}.prime-target-import .card h1{margin:20px 0 12px}.prime-target-import #target-import{display:grid;gap:16px;margin-top:20px}.prime-target-import #target-import label:has(input[type=checkbox]){display:flex;align-items:center;gap:12px}.prime-target-import #target-confirm{width:20px;min-height:20px;flex:0 0 20px}

/* Explicit workout pause / finish, distinct from completing the prescription. */
.workout-fields{border:0;padding:0;margin:0;min-width:0}.workout-fields:disabled{opacity:.66}
.workout-end-top{margin:0 0 18px}.workout-state-card{display:flex;gap:14px;align-items:flex-start;background:#f4f5ed;border:1px solid #e0e6d8;border-radius:24px;padding:20px;margin:20px 0}.workout-state-card.is-ended{background:#edf4e7}.workout-state-card>img{object-fit:contain;flex:none}.workout-state-card h3{margin:7px 0}.workout-state-card p{margin:6px 0;line-height:1.6;font-size:14px}.workout-state-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.workout-finish-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.set-completion-help{font-size:13px;line-height:1.6;color:#566c60;margin:14px 0 4px}.finish-summary{display:flex;align-items:center;gap:18px;background:#edf4e7;padding:18px;border-radius:22px}.finish-summary img{object-fit:contain}.finish-summary h3{margin:6px 0}.finish-summary p{margin:4px 0}.finish-exercises{margin:20px 0}.finish-exercises p{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid #e5e8e1;padding-bottom:12px}.finish-exercises strong{white-space:nowrap}.finish-unconfirmed{background:#faf5e9;border:1px solid #e9dfc9;border-radius:20px;padding:18px;margin:20px 0}.finish-unconfirmed p{font-size:14px;line-height:1.7}.finish-set{display:flex;gap:10px;align-items:center;justify-content:space-between;border-top:1px solid #e8dfce;padding:14px 0}.finish-set span{min-width:0;font-size:14px}.finish-set small{display:block;color:#6b746c;margin-top:5px}.finish-set button{flex:none}.finish-ack{display:flex;gap:10px;align-items:flex-start;line-height:1.6;font-size:14px}.finish-ack input{width:22px;height:22px;flex:none;accent-color:#65865a}.finish-reason{display:grid;gap:8px;margin:20px 0}.finish-reason small{font-weight:400;color:#737e75}.finish-zero{padding:14px;background:#f6f0e8;border-radius:14px}#finish-error{color:#a04232;font-size:14px;line-height:1.6}@media(max-width:400px){.workout-finish-actions{grid-template-columns:1fr}.workout-state-card{padding:16px;gap:10px}.workout-state-card>img{width:48px;height:56px}.finish-set{align-items:flex-start}.finish-summary{padding:14px;gap:10px}}

.prime-checkin-card{display:flex;align-items:center;gap:20px;padding:24px;margin:22px 0;border:1px solid #dbe6d2;border-radius:26px;background:#eef4e7}.prime-checkin-card img{object-fit:contain;flex:0 0 74px}.prime-checkin-card h2{margin:7px 0;font-size:23px}.prime-checkin-card p{margin:7px 0;color:#68796e}.prime-checkin-card .btn{margin-top:12px}.prime-checkin-card small{display:block}.prime-checkin-card.pending,.prime-checkin-card.approved{background:#f5f7f2}.prime-checkin-card.returned{background:#fbf2e6}.prime-checkin-roster{display:grid;gap:10px}.prime-checkin-roster>div{display:flex;align-items:center;flex-wrap:wrap;gap:12px;border-bottom:1px solid #e4e9df;padding:12px 0}.prime-checkin-roster small{color:#718176}.quest-status.due{background:#f4eddd;color:#775d2f}@media(max-width:500px){.prime-checkin-card{gap:12px;padding:18px}.prime-checkin-card h2{font-size:20px}.prime-checkin-card img{width:58px;flex-basis:58px}}

.food-ai-helper{display:flex;gap:14px;align-items:center;padding:18px;margin:18px 0;background:#f0f5e9;border:1px solid #dce7d2;border-radius:20px}.food-ai-helper img{object-fit:contain;flex:0 0 58px}.food-ai-helper p{font-size:13px;color:#6b7b6c;margin:7px 0}.food-ai-helper button{min-height:44px}.food-ai-helper+div input{margin:12px 0;width:100%}

/* Venue variants: actual histories remain independent; completion is grouped. */
.venue-programs{margin:20px 0}.venue-week,.venue-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.venue-week strong{font-size:15px}.venue-track{display:flex;gap:5px;margin:12px 0 20px}.venue-track span{height:4px;flex:1;background:#e0e6dc;border-radius:3px}.venue-track .done{background:#597452}.venue-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px}.venue-card{border:1px solid #dce3d6;background:#fff;border-radius:22px;padding:20px;min-width:0}.venue-card.is-complete{background:#edf4e6}.venue-title{flex-wrap:wrap}.venue-title h3{margin:0;font-size:21px}.venue-title span,.venue-detail,.venue-footnote{font-size:13px;color:#626f60}.venue-options{display:flex;gap:4px;background:#f5f7f2;padding:4px;border:1px solid #dde4d7;border-radius:14px;margin-top:16px}.venue-options button{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;border:0;border-radius:10px;min-height:46px;background:transparent;color:#5d695b;font:inherit}.venue-options button[aria-pressed=true]{background:#526d4a;color:#fff}.venue-options svg{width:18px;height:18px}.venue-detail{margin:12px 0 0}.venue-open,.venue-history{width:100%;border:0;background:transparent;text-align:left;font:inherit;color:inherit;padding:12px 0 0}.venue-open{display:flex;justify-content:space-between;align-items:center}.venue-open svg{width:18px;height:18px}.venue-history{font-size:13px;text-decoration:underline;color:#626f60}.venue-footnote{margin-top:16px;line-height:1.6}
