/* Constrain the actual controls; hiding overflow would conceal broken layouts. */
main,.grid,.grid>*,.card,.row>*,label,.controls>*,.checkin-two>*,.biofeedback-grid>*{min-width:0}
input,select,textarea{max-width:100%;min-width:0;font-size:16px}
input[type=date],input[type=time]{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:46px;-webkit-appearance:none;appearance:none;text-align:left}
input[type=date]::-webkit-date-and-time-value,input[type=time]::-webkit-date-and-time-value{text-align:left;min-width:0}
button{max-width:100%;white-space:normal;overflow-wrap:anywhere;touch-action:manipulation;min-height:44px}
.account-bar{align-items:flex-start;flex-wrap:wrap;gap:8px}.account-bar>span{flex:1;overflow-wrap:anywhere;font-weight:700}
.account-bar .account-settings{margin:0;padding:0;border:0;max-width:100%}.account-settings summary{font-size:14px;font-weight:700;min-height:44px;padding:11px;border:1px solid #c8d5c2;border-radius:10px;color:#234c3b}
.account-settings p{max-width:240px;font-size:13px;line-height:1.5}.account-settings #signOut{display:block;background:#f7e8dd;color:#713a1c;min-height:46px}
#voiceDone.voice-finish{width:100%;min-height:54px;margin:0;background:#b54b15;border:2px solid #87330c;color:white;font-size:17px;font-weight:800;box-shadow:0 3px 0 #87330c}
.voice-start.is-listening{background:#234c3b;color:#fff;box-shadow:0 0 0 3px #d9ec9b;border-color:#234c3b}
.food-category{margin:10px 0;border:1px solid #dce1d6;border-radius:12px;padding:0 12px}.food-category>summary{cursor:pointer;min-height:48px;padding:14px 0;font-weight:800;font-size:15px;color:#234c3b}.food-category[data-food-group="Selected foods"]{background:#f4f8ed}
.food .row{flex-wrap:wrap;align-items:flex-start}.foodname{flex:1 1 150px;overflow-wrap:anywhere}.food-actions{flex-wrap:wrap;justify-content:flex-start;max-width:100%}.food-actions label{white-space:normal}.egg-counts{display:flex;flex-wrap:wrap;gap:6px;flex-basis:100%}
#reminderRoot{padding:14px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px}#reminderRoot:empty{display:none}#checkinDue{flex:1 1 100%}#reminderRoot>details{flex:1 1 100%;min-width:0}#reminderRoot>details>summary{cursor:pointer;padding:10px 0;font-weight:700}#reminderRoot label{margin:8px 0}#reminderDone{font-size:12px}
@media(max-width:600px){
 main{padding:10px 12px 36px}.card{padding:16px}.controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.controls .assigned-guide{grid-column:1/-1}.controls label{min-width:0}
 .member-nav{width:100%;max-width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.member-nav button{width:100%;min-width:0;padding:12px 8px;font-size:14px}
 .checkin-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.checkin-toolbar label{min-width:0;width:100%;grid-column:1/-1}.checkin-toolbar input{width:100%;max-width:100%;margin-bottom:4px}
 .daily-section>.card>.row,.resultline{flex-wrap:wrap}.daily-section .row>label{flex:1 1 100%;width:100%;min-width:0}.checkin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.checkin-stat strong{font-size:20px;overflow-wrap:anywhere}.history-day{gap:8px}.history-day>span{min-width:0;overflow-wrap:anywhere}
 #mealPopup{width:calc(100vw - 24px);max-width:calc(100vw - 24px);padding:16px;max-height:calc(100dvh - 24px)}#mealPopup .row{flex-wrap:wrap}#postPreview{padding:12px;font-size:14px}
 .voice-controls{flex-direction:column;align-items:stretch}.voice-controls .voice-start{flex:auto;width:100%;padding:12px;font-size:15px}.typed-entry{padding:10px}.auth-card{margin:16px auto;padding:20px}.auth-card h1{font-size:30px}
 #tutorialDialog .tutorial-header{flex-wrap:wrap}#tutorialTitle{overflow-wrap:anywhere}#tutorialStart,#tutorialFullscreen{white-space:normal;min-width:0}#pilotDialog header{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* The app badge always has a visible explanation and explicit dismissal. */
#reminderRoot>.badge-help,#reminderRoot>.badge-missing{flex:1 1 100%;margin:0;line-height:1.5;font-size:13px}#reminderRoot .badge-missing:empty{display:none}.badge-missing{padding:10px 12px;background:#edf3e4;border-radius:10px;line-height:1.6;font-size:14px}
#badgeNotice{width:min(460px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);padding:22px;overflow:auto}#badgeNotice h2{line-height:1.25;font-size:24px}#badgeNotice p{font-size:14px;line-height:1.5}#badgeNotice button{display:block;margin:10px 0;min-height:48px}#badgeNoticeClear{background:#f4e4d5;color:#713a1c;border-color:#d3ae8c;font-weight:750}#badgeNoticeLater{background:transparent}#badgeNotice::backdrop{background:#152d2399}

#badgeNoticeStatus:empty{display:none}
