/* AppNutrir UI 3.0.0 — Foco, restrained liquid-gold finish. */
@font-face { font-family: Manrope; src: url('/app-v2/assets/ui-v3/Manrope.ttf') format('truetype'); font-weight: 200 800; font-display: swap; }
:root {
  color-scheme: light;
  --v3-ground: #e8f5ee; --v3-ink: #082f23; --v3-muted: #435e53;
  --v3-glass: rgb(248 255 251 / 76%); --v3-reading: #f9fdfa;
  --v3-field: rgb(255 255 255 / 74%); --v3-line: #749487;
  --v3-soft-line: rgb(64 109 88 / 18%); --v3-accent: #0d442e;
  --v3-on-accent: #fff; --v3-selected: #d5eddf; --v3-focus: #95651b;
  --v3-danger: #9e2b31; --v3-warning: #765019; --v3-success: #12613e;
  --v3-radius: 24px; --v3-control: 12px;
  --v3-shadow: 0 16px 40px rgb(18 78 50 / 10%);
  --v3-gold: #c49a38; --v3-gold-ink: #664716; --v3-on-gold: #172b20;
  --v3-choice-selected: #123f2a; --v3-choice-text: #fffdf6; --v3-choice-muted: #dde8d7;
  --v3-choice-border: #c99a3a;
  --v3-metal: linear-gradient(118deg,#c89936 0%,#efd28b 24%,#fff0be 41%,#d4a746 63%,#efd28b 83%,#bd8c2b 100%);
  --v3-ease: cubic-bezier(.2,.8,.2,1); --v3-fast: 160ms; --v3-enter: 320ms;
}
:root[data-ui-theme='dark'] {
  color-scheme: dark;
  --v3-ground: #10271f; --v3-ink: #edf8f1; --v3-muted: #b5cfc1;
  --v3-glass: rgb(30 58 44 / 85%); --v3-reading: #1c382b;
  --v3-field: rgb(17 42 30 / 88%); --v3-line: #789d89;
  --v3-soft-line: rgb(172 217 190 / 20%); --v3-accent: #a8e5bd;
  --v3-on-accent: #103422; --v3-selected: #2c543e; --v3-focus: #f0c777;
  --v3-danger: #ffb9bf; --v3-warning: #efd097; --v3-success: #a8e5bd;
  --v3-shadow: 0 18px 46px rgb(0 12 5 / 22%);
  --v3-gold-ink: #f1d48e;
}
body.ui-v3, body.ui-v3 :is([data-appnutrir-webapp], [data-appnutrir-v2]) {
  --bg-main: var(--v3-ground); --surface: var(--v3-reading); --surface-soft: var(--v3-selected);
  --text-main: var(--v3-ink); --text-muted: var(--v3-muted); --primary: var(--v3-accent);
  --primary-deep: var(--v3-accent); --primary-soft: var(--v3-selected); --emerald: var(--v3-accent);
  --border-soft: var(--v3-soft-line); --danger: var(--v3-danger); --success: var(--v3-success);
  --control-bg: var(--v3-field); --control-border: var(--v3-line); --selected-bg: var(--v3-selected);
  --app-bg: var(--v3-ground); --app-surface: var(--v3-reading); --app-surface-muted: var(--v3-selected);
  --app-text: var(--v3-ink); --app-text-muted: var(--v3-muted); --app-primary: var(--v3-accent);
  --app-primary-deep: var(--v3-accent); --app-primary-soft: var(--v3-selected); --app-border: var(--v3-soft-line);
  --app-control-bg: var(--v3-field); --app-control-border: var(--v3-line); --app-control-border-hover: var(--v3-accent);
  --app-radius-xl: var(--v3-radius); --app-radius-lg: 16px; --app-radius-md: var(--v3-control);
  --app-shadow-card: var(--v3-shadow); --app-shadow-soft: none; --app-shadow-strong: var(--v3-shadow);
  --app-font: Manrope, sans-serif; --app-gutter: 20px; --app-container: 1200px;
  --app-button-height: 56px; --app-badge-bg: var(--v3-selected); --app-badge-text: var(--v3-ink);
  --app-alert-bg: var(--v3-reading); --app-alert-text: var(--v3-warning);
  --app-focus-ring: 0 0 0 3px var(--v3-focus); --app-accent: var(--v3-selected);
  --brand-forest-950: #082b1d; --brand-forest-900: #123f2a; --brand-emerald-700: #0f6b46;
  margin: 0; color: var(--v3-ink); font: 16px/1.55 Manrope, sans-serif;
}
body.ui-v3 { min-width: 0; min-height: 100svh; background: var(--v3-ground); isolation: isolate; }
body.ui-v3::before { content: ''; position: fixed; inset: 0 0 0 auto; width:min(100%,900px); z-index: -2; background: url('/app-v2/assets/ui-v3/focus-botanical.webp') right top / cover no-repeat; mask-image:linear-gradient(to right,transparent,#000 65%); pointer-events: none; }
:root[data-ui-theme='dark'] body.ui-v3::before { opacity: .11; }
body.ui-v3 *, body.ui-v3 *::before, body.ui-v3 *::after { box-sizing: border-box; }
body.ui-v3 * { scrollbar-color: var(--v3-line) transparent; scrollbar-width: thin; }
body.ui-v3 ::selection { background: var(--v3-accent); color: var(--v3-on-accent); }
body.ui-v3 :focus-visible { outline: 3px solid var(--v3-focus); outline-offset: 4px; }
body.ui-v3 :is(input,textarea) { caret-color: var(--v3-accent); }
body.ui-v3 [hidden] { display: none !important; }
body.ui-v3 :is(button,input,select,textarea) { font: inherit; }
body.ui-v3 :is(img,svg) { max-width: 100%; }
body.ui-v3 :is(h1,h2,h3,h4,p,small,a,button,label,strong,span) { overflow-wrap: anywhere; }
body.ui-v3 :is(h1,h2,h3,h4) { font-family: Manrope, sans-serif; color: var(--v3-ink); text-wrap: balance; letter-spacing: -.03em; }
body.ui-v3 h1 { font-size: clamp(1.875rem,4.6vw,2.75rem); font-weight: 800; line-height: 1.14; max-width: 23ch; margin: 0 0 16px; }
body.ui-v3 h2 { font-size: clamp(1.35rem,3vw,1.75rem); line-height: 1.2; margin: 0 0 14px; }
body.ui-v3 h3 { font-size: 1.15rem; line-height: 1.3; }
body.ui-v3 p { margin: 0 0 16px; }
body.ui-v3 a { color: var(--v3-accent); text-underline-offset: 4px; }
body.ui-v3 :is(.subtitle,.app-subtitle,.helper-text,.app-help,.input-hint,.hint,.diagnostic-message) { color: var(--v3-muted); font-size: 1rem; line-height: 1.5; max-width: 65ch; }
body.ui-v3 :is(small,.app-help,.input-hint,.helper-text) { font-size: .875rem; }
body.ui-v3 :is(.app-shell,.diagnostic-shell,.preview-shell,.map-offer-shell) { display: block; min-height: 100svh; width: 100%; max-width: none; padding: 0; margin: 0; background: transparent; overflow: visible; border: 0; border-radius: 0; box-shadow: none; }
body.ui-v3 :is(.app-main,.app-container,.diagnostic-main,.preview-main,.map-offer-main) { display: block; width: 100%; max-width: 1200px; margin: 0 auto; padding: 22px clamp(16px,3vw,36px) calc(40px + env(safe-area-inset-bottom)); min-width: 0; min-height: 0; overflow: visible; }
body.ui-v3 .motion-page { display: block; animation: none; min-width: 0; }
body.ui-v3 .motion-page > *, body.ui-v3 main > * { min-width: 0; }
body.ui-v3 :is(.brand-logo-wrapper,.preview-brand,.diagnostic-brand,.map-offer-header) { display: none; }
body.ui-v3 :is(.eyebrow,.diagnostic-eyebrow,.fs-eyebrow,.preview-kicker,.preview-overline,.map-offer-kicker,.map-offer-overline,.map-offer-card__eyebrow) { display: none; }
.v3-masthead { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 56px; width:100%; margin: 0 0 18px; view-transition-name: foco-header; }
.v3-brand { display: inline-flex; gap: 10px; align-items: center; text-decoration: none; color: var(--v3-ink); font-size: 1.65rem; font-weight: 800; letter-spacing: -.04em; }
.v3-brand img { width: 44px; height: 44px; object-fit: contain; }
.v3-header-actions { display: flex; gap: 10px; }
body.ui-v3 .v3-icon-button { display: grid; place-items: center; width: 46px; min-height: 46px; padding: 10px; border-radius: 50%; border: 1px solid var(--v3-soft-line); background: var(--v3-glass); color: var(--v3-ink); backdrop-filter: blur(16px); cursor: pointer; }
.v3-icon-button svg,.v3-context svg { width: 24px; height: 24px; flex: none; }
.v3-icon-button svg { transition: transform 260ms var(--v3-ease); }
.v3-icon-button[aria-pressed='true'] svg { transform: rotate(180deg); }
body.ui-v3 #step-header { position: static; margin: 0 0 20px; width: 100%; max-width: none; padding: 0; }
body.ui-v3 .step-header { display: flex; padding: 16px 20px; border: 0; border-radius: 20px; background: var(--v3-glass); box-shadow: inset 0 1px 0 rgb(255 255 255 / 65%),0 8px 24px rgb(22 74 48 / 6%); backdrop-filter: blur(18px); min-height: 68px; }
body.ui-v3 .step-header__progress { width: 100%; max-width:none; flex:1; display: grid; grid-template-columns:minmax(0,1fr); justify-content:stretch; gap: 12px; }
.v3-progress-caption { display: flex; justify-content: space-between; gap: 16px; color: var(--v3-muted); font-size: .875rem; }
.v3-progress-caption strong { color: var(--v3-ink); font-size: .9375rem; }
body.ui-v3 .step-header__track { height: 6px; background: var(--v3-soft-line); border-radius: 6px; width: 100%; position: relative; overflow: visible; }
body.ui-v3 .step-header__track::before,body.ui-v3 .step-header__track::after { content: none; }
body.ui-v3 .step-header__fill { display: block; height: 100%; background: var(--v3-accent); border-radius: inherit; transition: none; }
.v3-progress-dots { position: absolute; inset: -3px 0; display: flex; justify-content: space-between; pointer-events: none; }
.v3-progress-dots i { width: 12px; height: 12px; background: #c8d9d0; border-radius: 50%; box-shadow: 0 0 0 2px var(--v3-glass); }
.v3-progress-dots i.is-complete { background: var(--v3-accent); }
body.ui-v3 :is(.card.app-card,.diagnostic-card,.preview-hero,.map-offer-hero) { position: relative; width: 100%; max-width: none; padding: clamp(24px,4vw,40px); margin: 0 0 24px; background: var(--v3-glass); color: var(--v3-ink); border: 0; border-radius: var(--v3-radius); box-shadow: inset 0 1px 0 rgb(255 255 255 / 70%),var(--v3-shadow); backdrop-filter: blur(18px); overflow: visible; }
body.ui-v3 :is(.card.app-card,.diagnostic-card,.preview-hero,.map-offer-hero)::before, body.ui-v3 :is(.card.app-card,.diagnostic-card,.preview-hero,.map-offer-hero)::after { content: none; }
body.ui-v3 :is(.page-title,.page-header,.app-card-header) { padding: 0; border: 0; margin: 0 0 28px; display: block; text-align: left; }
body.ui-v3 :is(.card.app-card .card.app-card,.select-food-subcard,.subcard-body,.form-section,.form-card) { background: transparent; border: 0; box-shadow: none; backdrop-filter: none; padding: 0; border-radius: 0; }
body.ui-v3 :is(.form-grid,.form-row,.fields-grid,.form-group) { gap: 22px; }
body.ui-v3 :is(.form-field,.app-field,.form-section,.diagnostic-actions) { min-width: 0; }
body.ui-v3 :is(.input-label,.app-label,.field-label,legend) { display: block; color: var(--v3-ink); font-size: .9375rem; font-weight: 700; margin-bottom: 9px; }
body.ui-v3 :is(input:not([type='checkbox']):not([type='radio']):not([type='range']),select,textarea,.app-input) { display: block; width: 100%; min-width: 0; min-height: 54px; border: 1px solid var(--v3-line); border-radius: var(--v3-control); padding: 14px 16px; color: var(--v3-ink); background: var(--v3-field); box-shadow: none; outline-offset: 3px; transition: border-color var(--v3-fast),background var(--v3-fast); }
body.ui-v3 input::placeholder,body.ui-v3 textarea::placeholder { color: var(--v3-muted); opacity: 1; }
body.ui-v3 :is(input,select,textarea):focus { border-color: var(--v3-accent); }
body.ui-v3 :is(input,select,textarea)[aria-invalid='true'] { border-color: var(--v3-danger); }
body.ui-v3 :is(input,select,textarea):disabled { opacity: .65; cursor: not-allowed; }
body.ui-v3 :is(input[type='checkbox'],input[type='radio']) { width: 22px; height: 22px; accent-color: var(--v3-accent); flex-shrink: 0; }
body.ui-v3 :is(.checkbox-field,.radio-option,.option-label) { min-height: 48px; align-items: center; gap: 12px; }
body.ui-v3 :is(.error,.is-error,.input-error) { color: var(--v3-danger); font-size: .875rem; }
body.ui-v3 .error:empty,body.ui-v3 .status:empty,body.ui-v3 .feedback:empty { display: none; }
body.ui-v3 :is(.app-btn-primary,.primary-button,.preview-cta,.btn-primary) { display: inline-flex; align-items: center; justify-content: center; gap: 14px; position: relative; width: 100%; min-height: 56px; padding: 15px 22px; border: 0; border-radius: var(--v3-control); background: var(--v3-accent); color: var(--v3-on-accent); box-shadow: 0 7px 16px rgb(13 66 44 / 13%); font: 800 1rem/1.4 Manrope,sans-serif; text-decoration: none; cursor: pointer; white-space: normal; transition: transform var(--v3-fast) var(--v3-ease),opacity var(--v3-fast); }
body.ui-v3 :is(.app-btn-primary,.primary-button,.preview-cta)::before { content: none; }
body.ui-v3 :is(.app-btn-primary,.primary-button,.preview-cta):hover:not(:disabled) { transform: translateY(-2px); }
body.ui-v3 :is(.app-btn-primary,.primary-button,.preview-cta):active:not(:disabled) { transform: scale(.985); }
body.ui-v3 :is(.app-btn-secondary,.secondary-button,.secondary-link,.diagnostic-home-link) { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 12px 18px; border-radius: var(--v3-control); border: 1px solid var(--v3-line); background: var(--v3-field); color: var(--v3-ink); font-weight: 700; font-size: .9375rem; text-decoration: none; box-shadow: none; white-space: normal; }
body.ui-v3 button:disabled { opacity: .55; cursor: not-allowed; transform: none; }
body.ui-v3 :is(.sticky-actions,.app-cta-sticky,.diagnostic-actions,.section-actions) { position: static; inset: auto; width: 100%; min-width: 0; transform: none; margin: 26px 0 0; padding: 0; display: flex; flex-direction: column; gap: 14px; background: transparent; border: 0; box-shadow: none; backdrop-filter: none; }
body.ui-v3 :is(.option-card,.choice-card,.activity-card,.fs-card,.selection-card,.food-category-card,.category-card,.chip) { min-width: 0; border: 1px solid var(--v3-line); border-radius: 14px; background: var(--v3-field); color: var(--v3-ink); box-shadow: none; transition: transform 160ms var(--v3-ease),background 160ms var(--v3-ease); }
body.ui-v3 :is(.selected,.is-selected,[aria-pressed='true'],.option-card:has(input:checked),.choice-card:has(input:checked)) { border-color: var(--v3-accent); background-color: var(--v3-selected); color: var(--v3-ink); box-shadow: inset 0 0 0 1px var(--v3-accent); }
body.ui-v3 :is(.badge,.app-badge,.tag,.preview-complete) { background: var(--v3-selected); color: var(--v3-ink); border: 0; box-shadow: none; padding: 6px 11px; font-size: .875rem; }
body.ui-v3 :is(.status,.app-alert,.preview-status,.payment-status,.diagnostic-technical) { background: var(--v3-reading); color: var(--v3-muted); padding: 14px 16px; border: 0; border-radius: 12px; font-size: .875rem; overflow-wrap: anywhere; }
body.ui-v3 :is(.status,.app-alert,.preview-status,.payment-status).is-error { color: var(--v3-danger); }
body.ui-v3 .v3-layout { display: grid; grid-template-columns: minmax(0,720px) minmax(0,1fr); align-items: start; gap: 36px; }
.v3-task-column { min-width: 0; }
.v3-context { padding: 32px 0; min-width: 0; color: var(--v3-muted); }
.v3-context h2 { color: var(--v3-ink); }
.v3-context-note { padding-top: 20px; border-top: 1px solid var(--v3-soft-line); font-size: .875rem; }
.v3-topics { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 18px; margin: 24px 0 28px; }
.v3-topic { display: flex; align-items: flex-start; gap: 12px; min-width: 0; }
.v3-topic-icon { width: 44px; height: 44px; border-radius: 50%; background: var(--v3-selected); display: grid; place-items: center; flex: none; color: var(--v3-ink); }
.v3-topic strong { display: block; color: var(--v3-ink); line-height: 1.3; font-size: .9375rem; }
.v3-topic p { font-size: .875rem; line-height: 1.4; margin: 5px 0 0; }
.v3-waves { position: fixed; inset: auto 0 0; width: 100%; height: 130px; z-index: -1; color: #8cbfa9; opacity: .25; pointer-events: none; }
body.ui-v3[data-page='index'] .app-index .app-card--intro { display: block; padding: 30px 26px 24px; }
body.ui-v3[data-page='index'] .app-index .app-title { font-size: clamp(2.375rem,5vw,3.5rem); font-weight:800; line-height: 1.06; max-width: 14ch; margin-bottom: 20px; letter-spacing:-.04em; }
body.ui-v3[data-page='index'] .page-title { margin-bottom: 0; }
body.ui-v3[data-page='index'] .badge-row { display: none; }
body.ui-v3[data-page='index'] .app-index .sticky-actions { position:static; margin-top: 24px; padding:0; background:none; }
body.ui-v3[data-page='index'] .sticky-actions .app-btn-primary { justify-content: space-between; }
body.ui-v3[data-page='index'] .sticky-actions .app-btn-primary::after { content: ''; width: 24px; height: 20px; flex: none; background: currentColor; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h16m-6-6 6 6-6 6' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E") center/contain no-repeat; }
body.ui-v3[data-page='index'] .helper-text { margin: 0; display: flex; gap: 10px; align-items: center; }
body.ui-v3[data-page='index'] .helper-text::before { content: ''; width: 18px; height: 20px; flex: none; background: var(--v3-accent); mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 6v12m8-12v12' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat; }
/* Food selections: intrinsic cards, intact names and IDs; shared with dialog. */
body.ui-v3 :is(.food-chip-panel,.modal-list) { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,145px),1fr)); gap: 12px; align-items: stretch; }
body.ui-v3 :is(.food-chip,.food-chip-panel .chip,.modal-food-item) { min-width: 0; width: 100%; min-height: 76px; padding: 14px; border-radius: 14px; display: flex; align-items: center; gap: 10px; text-align: left; color: var(--v3-ink); background: var(--v3-field); border: 1px solid var(--v3-line); font-size: .9375rem; line-height: 1.35; white-space: normal; }
body.ui-v3 :is(.food-chip-label,.food-chip__name,.chip-label,.modal-food-name) { white-space: normal; overflow: visible; text-overflow: clip; min-width: 0; }
body.ui-v3 .food-chip-panel .chip[aria-pressed='true'] { background: var(--v3-selected); border-color: var(--v3-accent); box-shadow: inset 0 0 0 1px var(--v3-accent); }
body.ui-v3 .select-food-section { padding: 24px 0 !important; border-top: 1px solid var(--v3-soft-line) !important; margin: 16px 0 0; }
body.ui-v3 .select-food-section.is-locked { opacity: .7; }
body.ui-v3 .section-lock { position: static; display: none; background: var(--v3-reading); padding: 14px; min-height: 0; transform: none; border-radius: 12px; }
body.ui-v3 .is-locked .section-lock { display: block; opacity: 1; margin-bottom: 18px; }
body.ui-v3 .food-search-tools { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; margin: 20px 0; }
body.ui-v3 .food-search-tools label { grid-column: 1/-1; }
/* Protected reading surfaces and mobile sheets. */
body.ui-v3 :is(.modal-overlay,.lgpd-modal-overlay,.modal-backdrop) { background: rgb(5 26 17 / 66%); backdrop-filter: blur(8px); z-index: 100; padding: 20px; }
body.ui-v3[data-page='personal-data'] .lgpd-modal { background:var(--v3-reading); color:var(--v3-ink); border-color:var(--v3-soft-line); backdrop-filter:none; }
body.ui-v3[data-page='personal-data'] :is(.lgpd-modal-title,.lgpd-modal-content) { color:var(--v3-ink); font-family:Manrope,sans-serif; }
body.ui-v3[data-page='personal-data'] .lgpd-modal-content { font-size:.9375rem; line-height:1.65; overflow-wrap:anywhere; }
body.ui-v3[data-page='personal-data'] .lgpd-modal-close { color:var(--v3-ink); background:var(--v3-selected); }
body.ui-v3 :is(.modal-card,.modal-content,.lgpd-modal__dialog,.lgpd-modal__content) { background: var(--v3-reading); color: var(--v3-ink); border: 0; border-radius: 24px; box-shadow: 0 24px 64px rgb(0 20 9 / 28%); width: min(100%,760px); max-height: calc(100dvh - 40px); min-width: 0; overflow: auto; }
body.ui-v3 :is(.modal-body,.lgpd-modal__body) { min-height: 0; overflow: auto; padding: 22px; }
body.ui-v3 :is(.modal-header,.modal-footer) { background: var(--v3-reading); padding: 18px 22px; }
body.ui-v3 :is(.modal-close,.lgpd-modal__close) { min-width: 44px; min-height: 44px; color: var(--v3-ink); background: var(--v3-selected); border-radius: 50%; }
/* Editorial output and all continuity states stay in normal document flow. */
body.ui-v3 :is(.preview-dossier,.preview-content,.preview-section,.preview-offer,.preview-final-offer,.map-offer-spoiler,.map-offer-card) { background: var(--v3-reading); color: var(--v3-ink); border: 0; border-radius: 20px; box-shadow: none; min-width: 0; overflow: visible; }
body.ui-v3 .preview-dossier { background: transparent; }
body.ui-v3 :is(.preview-hero h1,.preview-hero p,.preview-hero span,.preview-hero strong) { color: var(--v3-ink); }
body.ui-v3 .preview-hero h1 { font-size: clamp(2rem,4.4vw,3rem); max-width: 27ch; }
body.ui-v3 .preview-hero__copy { max-width: none; padding: 20px 0 0; }
body.ui-v3 .preview-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(260px,.7fr); align-items: start; gap: 24px; }
body.ui-v3 :is(.preview-offer,.preview-offer-shell) { position: static; top: auto; transform: none; }
body.ui-v3 :is(.preview-section,.preview-offer,.preview-final-offer) { padding: 26px; margin-bottom: 24px; }
body.ui-v3 .preview-problem__grid { display: flex; flex-direction: column; gap: 24px; }
body.ui-v3 .preview-problem__copy { width: 100%; max-width: none; min-width: 0; }
body.ui-v3 .preview-section-heading { display: block; }
body.ui-v3 .preview-index { display: none; }
body.ui-v3 .preview-locked { width: 100%; max-width: 420px; min-width: 0; padding: 22px; background: #123f2a; color: #f5fff9; border: 0; border-radius: 16px; }
body.ui-v3 .preview-locked :is(h2,h3,strong,p,span) { color: inherit; }
body.ui-v3 :is(.preview-fact,.preview-facts__row) { border-color: var(--v3-soft-line); }
body.ui-v3 .preview-final-offer { margin-top: 24px; }
body.ui-v3 .map-offer-hero { display: grid; grid-template-columns: minmax(0,1fr) minmax(160px,.45fr); gap: 28px; align-items: center; }
body.ui-v3 .map-offer-hero__signal { position: static; min-width: 0; padding: 20px; background: var(--v3-selected); color: var(--v3-ink); border: 0; border-radius: 16px; transform: none; }
body.ui-v3 .map-offer-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
body.ui-v3 .map-offer-card { display: flex; flex-direction: column; }
body.ui-v3 .map-offer-card__body { display: flex; flex-direction: column; gap: 16px; padding: 24px; flex: 1; }
body.ui-v3 .map-offer-card__body p { margin: 0; }
body.ui-v3 .map-offer-card__price { margin-top: auto; color: var(--v3-ink); }
body.ui-v3 .map-offer-card__media { height: 170px; overflow: hidden; border-radius: 20px 20px 0 0; }
body.ui-v3 .map-offer-card__media img { width: 100%; height: 100%; object-fit: cover; }
body.ui-v3 .map-offer-spoiler { padding: 26px; margin: 24px 0 32px; }
body.ui-v3 :is(.diagnostic-card,.diagnostic-message,.diagnostic-technical) { text-align: left; }
body.ui-v3 :is(.diagnostic-orbit,.diagnostic-orbit__ring) { animation: none; box-shadow: none; border: 0; }
body.ui-v3 .diagnostic-orbit { width: 64px; height: 64px; margin: 0 0 24px; display: grid; place-items: center; border-radius: 50%; color: var(--v3-accent); background: var(--v3-selected); }
body.ui-v3 .diagnostic-orbit__ring { display: none; }
body.ui-v3 .diagnostic-orbit__icon { position: static; color: var(--v3-accent); font-size: 1.6rem; transform: none; }
body.ui-v3 .diagnostic-actions { align-items: stretch; }
body.ui-v3 .diagnostic-actions label { margin: 0; }
body.ui-v3 .diagnostic-card { min-height:0; display:block; justify-content:normal; }
body.ui-v3 :is(.status,.error,.helper-text,.diagnostic-technical,.preview-status):empty { display:none; }
body.ui-v3[data-page] .app-title { font-size:clamp(1.875rem,3vw,2.5rem); line-height:1.14; font-weight:800; letter-spacing:-.04em; margin:0 0 14px; }
body.ui-v3[data-page] .page-title { margin-bottom:24px; }
body.ui-v3[data-page] :is(.exercise-section,.ex-card,.fp-section-card,.imc-subcard,.agradecimento-subcard) { background:transparent; box-shadow:none; border:0; padding:0; }
body.ui-v3[data-page] .select-card.is-selected { background:var(--v3-selected); color:var(--v3-ink); border-color:var(--v3-accent); }
body.ui-v3[data-page] .select-card.is-selected :is(strong,span,p) { color:inherit; }
body.ui-v3[data-page='map-delivery-offer'] .map-offer-shell { background:transparent; overflow:visible; }
body.ui-v3 .map-offer-hero :is(p,span,strong,small) { color:var(--v3-ink); }
body.ui-v3 .map-offer-hero :is(.map-offer-hero__support,small) { color:var(--v3-muted); }
body.ui-v3 .map-offer-spoiler__value { background:var(--v3-selected); color:var(--v3-ink); border:0; border-radius:12px; }
body.ui-v3[data-page='next-step'] .top-header { display:none; }
body.ui-v3[data-page='next-step'] .card { background:var(--v3-glass); color:var(--v3-ink); padding:28px; border:0; box-shadow:var(--v3-shadow); }
body.ui-v3[data-page='next-step'] .card--soft { padding:0; background:none; box-shadow:none; }
body.ui-v3[data-page='payment-return'] { background:var(--v3-ground); color:var(--v3-ink); }
body.ui-v3[data-page='payment-return'] main { display:block; width:100%; max-width:1200px; min-height:0; margin:auto; padding:22px clamp(16px,3vw,36px); }
body.ui-v3[data-page='payment-return'] section { background:var(--v3-glass); border:0; border-radius:24px; padding:28px; width:100%; box-shadow:var(--v3-shadow); }
body.ui-v3[data-page='payment-return'] h1 { color:var(--v3-ink); font-family:Manrope,sans-serif; font-size:clamp(2rem,4vw,3rem); line-height:1.12; max-width:18ch; }
body.ui-v3[data-page='payment-return'] p { color:var(--v3-muted); font:inherit; }
body.ui-v3[data-page='payment-return'] .v3-brand { width:auto; min-width:0; margin:0; padding:0; border:0; border-radius:0; background:none; box-shadow:none; font:800 1.65rem Manrope,sans-serif; color:var(--v3-ink); }
body.ui-v3[data-page='payment-return'] section a { background:var(--v3-accent); color:var(--v3-on-accent); border-radius:12px; font:700 1rem Manrope,sans-serif; box-shadow:none; }
.v3-enter { animation: foco-enter var(--v3-enter) var(--v3-ease) both; }
@keyframes foco-enter { from { opacity: .4; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes foco-sheet { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: 160ms var(--v3-ease) both foco-exit; }
::view-transition-new(root) { animation: 320ms var(--v3-ease) both foco-enter; }
@keyframes foco-exit { to { opacity: 0; transform: translateY(-8px); } }
@media (max-width: 959px) {
  body.ui-v3 .v3-layout { grid-template-columns: minmax(0,1fr); gap: 0; }
  .v3-context { padding: 14px 8px; }
  .v3-context--secondary { display: none; }
  body.ui-v3 .app-main { max-width: 760px; }
  body.ui-v3 .map-offer-grid { grid-template-columns: minmax(0,1fr); }
  body.ui-v3 .map-offer-card { display: grid; grid-template-columns: minmax(160px,.45fr) minmax(0,1fr); }
  body.ui-v3 .map-offer-card__media { height: 100%; border-radius: 20px 0 0 20px; }
}
@media (max-width: 640px) {
  body.ui-v3 .app-main { padding: calc(16px + env(safe-area-inset-top)) 16px calc(32px + env(safe-area-inset-bottom)); }
  .v3-masthead { margin-bottom: 14px; }
  .v3-brand { font-size: 1.65rem; }
  .v3-brand img { width: 42px; height: 42px; }
  body.ui-v3 h1 { font-size: 1.875rem; }
  body.ui-v3[data-page='index'] h1 { font-size: 2.375rem; }
  body.ui-v3 .step-header { padding: 14px 18px; }
  body.ui-v3 :is(.card.app-card,.diagnostic-card,.preview-hero,.map-offer-hero) { padding: 24px 22px; }
  body.ui-v3 :is(.form-grid,.form-row,.fields-grid,.preview-layout,.map-offer-hero) { grid-template-columns: minmax(0,1fr); }
  body.ui-v3 .food-search-tools { grid-template-columns: minmax(0,1fr); }
  body.ui-v3 :is(.modal-overlay,.lgpd-modal-overlay) { align-items: flex-end; padding: 0; }
  body.ui-v3 :is(.modal-card,.modal-content,.lgpd-modal__dialog) { border-radius: 24px 24px 0 0; max-height: 90dvh; width: 100%; animation: foco-sheet 260ms var(--v3-ease); padding-bottom: env(safe-area-inset-bottom); }
  body.ui-v3 .map-offer-card { display: flex; }
  body.ui-v3 .map-offer-card__media { height: 180px; border-radius: 20px 20px 0 0; }
  body.ui-v3 .preview-hero h1 { font-size: 2rem; }
  body.ui-v3 .preview-section { padding: 24px 20px; }
  .v3-topics { gap: 24px 14px; }
  .v3-topic { gap: 10px; }
}
@media (max-width: 359px) {
  body.ui-v3 .app-main { padding-inline: 12px; }
  body.ui-v3 :is(.card.app-card,.diagnostic-card) { padding: 24px 18px; }
  .v3-topic { flex-direction: column; }
  body.ui-v3[data-page='index'] h1 { font-size: 2.125rem; }
  .v3-progress-caption { flex-wrap: wrap; gap: 4px 12px; }
}
@supports not (backdrop-filter: blur(1px)) { body.ui-v3 :is(.card.app-card,.step-header,.v3-icon-button,.diagnostic-card) { background: var(--v3-reading); } }
body.ui-v3[data-page='offline'] { padding:0; width:100%; margin:0; border:0; border-radius:0; box-shadow:none; overflow:visible; }
body.ui-v3[data-page='offline']::before { min-height:0; height:auto; border-radius:0; box-shadow:none; }
body.ui-v3[data-page='offline'] main { display:block; max-width:1200px; margin:auto; padding:22px clamp(16px,3vw,36px); background:transparent; border-radius:0; box-shadow:none; min-height:0; }
body.ui-v3[data-page='offline'] .v3-task-column { background:var(--v3-glass); border-radius:24px; padding:32px; box-shadow:var(--v3-shadow); }
body.ui-v3[data-page='offline'] h1 { font-size:clamp(2rem,4vw,3rem); line-height:1.12; max-width:18ch; font-weight:800; }
body.ui-v3[data-page='offline'] .mark { display:none; }
body.ui-v3[data-page='offline'] .v3-brand { min-width:0; width:auto; margin:0; padding:0; box-shadow:none; background:none; border:0; }
body.ui-v3[data-page='offline'] .v3-brand::after { content:none; }
body.ui-v3[data-page='offline'] .v3-task-column a { background:var(--v3-accent); color:var(--v3-on-accent); border:0; min-width:0; }
/* Owner revision: polished metal lives on actions and small details, never on text. */
body.ui-v3 :is(.app-btn-primary,.primary-button,.preview-cta,.btn-primary) {
  background:var(--v3-metal); color:var(--v3-on-gold); isolation:isolate; overflow:hidden;
  box-shadow:0 7px 18px rgb(107 75 17 / 14%);
}
body.ui-v3 :is(.app-btn-primary,.primary-button,.preview-cta)::before {
  content:''; position:absolute; inset:-70% -55%; z-index:-1; pointer-events:none;
  background:radial-gradient(ellipse at 45% 50%,rgb(255 255 238 / 70%),transparent 34%),linear-gradient(110deg,transparent 40%,rgb(255 247 214 / 60%) 48%,transparent 55%);
  transform:translateX(-45%) rotate(-12deg); opacity:0;
  animation:foco-gold-flow 4800ms var(--v3-ease) 400ms 1;
}
body.ui-v3 :is(.app-btn-primary,.primary-button,.preview-cta):hover:not(:disabled)::before,
body.ui-v3 :is(.app-btn-primary,.primary-button,.preview-cta):focus-visible::before { animation:foco-gold-hover 1500ms var(--v3-ease) 1; }
body.ui-v3 :is(.app-btn-primary,.primary-button,.preview-cta):disabled::before { animation:none; }
@keyframes foco-gold-flow { 0% { opacity:0; transform:translateX(-45%) rotate(-12deg); } 28%,62% { opacity:.48; } 100% { opacity:0; transform:translateX(45%) rotate(12deg); } }
@keyframes foco-gold-hover { 0% { opacity:0; transform:translateX(-40%) rotate(-10deg); } 45% { opacity:.5; } 100% { opacity:0; transform:translateX(40%) rotate(10deg); } }
body.ui-v3 .step-header__fill,body.ui-v3 .v3-progress-dots .is-complete { background:var(--v3-metal); }
body.ui-v3 .v3-topic-icon { background:var(--v3-metal); color:var(--v3-on-gold); }
body.ui-v3 :is(.hs-option__icon,.select-card__icon,.fs-level,.gender-icon) { color:var(--v3-gold-ink); flex:none; }
body.ui-v3 :is(.hs-option__icon,.select-card__icon,.fs-level) { width:40px; height:40px; display:grid; place-items:center; background:var(--v3-field); border-radius:12px; }
body.ui-v3 :is(.hs-option__icon,.select-card__icon,.fs-level) svg { width:24px; height:24px; }
body.ui-v3 :is(.option-card,.select-card,.chip) { transition:transform 160ms var(--v3-ease),background-color 160ms var(--v3-ease); }
body.ui-v3 :is(.option-card,.select-card,.chip):active:not(:disabled) { transform:scale(.985); }
body.ui-v3 :is(.option-card,.select-card,.chip)[aria-checked='true'],body.ui-v3 .modal-item:has(input:checked) { background:var(--v3-selected); color:var(--v3-ink); border-color:var(--v3-gold); box-shadow:inset 0 0 0 1px var(--v3-gold); }
body.ui-v3 :is(.option-card,.select-card,.chip)[aria-checked='true'] :is(.hs-option__icon,.select-card__icon,.fs-level) { background:var(--v3-metal); color:var(--v3-on-gold); }
body.ui-v3[data-page='body-data'] .gender-options { grid-template-columns:repeat(auto-fit,minmax(min(100%,132px),1fr)); padding:0; border:0; background:none; gap:12px; }
body.ui-v3[data-page='body-data'] .gender-options .gender-pill { border-radius:12px; min-height:60px; padding:14px 10px; gap:8px; white-space:nowrap; overflow-wrap:normal; font-size:.9375rem; }
body.ui-v3[data-page='body-data'] .gender-options .gender-pill[aria-checked='true'] { background:var(--v3-selected); color:var(--v3-ink); border-color:var(--v3-gold); box-shadow:inset 0 0 0 1px var(--v3-gold); }
body.ui-v3[data-page='select-food'] .modal-card { display:flex; flex-direction:column; overflow:hidden; max-height:calc(100dvh - 40px); }
body.ui-v3[data-page='select-food'] :is(.modal-header,.modal-footer) { flex:0 0 auto; }
body.ui-v3[data-page='select-food'] .modal-body { display:block; flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; }
body.ui-v3[data-page='select-food'] .modal-list { max-height:none; overflow:visible; margin-top:18px; }
body.ui-v3[data-page='select-food'] .modal-item { min-width:0; min-height:64px; padding:14px; background:var(--v3-field); color:var(--v3-ink); border:1px solid var(--v3-line); border-radius:12px; box-shadow:none; }
body.ui-v3[data-page='select-food'] .modal-item span { min-width:0; overflow-wrap:normal; }
body.ui-v3[data-page='select-food'] #modalSearch { padding-left:44px; }
/* Keep completion status available to assistive technology without a second heading. */
body.ui-v3 :is(.preview-complete,.map-offer-signal__eyebrow) { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
body.ui-v3[data-page='health-sleep'] .hs-card { background:transparent; border:0; box-shadow:none; padding:0; margin-bottom:28px; }
body.ui-v3[data-page='health-sleep'] .hs-option { min-height:56px; border-radius:12px; padding:8px 12px; gap:10px; border:1px solid var(--v3-line); background:var(--v3-field); color:var(--v3-ink); }
body.ui-v3[data-page='health-sleep'] .hs-option.is-selected { background:var(--v3-selected); border-color:var(--v3-gold); box-shadow:inset 0 0 0 1px var(--v3-gold); }
body.ui-v3[data-page='health-sleep'] .hs-option__icon { background:transparent; color:var(--v3-gold-ink); width:28px; height:28px; }
body.ui-v3[data-page='meal-plan-access'] .diagnostic-home-link { margin-top:16px; }
body.ui-v3[data-page='next-step'] .card { border-radius:24px; }
body.ui-v3[data-page='next-step'] .card--soft { margin:28px 0; }
body.ui-v3[data-page='next-step'] .card--soft h2 { font-size:1.25rem; line-height:1.35; max-width:none; overflow-wrap:normal; }
body.ui-v3[data-page='next-step'] .card--soft ul { padding-left:22px; display:grid; gap:14px; }
body.ui-v3[data-page='next-step'] .card--soft li::marker { color:var(--v3-gold-ink); }
.v3-waiting { display:flex; align-items:center; gap:12px; color:var(--v3-muted); font-size:.875rem; margin:20px 0; }
.v3-waiting span { display:flex; gap:5px; }
.v3-waiting i { width:6px; height:6px; border-radius:50%; background:var(--v3-gold-ink); animation:foco-wait 1200ms ease-in-out infinite; }
.v3-waiting i:nth-child(2) { animation-delay:160ms; }.v3-waiting i:nth-child(3) { animation-delay:320ms; }
@keyframes foco-wait { 0%,70%,100% { transform:translateY(0); opacity:.5; } 35% { transform:translateY(-3px); opacity:1; } }
/* Short visual explanation: answers -> connected pillars -> practical priorities. */
body.ui-v3 .preview-hero__promise-list { display:flex; flex-wrap:wrap; gap:12px 24px; }
body.ui-v3 .preview-hero__topline { padding-bottom:0; border:0; }
body.ui-v3 .preview-hero__copy { padding-top:16px; }
body.ui-v3[data-page='diagnostic-preview'] .preview-lead { margin:16px 0 0; font-size:1rem; line-height:1.5; }
body.ui-v3 .preview-hero__promise { margin-top:20px; padding-top:16px; }
body.ui-v3 .preview-content { padding:0; background:transparent; }
body.ui-v3 .preview-layout { padding:24px 0 0; }
body.ui-v3[data-page='diagnostic-preview'] .preview-section-intro { margin:12px 0 0; line-height:1.5; }
body.ui-v3 :is(.preview-problem__grid,.preview-discovery-teaser) { margin-left:0; }
body.ui-v3 .preview-section-heading { margin:0; }
body.ui-v3 .preview-hero__promise-list i { color:var(--v3-gold-ink); }
body.ui-v3 .preview-layout { grid-template-columns:minmax(0,1.35fr) minmax(290px,1fr); }
body.ui-v3 .preview-section-heading h2 { font-size:1.35rem; line-height:1.3; max-width:none; }
body.ui-v3 :is(.preview-kicker,.preview-overline,.preview-hero__promise-label,.preview-pain-callout,.preview-implication,.preview-value) { display:none; }
body.ui-v3 .preview-facts { margin:12px 0 20px; }
body.ui-v3 .preview-fact { display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 16px; padding:12px 0; }
body.ui-v3 .preview-fact span { font-size:.875rem; text-transform:none; letter-spacing:0; }
body.ui-v3 .preview-discovery-teaser { border:0; border-radius:12px; padding:16px; background:var(--v3-selected); }
body.ui-v3 .preview-discovery-teaser > span { display:none; }
body.ui-v3 .preview-problem__grid { gap:16px; }
body.ui-v3 .preview-locked { max-width:none; }
body.ui-v3 .preview-report-glimpse__chart { height:155px; margin:16px auto; }
body.ui-v3 .preview-report-glimpse__summary { grid-template-columns:minmax(0,1fr); }
body.ui-v3 .preview-report-glimpse__medallion { display:none; }
body.ui-v3 .preview-report-glimpse__pillars span { color:#f1d48e; }
body.ui-v3 .preview-offer__intro h2 { font-size:1.65rem; line-height:1.2; }
body.ui-v3 .v3-map-steps { margin:20px 0 24px; padding:0; list-style:none; display:grid; gap:20px; }
body.ui-v3 .v3-map-steps li { display:grid; grid-template-columns:40px minmax(0,1fr); align-items:start; gap:12px; }
body.ui-v3 .v3-map-steps .v3-topic-icon { width:40px; height:40px; border-radius:12px; }
body.ui-v3 .v3-map-steps strong { display:block; color:var(--v3-ink); font-size:.9375rem; }
body.ui-v3 .v3-map-steps p { font-size:.875rem; margin:4px 0 0; color:var(--v3-muted); }
body.ui-v3 .preview-final-offer { padding:22px 26px; }
body.ui-v3 .preview-final-offer h2 { font-size:1.15rem; margin:0; }
@media (max-width:767px) { body.ui-v3 .preview-layout { grid-template-columns:minmax(0,1fr); } body.ui-v3 .preview-offer-rail { grid-row:1; } }
@media (max-width:640px) { body.ui-v3[data-page='select-food'] .modal-card { max-height:90dvh; } }
/* One selection role across legacy radio/pressed/class hooks; primary CTAs stay gold. */
body.ui-v3[data-page] [data-appnutrir-webapp] button:is(.app-chip,.option-card,.select-card,.chip,.food-chip,.water-card,.gender-pill,.choice-card,.activity-card):is(.is-selected,.selected,.is-complete,.option-card--selected,[aria-checked='true'],[aria-pressed='true'],[aria-selected='true']),
body.ui-v3[data-page='select-food'] #allFoodsModal .modal-item:has(input:checked) {
  background:var(--v3-choice-selected); color:var(--v3-choice-text);
  border-color:var(--v3-choice-border); box-shadow:inset 0 0 0 1px var(--v3-choice-border);
}
body.ui-v3[data-page] [data-appnutrir-webapp] button:is(.app-chip,.option-card,.select-card,.chip,.food-chip,.water-card,.gender-pill,.choice-card,.activity-card):is(.is-selected,.selected,.is-complete,.option-card--selected,[aria-checked='true'],[aria-pressed='true'],[aria-selected='true']) :is(span,strong,p,small,svg) {
  color:var(--v3-choice-text);
}
body.ui-v3[data-page] [data-appnutrir-webapp] button:is(.app-chip,.option-card,.select-card,.chip,.food-chip,.water-card,.gender-pill,.choice-card,.activity-card):is(.is-selected,.selected,.is-complete,.option-card--selected,[aria-checked='true'],[aria-pressed='true'],[aria-selected='true']) :is(.choice-description,.option-card__desc) {
  color:var(--v3-choice-muted);
}
body.ui-v3[data-page] [data-appnutrir-webapp] button:is(.app-chip,.option-card,.select-card,.chip,.food-chip,.water-card,.gender-pill,.choice-card,.activity-card):is(.is-selected,.selected,.is-complete,.option-card--selected,[aria-checked='true'],[aria-pressed='true'],[aria-selected='true']) :is(.hs-option__icon,.select-card__icon,.fs-level,.gender-icon,.option-card__check,.fh-segment-icon) {
  background:transparent; color:var(--v3-choice-text);
}
body.ui-v3[data-page='imc-goal'] .objective-section .choice-group .app-chip {
  min-height:56px; border-radius:12px; padding:14px 16px; background:var(--v3-field); color:var(--v3-ink); box-shadow:none;
}
body.ui-v3[data-page='health-sleep'] .hs-segment { grid-template-columns:repeat(auto-fit,minmax(min(100%,156px),1fr)); }
body.ui-v3[data-page='health-sleep'] .hs-option { height:auto; }
body.ui-v3[data-page='health-sleep'] .hs-option > span:last-child { white-space:nowrap; }
/* Mobile reading scale: keep form text and touch controls comfortable on phones. */
@media (max-width: 959px) {
  html:has(body.ui-v3) { font-size: 112.5%; }
  body.ui-v3 { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
  body.ui-v3, body.ui-v3 :is([data-appnutrir-webapp], [data-appnutrir-v2]) { font-size: max(1.1112rem,20px); }
  body.ui-v3 :is(.app-main,.app-container,.diagnostic-main,.preview-main,.map-offer-main) { padding-inline: 14px; }
  body.ui-v3 :is(.card.app-card,.diagnostic-card,.preview-hero,.map-offer-hero) { padding-inline: 18px; }
  body.ui-v3[data-page] :is(.subtitle,.app-subtitle,.diagnostic-message) { font-size: max(1.0625rem,17px); line-height: 1.55; }
  body.ui-v3[data-page] :is(.input-label,.app-label,.field-label,legend,.app-btn-secondary,.secondary-button,.secondary-link,.diagnostic-home-link) { font-size: max(1rem,16px); }
  body.ui-v3[data-page] :is(.helper-text,.app-help,.input-hint,.hint,.error,.input-error,.status,.payment-status,.diagnostic-technical,.lgpd-privacy-note,.lgpd-modal-content) { font-size: max(.9375rem,15px); line-height: 1.55; }
  body.ui-v3[data-page] :is(input:not([type='checkbox']):not([type='radio']):not([type='range']),select,textarea,.app-input) { font-size: max(1.1112rem,20px); min-height: 64px; }
  body.ui-v3[data-page] :is(.app-btn-primary,.primary-button,.preview-cta,.btn-primary) { font-size: max(1.1112rem,20px); min-height: 64px; }
  body.ui-v3[data-page] [data-appnutrir-webapp] :is(.app-chip,.option-card,.select-card,.chip,.food-chip,.water-card,.gender-pill,.choice-card,.activity-card) { font-size: max(1.1112rem,20px); min-height: 64px; height: auto; }
  body.ui-v3[data-page] [data-appnutrir-webapp] :is(.app-chip,.gender-pill) > span { font-size: inherit; }
  body.ui-v3[data-page] :is(.form-grid,.form-row,.fields-grid,.gender-options) { grid-template-columns: minmax(0,1fr); }
  body.ui-v3 .app-main { max-width: 560px; }
  body.ui-v3[data-page] [data-appnutrir-webapp] :is(.choice-description,.option-card__desc,.checkbox-field span) { font-size: max(.9375rem,15px); line-height: 1.5; }
  body.ui-v3[data-page='personal-data'] .checkbox-field.app-field { padding: 14px; gap: 12px; }
  body.ui-v3[data-page='personal-data'] .checkbox-field.app-field input[type='checkbox'] { width: 24px; height: 24px; min-height: 24px; flex-basis: 24px; }
  body.ui-v3 .v3-progress-caption { flex-wrap: wrap; gap: 4px 12px; font-size: max(.875rem,14px); }
  body.ui-v3 .v3-progress-caption strong { font-size: max(.9375rem,15px); }
}
@media (prefers-reduced-motion: reduce) { body.ui-v3 *,body.ui-v3 *::before,body.ui-v3 *::after,::view-transition-old(root),::view-transition-new(root) { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }

/* Approved iPhone-first reading scale: full-width content, natural page scroll. */
@media (max-width: 767px) {
  html:has(body.ui-v3) { font-size: 100%; }
  body.ui-v3,
  body.ui-v3 :is([data-appnutrir-webapp], [data-appnutrir-v2]) {
    font-size: 17px;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }
  body.ui-v3 :is(.app-main,.app-container,.diagnostic-main,.preview-main,.map-offer-main) {
    width: 100%; max-width: none; padding: 10px 10px calc(30px + env(safe-area-inset-bottom));
  }
  body.ui-v3 .app-main { max-width: none; }
  body.ui-v3 :is(.v3-layout,.form-grid,.form-row,.fields-grid,.preview-layout,.map-offer-hero) {
    grid-template-columns: minmax(0,1fr); min-width: 0;
  }
  body.ui-v3 .v3-masthead { min-height: 52px; margin-bottom: 12px; }
  body.ui-v3 .v3-brand { font-size: 1.5rem; }
  body.ui-v3 .v3-brand img { width: 40px; height: 40px; }
  body.ui-v3 .step-header { min-height: 62px; padding: 12px 14px; border-radius: 16px; }
  body.ui-v3 .step-header__progress { gap: 10px; }
  body.ui-v3 .v3-progress-caption { font-size: 14px; }
  body.ui-v3 .v3-progress-caption strong { font-size: 15px; }
  body.ui-v3 .v3-progress-dots i { width: 10px; height: 10px; }
  body.ui-v3 :is(.card.app-card,.diagnostic-card,.preview-hero,.map-offer-hero) {
    width: 100%; min-width: 0; margin-bottom: 16px; padding: 22px 18px; border-radius: 22px;
  }
  body.ui-v3[data-page] :is(h1,.app-title) { font-size: 29px; line-height: 1.2; max-width: 22ch; margin-bottom: 12px; }
  body.ui-v3[data-page='index'] :is(h1,.app-title) { font-size: 32px; }
  body.ui-v3[data-page] :is(.subtitle,.app-subtitle,.diagnostic-message,.preview-lead) { font-size: 17px; line-height: 1.5; }
  body.ui-v3[data-page] :is(.input-label,.app-label,.field-label,legend) { font-size: 18px; line-height: 1.35; }
  body.ui-v3[data-page] :is(.helper-text,.app-help,.input-hint,.hint,.error,.input-error,.status,.payment-status,.diagnostic-technical,.lgpd-privacy-note,.lgpd-modal-content) {
    font-size: 15px; line-height: 1.5;
  }
  body.ui-v3[data-page] :is(.form-grid,.form-row,.fields-grid,.form-group) { gap: 18px; }
  body.ui-v3[data-page] :is(input:not([type='checkbox']):not([type='radio']):not([type='range']),select,textarea,.app-input) {
    width: 100%; min-width: 0; min-height: 62px; padding: 14px 16px; font-size: 18px; line-height: 1.35;
  }
  body.ui-v3[data-page] :is(.app-btn-primary,.primary-button,.preview-cta,.btn-primary) { width: 100%; min-height: 62px; font-size: 17px; }
  body.ui-v3[data-page] :is(.app-btn-secondary,.secondary-button,.secondary-link,.diagnostic-home-link) { min-height: 56px; font-size: 16px; }
  body.ui-v3[data-page] [data-appnutrir-webapp] :is(.app-chip,.option-card,.select-card,.chip,.food-chip,.water-card,.gender-pill,.choice-card,.activity-card) {
    min-width: 0; min-height: 60px; height: auto; padding: 14px; font-size: 17px; line-height: 1.35; white-space: normal;
  }
  body.ui-v3[data-page] [data-appnutrir-webapp] :is(.choice-description,.option-card__desc,.checkbox-field span) { font-size: 15px; line-height: 1.45; }
  body.ui-v3[data-page='body-data'] .gender-options { grid-template-columns: repeat(auto-fit,minmax(min(100%,145px),1fr)); gap: 10px; }
  body.ui-v3[data-page='body-data'] .gender-options .gender-pill { min-height: 60px; padding: 12px 8px; font-size: 16px; }
  body.ui-v3[data-page='personal-data'] .checkbox-field.app-field { min-height: 56px; padding: 12px; }
  body.ui-v3 :is(.food-chip-panel,.modal-list) { grid-template-columns: repeat(auto-fit,minmax(min(100%,150px),1fr)); gap: 10px; }
  body.ui-v3 :is(.food-chip,.food-chip-panel .chip,.modal-food-item) { min-height: 62px; padding: 12px; font-size: 16px; }
  body.ui-v3 .sticky-actions { position: static; inset: auto; width: 100%; padding: 0; background: none; box-shadow: none; backdrop-filter: none; }
  body.ui-v3[data-page='offline'] main { max-width: none; padding: 10px 10px calc(30px + env(safe-area-inset-bottom)); }
  body.ui-v3[data-page='offline'] .v3-task-column { padding: 22px 18px; }
  body.ui-v3[data-page='payment-return'] main { max-width: none; padding: 10px; }
  body.ui-v3[data-page='payment-return'] section { padding: 22px 18px; }
}
@media (max-width: 359px) {
  body.ui-v3 :is(.app-main,.app-container,.diagnostic-main,.preview-main,.map-offer-main) { padding-inline: 8px; }
  body.ui-v3 :is(.card.app-card,.diagnostic-card,.preview-hero,.map-offer-hero) { padding: 20px 16px; }
  body.ui-v3[data-page] :is(h1,.app-title) { font-size: 26px; }
  body.ui-v3[data-page='index'] :is(h1,.app-title) { font-size: 29px; }
  body.ui-v3[data-page] :is(input:not([type='checkbox']):not([type='radio']):not([type='range']),select,textarea,.app-input) { min-height: 58px; }
  body.ui-v3[data-page] :is(.app-btn-primary,.primary-button,.preview-cta,.btn-primary) { min-height: 58px; }
}
