/* Functional copy and task entry; approved palette and chat layout stay intact. */
.auth-features{margin:14px 0 18px;border-block:1px solid var(--hairline)}
.auth-features>summary{min-height:44px;align-content:center;cursor:pointer;font-size:14px;color:var(--brand)}
.auth-features .auth-benefits{margin:12px 0 18px;gap:12px}
.auth-features .auth-benefits li{font-size:14px}
.auth-actions .helper{font-size:12px;line-height:1.8}
.auth-actions>.google-login{margin-top:16px}
.auth-actions>.text-button,.email-login>summary{min-height:44px;align-content:center}
.auth-actions>.text-button{display:block}
.auth-story .eyebrow{font-size:13px}
.auth-story>p:not(.eyebrow){font-size:15px;line-height:1.8}
.capture-shortcuts button{min-width:0}
.capture-shortcuts span{font-size:14px;line-height:1.5}
#home .today-next{margin:0 0 20px;padding:18px 22px}
#home:has(.meal-next:not([hidden]))>#home-next-card{display:none}
.today-next .section-kicker{font-size:12px}
.today-next h2{margin-top:6px}
.home-report h2{font-size:20px}
.home-profile .outline{min-height:48px}
@media(min-width:768px){
 #home>.today-next{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px}
 #home>.today-next button{width:auto;min-width:220px;margin-top:0}
}

@media(max-width:767px){
 #auth-pane .auth-story h1{font-size:30px;line-height:1.5;margin:12px 0}
 .auth-story>p:not(.eyebrow){font-size:14px}
 .auth-story figure{margin-top:16px}
 .auth-story figure img{height:120px}
 .auth-actions{padding-top:18px}
 .auth-actions h2{font-size:22px;margin:4px 0 8px}
 .auth-actions>p{font-size:14px;line-height:1.8}
 .auth-actions>.helper{font-size:12px}
 .auth-features{margin:10px 0}
 .wellness-hero{min-height:190px}
 .wellness-hero>div{padding:18px 16px}
 .wellness-hero h2{font-size:23px;line-height:1.45;margin:8px 0}
 .wellness-hero .eyebrow{display:none}
 .capture-shortcuts button{flex-direction:column;justify-content:center;padding:10px 4px;gap:5px;min-height:70px;text-align:center}
 .capture-shortcuts span{font-size:13px}
 .home-layout{align-items:stretch}
 .today-next{order:1}
 .coach-entry{order:2}
 .daily-meals{order:3}
 .home-report{order:4;width:auto;margin:0}
 #home-week-section{order:5}
 .movement-entry{order:6}
 #home-recent-section{order:7}
 .weekly-entry{order:8}
 .home-profile{order:9}
 .line-invite{order:10}
 .today-next h2{font-size:20px}
 .today-next p{font-size:14px}
 .today-next button{margin-top:12px}
}
@media(max-width:350px){
 #auth-pane .auth-story h1{font-size:26px}
 .wellness-hero{grid-template-columns:minmax(0,1fr) 82px}
 .wellness-hero h2{font-size:21px}
 .wellness-hero .hero-action{font-size:14px;white-space:normal}
 .capture-shortcuts span{font-size:12px}
}

