/* App-wide candidate r2. Extends the accepted V2 identity and r1 history. */
:root{--muted:#606958}
.view[data-route]{overflow-wrap:anywhere}
.main{padding-bottom:110px}
.page-heading h1{font-size:44px}.page-heading{margin-bottom:24px}
.page-heading .muted{line-height:1.65}
.btn,.text-link,.back-button,.tab,.preview-button{min-height:44px}
.btn{font-size:13px;white-space:normal;text-align:center}.text-link{font-size:13px;gap:8px}.small,.muted.small{font-size:12px;line-height:1.65}
.field>span,.field{font-size:13px}.field input,.field select,.field textarea,.chat-form input{font-size:16px}
.field input:not([type=checkbox]),.field select{min-height:48px}.field textarea{min-height:100px}
.field input:not([type=checkbox]),.field select,.field textarea{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.icon-button,.set-done{min-width:44px;min-height:44px}
.tabs{gap:18px;overflow-x:auto;scrollbar-width:thin}.tab{flex:none;font-size:13px}
.panel{background:var(--surface)}.panel-header{flex-wrap:wrap}.panel-header h3{font-size:15px}
.topbar-actions{gap:10px}.topbar .language-button{font-size:12px;font-weight:600;min-width:38px;min-height:44px}
.topbar .preview-button{font-size:11px}.topbar .avatar{width:36px;height:36px}
.topbar-actions>[data-action=notifications]{display:none}
.account-row{min-height:74px}.account-row strong,.library-row strong{font-size:14px}.account-row small,.library-row small{font-size:12px;line-height:1.5}
.mobile-nav .nav-item{font-size:10px;min-height:58px;padding:8px 6px}.mobile-nav{padding-bottom:max(7px,env(safe-area-inset-bottom))}
.hero-compact{border-radius:22px;background:var(--green);color:var(--surface);overflow:hidden;margin-bottom:16px}
.hero-compact>img{height:110px;object-position:50% 39%}.hero-compact-body{padding:20px}
.hero-compact h2{font-size:34px;margin:8px 0 9px}.hero-compact .eyebrow{font-size:10px;color:#dce2cd}
.hero-compact .hero-meta{font-size:12px;color:#e4e6d9;line-height:1.6;margin-bottom:17px}
.hero-compact .btn{width:100%}.hero-compact .text-link{color:#f9dfca;display:flex;margin-top:7px}
.home-meal .meal-card{min-height:166px}.home-meal .meal-card-content{padding:22px;width:75%}.home-meal h3{font-size:29px}
.home-meal .text-link{font-size:12px}.home-meal .section-heading{margin-top:24px}.home-meal .section-heading h2{font-size:27px}
.habit-circle{min-width:48px;min-height:48px}.habit-labels{display:flex;justify-content:space-between;font-size:10px;gap:5px;margin-top:-7px;margin-bottom:14px;color:var(--muted)}
.notice{font-size:13px}.notice strong{font-size:14px}.notice p{line-height:1.6}
.week-name{font-size:13px}.week-toolbar small{font-size:12px}.week-row .tag{font-size:9px;white-space:normal;text-align:center}.week-row{min-height:65px}
.calendar-grid{gap:3px}.calendar-cell{min-height:42px}.calendar-legend{font-size:11px;flex-wrap:wrap}
.set-table input{font-size:16px;min-height:46px;min-width:0}.set-table th{font-size:10px}.set-table td{font-size:12px}
.set-table{table-layout:fixed}.set-table th{letter-spacing:0;overflow-wrap:normal}.set-table th:first-child{width:42px}.set-table th:last-child{width:48px}
.feedback .field{margin:14px 0}.file-label{min-height:48px;font-size:13px;border:1px dashed #a9b19e;background:#eef0e7;padding:12px;border-radius:10px}
.feedback summary{min-height:44px;line-height:1.6;font-size:13px}.timer-bar{font-size:12px;flex-wrap:wrap;gap:8px}.timer-bar button{min-height:44px}
.action-dock{bottom:80px}.action-dock .btn{min-height:48px;font-size:12px}
.nutrition-cover h2{font-size:38px}.nutrition-cover p{font-size:13px;line-height:1.65}.nutrition-cover .btn{font-size:13px}
.product-card .eyebrow{font-size:10px}.product-card h3{font-size:27px}.product-meta{font-size:12px;flex-wrap:wrap;gap:6px}.product-image .tag{font-size:10px}
.product-card{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start}.product-card .product-image{width:100%}.product-card h3{flex:1}.onboarding-page .field>span small{display:inline;margin-left:6px}
.product-copy p{font-size:14px}.product-copy h1{font-size:42px}.feature-list li{font-size:13px;line-height:1.6}.product-detail-image{height:250px}
.document{padding:26px}.document p{font-size:14px;line-height:1.8}.document h1{font-size:41px}.document h2{font-size:29px;margin-top:24px}.document .eyebrow{font-size:10px}
.chat-form{align-items:end;gap:8px}.chat-form textarea{min-height:70px;flex:1;min-width:0;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-size:16px;resize:vertical}
.messages{max-height:none;min-height:160px;padding:18px}.bubble{font-size:14px;line-height:1.65;max-width:92%;overflow-wrap:anywhere}.bubble small{font-size:11px}.bubble-context{display:block;border-bottom:1px solid #ffffff40;padding-bottom:8px;margin-bottom:8px;font-size:11px}
.message-state{font-size:11px;color:var(--muted);margin-top:10px}.context-note{background:var(--cream);padding:12px 15px;border-radius:10px;font-size:12px;margin:12px 0}
.ux-stack{display:grid;gap:16px}.ux-heading{margin-bottom:24px}.ux-heading h1{font-size:44px;margin:8px 0 12px}.ux-heading p{line-height:1.7}
.ux-panel h2{font-size:30px;margin:0 0 12px}.ux-panel h3{margin:15px 0 8px}.ux-panel p{font-size:14px;line-height:1.7}.ux-panel .field{display:grid;gap:8px;margin-top:18px}
.ux-panel select,.ux-panel input:not([type=checkbox]),.ux-panel textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);font-size:16px}
.ux-panel .btn{margin-top:18px}.ux-panel .btn+.btn{margin-left:6px}.ux-panel .text-link{display:flex}
.ux-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.13em;font-weight:600;color:#67583e;margin-bottom:9px}
.ux-meta{color:var(--muted);font-size:12px!important;margin-top:10px}.ux-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.ux-actions .btn{margin:0}
.ux-choice{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:15px;font-size:14px;line-height:1.6;margin-top:18px}.ux-choice input{width:22px;height:22px;flex:none;accent-color:var(--green)}
.ux-link-row{width:100%;text-align:left;border-bottom:1px solid var(--line);padding:18px 0;min-height:65px}.ux-link-row strong{display:block;font-size:15px}.ux-link-row small{display:block;color:var(--muted);line-height:1.65;font-size:12px;margin-top:4px}
.ux-note{padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#edf0e4;font-size:12px;line-height:1.7;margin:16px 0}.ux-error{background:#f6e3da;border-color:#c98560}.ux-error strong{display:block}
.ux-service{margin:0 0 20px;padding:15px 17px;border:1px solid var(--line);border-radius:14px;background:var(--cream);font-size:13px}.ux-service .text-link{margin-right:15px}
.ux-status-dot{display:inline-block;width:7px;height:7px;background:var(--green);border-radius:50%;margin-right:7px}
.ux-save{font-size:12px;line-height:1.65;padding:12px 0;color:var(--muted)}
.ux-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 22px}.ux-summary>div{background:var(--cream);border-radius:14px;padding:15px 12px}.ux-summary strong{display:block;font-family:var(--serif);font-size:31px;line-height:1.2}.ux-summary small{display:block;font-size:11px;line-height:1.5}
.ux-result{padding:18px 0;border-bottom:1px solid var(--line)}.ux-result h3{font-size:16px;margin-bottom:8px}.ux-result p{font-size:13px;line-height:1.65}.ux-result .feedback{margin-top:12px}.ux-result video{max-height:210px;width:100%;margin-top:10px}
.ux-order-line{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:13px 0;font-size:14px}.ux-order-line small{font-size:12px;color:var(--muted)}
.ux-demo-badge{font-size:11px;display:inline-block;border:1px solid #b3bba5;border-radius:30px;padding:5px 10px;color:#516245;margin-bottom:13px}
.ux-coaching-banner{padding:20px;margin-bottom:25px;border-radius:18px;background:var(--sage)}.ux-coaching-banner h2{font-size:30px;margin-bottom:8px}.ux-coaching-banner p{font-size:13px}.ux-coaching-banner .text-link{margin-top:9px}
.ux-skeleton{background:linear-gradient(100deg,var(--cream),var(--surface),var(--cream));border-radius:12px;height:18px;margin:14px 0}.ux-skeleton:nth-child(2){width:75%}
.ux-photo-demo{font-size:12px;min-height:44px;margin-top:15px;text-decoration:underline;text-underline-offset:3px}
.preview-options{gap:8px}.preview-options button{font-size:13px;min-height:46px}.dialog-heading h2{font-size:32px}dialog{max-height:85dvh;overflow-y:auto}dialog p{font-size:13px;line-height:1.7}
body[data-surface=trainer] .mobile-nav{display:none}body[data-surface=trainer] .main{padding-bottom:35px}.trainer-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.trainer-tabs .btn{font-size:12px;min-height:44px}
body[data-signed-out=true] .mobile-nav{display:none}body[data-signed-out=true] .topbar .avatar{display:none}
.ux-language-note{font-size:11px;color:var(--muted);margin:12px 0}.ux-feedback-caption{font-size:12px;color:var(--muted);margin:10px 0}
@media(max-width:760px){.main{padding:24px 20px 115px}.topbar{height:72px;padding:0 20px}.topbar-actions{gap:8px}.brand img{width:43px}.brand-wordmark{font-size:8px}.page-heading h1,.ux-heading h1{font-size:40px}.view>.page-heading .eyebrow{font-size:10px}.dashboard{gap:26px}.hero-compact h2{font-size:32px}.home-secondary{gap:22px}.panel{padding:20px}.week-panel.panel{padding:0 15px}.week-view .week-row{min-height:62px}.week-row{gap:10px}.week-date small{font-size:10px}.week-row .tag{max-width:86px}.product-grid{gap:22px 15px}.product-card .product-image{height:180px}.product-card .product-meta{font-size:11px}.product-card h3{font-size:25px}.form-grid{grid-template-columns:1fr}.document{padding:23px}.nutrition-cover{min-height:280px}.nutrition-cover>div{padding:23px}.nutrition-cover p{max-width:230px}.nutrition-cover h2{font-size:36px}.set-table td{padding-left:3px;padding-right:3px}.set-table input{width:100%;padding:10px 5px}.set-table td:first-child{width:28px}.set-table td:last-child{width:48px}.set-table th:last-child{text-align:center}.action-dock{bottom:78px}.messages{padding:16px}.chat-form{padding:14px}.onboarding-page .form-grid{grid-template-columns:1fr}.onboarding-page .progress-steps{gap:6px}.onboarding-page .progress-steps li{font-size:11px}.footer-note{line-height:1.6;font-size:9px;gap:10px}.hero-compact-body{padding:20px}.home-meal .meal-card h3{font-size:28px}}
@media(max-width:360px){.main{padding-left:16px;padding-right:16px}.topbar{padding:0 16px}.brand-wordmark{display:none}.product-grid{grid-template-columns:1fr}.product-card .product-image{height:220px}.week-row .tag{font-size:8px;max-width:70px}.week-name{font-size:12px}.panel{padding:17px}.action-dock{left:9px;right:9px}.ux-summary{gap:6px}.ux-summary>div{padding:12px 9px}.ux-summary strong{font-size:27px}.hero-compact h2{font-size:31px}}
@media(max-width:760px){.nutrition-cover{display:flex;flex-direction:column;min-height:0}.nutrition-cover>img{order:0;width:100%;height:110px;min-height:0;object-position:50% 42%}.nutrition-cover>div{order:1;width:100%;padding:22px}.nutrition-cover h2{font-size:34px;margin:13px 0}.nutrition-cover h2 br{display:none}.nutrition-cover h2 em:before{content:' '}.nutrition-cover p{max-width:none}.nutrition-cover .eyebrow{font-size:10px}.nutrition-cover .btn{font-size:13px;min-height:46px}.set-table td:first-child{width:42px}}
/* Dated status labels must wrap at narrow widths and enlarged text sizes. */
.tag{max-width:100%;white-space:normal;overflow-wrap:anywhere}