/* Keep the complete portion description visible while reviewing a photo candidate. */
#food-serving{min-height:96px;line-height:1.6;resize:vertical;overflow-wrap:anywhere}
.pending-exchange{display:flex;flex-direction:column;gap:12px;margin:18px 0}
.app:has(#coach-tab-dietitian[aria-selected="true"]) .pending-exchange[data-coach-mode="trainer"],.app:has(#coach-tab-trainer[aria-selected="true"]) .pending-exchange[data-coach-mode="dietitian"]{display:none}
.pending-question{align-self:flex-end;max-width:85%;margin:0;padding:12px 15px;border-radius:17px 17px 4px 17px;background:var(--brand);color:var(--surface);font-size:15px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
.response-pending{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 2px;font-size:14px;line-height:1.5;color:var(--text)}
.response-pending::before{content:'';width:16px;height:16px;flex:none;border:2px solid var(--outline);border-top-color:var(--brand);border-radius:50%;animation:calfi-pending 1s linear infinite}
@keyframes calfi-pending{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.response-pending::before{animation:none}}

#live-chat[aria-busy="true"] textarea{height:40px!important;max-height:40px;padding-block:8px;border:0;overflow:hidden}
[data-shell-only]{display:none}
.in-app-shell [data-shell-hide]{display:none!important}
.in-app-shell [data-shell-only]{display:block}
.in-app-shell [data-shell-only][hidden]{display:none}
.health-actions{display:flex;flex-direction:column;gap:2px}
.health-table-wrap{overflow-x:auto;margin:10px 0 24px}
.health-table{width:100%;border-collapse:collapse;font-size:11px}
.health-table th,.health-table td{padding:10px 6px;border-bottom:1px solid var(--line);text-align:right;font-weight:400;white-space:nowrap}
.health-table th:first-child,.health-table td:first-child{text-align:left}
.health-table thead th{color:var(--muted);font-size:10px;white-space:normal}
.account-delete{margin:28px 0 18px;border-top:1px solid var(--line);padding-top:6px}
.danger{display:flex;justify-content:center;align-items:center;width:100%;min-height:48px;padding:12px 15px;border-radius:28px;font-size:12px;margin:15px 0;background:#8f2f2f;color:#fff}
.danger:disabled{opacity:.45;cursor:not-allowed}
.lang-switch{margin:14px 0 4px;font-size:12px}
.lang-switch a[aria-current=true]{font-weight:700;text-decoration:none}
.legal-links{margin:28px 0 10px;font-size:11px;line-height:2}
/* iOS app frame: the menu is a normal row outside the scrolling content. */
html[data-ios-frame=true],html[data-ios-frame=true] body{height:100%;overflow:hidden;overscroll-behavior:none}
.app[data-nav-mode=frame]{position:absolute;inset-inline:0;top:var(--app-viewport-top,0px);height:var(--app-viewport-height,100dvh);min-height:0;padding-bottom:0;display:flex;flex-direction:column;overflow:hidden;--workout-dock-bottom:0px}
.app[data-nav-mode=frame]>.app-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}
.app[data-nav-mode=frame]>.bottom-nav{position:static;transform:none;inset:auto;flex:none;align-self:center;width:100%;margin:0}
.app[data-nav-mode=frame][data-nav-keyboard=true]>.bottom-nav,
.app[data-nav-mode=frame]:has(#private-app[hidden])>.bottom-nav,
.app[data-nav-mode=frame][data-screen=welcome]>.bottom-nav,
.app[data-nav-mode=frame][data-screen=consult]>.bottom-nav{display:none}
.app[data-nav-mode=frame][data-screen=consult]:has(#private-app:not([hidden])){position:absolute;top:var(--app-viewport-top,0px);height:var(--app-viewport-height,100dvh)}
.app[data-nav-mode=frame][data-screen=consult]>.app-scroll{display:flex;flex-direction:column;overflow:hidden}
.app[data-nav-mode=frame][data-screen=consult]>.app-scroll>.demo-bar,
.app[data-nav-mode=frame][data-screen=consult]>.app-scroll>.app-header{display:none}

.privacy-page ol{padding-left:22px;line-height:2}
.privacy-page h3{margin:18px 0 4px}
.privacy-page{overflow-wrap:anywhere;word-break:break-word}
.in-app-shell body{padding-top:0}
/* The absolute iOS frame ignores body padding: reserve the status-bar area inside the frame.
   Normal Safari keeps its accepted viewport layout and receives no additional inset. */
.in-app-shell .app{padding-top:env(safe-area-inset-top,0px)}
.in-app-shell .app[data-nav-mode=frame]{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px)}
.in-app-shell .demo-bar{display:none}
.in-app-shell .app-header{height:68px;padding:10px 20px;width:100%;flex:none}
/* The dedicated workout view owns its heading; retain one app header and one tab row. */
.app[data-record-kind=training] #records>p.eyebrow,.app[data-record-kind=training] #record-page-title{display:none}
/* Small settings disclosures retain the app's established type, paper and accent. */
.diagnostics-panel{margin-block:24px;padding-block:18px;border-top:1px solid var(--outline)}
.diagnostics-panel dl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;font-size:14px}
.diagnostics-panel dt,.diagnostics-panel dd{margin:0}.diagnostics-panel dd{font-variant-numeric:tabular-nums}
