:root {
  color-scheme: light;
  /* Gemma visual tokens: identity, surfaces, depth and rhythm. */
  --bg: #faf9fd; --surface: #fff; --surface-soft:#f7f4fc; --lavender: #f0ebfa; --dusty-pink: #f5e3ee;
  --sage: #e4f2e9; --peach: #fbe8df; --water: #e3f1fb; --accent: #8062cc; --accent-strong:#5f478f; --accent-soft: #b6a3eb;
  --text: #29243a; --muted: #777287; --border: #e8e2f0; --danger: #a74355;
  --danger-soft: #fae7ea; --success: #2f7450; --success-soft: #e3f3e9;
  --shadow: 0 10px 32px rgba(66, 48, 94, .07); --shadow-hover:0 16px 38px rgba(66,48,94,.12); --focus: #684caf;
  --radius-xs:10px; --radius-sm: 13px; --radius: 19px; --radius-lg: 26px;
  --space-1:.35rem; --space-2:.65rem; --space-3:1rem; --space-4:1.5rem; --space-5:2rem;
  --bottom-nav-height: 72px; --bottom-nav-clearance: calc(88px + env(safe-area-inset-bottom));
}
html[data-theme="dark"] {
  color-scheme: dark; --bg: #171419; --surface: #211d24; --lavender: #403851; --dusty-pink: #4a333d;
  --sage: #304038; --peach: #4b3931; --accent: #d7b4da; --accent-soft: #684f6b;
  --text: #f4eff5; --muted: #bbb2bd; --border: #39323c; --danger: #ffb3bc;
  --danger-soft: #44242b; --success: #a8dfb8; --success-soft: #203a29; --shadow: 0 8px 28px rgba(0,0,0,.18); --focus: #e6c7e8;
}
html[data-palette="masculine"] { --lavender:#d7e1f5;--dusty-pink:#dce6f2;--sage:#dceadf;--peach:#e5e4db;--accent:#57749b;--accent-soft:#aec3df;--focus:#3f628e; }
html[data-theme="dark"][data-palette="masculine"] { --lavender:#303d53;--dusty-pink:#303b49;--sage:#2d4138;--peach:#423f37;--accent:#b7cceb;--accent-soft:#455c7b;--focus:#d0def1; }
@media (prefers-color-scheme: dark) {
  html[data-theme="system"] { color-scheme: dark; --bg:#171419;--surface:#211d24;--lavender:#403851;--dusty-pink:#4a333d;--sage:#304038;--peach:#4b3931;--accent:#d7b4da;--accent-soft:#684f6b;--text:#f4eff5;--muted:#bbb2bd;--border:#39323c;--danger:#ffb3bc;--danger-soft:#44242b;--success:#a8dfb8;--success-soft:#203a29;--shadow:0 8px 28px rgba(0,0,0,.18);--focus:#e6c7e8; }
  html[data-theme="system"][data-palette="masculine"] { --lavender:#303d53;--dusty-pink:#303b49;--sage:#2d4138;--peach:#423f37;--accent:#b7cceb;--accent-soft:#455c7b;--focus:#d0def1; }
}
* { box-sizing: border-box; }
.sr-only { position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important; }
html { min-height: 100%; scroll-padding-block: calc(76px + env(safe-area-inset-top)) var(--bottom-nav-clearance); background: var(--bg); font-family: Inter,"Segoe UI Variable","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif; color: var(--text); }
body { min-height: 100vh; min-height: 100dvh; margin: 0; background: radial-gradient(circle at 92% -8rem,rgba(182,163,235,.34),transparent 34rem),radial-gradient(circle at -8rem 44rem,rgba(245,227,238,.5),transparent 27rem),var(--bg); line-height: 1.55; padding-top: env(safe-area-inset-top); padding-bottom: var(--bottom-nav-clearance); }
a { color: var(--accent-strong); text-underline-offset: 3px; text-decoration-thickness:1px; }
button,input,select { font: inherit; color: inherit; }
button,a,input,select { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.skip-link { position: fixed; z-index: 100; left: 1rem; top: .5rem; transform: translateY(-200%); background: var(--surface); padding: .75rem 1rem; border-radius: 12px; }
.skip-link:focus { transform: none; }
.brand { min-height: 44px; display: inline-flex; align-items: center; gap: .72rem; color: var(--text); text-decoration: none; font-size: 1.18rem; font-weight: 800; letter-spacing: -.025em; }
.brand-mark { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: 13px; background: linear-gradient(145deg,var(--accent),var(--accent-soft)); color: #fff; font-family: Georgia,serif; box-shadow:0 7px 18px rgba(95,71,143,.2); }
.topbar { position: sticky; top: 0; z-index: 20; height: 68px; display: flex; align-items: center; justify-content: space-between; max-width: 1120px; margin: auto; padding: 0 16px; background: color-mix(in srgb, var(--bg) 82%, transparent); backdrop-filter: blur(16px); }
.avatar { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--lavender); color: var(--text); font-weight: 700; text-decoration: none; }
.app-content { width: min(100% - 32px, 720px); margin: 0 auto; padding: 18px 0 24px; }
.guest-page { display: grid; place-items: center; padding: max(24px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom)); }
.auth-shell { width: min(100%, 440px); display: grid; gap: 22px; }
.auth-shell > .brand { justify-self: center; }
.card { background: color-mix(in srgb,var(--surface) 98%,transparent); border: 1px solid color-mix(in srgb,var(--border) 88%,transparent); border-radius: var(--radius-lg); padding: 22px; box-shadow: var(--shadow); }
.auth-card h1,.page-heading h1,.hero h1,.onboarding-card h1 { margin: 7px 0 8px; font-size: clamp(1.75rem,7vw,2.15rem); line-height: 1.15; letter-spacing: -.035em; }
h2 { margin: 0; font-size: 1.12rem; line-height: 1.3; letter-spacing: -.015em; }
p { margin: .5rem 0 1rem; }
.muted { color: var(--muted); }
.eyebrow { display: block; color: var(--accent-strong); font-size: .72rem; font-weight: 800; letter-spacing: .115em; text-transform: uppercase; }
.field { display: grid; gap: 7px; margin: 18px 0; }
.field label { font-size: .9rem; font-weight: 700; }
.field input,.field select,.field textarea { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-soft); transition:border-color .16s ease,box-shadow .16s ease,background .16s ease; }
.field textarea { min-height: 100px; resize: vertical; }
.field input:focus,.field select:focus,.field textarea:focus { border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent); outline: none; }
.field-help,.field-error { display: block; font-size: .8rem; }
.field-help { color: var(--muted); }.field-error { color: var(--danger); font-weight: 600; }
.button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap:.45rem; padding: 11px 19px; border: 1px solid transparent; border-radius: 14px; font-weight: 760; text-decoration: none; cursor: pointer; transition: transform .16s ease,filter .16s ease,background .16s ease,box-shadow .16s ease; }
.button:active { transform: scale(.98); }.button:hover { filter: brightness(.98); }
.button-primary { background: linear-gradient(135deg,var(--accent),var(--accent-strong)); color: #fff; box-shadow:0 8px 20px rgba(95,71,143,.2); }
html[data-theme="dark"] .button-primary { color: #261d28; }
.topbar-actions { display:flex;align-items:center;gap:8px; }
.notification-bell { position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--text);text-decoration:none;background:var(--surface);border:1px solid var(--border);font-size:1.35rem; }
.notification-bell b { position:absolute;right:-3px;top:-3px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;display:grid;place-items:center;background:var(--accent);color:var(--surface);font-size:.66rem;line-height:1; }
.subtabs { display:flex;gap:8px;overflow-x:auto;margin:0 0 18px;padding:2px 2px 8px;scrollbar-width:none; }
.subtabs::-webkit-scrollbar { display:none; }
.subtabs a { flex:0 0 auto;min-height:42px;display:flex;align-items:center;padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:.84rem;font-weight:700;text-decoration:none; }
.subtabs a.active { background:var(--lavender);color:var(--text);border-color:transparent; }
.reminder-heading p,.notification-heading p { color:var(--muted);max-width:38rem; }
.reminder-form,.reminder-water-card { margin-bottom:16px; }
.reminder-form-grid { display:grid;grid-template-columns:1fr;gap:0 14px; }
.weekday-picker { border:0;padding:0;margin:18px 0;display:flex;flex-wrap:wrap;gap:7px; }
.weekday-picker legend { width:100%;font-size:.85rem;font-weight:700;margin-bottom:8px; }
.weekday-picker label { cursor:pointer; }
.weekday-picker input { position:absolute;opacity:0;pointer-events:none; }
.weekday-picker span { min-width:44px;min-height:42px;padding:8px 9px;display:grid;place-items:center;border:1px solid var(--border);border-radius:12px;background:var(--bg);font-size:.78rem;font-weight:700; }
.weekday-picker input:checked+span { background:var(--lavender);border-color:var(--accent); }
.weekday-picker input:focus-visible+span { outline:3px solid var(--focus);outline-offset:2px; }
.toggle-row { display:flex;align-items:center;gap:10px;min-height:48px;margin:12px 0;font-weight:700; }
.toggle-row input { width:22px;height:22px;accent-color:var(--accent); }
.reminder-list,.notification-list { display:grid;gap:12px; }
.reminder-card,.notification-card { padding:18px; }
.reminder-card-main { display:flex;gap:13px;align-items:flex-start; }
.reminder-card-main h2,.notification-card h2 { margin:3px 0; }
.reminder-card-main p { color:var(--muted);margin:.3rem 0;font-size:.88rem; }
.reminder-type-icon { flex:0 0 42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--lavender);font-size:1.15rem; }
.reminder-actions,.notification-actions { display:flex;flex-wrap:wrap;gap:8px;margin-top:16px; }
.reminder-card details { margin-top:12px;border-top:1px solid var(--border);padding-top:12px; }
.reminder-card summary { cursor:pointer;font-weight:700;color:var(--accent); }
.notification-read-all { display:flex;justify-content:flex-end;margin:-10px 0 14px; }
.notification-card.is-unread { border-color:color-mix(in srgb,var(--accent) 55%,var(--border));box-shadow:0 8px 28px color-mix(in srgb,var(--accent) 12%,transparent); }
.notification-card-top { display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:.78rem; }
.notification-card p { color:var(--muted);margin:.4rem 0; }
.reminder-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.reminder-summary article{display:grid;gap:2px;padding:14px}.reminder-summary strong{font-size:1.4rem;color:var(--accent)}.reminder-summary span,.reminder-channels{color:var(--muted);font-size:.78rem}.reminder-channels{display:block;margin-top:5px}.reminder-tabs{overflow-x:auto;white-space:nowrap;scrollbar-width:none}.reminder-channel-picker{display:grid;gap:9px;margin:18px 0;padding:14px;border:1px solid var(--border);border-radius:16px}.reminder-channel-picker legend{padding:0 5px;font-weight:800}.reminder-channel-picker p{margin:0;color:var(--muted);font-size:.85rem}.reminder-channel-picker small{display:block;color:var(--muted)}.reminder-channel-links,.reminder-destructive-actions{display:flex;flex-wrap:wrap;gap:14px;margin:10px 0 16px}.reminder-pause-form{display:flex;align-items:end;gap:7px}.reminder-pause-form label{display:grid;gap:3px;color:var(--muted);font-size:.72rem}.reminder-pause-form input{min-height:36px;max-width:150px;padding:5px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text)}
@media (min-width:680px){.reminder-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.reminder-list,.notification-list{grid-template-columns:repeat(2,minmax(0,1fr));}.reminder-water-card{display:grid;grid-template-columns:auto 1fr;column-gap:16px}.reminder-water-card .soft-icon{grid-row:1/5}.reminder-water-card form{grid-column:2}.app-content:has(.reminder-heading),.app-content:has(.notification-heading){width:min(100% - 40px,960px)}}
@media(max-width:430px){.reminder-summary article{padding:11px}.reminder-summary strong{font-size:1.18rem}.reminder-summary span{font-size:.7rem}.reminder-actions,.reminder-pause-form{align-items:stretch}.reminder-pause-form{width:100%}.reminder-pause-form label{flex:1}.reminder-pause-form input{max-width:none;width:100%}.reminder-pause-form .button{align-self:end}}
.button-secondary { background: var(--lavender); color: var(--accent-strong); }
.button-ghost { background: transparent; border-color: var(--border); color: var(--text); }
.button-full { width: 100%; }.auth-switch { text-align: center; color: var(--muted); font-size: .9rem; margin: 20px 0 0; }.form-between { display: flex; justify-content: flex-end; margin: -4px 0 18px; font-size: .875rem; }
.alert { border-radius: 14px; padding: 12px 14px; margin: 14px 0; font-size: .9rem; }.alert-error { background: var(--danger-soft); color: var(--danger); }.alert-success { background: var(--success-soft); color: var(--success); }
.bottom-nav { position: fixed; z-index: 30; left: 50%; bottom: 0; transform: translateX(-50%); width: min(100%,760px); min-height: calc(var(--bottom-nav-height) + env(safe-area-inset-bottom)); padding: 5px 8px max(5px,env(safe-area-inset-bottom)); display: grid; grid-template-columns: repeat(5,1fr); border: 1px solid var(--border); border-bottom: 0; border-radius: 24px 24px 0 0; background: color-mix(in srgb,var(--surface) 94%,transparent); backdrop-filter: blur(18px); box-shadow: 0 -8px 28px rgba(50,38,52,.06); transition:transform .18s ease; }
.virtual-keyboard-open .bottom-nav{transform:translate(-50%,calc(100% + env(safe-area-inset-bottom)));pointer-events:none}
.bottom-nav a { min-width:0;min-height: 58px; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 1px; border-radius: 15px; color: var(--muted); text-decoration: none; font-size: 1.25rem; }
.bottom-nav a small { max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size: .69rem; font-weight: 650; }.bottom-nav a.active { color: var(--text); background: var(--lavender); }.bottom-nav a.active small { font-weight: 800; }
.hero,.page-heading { margin: 12px 2px 24px; }.hero h1 { font-size: 2.25rem; }.daily-card { display: flex; flex-wrap: wrap; gap: 18px; justify-content: space-between; align-items: flex-start; }.daily-card p { color: var(--muted); max-width: 34rem; margin-bottom: 0; }
.soft-icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 15px; margin-bottom: 14px; }.lavender { background: var(--lavender); }.pink { background: var(--dusty-pink); }.sage { background: var(--sage); }.peach { background: var(--peach); }
.status-pill,.status { display: inline-flex; align-items: center; min-height: 30px; padding: 5px 10px; border-radius: 999px; background: var(--sage); color: var(--success); font-size: .73rem; font-weight: 750; }
.section-heading { margin: 28px 2px 12px; }.quick-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }.quick-card { min-height: 155px; display: flex; flex-direction: column; align-items: flex-start; padding: 17px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); color: var(--text); text-decoration: none; box-shadow: var(--shadow); }.quick-card small { color: var(--muted); margin-top: 4px; }
.empty-state { min-height: 190px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding-block:28px;text-align: center; }.empty-state p { color: var(--muted); max-width: 28rem; }.empty-illustration { width: 62px; height: 62px; display: grid; place-items: center; border-radius: 20px; background: linear-gradient(145deg,var(--dusty-pink),var(--lavender)); color:var(--accent-strong);font-size: 1.55rem; margin-bottom: 14px; }
.menu-card { padding: 0; overflow: hidden; margin-bottom: 12px; }.menu-card a { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 18px; color: var(--text); text-decoration: none; }.menu-card small { display: block; color: var(--muted); margin-top: 2px; }.logout-form { margin-top: 24px; }
.back-link { min-height: 44px; display: inline-flex; align-items: center; text-decoration: none; }.onboarding-wrap { padding-top: 10px; }.progress-label { display: flex; justify-content: space-between; margin: 0 4px 7px; color: var(--muted); font-size: .78rem; font-weight: 650; }.progress-track { height: 7px; overflow: hidden; border-radius: 99px; background: var(--border); margin-bottom: 22px; }.progress-track span { display: block; height: 100%; border-radius: inherit; background: var(--accent); transition: width .2s ease; }.onboarding-card { min-height: 420px; display: flex; flex-direction: column; justify-content: center; }.onboarding-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: auto; padding-top: 26px; }.choice-grid { display: grid; gap: 10px; margin: 20px 0; }.choice-grid label { cursor: pointer; }.choice-grid input { position: absolute; opacity: 0; }.choice-grid span { display: block; min-height: 52px; padding: 14px; border: 1px solid var(--border); border-radius: 14px; }.choice-grid input:checked + span { background: var(--lavender); border-color: var(--accent); font-weight: 700; }.choice-grid input:focus-visible + span { outline: 3px solid var(--focus); }
.progress-0 span { width: 0; }.progress-34 span { width: 34%; }.progress-67 span { width: 67%; }.progress-100 span { width: 100%; }
.wizard-top { display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 3px 12px;color:var(--muted);font-size:.82rem; }.quiet-link { display:inline-flex;align-items:center;min-height:44px;font-weight:700;text-decoration:none; }.wizard-card { justify-content:flex-start; }.wizard-card fieldset { min-width:0;margin:20px 0;padding:0;border:0; }.wizard-card legend { margin-bottom:9px;font-size:.9rem;font-weight:750; }.choice-grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); }.choice-stack { display:grid;gap:10px;margin:20px 0; }.choice-stack label { position:relative;cursor:pointer; }.choice-stack input,.chip input,.select-card>label>input,.scale-row input { position:absolute;opacity:0; }.choice-stack span { display:flex;flex-direction:column;min-height:64px;padding:13px 15px;border:1px solid var(--border);border-radius:15px;background:var(--surface); }.choice-stack small { color:var(--muted); }.choice-stack input:checked+span,.chip input:checked+span,.select-card>label>input:checked+.select-card-body { border-color:var(--accent);background:var(--lavender); }.measure-pair,.measure-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px; }.input-unit { display:flex;align-items:center;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);overflow:hidden; }.input-unit input { border:0!important;box-shadow:none!important; }.input-unit span { padding:0 12px;color:var(--muted);white-space:nowrap; }.input-unit.prefix span { order:-1; }.chip-grid { display:flex;flex-wrap:wrap;gap:8px;margin:14px 0; }.chip { position:relative;cursor:pointer; }.chip span,.chip-summary span { display:inline-flex;align-items:center;min-height:44px;padding:9px 13px;border:1px solid var(--border);border-radius:999px;background:var(--surface); }.goal-grid,.training-list,.preference-list,.wellness-grid { display:grid;gap:12px;margin:18px 0; }.select-card,.training-row { border:1px solid var(--border);border-radius:17px;padding:12px;background:var(--surface); }.select-card>label { position:relative;cursor:pointer; }.select-card-body { display:flex;align-items:center;gap:10px;min-height:48px;padding:10px;border:1px solid transparent;border-radius:13px; }.inline-options,.training-fields { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px; }.inline-options label,.training-fields label { font-size:.76rem;color:var(--muted); }.inline-options select,.training-fields input,.training-fields select { width:100%;min-height:44px;margin-top:4px;border:1px solid var(--border);border-radius:11px;background:var(--bg);padding:8px; }.training-fields { grid-template-columns:repeat(3,1fr); }.check-title { display:flex;align-items:center;gap:9px;min-height:44px; }.preference-list label { display:grid;grid-template-columns:1fr minmax(130px,45%);align-items:center;gap:10px; }.preference-list select { min-height:46px;border:1px solid var(--border);border-radius:12px;background:var(--bg);padding:8px; }.scale-row { display:grid;grid-template-columns:repeat(5,1fr);gap:7px; }.scale-row label { position:relative; }.scale-row span { display:grid;place-items:center;min-height:44px;border:1px solid var(--border);border-radius:12px; }.scale-row input:checked+span { background:var(--accent);color:var(--surface);border-color:var(--accent);font-weight:800; }.notice,.empty-inline { padding:14px 16px;border-radius:15px;background:var(--peach);color:var(--text);margin:16px 0; }.empty-inline { display:flex;gap:12px;align-items:center; }.empty-inline .soft-icon { flex:0 0 auto;margin:0; }.empty-inline p { margin:0; }.summary-highlight,.target-banner { display:flex;flex-direction:column;gap:3px;padding:16px;border-radius:17px;background:linear-gradient(145deg,var(--lavender),color-mix(in srgb,var(--sage) 55%,var(--surface)));margin:16px 0; }.summary-highlight strong,.target-banner strong { font-size:1.5rem; }.metric-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0; }.metric-grid>div { display:flex;flex-direction:column;padding:13px;border:1px solid var(--border);border-radius:14px;background:var(--surface); }.metric-grid small,.dashboard-metric small,.target-banner small { color:var(--muted); }.formula-details { margin:15px 0;padding:13px 15px;border:1px solid var(--border);border-radius:14px; }.formula-details summary { cursor:pointer;font-weight:750; }.summary-actions,.button-row { display:flex;gap:10px;flex-wrap:wrap;margin-top:18px; }.summary-actions>* { flex:1; }.dashboard-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px; }.dashboard-primary { grid-row:span 2; }.dashboard-primary p { color:var(--muted); }.dashboard-metric { display:flex;flex-direction:column;justify-content:center;min-height:125px; }.dashboard-metric strong { font-size:1.45rem; }.dashboard-metric span { color:var(--muted);font-size:.82rem; }.macro-card { margin-top:12px; }.section-heading.compact { display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px; }.profile-sections { display:grid;gap:12px;margin:12px 0; }.profile-section p { margin-bottom:8px; }.data-list { margin:0; }.data-list>div { display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border); }.data-list dt { color:var(--muted); }.data-list dd { margin:0;font-weight:700;text-align:right; }.plain-list { list-style:none;margin:10px 0;padding:0; }.plain-list li { display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--border); }.plain-list span { color:var(--muted); }.chip-summary { display:flex;flex-wrap:wrap;gap:7px; }.nutrition-settings { margin-top:12px;scroll-margin-top:80px; }.suggestion-row { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border); }.suggestion-row div { display:flex;flex-direction:column; }.button-row form { margin:0; }.macro-preview { margin:12px 0; }
.goal-select-card{transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.goal-select-card.is-selected{border-color:color-mix(in srgb,var(--accent) 60%,var(--border));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 10%,transparent)}.select-card>label.goal-choice{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:10px}.select-card>label.goal-choice>input.goal-select-input{position:static;opacity:1;width:21px;height:21px;margin:0;accent-color:var(--accent);cursor:pointer}.goal-choice .select-card-body{min-width:0}.goal-selection-state{margin-left:auto;padding:5px 9px;border-radius:999px;background:var(--bg);color:var(--muted);font-size:.7rem;font-weight:800}.goal-select-card.is-selected .goal-selection-state{background:var(--accent);color:#fff}.goal-select-card select:disabled{cursor:not-allowed;opacity:.5}.primary-radio{min-height:44px;display:flex;align-items:center;gap:8px;padding-top:18px;color:var(--text)!important;font-weight:750}.primary-radio input{width:18px;height:18px;accent-color:var(--accent)}
.dashboard-placeholder { margin-top:12px; }.comparison-grid { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0; }.comparison-grid>div { display:flex;flex-direction:column;padding:13px;border:1px solid var(--border);border-radius:14px; }.comparison-grid span { color:var(--muted);font-size:.8rem; }
.diagnostic-list { display: grid; gap: 10px; }.diagnostic-item { display: grid; grid-template-columns: auto 1fr; gap: 14px; padding: 16px; }.diagnostic-item p { margin: 4px 0; overflow-wrap: anywhere; }.diagnostic-item small { color: var(--muted); }.status-error { background: var(--danger-soft); color: var(--danger); }.status-warning { background: var(--peach); color: var(--text); }
.nutrition-header { display:flex;align-items:center;justify-content:space-between;gap:16px;margin:10px 2px 22px; }.nutrition-header h1 { margin:4px 0;font-size:2rem; }.date-nav { display:flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--border);border-radius:16px;background:var(--surface); }.date-nav a { min-width:44px;min-height:44px;display:grid;place-items:center;border-radius:12px;color:var(--text);font-weight:750;text-decoration:none; }.date-nav a:nth-child(2) { min-width:52px;font-size:.82rem; }.date-nav a:hover { background:var(--lavender); }
.calorie-overview { margin-bottom:12px; }.calorie-number { display:flex;align-items:baseline;gap:8px;flex-wrap:wrap; }.calorie-number small { width:100%;color:var(--muted); }.calorie-number strong { font-size:2.5rem;line-height:1; }.calorie-number span,.calorie-overview p { color:var(--muted); }.progress-track.large { height:10px;margin:20px 0 8px; }.macro-dashboard { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }.macro-progress { padding:16px; }.macro-progress>div:first-child { display:flex;justify-content:space-between;gap:8px;align-items:center; }.macro-progress strong { font-size:.88rem;white-space:nowrap; }.macro-progress .progress-track { margin:12px 0 7px; }.macro-progress small { color:var(--muted);font-size:.76rem; }
.meal-section { margin-top:28px; }.button-small { min-height:42px;padding:8px 13px;font-size:.84rem; }.meal-card { padding:0;overflow:hidden;margin-bottom:11px; }.meal-card-head { min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px; }.meal-card-head h3 { margin:0;font-size:1rem; }.meal-card-head span { color:var(--muted);font-size:.78rem; }.meal-card-head>a { width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:var(--lavender);color:var(--text);font-size:1.2rem;text-decoration:none; }.meal-empty { padding:0 18px 16px;color:var(--muted);font-size:.84rem; }.meal-items { list-style:none;padding:0;margin:0;border-top:1px solid var(--border); }.meal-items a { min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;border-bottom:1px solid var(--border);color:var(--text);text-decoration:none; }.meal-items span:first-child { display:flex;flex-direction:column; }.meal-items small { color:var(--muted); }.meal-items span:last-child { color:var(--accent);font-size:.78rem;font-weight:700; }.copy-inline { display:flex;align-items:flex-end;justify-content:flex-end;gap:8px;padding:12px 18px; }.copy-inline label { color:var(--muted);font-size:.76rem; }.copy-inline input,.copy-day input,.custom-water input,.move-form select { min-height:44px;border:1px solid var(--border);border-radius:12px;background:var(--bg);padding:8px 10px; }
.water-card,.copy-day,.weekly-card { margin-top:12px; }.quick-water,.water-chips { display:flex;gap:8px;flex-wrap:wrap; }.quick-water form,.water-chips form { margin:0; }.custom-water { margin-top:18px; }.custom-water>div { display:flex;gap:8px; }.custom-water input { min-width:0;flex:1; }.copy-day form,.move-form { display:flex;align-items:center;gap:9px;flex-wrap:wrap; }.quick-water { margin-top:auto;padding-top:10px; }.water-chips button { min-height:40px;border:0;border-radius:12px;background:var(--sage);padding:7px 10px;cursor:pointer;font-size:.76rem;font-weight:750; }
.food-preferences { margin-top:12px; }.exclude-form { display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap; }.exclude-form label { display:flex;flex-direction:column;color:var(--muted);font-size:.76rem; }.exclude-form input { min-height:44px;border:1px solid var(--border);border-radius:12px;background:var(--bg);padding:8px; }
.search-bar { display:grid;grid-template-columns:1fr auto;gap:9px;margin-bottom:20px; }.search-bar input,.barcode-form input { min-width:0;min-height:50px;border:1px solid var(--border);border-radius:14px;background:var(--surface);padding:12px 14px; }.food-result-grid { display:grid;gap:9px; }.food-result { min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 15px;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--text);text-decoration:none; }.food-result span { display:flex;flex-direction:column; }.food-result small { color:var(--muted); }.food-result>b,.food-result button { min-width:42px;min-height:42px;border:0;border-radius:13px;background:var(--lavender);color:var(--text);cursor:pointer; }.external-food { margin:28px 0 12px; }.external-result { width:100%; }.barcode-form { margin-top:20px; }.barcode-form>div { display:flex;gap:8px;margin-top:7px; }.empty-state.compact { min-height:250px; }.nutrition-preview { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:18px 0; }.nutrition-preview>div { display:flex;flex-direction:column;padding:12px;border-radius:14px;background:var(--lavender); }.nutrition-preview small { color:var(--muted);font-size:.72rem; }.nutrition-preview strong { font-size:1rem; }.item-actions,.danger-zone { margin-top:12px; }.danger-zone { padding:18px;border:1px solid var(--danger-soft);border-radius:18px; }.inline-checks { display:flex;gap:18px;flex-wrap:wrap;margin:18px 0; }.inline-checks label { min-height:44px;display:flex;align-items:center;gap:8px; }.admin-food-list { display:grid;gap:10px;margin-top:18px; }.admin-food-row { display:flex;align-items:center;justify-content:space-between;gap:15px; }.admin-food-row h2 { margin-top:8px; }.admin-food-row p { margin-bottom:0; }.data-list dt small { display:block;color:var(--muted);font-weight:400; }.dashboard-link { color:var(--text);text-decoration:none; }
@media (min-width: 760px) { :root{--bottom-nav-clearance:104px}.app-content { padding-top: 34px; }.quick-grid { gap: 18px; }.card { padding: 28px; }.meal-card { padding:0; }.bottom-nav { bottom: 14px; border-radius: 24px; border-bottom: 1px solid var(--border); padding-bottom: 5px; min-height:72px; }.diagnostic-list { grid-template-columns: repeat(2,1fr); }.auth-card { padding: 34px; }.profile-sections { grid-template-columns:repeat(2,minmax(0,1fr)); }.profile-section { min-height:190px; }.admin-food-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 480px) { .choice-grid.three,.measure-pair,.measure-grid,.dashboard-grid,.macro-dashboard { grid-template-columns:1fr; }.training-fields { grid-template-columns:1fr 1fr; }.dashboard-primary { grid-row:auto; }.onboarding-card { padding:19px; }.summary-actions,.button-row { flex-direction:column; }.summary-actions>*,.button-row>* { width:100%; }.suggestion-row,.admin-food-row { align-items:flex-start;flex-direction:column; }.nutrition-header { align-items:flex-start; }.date-nav a { min-width:40px; }.nutrition-preview { grid-template-columns:repeat(2,minmax(0,1fr)); }.copy-inline { align-items:stretch;flex-direction:column; }.search-bar { grid-template-columns:1fr; }.barcode-form>div { flex-direction:column; } }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior: auto!important; transition-duration: .01ms!important; animation-duration: .01ms!important; } }
.nutrition-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:5px;margin:0 0 20px;border:1px solid var(--border);border-radius:17px;background:var(--surface)}.nutrition-tabs a{min-height:44px;display:grid;place-items:center;border-radius:13px;color:var(--muted);font-weight:750;text-decoration:none}.nutrition-tabs a.active{background:var(--lavender);color:var(--text)}.recipe-grid{display:grid;gap:11px}.recipe-card{display:block;color:var(--text);text-decoration:none}.recipe-card>div{display:flex;justify-content:space-between}.recipe-card h2{font-size:1.05rem;margin:14px 0 6px}.recipe-card p{color:var(--muted);margin:0}.chip{display:inline-flex;padding:5px 9px;border-radius:999px;background:var(--sage);font-size:.72rem;font-weight:800}.form-grid{display:grid;gap:12px}.ingredient-row{display:grid;grid-template-columns:minmax(0,1fr) 100px 85px;gap:7px;margin:8px 0}.ingredient-row select,.ingredient-row input,.search-bar select,.scale-form select,.scale-form input,.solver-form select,.solver-form input,.save-meal-inline input{min-width:0;min-height:46px;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--text);padding:9px}.tag-checks,.taste-row{display:flex;gap:8px 16px;flex-wrap:wrap}.tag-checks label,.taste-row label{display:flex;align-items:center;min-height:42px;gap:7px}.recipe-hero,.recipe-actions,.scale-form,.save-meal-inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.recipe-hero{justify-content:space-between}.recipe-hero>div:first-child{flex:1;min-width:220px}.recipe-actions form{margin:0}.ingredient-list{list-style:none;padding:0;margin:12px 0}.ingredient-list li{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--border)}.preserve-lines{white-space:pre-line}.solver-cta{width:100%;margin:-8px 0 16px}.solver-targets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.solver-form{display:grid;gap:15px}.solver-results{margin-top:24px}.solver-card{margin-bottom:12px}.solver-rank,.macro-inline{display:flex;justify-content:space-between;gap:9px;color:var(--muted);font-size:.78rem}.macro-inline{justify-content:flex-start;flex-wrap:wrap}.macro-inline span{padding:6px 9px;border-radius:999px;background:var(--sage)}.save-meal-inline{padding:0 18px 15px}.save-meal-inline input{flex:1}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px}
@media(min-width:760px){.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid>button{align-self:end}.solver-targets{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:480px){.ingredient-row{grid-template-columns:1fr 1fr}.ingredient-row select:first-child{grid-column:1/-1}.recipe-hero,.recipe-actions,.scale-form,.save-meal-inline,.section-heading{align-items:stretch;flex-direction:column}.solver-targets{grid-template-columns:1fr 1fr}.nutrition-tabs{position:sticky;top:67px;z-index:5}}
.recipe-filters{display:grid;gap:10px;margin-bottom:18px}.recipe-filters label{margin:0}.recipe-book-card{padding:0;overflow:hidden}.recipe-book-card>div{display:block}.recipe-card-photo,.recipe-photo-placeholder{width:100%;height:180px;object-fit:cover;background:linear-gradient(145deg,var(--lavender),var(--peach));display:grid;place-items:center;color:var(--muted)}.recipe-photo-placeholder .gemma-icon{width:38px;height:38px}.recipe-card-body{padding:17px}.recipe-card-meta{display:flex!important;justify-content:space-between;align-items:center}.recipe-card-body h2{margin:12px 0 6px}.recipe-detail-hero{display:grid;gap:18px;padding:0;overflow:hidden}.recipe-detail-photo{width:100%;height:260px;object-fit:cover}.recipe-detail-copy{padding:0 20px 22px}.recipe-facts{display:flex;gap:14px;flex-wrap:wrap;margin:14px 0;color:var(--muted)}.recipe-facts span{display:inline-flex;align-items:center;gap:6px}.nutrition-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.nutrition-comparison article{padding:12px;border-radius:15px;background:var(--bg);display:grid;gap:3px}.nutrition-comparison span{font-size:.75rem;color:var(--muted)}.recipe-detail-grid{display:grid;gap:12px}.recipe-steps{padding-left:22px}.recipe-steps li{padding:7px 0 12px 5px}.ingredient-row-rich{grid-template-columns:minmax(180px,1.4fr) 90px 75px minmax(100px,.8fr) minmax(110px,.8fr) minmax(120px,1fr)}.recipe-editor fieldset{margin:22px 0}.recipe-photo-edit img{width:150px;height:110px;object-fit:cover;border-radius:16px}.member-portion-row{display:grid;grid-template-columns:minmax(150px,1fr) 120px 130px;gap:10px;align-items:center;margin:8px 0}.member-portion-row label{display:flex;align-items:center;gap:8px;margin:0}.danger-zone{margin:16px 0 30px}.button-danger{color:#8f3141;border-color:#d7a8b1;background:transparent}
@media(min-width:760px){.recipe-filters{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}.recipe-detail-hero{grid-template-columns:minmax(280px,.8fr) 1.2fr}.recipe-detail-photo{height:100%;min-height:340px}.recipe-detail-copy{padding:28px 26px}.recipe-detail-grid{grid-template-columns:1fr 1fr}.nutrition-comparison{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:759px){.ingredient-row-rich{grid-template-columns:1fr 1fr}.ingredient-row-rich select:first-child,.ingredient-row-rich input:last-child{grid-column:1/-1}.nutrition-tabs{grid-template-columns:repeat(4,minmax(0,1fr));overflow-x:auto}.nutrition-tabs a{font-size:.78rem}.recipe-detail-photo{height:220px}}
.saved-item-edit{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--border)}.saved-item-edit>strong{flex:1;min-width:150px}.saved-item-edit form{display:flex;gap:6px;margin:0}.saved-item-edit input,.saved-item-edit select{width:84px;min-height:42px;border:1px solid var(--border);border-radius:11px;background:var(--bg);color:var(--text);padding:7px}.compatibility-compatible{background:var(--sage)}.compatibility-incompatible{background:var(--peach)}
.solver-food-picks{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.solver-food-picks label{display:grid;gap:6px}.solver-food-picks select{min-height:120px;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--text);padding:8px}.feedback-row{display:flex;gap:8px;margin-top:10px}.solver-form>*{min-width:0}.solver-targets label,.solver-targets input{min-width:0;width:100%;box-sizing:border-box}
@media(max-width:480px){.solver-targets,.solver-food-picks{grid-template-columns:1fr}.solver-card{overflow:hidden}.macro-progress>div:first-child{flex-wrap:wrap}}
.nutrition-tabs{grid-template-columns:repeat(4,1fr)}.weekly-builder h2{margin-top:8px}.weekly-options,.weekly-picks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.weekly-options label,.weekly-picks label,.allocation-grid label{display:grid;gap:7px;font-size:.85rem;font-weight:700}.weekly-options select,.weekly-options input,.weekly-picks select,.event-grid input,.event-grid select,.planned-actions select,.planned-actions input,.copy-week input,.copy-week select,.allocation-grid input{width:100%;min-width:0;min-height:44px;border:1px solid var(--border);border-radius:12px;background:var(--bg);padding:8px;color:var(--text)}.weekly-picks select{min-height:110px}.weekly-advanced{margin:18px 0}.event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.weekly-title,.planned-head,.plan-target-line,.plan-vs-real>div{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.weekly-title h2{margin-top:10px}.week-day-tabs{position:sticky;top:67px;z-index:8;display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:14px 0;padding:5px;border:1px solid var(--border);border-radius:17px;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(12px)}.week-day-tabs a{min-width:0;min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:12px;color:var(--text);text-decoration:none}.week-day-tabs a:hover{background:var(--lavender)}.week-day-tabs small{color:var(--muted)}.weekly-day{scroll-margin-top:130px;margin-top:28px}.plan-target-line{padding:11px 14px;margin-bottom:10px;border-radius:14px;background:var(--lavender);font-size:.8rem}.planned-meal{padding:17px;margin-bottom:10px}.planned-meal.is-locked{border-color:var(--accent)}.planned-head h3{margin:4px 0;font-size:1.02rem}.planned-head p{margin:0;color:var(--muted);font-size:.8rem}.meal-state{white-space:nowrap;padding:5px 9px;border-radius:999px;background:var(--sage);font-size:.72rem;font-weight:750}.planned-items{list-style:none;margin:12px 0;padding:0;border-top:1px solid var(--border)}.planned-items li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--border);font-size:.84rem}.planned-items span{color:var(--muted)}.planned-actions,.more-actions,.copy-week{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.planned-actions form{display:flex;gap:6px}.planned-actions details{width:100%;margin-top:7px}.more-actions{padding-top:8px}.plan-vs-real{padding:16px;margin-top:10px}.plan-vs-real h3{margin:0 0 10px}.weekly-footer-actions,.allocation-settings,.menu-history{margin-top:14px}.weekly-footer-actions form{margin:8px 0}.allocation-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:16px 0}.allocation-grid label{grid-template-columns:1fr 88px;align-items:center}.allocation-grid span{display:flex;align-items:center;gap:4px}.menu-history ul{list-style:none;padding:0}.menu-history li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}
.menu-organizer{margin-top:14px}.organizer-row{display:grid;gap:9px;padding:13px 0;border-bottom:1px solid var(--border)}.organizer-row:last-child{border-bottom:0}.organizer-row form{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.organizer-row select{min-height:42px;min-width:90px;border:1px solid var(--border);border-radius:11px;background:var(--bg);color:var(--text);padding:7px}
.weekly-compact{margin-top:12px}.compact-week-grid{display:grid;gap:7px;margin-top:12px}.compact-week-grid a{display:grid;grid-template-columns:48px 1fr;gap:2px 10px;padding:10px 12px;border-radius:12px;background:var(--bg);color:var(--text);text-decoration:none}.compact-week-grid span{font-size:.8rem}.compact-week-grid small{grid-column:2;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:480px){.weekly-options,.weekly-picks,.event-grid{grid-template-columns:1fr}.weekly-title,.planned-head,.plan-target-line{flex-direction:column}.planned-actions{align-items:stretch}.planned-actions form,.planned-actions select,.planned-actions button{width:100%}.copy-week{flex-direction:column;align-items:stretch}.nutrition-tabs a{font-size:.82rem;padding:0 4px}.organizer-row .more-actions,.organizer-row form,.organizer-row select,.organizer-row button{width:100%}}
.house-grid,.house-dashboard,.pantry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}.house-card,.house-dashboard a,.house-dashboard>div{display:flex;flex-direction:column;color:var(--text);text-decoration:none}.house-card small,.house-dashboard small,.member-row small{color:var(--muted)}.privacy-note{padding:12px 14px;border-radius:14px;background:var(--sage)}.invite-code code{display:block;overflow-wrap:anywhere;padding:14px;border-radius:12px;background:var(--bg)}.member-row{display:grid;grid-template-columns:minmax(120px,.5fr) 1fr;gap:14px;padding:14px 0;border-bottom:1px solid var(--border)}.member-row>div{display:flex;flex-direction:column}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:9px}.permission-grid label{min-height:40px;display:flex;align-items:center;gap:7px}.inline-form,.pantry-item form,.purchase-fields{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.inline-form input,.inline-form select,.pantry-form input,.pantry-form select,.pantry-item input,.pantry-item select,.purchase-fields input,.purchase-fields select{min-height:44px;min-width:0;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--text);padding:8px}.shared-meal{margin-bottom:10px}.member-portion{padding:9px 0;border-top:1px solid var(--border)}.member-portion span{display:block;color:var(--muted);font-size:.84rem}.pantry-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.pantry-form label{display:grid;gap:5px}.pantry-item h3{margin-top:0}.pantry-item>div{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.expiry{padding:5px 8px;border-radius:999px;font-size:.72rem}.expiry.soon{background:var(--peach)}.expiry.expired{background:var(--danger-soft);color:var(--danger)}.suggestion-list{display:grid;gap:7px}.suggestion-list a{display:grid;padding:11px;border-radius:12px;background:var(--bg);color:var(--text);text-decoration:none}.suggestion-list span,.suggestion-list small{color:var(--muted)}.shopping-item{padding:16px;margin-bottom:8px}.shopping-item.checked{opacity:.68}.shopping-item form{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:center}.shopping-item details{grid-column:1/-1}.shopping-check{display:flex;align-items:center;gap:11px}.shopping-check span{display:flex;flex-direction:column}.shopping-check small{color:var(--muted)}.purchase-fields{margin:10px 0}.budget-card{margin-bottom:14px}
@media(min-width:760px){.house-grid,.house-dashboard,.pantry-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:480px){.house-grid,.house-dashboard,.pantry-grid,.pantry-form,.permission-grid{grid-template-columns:1fr}.member-row{grid-template-columns:1fr}.inline-form,.inline-form>*{width:100%}.shopping-item form{grid-template-columns:1fr}.shopping-item button{width:100%}}
.household-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);align-items:end;gap:18px}.household-heading .privacy-note{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:10px;margin:0}.household-heading .privacy-note svg{margin-top:2px}.household-heading .privacy-note span{display:grid;gap:3px}.household-heading .privacy-note small{color:var(--muted);line-height:1.45}.household-settings{padding-block:14px}.household-settings>summary{font-weight:800;color:var(--accent-strong);cursor:pointer}.household-settings[open]>summary{margin-bottom:14px}.house-dashboard .card{min-height:132px;gap:4px;justify-content:center;border-color:color-mix(in srgb,var(--accent) 12%,var(--border));background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--lavender) 26%,var(--surface)))}.house-dashboard-icon{display:grid;width:38px;height:38px;place-items:center;margin-bottom:5px;border-radius:12px;background:var(--lavender);color:var(--accent-strong)}.household-members-card .section-heading{align-items:flex-start}.household-members-card .section-heading p{max-width:56ch;margin:.35rem 0 0}.permission-grid label{padding:7px 9px;border:1px solid var(--border);border-radius:11px;background:var(--bg)}.permission-grid input{width:19px;height:19px;flex:0 0 auto;accent-color:var(--accent)}.household-invitations>.inline-form{margin-top:16px}.household-invitations>.inline-form label{min-width:min(100%,360px)}.household-invitations>.inline-form label small{margin-left:5px;color:var(--muted);font-weight:500}.pending-invitations{display:grid;gap:8px;margin-top:20px;padding-top:18px;border-top:1px solid var(--border)}.pending-invitations h3{margin:0 0 3px}.pending-invitations article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border-radius:13px;background:var(--bg)}.pending-invitations article>span{display:grid;gap:2px;min-width:0}.pending-invitations small{color:var(--muted)}.pending-invitations form{margin:0}.invite-code{border-color:color-mix(in srgb,var(--accent) 26%,var(--border));background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--lavender) 40%,var(--surface)))}
@media(max-width:720px){.household-heading{grid-template-columns:1fr}.house-dashboard{grid-template-columns:1fr 1fr}.house-dashboard a:last-child{grid-column:1/-1}.pending-invitations article{align-items:stretch;flex-direction:column}.pending-invitations .button{width:100%}}@media(max-width:380px){.house-dashboard{grid-template-columns:1fr}.house-dashboard a:last-child{grid-column:auto}.household-heading .privacy-note{padding:11px}.permission-grid label{padding-inline:7px}}
.stack-list{display:grid;gap:8px;margin:8px 0 14px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:14px;background:var(--bg);color:var(--text);text-decoration:none}.list-row>span:first-child{display:grid;gap:2px;min-width:0}.list-row strong,.list-row small{display:block}.list-row small{color:var(--muted)}.danger-zone{border-color:color-mix(in srgb,var(--danger) 24%,var(--border))}
.training-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:0 0 18px;padding:5px;border:1px solid var(--border);border-radius:17px;background:var(--surface)}.training-tabs a{min-height:44px;display:grid;place-items:center;border-radius:12px;color:var(--muted);fontlv:text-decoration:none;font-weight:700;font-size:.82rem}.training-tabs a{text-decoration:none}.training-tabs a.active{background:var(--lavender);color:var(--text)}.training-date{width:100%;justify-content:space-between;margin-bottom:14px}.training-empty{min-height:290px}.training-empty form{width:min(100%,360px)}.training-week{display:grid;gap:9px}.training-day{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px}.training-day h2{margin:3px 0}.training-day small{color:var(--muted)}.training-day.is-today{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 12%,transparent)}.training-quick{margin-top:16px}.training-quick details>summary,.add-exercise>summary{min-height:44px;cursor:pointer;display:flex;align-items:center}.routine-day{margin-bottom:12px}.routine-exercise{display:grid;grid-template-columns:1fr auto;gap:12px;padding:13px 0;border-top:1px solid var(--border)}.routine-exercise>div{display:grid;gap:3px}.routine-exercise small{color:var(--muted)}.routine-exercise details{text-align:right}.routine-exercise details form{text-align:left;margin:10px 0}.set-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}.set-grid input{width:100%;min-height:44px;border:1px solid var(--border);border-radius:11px;background:var(--bg);padding:8px}.session-exercise{margin-bottom:12px}.set-history{display:grid;gap:6px;margin:12px 0}.set-history span{padding:9px 11px;border-radius:11px;background:var(--bg);font-size:.86rem}.timer{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px;margin:10px 0;border-radius:14px;background:var(--lavender)}.timer strong{min-width:74px;font-size:1.35rem;font-variant-numeric:tabular-nums}.notice p{margin:.3rem 0}.add-exercise{margin-top:10px}.add-exercise form{padding-top:8px}
@media(min-width:760px){.training-week{grid-template-columns:repeat(2,minmax(0,1fr))}.training-quick{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.training-tabs a{font-size:.75rem}.training-day{align-items:flex-start}.set-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.routine-exercise{grid-template-columns:1fr}.routine-exercise details{text-align:left}}
.progress-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:12px;padding:5px;border:1px solid var(--border);border-radius:17px;background:var(--surface)}.progress-tabs a{min-height:44px;display:grid;place-items:center;border-radius:12px;color:var(--muted);font-size:.8rem;font-weight:750;text-align:center;text-decoration:none}.progress-tabs a.active{background:var(--lavender);color:var(--text)}.range-filter{display:flex;gap:7px;margin:0 0 20px;overflow-x:auto;padding:2px 1px 8px;scrollbar-width:none}.range-filter a{flex:0 0 auto;min-height:40px;display:grid;place-items:center;padding:7px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);font-size:.76rem;font-weight:700;text-decoration:none}.range-filter a.active{border-color:var(--accent);background:var(--sage);color:var(--text)}.progress-empty{min-height:300px}.progress-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.progress-hero{grid-row:span 3;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,var(--lavender),color-mix(in srgb,var(--dusty-pink) 45%,var(--surface)))}.progress-hero>strong{font-size:clamp(2rem,9vw,3rem);letter-spacing:-.05em}.progress-hero p,.progress-hero small{color:var(--muted)}.progress-stat{display:flex;flex-direction:column;justify-content:center;min-height:100px}.progress-stat small{color:var(--muted)}.progress-stat strong{font-size:1.05rem}.target-suggestion{display:grid;gap:10px;margin-bottom:12px;border-color:var(--accent)}.target-suggestion p{color:var(--muted)}.target-suggestion form{margin:0}.target-suggestion>small{color:var(--muted)}.progress-training{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.progress-training>div{display:flex;flex-direction:column;padding:12px;border-radius:13px;background:var(--bg)}.progress-training small{color:var(--muted)}.progress-settings{margin-top:12px}.progress-settings summary{min-height:44px;display:flex;align-items:center;cursor:pointer}.progress-form-card,.progress-chart-card,.progress-history,.composition-intro{margin-bottom:12px}.progress-form-card h2,.progress-chart-card h2,.composition-intro h2{margin-top:6px}.progress-form-grid,.measure-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.chart-wrap{position:relative;height:280px;margin-top:18px}.chart-note{font-size:.82rem}.progress-entry-list article{border-top:1px solid var(--border)}.progress-entry-list article:first-child{border-top:0}.progress-entry-list a{min-height:68px;display:grid;grid-template-columns:minmax(92px,.7fr) 1fr auto;align-items:center;gap:10px;color:var(--text);text-decoration:none}.progress-entry-list a>span:first-child{display:flex;flex-direction:column}.progress-entry-list small{color:var(--muted)}.entry-values{display:flex;justify-content:flex-end;gap:5px 10px;flex-wrap:wrap;text-align:right}.composition-intro>strong{display:block;margin:14px 0;padding:12px 14px;border-radius:13px;background:var(--peach)}.composition-list article{padding:14px 0;border-top:1px solid var(--border)}.composition-list article:first-child{border-top:0}.composition-list article>div{display:flex;justify-content:space-between;align-items:center}.composition-list article>div strong{font-size:1.35rem}.composition-list article p,.composition-list article>small{color:var(--muted);font-size:.82rem}
@media(min-width:760px){.target-suggestion{grid-template-columns:1fr auto;align-items:center}.target-suggestion>small{grid-column:1/-1}.measure-entry-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:480px){.progress-tabs a{font-size:.72rem}.progress-summary-grid,.progress-form-grid,.measure-entry-grid,.progress-training{grid-template-columns:1fr}.progress-hero{grid-row:auto}.progress-entry-list a{grid-template-columns:1fr auto}.entry-values{grid-column:1/-1;grid-row:2;justify-content:flex-start;text-align:left}.chart-wrap{height:240px}}
.wellness-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:12px 2px 4px}.wellness-heading h1{margin:7px 0 8px;font-size:clamp(1.75rem,7vw,2.15rem);line-height:1.15;letter-spacing:-.035em}.wellness-selected-date{margin:0 2px 14px;color:var(--muted);font-size:.84rem}.wellness-tabs{display:flex;gap:5px;margin-bottom:16px;padding:5px;overflow-x:auto;border:1px solid var(--border);border-radius:17px;background:var(--surface);scrollbar-width:none}.wellness-tabs a{flex:1 0 auto;min-width:82px;min-height:44px;display:grid;place-items:center;padding:6px 10px;border-radius:12px;color:var(--muted);font-size:.78rem;font-weight:750;text-decoration:none}.wellness-tabs a.active{background:var(--lavender);color:var(--text)}.wellness-quick-card,.wellness-form-card{margin-bottom:12px}.wellness-scale-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.wellness-scale-list fieldset,.bristol-fieldset{min-width:0;margin:0;padding:0;border:0}.wellness-scale-list legend,.bristol-fieldset legend{margin-bottom:7px;font-size:.85rem;font-weight:750}.wellness-delete{margin-top:10px}.wellness-context-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.wellness-context{display:flex;min-width:0;flex-direction:column;color:var(--text);text-decoration:none}.wellness-context .soft-icon{margin-bottom:10px}.wellness-context small{margin-top:4px;color:var(--muted)}.wellness-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.wellness-summary-grid article{display:flex;min-height:108px;flex-direction:column;justify-content:center}.wellness-summary-grid small{color:var(--muted)}.wellness-summary-grid strong{font-size:1.1rem}.wellness-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 12px}.wellness-form-grid.compact{gap:9px;margin:12px 0}.wellness-form-grid.compact label{display:grid;gap:4px;color:var(--muted);font-size:.76rem}.wellness-form-grid.compact input,.wellness-form-grid.compact select,.wellness-history-list textarea{width:100%;min-height:44px;border:1px solid var(--border);border-radius:11px;background:var(--bg);padding:8px;color:var(--text)}.bristol-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin:8px 0 16px}.bristol-grid label{position:relative;cursor:pointer}.bristol-grid input{position:absolute;opacity:0}.bristol-grid span{min-height:86px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:7px;border:1px solid var(--border);border-radius:13px;text-align:center}.bristol-grid strong{font-size:1.25rem}.bristol-grid small{color:var(--muted);font-size:.62rem;line-height:1.15}.bristol-grid input:checked+span{border-color:var(--accent);background:var(--lavender)}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.wellness-history-list article{display:grid;grid-template-columns:1fr auto;gap:10px;padding:14px 0;border-top:1px solid var(--border)}.wellness-history-list article:first-child{border-top:0}.wellness-history-list article>div{display:flex;flex-direction:column}.wellness-history-list article>div span{color:var(--muted);font-size:.82rem}.wellness-history-list details{min-width:80px}.wellness-history-list details summary{min-height:42px;display:flex;align-items:center;justify-content:flex-end;cursor:pointer;color:var(--accent);font-weight:700}.wellness-history-list details form{grid-column:1/-1;margin:8px 0}.cycle-disclaimer{background:var(--peach)}.cycle-disclaimer p{margin:3px 0}.wellness-custom-symptom{margin-bottom:12px}.wellness-custom-symptom summary{min-height:44px;display:flex;align-items:center;cursor:pointer}.wellness-distributions{display:grid;gap:18px;margin-top:20px}.distribution-bars{height:88px;display:grid;grid-template-columns:repeat(5,1fr);align-items:end;gap:7px;margin-top:8px}.distribution-bars span{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}.distribution-bars i{width:100%;max-height:70px;min-height:3px;border-radius:8px 8px 3px 3px;background:var(--accent);transition:height .2s}.distribution-bars small{color:var(--muted)}.today-wellness{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px}.today-wellness p{margin:.25rem 0;color:var(--muted)}
.wellness-more{margin:-8px 0 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.wellness-more summary{min-height:44px;display:flex;align-items:center;padding:8px 14px;cursor:pointer;color:var(--muted);font-weight:750}.wellness-more>div{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 10px 10px}.wellness-more a{min-height:42px;display:grid;place-items:center;border-radius:11px;background:var(--lavender);font-weight:750;text-decoration:none}.wellness-intro{margin-bottom:12px;background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--lavender) 48%,var(--surface)))}.wellness-intro h2{margin:.3rem 0}.wellness-intro p{margin-bottom:0}
.habit-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:12px 2px 18px}.habit-hero h1{margin:.35rem 0;font-size:clamp(1.8rem,6vw,2.4rem)}.habit-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.habit-overview article{display:flex;flex-direction:column;min-height:98px;justify-content:center}.habit-overview small{color:var(--muted)}.habit-overview strong{font-size:1.55rem}.habit-tabs{display:flex;gap:6px;padding:5px;margin-bottom:14px;border:1px solid var(--border);border-radius:16px;background:var(--surface);overflow-x:auto}.habit-tabs a{flex:1 0 auto;min-height:42px;display:grid;place-items:center;padding:6px 12px;border-radius:11px;text-decoration:none;font-weight:750;color:var(--muted)}.habit-tabs a.active{background:var(--lavender);color:var(--text)}.habit-quick{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 0;border-top:1px solid var(--border)}.habit-quick:first-child{border-top:0}.habit-quick>div{display:flex;min-width:0;flex-direction:column}.habit-quick small{color:var(--muted)}.habit-quick progress,.habit-goals progress{width:100%;height:8px;margin-top:7px;accent-color:var(--accent)}.habit-quick.is-partial{background:linear-gradient(90deg,color-mix(in srgb,var(--lavender) 35%,transparent),transparent)}.habit-amount{display:flex;gap:7px}.habit-amount input{width:82px;min-height:42px;border:1px solid var(--border);border-radius:11px;padding:7px;background:var(--bg)}.habit-goals{margin-top:18px}.habit-goal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.habit-goal-grid article{display:flex;flex-direction:column;gap:8px}.habit-goal-grid form{display:flex;gap:8px;margin-top:6px}.habit-goal-grid input{min-width:0;flex:1}.habit-advanced{margin:12px 0;padding:10px 12px;border:1px solid var(--border);border-radius:13px}.habit-advanced summary{min-height:42px;display:flex;align-items:center;cursor:pointer;font-weight:750}.habit-archived li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0}.habit-form-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:600px){.habit-hero{flex-direction:column}.habit-hero .button{width:100%}.habit-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.habit-quick{grid-template-columns:auto minmax(0,1fr)}.habit-quick form{grid-column:1/-1}.habit-amount input{width:100%;flex:1}.habit-goal-grid{grid-template-columns:1fr}.habit-goal-grid form{flex-wrap:wrap}.habit-form-grid.compact{grid-template-columns:1fr}}
@media(min-width:760px){.wellness-distributions{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.wellness-heading{flex-direction:column}.wellness-heading .date-nav{align-self:stretch;justify-content:space-between}.wellness-scale-list,.wellness-context-grid,.wellness-summary-grid,.wellness-form-grid,.check-grid{grid-template-columns:1fr}.bristol-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.wellness-history-list article{grid-template-columns:1fr}.wellness-history-list details summary{justify-content:flex-start}.today-wellness{align-items:flex-start;flex-direction:column}.today-wellness .button{width:100%}}
.recipe-filters>label:not(.check-label){display:grid;gap:7px}.recipe-filters input:not([type="checkbox"]),.recipe-filters select{width:100%;min-width:0;min-height:46px;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--text);padding:9px}
.recipe-editor form>label,.recipe-editor .form-grid>label:not(.check-label),.recipe-editor fieldset>label{display:grid;gap:7px;margin-bottom:12px}.recipe-editor input:not([type="checkbox"]):not([type="file"]),.recipe-editor textarea,.recipe-editor .form-grid select{width:100%;min-width:0;min-height:46px;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--text);padding:9px}.recipe-editor input[type="file"]{width:100%;min-height:46px;padding:8px;border:1px dashed var(--border);border-radius:12px;background:var(--bg);color:var(--muted)}
.ingredient-row-rich{grid-template-columns:minmax(170px,1.3fr) 85px 75px minmax(160px,1fr) minmax(100px,.7fr) minmax(100px,.7fr) minmax(110px,.8fr)}
@media(max-width:759px){.ingredient-row-rich{grid-template-columns:1fr 1fr}.ingredient-row-rich select:first-child,.ingredient-row-rich select:nth-child(4),.ingredient-row-rich input:last-child{grid-column:1/-1}}
.health-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.health-heading h1{margin:.25rem 0}.health-lock{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:.55rem .75rem;color:var(--muted);font-size:.82rem;white-space:nowrap}.health-tabs{display:flex;gap:.45rem;overflow-x:auto;padding:.25rem 0 .8rem;scrollbar-width:none}.health-tabs::-webkit-scrollbar{display:none}.health-tabs a{flex:0 0 auto;min-height:44px;display:grid;place-items:center;padding:.55rem .9rem;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--muted);text-decoration:none}.health-tabs a.active{background:var(--lavender);border-color:transparent;color:var(--text);font-weight:700}.health-form{margin-bottom:1rem}.health-form h2{margin:.25rem 0 .45rem}.health-form form,.health-record details form{display:grid;gap:.8rem}.health-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.health-form-grid label,.health-form label,.health-record details label{display:grid;gap:.35rem;color:var(--text);font-size:.9rem}.health-card-list{display:grid;gap:.85rem;margin-bottom:1rem}.health-record h2{margin:.55rem 0 .2rem}.health-record p{margin:.15rem 0;color:var(--muted)}.health-record details{border-top:1px solid var(--border);margin-top:.8rem;padding-top:.7rem}.health-record summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:650}.health-schedule{font-size:.88rem}.status-active,.status-taken,.status-completed{background:var(--sage)}.status-suspended,.status-omitted,.status-cancelled{background:var(--peach)}.status-scheduled{background:var(--lavender)}.health-two-column{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.lab-results{display:grid;gap:.45rem;margin:.75rem 0}.lab-results>div,.health-file{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem;border-radius:14px;background:var(--background)}.lab-results span{display:grid}.lab-results small{color:var(--muted)}.health-file a{overflow-wrap:anywhere}.health-report{white-space:normal;padding:.75rem;background:var(--background);border-radius:14px}.health-timeline{list-style:none;margin:0;padding:.5rem 0;display:grid;gap:0}.health-timeline li{position:relative;display:grid;grid-template-columns:22px 1fr;gap:.65rem;padding:0 0 1.25rem}.health-timeline li:not(:last-child)::before{content:"";position:absolute;left:7px;top:15px;bottom:0;width:2px;background:var(--border)}.timeline-dot{width:16px;height:16px;border:4px solid var(--surface);border-radius:50%;background:var(--accent);box-shadow:0 0 0 1px var(--border);z-index:1}.health-timeline li div{display:grid;gap:.12rem}.health-timeline small,.health-timeline span{color:var(--muted)}.health-safety{margin-bottom:1rem}
@media(max-width:700px){.health-heading{display:block}.health-lock{display:inline-block;margin-top:.5rem}.health-form-grid,.health-two-column{grid-template-columns:1fr}.schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.health-record{padding:1rem}.lab-results>div,.health-file{align-items:flex-start}.health-tabs{margin-inline:-.25rem;padding-inline:.25rem}}
.health-search{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.65rem;margin:0 0 1rem}.health-search label{min-width:0}.health-search input{width:100%;min-height:46px;padding:.7rem .9rem;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text)}.health-search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent);outline:0}.health-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin-bottom:1rem}.health-summary-card{display:grid;gap:.3rem;min-width:0;color:var(--text);text-decoration:none;transition:transform .16s ease,border-color .16s ease}.health-summary-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.health-summary-card .soft-icon{margin:0 0 .3rem}.health-summary-card small,.health-summary-card span:last-child{color:var(--muted)}.health-summary-card strong{font-size:clamp(1.45rem,4vw,2rem);line-height:1}.health-summary-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem}.health-summary-actions h2{margin:.25rem 0}.health-summary-actions>div:last-child{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.55rem}.status-postponed,.status-pending{background:var(--lavender)}
@media(max-width:900px){.health-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.health-summary-actions{align-items:stretch;flex-direction:column}.health-summary-actions>div:last-child{justify-content:flex-start}}
@media(max-width:520px){.health-search{grid-template-columns:1fr 1fr}.health-search label{grid-column:1/-1}.health-search .button{width:100%}.health-summary-grid{grid-template-columns:1fr 1fr;gap:.65rem}.health-summary-card{padding:1rem}.health-summary-actions>div:last-child{display:grid}.health-summary-actions .button{width:100%}}
@media(max-width:350px){.health-summary-grid{grid-template-columns:1fr}}
.telegram-heading p{color:var(--muted);max-width:38rem}.integration-status{margin-bottom:12px}.integration-status h2{margin-top:12px}.status-pill.warning{background:var(--peach);color:var(--text)}.status-pill.success{background:var(--sage);color:var(--success)}.status-pill.neutral{background:var(--lavender);color:var(--text)}.link-code{display:grid;gap:4px;margin:18px 0;padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--bg)}.link-code span,.link-code small{color:var(--muted)}.link-code strong{overflow-wrap:anywhere;font-size:1rem;letter-spacing:.03em}.command-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}.command-grid code{min-height:44px;display:grid;place-items:center;border-radius:12px;background:var(--lavender);font-weight:700}.app-content:has(.telegram-heading){width:min(100% - 32px,1080px)}
.telegram-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.telegram-heading>div{max-width:700px}.telegram-settings-layout,.telegram-link-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.75fr);gap:14px}.telegram-main-column,.telegram-side-column{display:grid;align-content:start;gap:14px}.telegram-settings-layout .card,.telegram-link-layout .card{margin:0}.telegram-connected{background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--sage) 38%,var(--surface)))}.telegram-connection-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0 0}.telegram-connection-meta div{display:grid;gap:3px;padding:12px;border-radius:14px;background:color-mix(in srgb,var(--surface) 80%,transparent)}.telegram-connection-meta dt{color:var(--muted);font-size:.75rem}.telegram-connection-meta dd{margin:0;font-weight:800}.telegram-preferences{display:grid;gap:9px}.telegram-preferences .toggle-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0;padding:13px;border:1px solid var(--border);border-radius:14px;background:var(--background)}.telegram-preferences .toggle-row>span{display:grid}.telegram-preferences small{color:var(--muted);font-weight:500}.telegram-preferences input{width:22px;height:22px;flex:0 0 auto;accent-color:var(--accent)}.telegram-help ul{display:grid;gap:8px;margin:14px 0;padding:0;list-style:none}.telegram-help li{padding:9px 11px;border-radius:12px;background:var(--lavender);font-weight:700}.telegram-step{display:grid;grid-template-columns:30px 1fr;align-items:center;gap:9px;margin-top:11px}.telegram-step b{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--lavender);color:var(--accent)}.telegram-danger-zone{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px}.telegram-danger-zone h2{margin:0}.telegram-danger-zone p{margin:.35rem 0 0}.telegram-disabled{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start}.telegram-disabled .soft-icon{margin:0}.telegram-disabled h2{margin:.6rem 0 .25rem}.telegram-link-card{text-align:left}.telegram-link-card>.soft-icon{margin-bottom:12px}.telegram-safety .notice{margin-top:18px}
@media(max-width:780px){.telegram-heading{flex-direction:column}.telegram-settings-layout,.telegram-link-layout{grid-template-columns:1fr}.telegram-side-column{grid-template-columns:repeat(2,minmax(0,1fr))}.telegram-connection-meta{grid-template-columns:1fr 1fr}.telegram-connection-meta div:last-child{grid-column:1/-1}.telegram-danger-zone{align-items:stretch;flex-direction:column}.telegram-danger-zone .button{width:100%}}
@media(max-width:520px){.telegram-side-column{grid-template-columns:1fr}.telegram-connection-meta{grid-template-columns:1fr}.telegram-connection-meta div:last-child{grid-column:auto}.telegram-preferences .toggle-row{align-items:flex-start}.telegram-heading .status-pill{align-self:flex-start}}
@media(min-width:700px){.command-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* Google Calendar: filas compactas, apiladas en móvil y legibles en desktop. */
.calendar-options{display:grid;gap:.2rem;margin:1rem 0}.calendar-event-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--border)}.calendar-event-row:last-of-type{border-bottom:0}.calendar-event-row>div{min-width:0;display:grid;gap:.2rem}.calendar-event-row strong,.calendar-event-row small{overflow-wrap:anywhere}.calendar-event-row small{color:var(--muted)}.calendar-event-row form{flex-shrink:0}.calendar-event-row .button{min-height:44px}@media(max-width:390px){.calendar-event-row{align-items:flex-start}.calendar-event-row .button{padding-inline:.75rem}}
.app-content:has(.calendar-heading){width:min(100% - 32px,1120px)}.calendar-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.calendar-heading>div{max-width:720px}.calendar-heading p{color:var(--muted);max-width:44rem}.calendar-link-layout,.calendar-status-grid,.calendar-main-layout{display:grid;gap:14px}.calendar-link-layout,.calendar-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-main-layout{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);align-items:start}.calendar-main-column,.calendar-side-column{display:grid;gap:14px}.calendar-main-layout .card,.calendar-status-grid .card,.calendar-link-layout .card{margin:0}.calendar-connect-card>.soft-icon{margin-bottom:14px}.calendar-privacy ul,.calendar-safety ul{display:grid;gap:10px;margin:16px 0 0;padding:0;list-style:none}.calendar-privacy li{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start}.calendar-privacy li svg{color:var(--success)}.calendar-connection-card{background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--sage) 34%,var(--surface)))}.calendar-connection-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0 0}.calendar-connection-card dl div{display:grid;gap:3px;padding:12px;border-radius:14px;background:color-mix(in srgb,var(--surface) 82%,transparent)}.calendar-connection-card dt{color:var(--muted);font-size:.75rem}.calendar-connection-card dd{margin:0;font-weight:800;overflow-wrap:anywhere}.calendar-direction .notice{margin-top:16px}.calendar-settings-form{display:grid;gap:14px}.calendar-options{gap:9px;margin:0}.calendar-options .toggle-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:0;padding:13px;border:1px solid var(--border);border-radius:14px;background:var(--background)}.calendar-options .toggle-row>span{display:grid;gap:3px}.calendar-options small{color:var(--muted);font-weight:500}.calendar-options input{width:22px;height:22px;flex:0 0 auto;accent-color:var(--accent)}.calendar-sensitive-toggle{background:color-mix(in srgb,var(--peach) 25%,var(--background))!important}.calendar-event-row>.soft-icon{flex:0 0 auto;margin:0}.calendar-history{display:grid}.calendar-history article{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--border)}.calendar-history article>div{display:grid;gap:3px;min-width:0}.calendar-history small{color:var(--muted)}.calendar-error{color:var(--danger);font-size:.78rem;line-height:1.35}.calendar-history+.button,.calendar-history+form,.calendar-side-column .empty-state+form{margin-top:14px}.calendar-danger-zone{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:14px}.calendar-danger-zone h2{margin:0}.calendar-danger-zone p{margin:.35rem 0 0}.calendar-disabled{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start}.calendar-disabled .soft-icon{margin:0}
@media(max-width:820px){.calendar-heading{flex-direction:column}.calendar-link-layout,.calendar-status-grid,.calendar-main-layout{grid-template-columns:1fr}.calendar-side-column{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-danger-zone{align-items:stretch;flex-direction:column}.calendar-danger-zone .button{width:100%}}
@media(max-width:560px){.calendar-side-column{grid-template-columns:1fr}.calendar-connection-card dl{grid-template-columns:1fr}.calendar-event-row{display:grid;grid-template-columns:auto 1fr}.calendar-event-row form{grid-column:1/-1}.calendar-event-row .button{width:100%}.calendar-heading .status-pill{align-self:flex-start}}
/* Analytics Fase 14 */
.analytics-heading p{max-width:42rem}.analytics-entry{display:flex;align-items:center;gap:12px;margin:16px 0;color:var(--text);text-decoration:none}.analytics-entry .soft-icon{flex:none;margin:0}.analytics-entry span:nth-child(2){display:grid;gap:2px;flex:1}.analytics-entry small{color:var(--muted)}.analytics-entry span:last-child{font-size:1.3rem}.analytics-tabs{overflow-x:auto;scrollbar-width:none}.analytics-tabs a{white-space:nowrap}.analytics-period{margin:8px 2px 16px;color:var(--muted);font-size:.85rem}.analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}.analytics-stat{min-width:0}.analytics-stat h2{margin:8px 0 4px;font-size:clamp(1.4rem,3vw,2rem)}.analytics-stat p{margin:0 0 8px;color:var(--muted)}.analytics-stat small,.analytics-detail{display:block;color:var(--muted);font-size:.78rem}.analytics-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.analytics-pills span{padding:6px 9px;border-radius:999px;background:var(--lavender);font-size:.75rem}.analytics-adherence{margin-bottom:14px}.analytics-adherence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:14px 0}.analytics-adherence-grid p{display:grid;gap:3px;margin:0;padding:12px;border-radius:14px;background:var(--bg)}.analytics-adherence-grid strong{font-size:1.2rem}.analytics-adherence-grid span{color:var(--muted);font-size:.76rem}.analytics-chart{min-width:0}.analytics-chart .chart-wrap{height:230px}.analytics-correlations{display:grid;gap:0}.analytics-correlations article{padding:14px 0;border-top:1px solid var(--border)}.analytics-correlations strong,.analytics-correlations small{display:block}.analytics-correlations small{margin-top:3px;color:var(--muted)}.analytics-correlations p{margin:6px 0 0;color:var(--muted);font-size:.84rem}.analytics-insight p{color:var(--muted)}.analytics-insight small,.analytics-achievement small{color:var(--muted)}.analytics-achievement-intro{margin-bottom:14px}.analytics-achievement{min-width:0}.analytics-achievement .soft-icon{margin-bottom:10px}.analytics-achievement p{color:var(--muted)}.analytics-achievement.earned{border-color:var(--accent)}
@media(max-width:680px){.analytics-grid{grid-template-columns:1fr}.analytics-adherence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-tabs a{min-width:max-content;padding-inline:12px}}
@media(max-width:390px){.analytics-adherence-grid{grid-template-columns:1fr}}
.analytics-more{margin-top:1rem}.analytics-more summary{cursor:pointer;color:var(--text);font-weight:700;min-height:44px;display:flex;align-items:center}
/* Instalación, conectividad y permisos por dispositivo. */
.connectivity-status{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 14px}.connectivity-status[hidden]{display:none}.pwa-card{margin-bottom:12px}.pwa-card h2{margin-top:0}.pwa-card p{max-width:38rem}.pwa-device-list{display:grid;gap:0}.pwa-device{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-top:1px solid var(--border)}.pwa-device span{display:grid;gap:3px;min-width:0}.pwa-device small{color:var(--muted)}.pwa-device form{margin:0;flex:none}.pwa-card [data-push-status]:empty{display:none}
@media(max-width:390px){.pwa-device{align-items:flex-start;flex-direction:column}.pwa-device .button{width:100%}.pwa-device form{width:100%}}
/* Personal care */
.care-heading{padding-bottom:.35rem}.care-tabs{overflow-x:auto;scrollbar-width:none;white-space:nowrap;padding-bottom:.35rem}.care-tabs::-webkit-scrollbar{display:none}.care-module-grid,.care-product-grid,.care-checkin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.care-module-card{display:flex;flex-direction:column;gap:.4rem;text-decoration:none;color:var(--text)}.care-module-card strong{font-size:1rem}.care-module-card small{color:var(--muted);line-height:1.35}.care-metrics{margin-block:1rem}.care-form-card form,.care-reminder-card form{display:grid;gap:1rem}.care-form-grid,.care-metric-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.care-form-grid label,.care-metric-inputs label,.care-form-card>form>label,.care-reminder-card label{display:grid;gap:.4rem}.care-quick-list,.care-routine-list,.care-timeline,.care-list,.expense-history{display:grid;gap:.75rem}.care-quick-list article,.care-list-row,.expense-history>div{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.care-quick-list span,.care-list-row span,.expense-history span{display:grid;gap:.15rem}.care-quick-list small,.care-list-row small,.expense-history small{color:var(--muted)}.care-product-card,.care-checkin-card,.care-treatment-card,.care-history-card{display:grid;gap:.65rem;align-content:start}.care-photo{width:100%;aspect-ratio:4/3;border-radius:calc(var(--radius) - .35rem);object-fit:cover;background:var(--surface-soft)}.routine-step-editor{display:grid;grid-template-columns:2rem minmax(9rem,1.4fr) minmax(8rem,1fr) minmax(8rem,1fr) 6rem minmax(8rem,1fr);gap:.45rem;align-items:center;margin-block:.55rem}.step-number{display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--lavender);color:var(--text);font-weight:700}.routine-steps{display:grid;gap:.55rem;padding-left:1.5rem}.routine-steps li small{display:block;color:var(--muted);margin-top:.15rem}.care-history-card{grid-template-columns:5.5rem 1fr auto;align-items:center}.care-history-card .care-photo{aspect-ratio:1}.care-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem}.care-comparison article{padding:.75rem;border:1px solid var(--border);border-radius:var(--radius)}.care-comparison p{display:flex;justify-content:space-between;gap:.5rem;margin:.35rem 0}.care-compare-form{display:grid;grid-template-columns:1fr 1fr auto;gap:.75rem;align-items:end}.care-compare-form label{display:grid;gap:.35rem}.care-mini-metrics{display:flex;flex-wrap:wrap;gap:.4rem}.care-mini-metrics span{padding:.3rem .5rem;border-radius:999px;background:var(--surface-soft);font-size:.78rem}.care-before-after{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.expense-history>div{padding:.75rem 0;border-bottom:1px solid var(--border)}.expense-history>div:last-child{border-bottom:0}.care-product-card details form,.care-routine-card details form{display:grid;gap:.6rem;margin-top:.75rem}
@media(min-width:800px){.care-module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.care-product-grid,.care-checkin-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.care-module-grid,.care-product-grid,.care-checkin-grid,.care-form-grid,.care-metric-inputs,.care-comparison,.care-compare-form{grid-template-columns:1fr}.routine-step-editor{grid-template-columns:2rem 1fr 1fr}.routine-step-editor input:last-child{grid-column:2/-1}.care-history-card{grid-template-columns:4.5rem 1fr}.care-history-card form{grid-column:2}.care-quick-list article{align-items:flex-start;flex-direction:column}.care-quick-list .button-row{width:100%}.care-quick-list .button-row form{flex:1}.care-quick-list button{width:100%}}
.care-photo{background:var(--bg)}
.legal-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:.65rem 1rem;margin:1.25rem auto;color:var(--muted);font-size:.78rem}.legal-footer a{color:inherit}.app-legal-footer{width:min(100% - 32px,760px);padding:0 0 82px}.legal-document{width:min(100%,760px);margin:0 auto}.legal-document h1{margin:.5rem 0 1rem}.legal-document h2{margin:1.5rem 0 .45rem;font-size:1.1rem}.legal-document p{color:var(--muted);line-height:1.65}.legal-consents{display:grid;gap:.75rem;margin:1rem 0}.legal-consents label{display:grid;grid-template-columns:1.35rem 1fr;gap:.65rem;align-items:start;font-size:.86rem;line-height:1.45}.legal-consents input{width:1.2rem;height:1.2rem;margin-top:.15rem;accent-color:var(--accent)}
.care-form-card input:not([type=checkbox]),.care-form-card select,.care-form-card textarea,.care-reminder-card input:not([type=checkbox]),.care-reminder-card select,.care-reminder-card textarea,.care-compare-form select{width:100%;min-width:0;min-height:46px;padding:.65rem .75rem;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--text)}
.care-form-card textarea,.care-reminder-card textarea{min-height:92px;resize:vertical}
.care-filter-form{display:grid;gap:.75rem;align-items:end;grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.care-filter-form .toggle-row{min-height:44px;margin:0}.care-filter-form .button{margin:0}
.care-filter-form>label:not(.toggle-row){display:grid;gap:.35rem}.care-filter-form input:not([type=checkbox]),.care-filter-form select{width:100%;min-width:0;min-height:44px;padding:.6rem .7rem;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--text)}
.step-days{grid-column:1/-1}.step-days summary{cursor:pointer;color:var(--muted);font-size:.85rem}.step-days label{display:inline-flex;align-items:center;gap:.25rem;margin:.45rem .35rem 0 0}.step-days input{inline-size:1rem;block-size:1rem}
@media(max-width:600px){.routine-step-editor{grid-template-columns:2rem minmax(0,1fr);align-items:start}.routine-step-editor>*:not(.step-number){grid-column:2}.routine-step-editor input:last-child{grid-column:2}.step-days{grid-column:2}.care-filter-form{grid-template-columns:1fr}}
.care-product-card details label,.care-routine-card details label{display:grid;gap:.35rem}.care-product-card details input:not([type=checkbox]):not([type=radio]),.care-product-card details select,.care-product-card details textarea,.care-routine-card details input:not([type=checkbox]):not([type=radio]),.care-routine-card details select,.care-routine-card details textarea{width:100%;min-width:0;min-height:44px;padding:.6rem .7rem;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--text)}
.health-form input:not([type=checkbox]):not([type=radio]),.health-form select,.health-form textarea,.health-record details input:not([type=checkbox]):not([type=radio]),.health-record details select,.health-record details textarea{width:100%;min-width:0;min-height:46px;padding:.65rem .75rem;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--text)}
.health-form textarea,.health-record details textarea{min-height:92px;resize:vertical}.health-form input:focus,.health-form select:focus,.health-form textarea:focus,.health-record details input:focus,.health-record details select:focus,.health-record details textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent);outline:0}
.barcode-manual{margin-top:1rem}.barcode-manual summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center}.barcode-scanner{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:1rem;background:rgba(20,16,28,.72);backdrop-filter:blur(5px)}.barcode-scanner[hidden]{display:none}.barcode-scanner-panel{width:min(100%,540px);max-height:calc(100dvh - 2rem);overflow:auto;padding:1rem;border-radius:22px;background:var(--surface);box-shadow:0 22px 70px rgba(0,0,0,.3)}.scanner-close{width:44px;height:44px;border:0;border-radius:50%;background:var(--surface-soft);color:var(--text);font-size:1.65rem;cursor:pointer}.scanner-camera{position:relative;overflow:hidden;aspect-ratio:4/3;border-radius:18px;background:#16131b}.scanner-camera video{width:100%;height:100%;object-fit:cover}.scanner-guide{position:absolute;left:10%;right:10%;top:38%;height:24%;border:2px solid #fff;border-radius:12px;box-shadow:0 0 0 999px rgba(0,0,0,.2)}.scanner-reading{position:absolute;left:50%;bottom:.75rem;transform:translateX(-50%);padding:.35rem .65rem;border-radius:999px;background:rgba(0,0,0,.65);color:#fff;font-size:.78rem;white-space:nowrap}.scanner-status{min-height:1.5rem;margin:.75rem 0;color:var(--muted)}.scanner-status.is-error{color:var(--danger)}.scanner-actions{margin:.5rem 0}.scanner-manual{display:grid;gap:.4rem;margin:1rem 0}.scanner-manual>div{display:flex;gap:.5rem}.scanner-manual input{min-width:0;flex:1;min-height:46px;border:1px solid var(--border);border-radius:12px;padding:.65rem .75rem;background:var(--bg);color:var(--text)}.scanner-result{display:grid;gap:.55rem;margin:1rem 0;padding:1rem;border:1px solid var(--border);border-radius:16px;background:var(--bg)}.scanner-result h3,.scanner-result p{margin:0}.scanner-nutrients{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.scanner-nutrients span{display:grid;padding:.55rem;border-radius:11px;background:var(--surface)}.scanner-nutrients small{color:var(--muted)}.scanner-not-found{display:grid;gap:.75rem}.scanner-camera.is-stopped video{visibility:hidden}@media(max-width:480px){.barcode-scanner{padding:0}.barcode-scanner-panel{width:100%;max-height:100dvh;min-height:100dvh;border-radius:0;padding:max(1rem,env(safe-area-inset-top)) 1rem max(1rem,env(safe-area-inset-bottom))}.scanner-manual>div{flex-direction:column}.scanner-nutrients{grid-template-columns:1fr 1fr}}
.subtabs,.wellness-tabs,.health-tabs,.range-filter{overscroll-behavior-inline:contain}.subtabs a,.wellness-tabs a,.health-tabs a,.range-filter a{scroll-snap-align:center}
@media(min-width:760px){.subtabs,.wellness-tabs,.health-tabs{flex-wrap:wrap;overflow-x:visible}.care-tabs{white-space:normal}.subtabs a,.wellness-tabs a,.health-tabs a{flex:0 0 auto}}
@media(max-width:390px){.bottom-nav a small{font-size:.63rem;letter-spacing:-.02em}}
/* Unified meal logging */
.add-meal-heading{margin-bottom:1rem}.add-meal-heading h1{margin:.2rem 0}.add-meal-heading p{color:var(--muted);max-width:42rem}.add-meal-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:1rem 0 1.5rem}.add-meal-choices .card{display:flex;flex-direction:column;gap:.35rem;text-decoration:none;color:inherit;min-height:8.5rem}.add-meal-choices small,.repeat-card small,.saved-quick-grid small{display:block;color:var(--muted)}.add-meal-section{scroll-margin-top:1rem;margin:1.25rem 0}.quick-food-block{margin-top:1rem}.quick-food-block h3{font-size:1rem;margin-bottom:.5rem}.quick-food-list{display:flex;gap:.55rem;overflow-x:auto;padding-bottom:.4rem}.quick-food{flex:0 0 min(14rem,75vw);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem;text-decoration:none;color:inherit;background:var(--surface)}.quick-food small{display:block;color:var(--muted);margin-top:.25rem}.builder-search>div:first-of-type{display:flex;gap:.5rem}.builder-search input{flex:1}.builder-results{display:grid;gap:.35rem;margin-top:.5rem;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.4rem;background:var(--surface);max-height:19rem;overflow:auto}.builder-result{display:flex;flex-direction:column;align-items:flex-start;border:0;background:transparent;border-radius:.65rem;padding:.65rem;text-align:left;color:inherit}.builder-result:hover,.builder-result:focus{background:var(--surface-soft)}.builder-result small{color:var(--muted)}.builder-items{display:grid;gap:.65rem;margin:1rem 0}.builder-item{padding:.8rem}.builder-item-title{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.builder-item-controls{display:grid;grid-template-columns:minmax(6rem,.7fr) 1fr 1.4fr;gap:.5rem;margin:.6rem 0}.builder-item small{color:var(--muted)}.builder-summary{position:sticky;bottom:.5rem;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(12px);border-radius:var(--radius);padding:.85rem;z-index:2}.builder-summary h3{margin:0 0 .6rem}.save-choice{margin:1rem 0}.save-choice label{display:flex;gap:.5rem;align-items:flex-start;margin:.55rem 0}.repeat-grid,.saved-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.repeat-card{display:flex;justify-content:space-between;align-items:center;gap:.7rem}.saved-quick-grid .card{display:flex;flex-direction:column;gap:.6rem}.recipe-log-inline{display:grid;grid-template-columns:1fr .7fr auto;gap:.45rem}.meal-entry{border:1px solid var(--border);border-radius:var(--radius-sm);margin:.55rem 0;overflow:hidden}.meal-entry>summary{display:flex;justify-content:space-between;gap:.75rem;cursor:pointer;padding:.75rem;list-style:none}.meal-entry>summary::-webkit-details-marker{display:none}.meal-entry-body{padding:0 .75rem .75rem}.meal-entry-items{list-style:none;padding:0;margin:.4rem 0}.meal-entry-items li a{display:flex;justify-content:space-between;gap:.5rem;padding:.45rem 0;border-top:1px solid var(--border);text-decoration:none;color:inherit}.meal-entry-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}
@media(max-width:700px){.add-meal-choices{grid-template-columns:1fr}.add-meal-choices .card{min-height:0;display:grid;grid-template-columns:auto 1fr;align-items:center}.add-meal-choices .card small{grid-column:2}.builder-item-controls{grid-template-columns:1fr 1fr}.builder-item-controls select:last-child{grid-column:1/-1}.repeat-grid,.saved-quick-grid{grid-template-columns:1fr}.repeat-card{align-items:flex-start}.recipe-log-inline{grid-template-columns:1fr 1fr}.recipe-log-inline button{grid-column:1/-1}.builder-summary{bottom:4.5rem}}
.batch-list{display:grid;gap:12px;margin-top:14px}.batch-card{border:1px solid var(--border);border-radius:16px;padding:14px;background:var(--surface)}.batch-card>div{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.batch-consume-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px;align-items:end;margin-top:12px}.ingredient-list strong small{display:block;font-weight:500;color:var(--muted);margin-top:2px}.search-inline{display:flex;gap:10px}.search-inline input{flex:1}.ingredient-row-rich{grid-template-columns:minmax(160px,2fr) repeat(4,minmax(90px,1fr)) minmax(120px,1fr) auto auto auto}
@media(max-width:720px){.batch-card>div{display:block}.batch-consume-form{grid-template-columns:1fr 1fr}.batch-consume-form .button{grid-column:1/-1}.search-inline{display:grid}.ingredient-row-rich{grid-template-columns:1fr 1fr}.ingredient-row-rich>label:first-child{grid-column:1/-1}}
.meal-entry-edit{display:grid;grid-template-columns:minmax(140px,2fr) minmax(130px,1fr) minmax(130px,1fr) auto;gap:8px;align-items:end;margin:.75rem 0}.meal-entry-edit label{margin:0}@media(max-width:700px){.meal-entry-edit{grid-template-columns:1fr 1fr}.meal-entry-edit label:first-child,.meal-entry-edit .button{grid-column:1/-1}}
.temporary-amounts{display:grid;gap:8px;margin:12px 0}.temporary-amounts label{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:9px 0;border-bottom:1px solid var(--border)}.temporary-amounts input{width:110px}
.micronutrient-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:.45rem;margin:.65rem 0}.micronutrient-preview span{display:flex;flex-direction:column;padding:.55rem .65rem;border-radius:.75rem;background:var(--surface-soft)}.micronutrient-preview small{color:var(--muted);font-size:.7rem}.micronutrient-preview strong{font-size:.88rem}.meal-builder>.button-row{justify-content:flex-end}
@media(max-width:759px){.member-portion-row{grid-template-columns:minmax(0,1fr) 90px 105px}.member-portion-row input,.member-portion-row select{min-width:0;width:100%}}
@media(max-width:430px){.member-portion-row{grid-template-columns:1fr 1fr}.member-portion-row label,.member-portion-row>span{grid-column:1/-1}}
/* Carga de comidas: composición visual amplia y clara. */
.app-content:has(.add-meal-heading){width:min(100% - 32px,980px)}
.add-meal-heading.card{position:relative;display:flex;align-items:center;justify-content:space-between;gap:2rem;overflow:hidden;padding:clamp(1.5rem,4vw,2.6rem);border:0;background:linear-gradient(135deg,color-mix(in srgb,var(--dusty-pink) 72%,var(--surface)),color-mix(in srgb,var(--lavender) 78%,var(--surface)));box-shadow:0 18px 48px rgba(73,48,77,.09)}
.add-meal-heading.card::after{content:"";position:absolute;width:16rem;height:16rem;right:-6rem;bottom:-10rem;border-radius:50%;background:color-mix(in srgb,var(--surface) 38%,transparent)}
.add-meal-heading h1{margin:.28rem 0 .45rem;font-size:clamp(2rem,5vw,3rem);line-height:1.02;letter-spacing:-.045em}.add-meal-heading p{max-width:38rem;margin:0;color:color-mix(in srgb,var(--text) 72%,var(--muted));font-size:1rem}.add-meal-hero-icon{position:relative;z-index:1;flex:0 0 auto;width:5rem;height:5rem;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--surface) 72%,transparent);border-radius:1.6rem;background:color-mix(in srgb,var(--surface) 60%,transparent);box-shadow:0 14px 30px rgba(65,43,70,.08);transform:rotate(4deg)}.add-meal-hero-icon .gemma-icon{width:2.15rem;height:2.15rem;color:var(--accent)}
.add-meal-choices{gap:1rem;margin:1.15rem 0 1.75rem}.add-meal-choices .card{position:relative;min-height:9.4rem;gap:.45rem;padding:1.25rem;border-color:color-mix(in srgb,var(--border) 75%,transparent);box-shadow:0 10px 30px rgba(67,48,70,.055);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.add-meal-choices .card::after{content:"→";position:absolute;right:1.1rem;top:1.1rem;color:var(--muted);font-size:1.15rem}.add-meal-choices .card:nth-child(1){background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--dusty-pink) 35%,var(--surface)))}.add-meal-choices .card:nth-child(2){background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--sage) 45%,var(--surface)))}.add-meal-choices .card:nth-child(3){background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--lavender) 42%,var(--surface)))}.add-meal-choices .card:hover{transform:translateY(-3px);border-color:var(--accent-soft);box-shadow:0 16px 34px rgba(67,48,70,.1)}.add-meal-choices .soft-icon{width:2.75rem;height:2.75rem;margin-bottom:.3rem}.add-meal-choices strong{font-size:1.02rem}.add-meal-choices small{line-height:1.35}
.meal-option-section,.meal-builder{padding:clamp(1.2rem,3vw,2rem);box-shadow:0 12px 36px rgba(63,45,66,.055)}.meal-option-section .section-heading{margin-bottom:.4rem}.meal-option-section .section-heading p{margin:.35rem 0 0}.quick-food-block{padding-top:.9rem;border-top:1px solid var(--border)}.quick-food-block h3{margin:.1rem 0 .65rem;color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}.quick-food{min-height:5.15rem;display:flex;flex-direction:column;justify-content:center;border-color:transparent;background:var(--bg);transition:border-color .16s ease,transform .16s ease}.quick-food:hover{transform:translateY(-2px);border-color:var(--accent-soft)}
.meal-section-intro{display:flex;align-items:flex-start;gap:.9rem;margin-bottom:1.25rem}.meal-section-intro .soft-icon{flex:0 0 auto;width:3rem;height:3rem}.meal-section-intro h2{font-size:1.35rem;margin:.08rem 0}.meal-section-intro p{margin:.35rem 0;max-width:43rem}.meal-builder .form-grid{padding:1rem;border:1px solid var(--border);border-radius:1rem;background:color-mix(in srgb,var(--bg) 68%,var(--surface));margin-bottom:1.1rem}.meal-builder .form-grid label{display:grid;gap:.38rem;color:var(--muted);font-size:.78rem;font-weight:750}.meal-builder .form-grid input,.meal-builder .form-grid select,.builder-search input,.builder-item-controls input,.builder-item-controls select{width:100%;min-width:0;min-height:48px;border:1px solid var(--border);border-radius:.8rem;background:var(--surface);padding:.65rem .75rem;color:var(--text)}.meal-builder input:focus,.meal-builder select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent);outline:0}
.meal-builder-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(17.5rem,.65fr);gap:1rem;align-items:start}.meal-builder-main{min-width:0}.builder-search{padding:1rem;border:1px solid var(--border);border-radius:1rem;background:var(--surface)}.builder-search>label{display:block;margin-bottom:.45rem;font-size:.85rem;font-weight:750}.builder-search>div:first-of-type{align-items:stretch}.builder-search .button{min-width:6.5rem}.builder-results{position:relative;z-index:3;border:0;box-shadow:0 14px 34px rgba(48,34,51,.13)}.builder-result{min-height:3.6rem}.builder-items{margin:.8rem 0 0}.builder-items>[data-meal-empty]{display:grid;place-items:center;min-height:7rem;margin:0;padding:1rem;border:1px dashed color-mix(in srgb,var(--accent) 35%,var(--border));border-radius:1rem;text-align:center;background:color-mix(in srgb,var(--lavender) 22%,transparent)}.builder-item.card{padding:1rem;border-radius:1rem;box-shadow:none;background:var(--surface)}.builder-item-title strong{font-size:.95rem}.builder-item-title .icon-only{flex:0 0 auto;background:var(--bg)}
.builder-summary{position:sticky;top:5.2rem;bottom:auto;padding:1.1rem;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));background:linear-gradient(155deg,color-mix(in srgb,var(--lavender) 38%,var(--surface)),var(--surface));box-shadow:0 16px 34px rgba(62,43,66,.09);backdrop-filter:blur(16px)}.builder-summary h3{margin:.16rem 0 .8rem;font-size:1.08rem}.builder-summary .nutrition-preview{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:.65rem 0}.builder-summary .nutrition-preview>div{min-height:4.2rem;justify-content:center;padding:.7rem;border:1px solid color-mix(in srgb,var(--border) 70%,transparent);background:color-mix(in srgb,var(--surface) 86%,transparent)}.builder-summary .nutrition-preview-primary{grid-column:1/-1;background:var(--accent)!important;color:var(--surface);border-color:transparent!important}.builder-summary .nutrition-preview-primary small{color:color-mix(in srgb,var(--surface) 78%,transparent)}.builder-summary .nutrition-preview-primary strong{font-size:1.35rem}.nutrition-note{margin:.75rem 0 0;font-size:.74rem;line-height:1.35}.micronutrient-preview{grid-template-columns:repeat(2,minmax(0,1fr))}
.save-choice{padding:1rem 1.1rem;border:1px solid var(--border);border-radius:1rem;background:var(--bg)}.save-choice legend{padding:0 .35rem;font-weight:750}.save-choice input{accent-color:var(--accent)}.meal-builder form>.button-row{justify-content:flex-end;margin-top:1rem}.meal-builder form>.button-row .button-primary{min-width:13rem}
.meal-collection-section{padding-top:1.6rem;border-top:1px solid var(--border)}.repeat-card,.saved-quick-grid .card{border-color:color-mix(in srgb,var(--border) 80%,transparent);box-shadow:0 8px 24px rgba(61,44,63,.045);transition:transform .16s ease,border-color .16s ease}.repeat-card:hover,.saved-quick-grid .card:hover{transform:translateY(-2px);border-color:var(--accent-soft)}
@media(max-width:780px){.add-meal-heading.card{align-items:flex-start}.add-meal-hero-icon{width:4rem;height:4rem}.meal-builder-layout{grid-template-columns:1fr}.builder-summary{position:relative;top:auto;bottom:auto}.meal-option-section .section-heading{align-items:stretch;flex-direction:column}.meal-option-section .button{width:100%}}
@media(max-width:700px){.add-meal-choices .card{min-height:0;padding:1rem}.add-meal-choices .soft-icon{grid-row:1/3}.add-meal-choices .card::after{top:50%;transform:translateY(-50%)}.meal-builder .form-grid{grid-template-columns:1fr}.builder-search>div:first-of-type{display:grid}.builder-search .button{width:100%}.meal-builder form>.button-row .button{width:100%}.add-meal-hero-icon{display:none}}

/* Diario compacto y asistente de registro de comidas */
.diary-titlebar{margin-bottom:.85rem}.diary-summary{display:grid;grid-template-columns:auto minmax(12rem,1fr);gap:1rem 1.4rem;align-items:center;padding:1.1rem 1.25rem;background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--lavender) 25%,var(--surface)))}.diary-calories{display:grid;min-width:7.8rem}.diary-calories>span,.diary-summary-progress small{color:var(--muted);font-size:.76rem}.diary-calories strong{font-size:2.05rem;line-height:1;letter-spacing:-.04em}.diary-calories small{margin-top:.18rem;color:var(--muted)}.diary-summary-progress{display:grid;gap:.35rem}.diary-macros{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.diary-macros>div{display:grid;grid-template-columns:auto 1fr;gap:.05rem .45rem;align-items:center;padding:.55rem .65rem;border-radius:.8rem;background:var(--bg)}.diary-macros>div>span{grid-row:1/3;display:grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:50%;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent);font-size:.72rem;font-weight:800}.diary-macros strong{font-size:.9rem}.diary-macros small{color:var(--muted);font-size:.68rem}.diary-primary-actions{display:flex;align-items:center;gap:.6rem;margin:1rem 0 1.6rem}.diary-primary-actions .button-primary{min-width:12rem}.diary-meals{margin-top:.25rem}.diary-empty{padding:2rem 1.25rem}.diary-meal-card{padding:.9rem 1rem}.diary-entry>summary>span:last-child{display:grid;text-align:right}.diary-entry>summary small{display:block;color:var(--muted);font-size:.73rem;margin-top:.12rem}.diary-single-items{list-style:none;margin:.3rem 0;padding:0}.diary-single-items li+li{border-top:1px solid var(--border)}.diary-single-items a{display:flex;justify-content:space-between;gap:.75rem;padding:.7rem .1rem;text-decoration:none;color:inherit}.diary-single-items small{display:block;color:var(--muted);margin-top:.14rem}.entry-more,.meal-tools,.water-custom{margin-top:.6rem}.entry-more>summary,.meal-tools>summary,.water-custom>summary,.diary-day-tools>summary{min-height:40px;display:flex;align-items:center;cursor:pointer;color:var(--muted);font-size:.78rem;font-weight:700}.meal-tools{border-top:1px solid var(--border)}.meal-tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;padding:.25rem 0 .5rem}.meal-tools-grid form{display:grid;gap:.4rem}.meal-tools-grid label,.diary-day-tools label{display:grid;gap:.25rem;color:var(--muted);font-size:.75rem}.meal-tools-grid input,.diary-day-tools input{width:100%;min-height:42px;border:1px solid var(--border);border-radius:.7rem;background:var(--bg);color:var(--text);padding:.5rem .65rem}.diary-water{display:grid;grid-template-columns:minmax(12rem,1fr) auto;gap:.85rem 1.25rem;align-items:center;padding:1rem 1.1rem}.water-heading{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem}.water-heading h2{margin:.12rem 0 .45rem}.diary-water .quick-water{margin:0;flex-wrap:nowrap}.water-custom{grid-column:1/-1;margin:0}.water-custom .custom-water{max-width:20rem}.diary-day-tools{margin-top:1rem}.diary-day-tools form{display:flex;align-items:end;gap:.6rem;margin-top:.6rem}.diary-fab{display:none}

.app-content:has(.meal-wizard){width:min(100% - 32px,860px)}.meal-wizard{padding-bottom:2rem}.wizard-header{display:flex;justify-content:space-between;gap:1rem;align-items:start;margin:.65rem 0 1rem}.wizard-header h1{margin:.15rem 0 .35rem;font-size:clamp(1.8rem,5vw,2.55rem);letter-spacing:-.035em}.wizard-header p{margin:0;color:var(--muted)}.wizard-progress{position:relative;display:grid;grid-template-columns:repeat(4,1fr);margin:1rem 0 1.4rem;padding:0;list-style:none}.wizard-progress::before{content:"";position:absolute;left:12.5%;right:12.5%;top:1rem;height:2px;background:var(--border)}.wizard-progress li{position:relative;z-index:1;display:grid;justify-items:center;gap:.3rem;color:var(--muted)}.wizard-progress span{display:grid;place-items:center;width:2rem;height:2rem;border:2px solid var(--border);border-radius:50%;background:var(--surface);font-weight:800}.wizard-progress small{font-size:.7rem}.wizard-progress .is-active span,.wizard-progress .is-done span{border-color:var(--accent);background:var(--accent);color:#fff}.wizard-progress .is-active small,.wizard-progress .is-done small{color:var(--text);font-weight:700}.wizard-panel{padding:clamp(1rem,3vw,1.7rem);border:1px solid var(--border);border-radius:1.35rem;background:var(--surface);box-shadow:0 16px 45px rgba(65,45,68,.07)}.wizard-panel-heading{margin-bottom:1rem}.wizard-panel-heading h2{margin:.15rem 0 .25rem}.wizard-panel-heading p{margin:.2rem 0;color:var(--muted)}.wizard-mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.wizard-mode-card{position:relative;display:grid;grid-template-columns:1fr auto;gap:.8rem;min-height:10.5rem;padding:1.1rem;border:1px solid var(--border);border-radius:1.1rem;background:var(--bg);color:var(--text);text-align:left;cursor:pointer;transition:.18s ease}.wizard-mode-card:hover,.wizard-mode-card:focus-visible{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 10px 26px rgba(65,45,68,.08);outline:0}.wizard-mode-card .soft-icon{grid-column:1/-1}.wizard-mode-card span:nth-child(2){display:grid;gap:.25rem;align-content:end}.wizard-mode-card small{color:var(--muted);line-height:1.35}.wizard-mode-card b{align-self:end;color:var(--accent)}.wizard-shortcuts{margin-top:1rem;border-top:1px solid var(--border)}.wizard-shortcuts>summary{min-height:48px;display:flex;align-items:center;cursor:pointer;font-weight:750}.shortcut-block{margin:1rem 0}.shortcut-block h3{font-size:.9rem}.wizard-shelf{display:flex;gap:.65rem;overflow-x:auto;padding:.2rem 0 .55rem;scroll-snap-type:x proximity}.shortcut-card{flex:0 0 min(16rem,82vw);display:grid;align-content:start;gap:.45rem;padding:.8rem;border:1px solid var(--border);border-radius:.9rem;background:var(--bg);scroll-snap-align:start}.shortcut-card small{min-height:2.2rem;color:var(--muted)}.wizard-search{padding:.85rem;border:1px solid var(--border);border-radius:1rem;background:var(--bg)}.wizard-search>label{display:block;margin-bottom:.4rem;font-weight:750}.wizard-search>div:first-of-type{display:flex;gap:.5rem}.wizard-search input{flex:1;min-width:0}.wizard-search-results{display:grid;gap:.25rem;max-height:18rem;overflow:auto;margin-top:.55rem;padding:.35rem;border:1px solid var(--border);border-radius:.8rem;background:var(--surface);box-shadow:0 10px 30px rgba(50,35,52,.1)}.wizard-chip-groups{display:grid;gap:.65rem}.food-chips{display:flex;gap:.4rem;overflow-x:auto;padding:.25rem 0}.food-chips button{flex:0 0 auto;min-height:36px;padding:.4rem .7rem;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--text);cursor:pointer}.food-chips button:hover{border-color:var(--accent)}.selected-food-card{display:flex;justify-content:space-between;align-items:start;gap:1rem;margin:1rem 0;padding:1rem;border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border));border-radius:1rem;background:color-mix(in srgb,var(--lavender) 24%,var(--surface))}.selected-food-card h3{margin:.15rem 0}.selected-food-card p{margin:.15rem 0}.wizard-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin:1rem 0}.wizard-fields label,.optional-name{display:grid;gap:.35rem;color:var(--muted);font-size:.78rem;font-weight:750}.wizard-fields input,.wizard-fields select,.optional-name input,.wizard-search input{width:100%;min-height:48px;border:1px solid var(--border);border-radius:.8rem;background:var(--surface);padding:.65rem .75rem;color:var(--text)}.wizard-fields input:focus,.wizard-fields select:focus,.optional-name input:focus,.wizard-search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent);outline:0}.preparation-hint{padding:.65rem .75rem;border-radius:.75rem;background:var(--bg);color:var(--muted);font-size:.78rem}.compact-nutrition{display:grid;grid-template-columns:repeat(5,1fr);gap:.4rem;margin:.85rem 0}.compact-nutrition span{display:grid;gap:.12rem;padding:.6rem;border-radius:.75rem;background:var(--bg)}.compact-nutrition small{color:var(--muted);font-size:.67rem}.compact-nutrition strong{font-size:.83rem}.optional-name{margin-bottom:.8rem}.wizard-running-total{position:sticky;bottom:4.7rem;z-index:3;display:flex;align-items:center;gap:.65rem;margin-top:.8rem;padding:.75rem;border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border));border-radius:1rem;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 10px 30px rgba(53,38,56,.09);backdrop-filter:blur(15px)}.wizard-running-total>span{display:grid;gap:.05rem}.wizard-running-total>span:first-child{margin-right:auto}.wizard-running-total small{color:var(--muted);font-size:.68rem}.wizard-running-total details{position:relative}.wizard-running-total details>summary{cursor:pointer;color:var(--accent);font-size:.75rem;font-weight:750}.wizard-running-total details[open]{position:absolute;right:0;bottom:4.2rem;width:min(25rem,90vw);padding:.8rem;border:1px solid var(--border);border-radius:1rem;background:var(--surface);box-shadow:0 14px 34px rgba(40,28,42,.14)}.wizard-recipe-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem}.wizard-recipe-card{display:grid;gap:.35rem;min-height:7rem;padding:.9rem;border:1px solid var(--border);border-radius:1rem;background:var(--bg);color:var(--text);text-align:left;cursor:pointer}.wizard-recipe-card small{color:var(--muted)}.wizard-recipe-card.is-selected{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.batch-pill{justify-self:start;padding:.22rem .48rem;border-radius:999px;background:color-mix(in srgb,var(--sage) 68%,var(--surface));font-size:.68rem}.recipe-amount-card{margin-top:.8rem;padding:1rem;border-radius:1rem;background:color-mix(in srgb,var(--lavender) 22%,var(--surface))}.recipe-amount-card h3{margin:0}.wizard-nav{position:sticky;bottom:4rem;z-index:4;display:flex;justify-content:space-between;gap:.7rem;margin:1.2rem -.35rem -.35rem;padding:.7rem;border:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-radius:1rem;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(16px)}.wizard-nav .button-primary{min-width:9rem}.wizard-review{padding:1rem;box-shadow:none}.review-heading h3{margin:.15rem 0}.wizard-review ul{list-style:none;padding:0;margin:.75rem 0}.wizard-review li{display:flex;justify-content:space-between;gap:.8rem;padding:.55rem 0;border-top:1px solid var(--border)}.review-micros{margin-top:.7rem}.review-micros>summary{cursor:pointer;font-weight:700}.review-micros p{display:inline-block;margin:.5rem .5rem 0 0;padding:.4rem .55rem;border-radius:.6rem;background:var(--bg);font-size:.75rem}.final-fields{grid-template-columns:repeat(3,1fr)}.final-fields label small{font-weight:500}.save-choice{margin:.9rem 0}.final-confirmation{display:flex;align-items:center;gap:.8rem;padding:1rem;box-shadow:none}.final-confirmation div{display:grid;gap:.15rem}.final-confirmation small{color:var(--muted)}.wizard-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

@media(max-width:700px){.diary-summary{grid-template-columns:auto 1fr}.diary-macros{grid-template-columns:repeat(2,1fr)}.diary-primary-actions{display:grid;grid-template-columns:1fr auto}.diary-primary-actions .button-primary{min-width:0}.diary-water{grid-template-columns:1fr}.diary-water .quick-water{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr)}.diary-water .quick-water button{width:100%;padding-inline:.35rem}.meal-tools-grid{grid-template-columns:1fr}.diary-fab{position:fixed;right:1rem;bottom:calc(5rem + env(safe-area-inset-bottom));z-index:20;display:grid;place-items:center;width:3.4rem;height:3.4rem;border-radius:50%;background:var(--accent);color:#fff;box-shadow:0 12px 28px rgba(50,32,54,.26)}.wizard-header p{font-size:.88rem}.wizard-mode-grid{grid-template-columns:1fr}.wizard-mode-card{grid-template-columns:auto 1fr auto;min-height:0;align-items:center}.wizard-mode-card .soft-icon{grid-column:auto}.wizard-mode-card span:nth-child(2){align-content:center}.wizard-mode-card b{align-self:center}.wizard-fields,.final-fields{grid-template-columns:1fr 1fr}.final-fields label:last-child{grid-column:1/-1}.compact-nutrition{grid-template-columns:repeat(2,1fr)}.compact-nutrition span:first-child{grid-column:1/-1}.wizard-running-total{overflow-x:auto;bottom:4.6rem}.wizard-running-total>span{flex:0 0 auto}.wizard-running-total details{margin-left:auto}.wizard-recipe-grid{grid-template-columns:1fr}.wizard-nav{bottom:calc(4.1rem + env(safe-area-inset-bottom))}.wizard-search>div:first-of-type{display:grid}.wizard-search .button{width:100%}}
@media(max-width:420px){.diary-summary{grid-template-columns:1fr}.diary-summary-progress{grid-column:1}.diary-macros{grid-template-columns:1fr 1fr}.diary-entry>summary{align-items:start}.diary-primary-actions{grid-template-columns:1fr}.diary-primary-actions .button{width:100%}.wizard-header{display:block}.wizard-header>button{margin-top:.65rem}.wizard-progress small{font-size:.62rem}.wizard-fields{grid-template-columns:1fr}.final-fields label:last-child{grid-column:auto}.wizard-nav .button{flex:1}.selected-food-card{display:grid}}

/* Hoy 2.0 */
.today-hero{margin-bottom:18px}.today-processor-notice{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none}.today-agenda{display:grid;gap:8px;margin-bottom:14px}.today-agenda-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:11px;padding:13px 15px;color:var(--text);text-decoration:none}.today-agenda-item .soft-icon{width:40px;height:40px;margin:0}.today-agenda-copy{display:grid;min-width:0}.today-agenda-copy small{color:var(--muted);font-size:.72rem}.today-agenda-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.today-agenda-item time{font-weight:750;font-size:.82rem}.today-agenda-item.is-overdue{border-color:color-mix(in srgb,var(--danger) 35%,var(--border))}.today-agenda-item.is-overdue time{color:var(--danger)}.today-empty{min-height:0;margin-bottom:14px}.today-empty div:last-child{min-width:0}.today-empty strong{display:block}.today-empty p{margin:.2rem 0}.today-training{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin:18px 0}.today-training .soft-icon{margin:0}.today-card-copy h2{margin:3px 0}.today-card-copy p{margin:0;color:var(--muted)}.today-card-action form{margin:0}.today-plan-empty{display:flex;align-items:center;gap:12px;margin-top:12px;color:var(--text);text-decoration:none}.today-plan-empty .soft-icon{margin:0}.today-plan-empty>span:nth-child(2){display:grid;flex:1}.today-plan-empty small{color:var(--muted)}.today-plan-comparison{margin-top:12px}.today-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.today-plan-grid>div{display:grid;padding:13px;border-radius:14px;background:var(--bg)}.today-plan-grid small,.today-plan-grid span{color:var(--muted)}.today-plan-grid strong{font-size:1.15rem}.today-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.today-quick-action{min-width:0;min-height:116px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:13px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);color:var(--text);text-decoration:none}.today-quick-action .soft-icon{width:39px;height:39px;margin:0}.quick-water-action form{margin:0}.quick-water-action button{min-height:34px;padding:4px 9px;border:0;border-radius:999px;background:var(--sage);color:var(--text);font-weight:750;cursor:pointer}
@media(max-width:560px){.today-training{grid-template-columns:auto 1fr}.today-card-action{grid-column:1/-1}.today-card-action .button,.today-card-action form{width:100%}.today-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.today-agenda-item{grid-template-columns:auto minmax(0,1fr) auto}.today-agenda-item>.gemma-icon:last-child{display:none}.today-plan-grid{grid-template-columns:1fr}}

/* Hábitos diarios */
.habit-form{display:grid;gap:14px}.habit-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.habit-form label,.habit-form fieldset{display:grid;gap:6px}.habit-form input,.habit-form select,.habit-daily input[type=date]{min-width:0;min-height:44px;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--text);padding:9px}.habit-form fieldset{grid-column:1/-1;border:0;padding:0;margin:0}.habit-days{display:flex;gap:7px;flex-wrap:wrap}.habit-days label{display:flex;align-items:center;gap:5px;min-height:40px;padding:7px 10px;border:1px solid var(--border);border-radius:999px}.habit-reminder-consent{display:flex!important;grid-column:1/-1;align-items:flex-start;gap:9px;padding:12px;border-radius:14px;background:var(--sage)}.habit-reminder-consent input{min-height:auto;margin-top:3px}.habit-checklist{display:grid;gap:8px}.habit-check{margin:0}.habit-check button{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;min-height:58px;padding:10px 12px;border:1px solid var(--border);border-radius:14px;background:var(--bg);color:var(--text);text-align:left;cursor:pointer}.habit-check button>span:nth-child(2){display:grid}.habit-check small,.habit-manage small{color:var(--muted)}.habit-check.is-complete button{background:color-mix(in srgb,var(--sage) 65%,var(--surface))}.habit-check.is-complete strong{text-decoration:line-through;text-decoration-thickness:1px}.habit-color{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--habit-color) 22%,var(--surface));color:var(--habit-color)}.habit-count{margin:12px 0 0;color:var(--muted);font-size:.84rem}.habit-create summary,.habit-archived summary{min-height:44px;display:flex;align-items:center;cursor:pointer}.habit-create form{margin-top:16px}.habit-management{display:grid;gap:9px}.habit-manage{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:13px}.habit-manage>div{display:grid}.habit-manage form{margin:0}.habit-progress-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.habit-progress-summary>article{display:grid;padding:13px}.habit-progress-summary strong{font-size:1.2rem}.habit-progress-summary small{color:var(--muted)}.habit-picker,.habit-month-nav,.habit-legend{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.habit-picker a{padding:7px 10px;border-radius:999px;background:var(--bg);color:var(--text);text-decoration:none}.habit-picker a.active{background:var(--lavender);font-weight:800}.habit-month-nav{justify-content:space-between;margin-top:14px}.habit-month-nav a{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--bg);color:var(--text)}.habit-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-top:14px}.habit-calendar>span,.habit-calendar>div{min-height:42px;display:grid;place-items:center;border:1px solid transparent;border-radius:10px;color:var(--muted)}.habit-calendar>div .gemma-icon{width:14px;height:14px}.habit-calendar>div.is-complete{background:var(--sage);color:var(--text);font-weight:800}.habit-calendar>div.is-missing{background:var(--peach);color:var(--text)}.habit-calendar>div.is-off{background:var(--bg)}.habit-calendar>div.is-future{opacity:.45;background:transparent}.habit-legend{margin-top:12px;color:var(--muted);font-size:.78rem}.habit-legend i{display:inline-block;width:10px;height:10px;margin-right:4px;border-radius:3px}.habit-legend .complete{background:var(--sage)}.habit-legend .missing{background:var(--peach)}.habit-legend .off{background:var(--bg);border:1px solid var(--border)}.habit-streak-note{color:var(--muted);font-size:.84rem}.today-habits{margin-bottom:18px}
@media(max-width:600px){.habit-form-grid{grid-template-columns:1fr}.habit-manage{grid-template-columns:auto 1fr}.habit-manage>a,.habit-manage>form{grid-column:auto}.habit-manage .button{width:100%}.habit-progress-summary{grid-template-columns:1fr}.habit-daily .section-heading{align-items:stretch;flex-direction:column}.habit-daily input[type=date]{width:100%}}
.apple-instructions{padding-left:1.3rem;display:grid;gap:.55rem}.apple-upload{display:grid;gap:12px}.apple-upload-progress{margin:0;padding:10px 12px;border-radius:12px;background:var(--lavender);color:var(--text)}.apple-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}.apple-category-grid label{display:flex;align-items:center;gap:10px;padding:12px}.apple-category-grid span{display:grid}.apple-category-grid small{color:var(--muted)}.apple-preview>form{margin-top:12px}@media(max-width:480px){.apple-category-grid{grid-template-columns:1fr}}

/* Navegación móvil y Apple Health */
.app-legal-footer{padding-bottom:20px}.progress-tabs{display:flex;grid-template-columns:none;overflow-x:auto;scrollbar-width:none}.progress-tabs::-webkit-scrollbar{display:none}.progress-tabs a{flex:0 0 94px}.progress-imported-entry{min-height:68px;display:grid;grid-template-columns:minmax(92px,.7fr) 1fr;align-items:center;gap:10px}.progress-imported-entry>span:first-child{display:flex;flex-direction:column}.today-apple-health{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin:0 0 18px;color:var(--text);text-decoration:none}.today-apple-health .soft-icon{margin:0}.today-apple-health>span:nth-child(2){display:grid;min-width:0}.today-apple-health small,.today-apple-health>span:nth-child(2)>span{color:var(--muted)}.apple-health-intro{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:12px}.apple-health-intro p{margin-bottom:0;color:var(--muted)}.apple-health-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.apple-health-summary article{display:grid;gap:4px;min-width:0}.apple-health-summary small,.apple-health-summary span{color:var(--muted)}.apple-health-summary strong{font-size:1.35rem}.apple-health-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.apple-health-charts article:first-child{grid-column:1/-1}.apple-health-table{min-width:540px}.apple-health-history{overflow-x:auto;margin-bottom:12px}.apple-health-table>div{display:grid;grid-template-columns:1fr repeat(3,minmax(95px,1fr));gap:10px;padding:10px 0;border-top:1px solid var(--border);text-align:right}.apple-health-table>div>span:first-child,.apple-health-table>div>time{text-align:left}.apple-health-table-head{color:var(--muted);font-size:.75rem;font-weight:750}.apple-workout-list{display:grid}.apple-workout-list article{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--border)}.apple-workout-list article:first-child{border-top:0}.apple-workout-list .soft-icon{flex:none;margin:0}.apple-workout-list article>span:last-child{display:grid}.apple-workout-list small{color:var(--muted)}
@media(min-width:760px){.progress-tabs{display:grid;grid-template-columns:repeat(6,1fr);overflow:visible}.progress-tabs a{min-width:0;flex:auto}}
@media(max-width:600px){.apple-health-summary,.apple-health-charts{grid-template-columns:1fr 1fr}.apple-health-charts article:first-child{grid-column:1/-1}.apple-health-intro{align-items:flex-start;flex-direction:column}.apple-health-intro .button{width:100%}}
@media(max-width:390px){.apple-health-summary{grid-template-columns:1fr}.today-apple-health{padding:16px}.progress-imported-entry{grid-template-columns:1fr}.progress-imported-entry .entry-values{grid-column:1}}
@media(max-height:520px) and (orientation:landscape){:root{--bottom-nav-height:58px;--bottom-nav-clearance:calc(70px + env(safe-area-inset-bottom))}.bottom-nav a{min-height:46px;flex-direction:row;gap:6px}.bottom-nav a small{font-size:.68rem}.bottom-nav{border-radius:18px 18px 0 0}}
.apple-health-charts{min-width:0}.apple-health-charts>*{min-width:0}.apple-health-charts .chart-wrap{min-width:0;overflow:hidden}.apple-health-charts canvas{max-width:100%!important}
@media(max-width:600px){.apple-health-charts{grid-template-columns:1fr}.apple-health-charts article:first-child{grid-column:auto}}
.apple-import-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.apple-import-heading>div{max-width:720px}.apple-import-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:14px;margin-bottom:14px}.apple-upload-card,.apple-guide{margin:0}.apple-upload-card>p,.apple-guide>p{color:var(--muted)}.apple-file-picker{position:relative;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 12px;margin:18px 0 10px;padding:18px;border:1.5px dashed color-mix(in srgb,var(--accent) 45%,var(--border));border-radius:18px;background:color-mix(in srgb,var(--lavender) 35%,var(--surface));cursor:pointer}.apple-file-picker .soft-icon{grid-row:1/3;margin:0}.apple-file-picker strong,.apple-file-picker small{grid-column:2}.apple-file-picker small{color:var(--muted)}.apple-file-picker input{position:absolute;inset:0;opacity:0;cursor:pointer}.apple-instructions{list-style:none;display:grid;gap:14px;margin:18px 0;padding:0}.apple-instructions li{display:grid;grid-template-columns:32px 1fr;align-items:start;gap:10px}.apple-instructions li>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--lavender);color:var(--accent-strong);font-weight:800}.apple-instructions p{margin:5px 0;color:var(--text)}.apple-guide .notice{margin-top:18px}.apple-upload-progress{display:flex;align-items:center;gap:10px;color:var(--muted)}.apple-indeterminate{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:apple-spin .8s linear infinite}@keyframes apple-spin{to{transform:rotate(1turn)}}.apple-diagnostic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.apple-diagnostic-grid>div{display:grid;gap:3px;padding:14px;border-radius:16px;background:var(--background)}.apple-diagnostic-grid small{color:var(--muted)}.apple-diagnostic-grid strong{font-size:1.45rem}.apple-sources{padding:12px 14px;border-radius:14px;background:var(--background);color:var(--muted)}.apple-category-fieldset{margin:18px 0;padding:0;border:0}.apple-category-fieldset legend{margin-bottom:10px;font-weight:750}.apple-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.apple-category-grid label{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:10px;margin:0;padding:14px;cursor:pointer}.apple-category-grid label.is-disabled{opacity:.5;cursor:not-allowed}.apple-category-grid input{width:18px;height:18px;accent-color:var(--accent)}.apple-category-grid .soft-icon{margin:0}.apple-category-grid label>span:last-child{display:grid}.apple-category-grid small{color:var(--muted)}.apple-confirm{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;margin:18px 0}.apple-confirm .button{min-height:46px}.apple-compatible{margin-bottom:14px}.apple-compatible-list{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.apple-compatible-list span{display:flex;align-items:center;gap:6px;padding:8px 11px;border:1px solid var(--border);border-radius:999px;background:var(--background);font-size:.88rem}.apple-import-history{display:grid;gap:0}.apple-import-history article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:15px 0;border-top:1px solid var(--border)}.apple-import-history article:first-child{border-top:0}.apple-import-history article>div{display:grid;justify-items:start;gap:4px}.apple-import-history article small{color:var(--muted)}.apple-import-history dl{display:grid;grid-template-columns:repeat(4,minmax(62px,1fr));gap:8px;margin:0}.apple-import-history dl div{display:grid;gap:2px;padding:8px;border-radius:12px;background:var(--background);text-align:center}.apple-import-history dt{font-size:.72rem;color:var(--muted)}.apple-import-history dd{margin:0;font-weight:800}
@media(max-width:800px){.apple-import-heading{align-items:stretch;flex-direction:column}.apple-import-heading .button{align-self:flex-start}.apple-import-layout{grid-template-columns:1fr}.apple-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.apple-import-history article{grid-template-columns:1fr}.apple-import-history dl{max-width:420px}}
@media(max-width:480px){.apple-category-grid{grid-template-columns:1fr}.apple-diagnostic-grid{grid-template-columns:1fr 1fr}.apple-confirm{grid-template-columns:1fr}.apple-confirm .button{width:100%}.apple-import-history dl{grid-template-columns:1fr 1fr}.apple-file-picker{padding:15px}.apple-compatible-list{gap:6px}.apple-compatible-list span{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){.apple-indeterminate{animation-duration:1.6s}}

/* Despensa y compras */
.pantry-shopping-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:14px;padding:5px;border:1px solid var(--border);border-radius:17px;background:var(--surface)}.pantry-shopping-tabs a{min-height:46px;display:flex;align-items:center;justify-content:center;gap:7px;border-radius:13px;color:var(--muted);font-weight:780;text-decoration:none}.pantry-shopping-tabs a.active{background:var(--lavender);color:var(--text)}.inventory-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:14px}.inventory-summary article{display:grid;padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}.inventory-summary small{color:var(--muted)}.inventory-summary strong{font-size:1.45rem}.pantry-add,.shopping-add{margin-bottom:14px}.pantry-add>summary,.shopping-add>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none}.pantry-add>summary span:first-child,.shopping-add>summary span:first-child{display:grid}.pantry-add>summary small,.shopping-add>summary small{color:var(--muted);font-weight:500}.summary-action{color:var(--accent);font-weight:800}.pantry-add form,.shopping-add form{margin-top:20px}.pantry-form,.manual-shopping-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-bottom:14px}.pantry-food-field,.pantry-custom-field,.pantry-notes-field,.manual-notes{grid-column:1/-1}.inventory-tools,.shopping-tools{display:grid;gap:10px;margin-bottom:14px;padding:14px}.inventory-search{display:flex;align-items:center;gap:8px;margin:0;padding:0 12px;border:1px solid var(--border);border-radius:14px;background:var(--bg)}.inventory-search input{width:100%;min-width:0;min-height:46px;border:0;background:transparent;color:var(--text);outline:0}.inventory-filters{display:flex;gap:6px;overflow-x:auto}.inventory-filters button{min-height:40px;flex:0 0 auto;padding:7px 12px;border:0;border-radius:999px;background:var(--bg);color:var(--text);font-weight:720;cursor:pointer}.inventory-filters button.active{background:var(--accent);color:#fff}.pantry-list,.shopping-list{display:grid;gap:9px;margin-bottom:14px}.pantry-item,.shopping-item{padding:16px}.pantry-item-main{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}.pantry-item-main .soft-icon{margin:0}.pantry-item h2{margin:2px 0;font-size:1rem}.pantry-item p{margin:0;color:var(--muted)}.pantry-item small{color:var(--muted)}.expiry{align-self:start;padding:5px 8px;border-radius:999px;font-size:.68rem;font-weight:800}.expiry.soon{background:var(--peach)}.expiry.expired{background:var(--danger-soft);color:var(--danger)}.pantry-movement{margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}.pantry-movement>summary,.purchase-details>summary{min-height:38px;display:flex;align-items:center;color:var(--accent);font-size:.84rem;font-weight:750;cursor:pointer}.pantry-movement form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding-top:10px}.pantry-movement .movement-notes,.pantry-movement button{grid-column:1/-1}.shopping-tools{grid-template-columns:minmax(0,1fr) auto}.shopping-tools .inventory-filters{align-items:center}.shopping-category-filter{grid-column:1/-1}.shopping-item.checked{opacity:.7;background:color-mix(in srgb,var(--sage) 28%,var(--surface))}.shopping-item-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.shopping-check{display:flex;align-items:center;gap:12px;min-width:0;margin:0}.shopping-check input{width:22px;height:22px;accent-color:var(--accent)}.shopping-check span{display:grid;min-width:0}.shopping-check small{color:var(--muted)}.shopping-check strong{font-size:1rem}.shopping-check b{color:var(--accent);font-size:.82rem}.shopping-item.checked .shopping-check strong{text-decoration:line-through}.shopping-note{margin:9px 0;color:var(--muted);font-size:.84rem}.purchase-details{margin-top:10px;border-top:1px solid var(--border)}.purchase-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding-top:8px}.transfer-toggle{grid-column:1/-1;display:flex;align-items:flex-start;gap:9px;padding:11px;border-radius:13px;background:var(--sage)}.transfer-toggle span{display:grid}.transfer-toggle small{color:var(--muted)}.source-list{margin:12px 0 0;padding-left:20px;color:var(--muted);font-size:.78rem}.shopping-store{margin:14px 0}.complete-shopping{display:grid;gap:5px;margin:18px 0;text-align:center}.complete-shopping small{color:var(--muted)}
@media(min-width:760px){.pantry-list,.shopping-list{grid-template-columns:repeat(2,minmax(0,1fr))}.pantry-form{grid-template-columns:repeat(4,minmax(0,1fr))}.pantry-food-field,.pantry-custom-field{grid-column:span 2}.pantry-notes-field{grid-column:span 4}.manual-shopping-grid{grid-template-columns:2fr 1fr 1fr 1.2fr}.manual-notes{grid-column:1/-1}}
@media(max-width:560px){.inventory-summary article{padding:11px}.inventory-summary small{font-size:.7rem}.inventory-summary strong{font-size:1.2rem}.shopping-tools{grid-template-columns:1fr}.shopping-item-head{align-items:stretch;flex-direction:column}.shopping-item-head .button{width:100%}.purchase-fields,.pantry-form,.manual-shopping-grid{grid-template-columns:1fr}.pantry-food-field,.pantry-custom-field,.pantry-notes-field,.manual-notes{grid-column:auto}.pantry-item-main{grid-template-columns:auto minmax(0,1fr)}.pantry-item-main .expiry{grid-column:2}.pantry-movement form{grid-template-columns:1fr}.pantry-movement .movement-notes,.pantry-movement button{grid-column:auto}}
.pantry-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:4px 0 16px}.pantry-photo-picker{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;align-items:center;padding:14px;border:1px dashed var(--accent);border-radius:16px;background:var(--lavender);cursor:pointer}.pantry-photo-picker .soft-icon{grid-row:1/3}.pantry-photo-picker small{color:var(--muted)}.pantry-photo-picker input{grid-column:1/-1;width:100%;margin-top:8px}.pantry-nutrition{margin-bottom:14px}.pantry-ocr-status{margin:0 0 14px;padding:12px 14px;border-radius:13px;background:var(--sage);color:var(--text)}.pantry-product-thumb{width:58px;height:58px;border-radius:15px;object-fit:cover}.pantry-macros{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:12px;padding:10px;border-radius:13px;background:var(--bg);font-size:.72rem}.pantry-macros span{display:grid}.pantry-macros small{grid-column:1/-1}.pantry-product-form .pantry-custom-field{grid-column:span 2}@media(max-width:560px){.pantry-photo-grid{grid-template-columns:1fr}.pantry-macros{grid-template-columns:repeat(2,minmax(0,1fr))}.pantry-product-form .pantry-custom-field{grid-column:auto}}

/* Hidratación */
.hydration-title{align-items:flex-start}.hydration-title p{max-width:42rem}.hydration-layout{display:grid;gap:14px}.hydration-layout main,.hydration-layout aside{display:grid;align-content:start;gap:14px}.hydration-hero{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--water) 64%,var(--surface)))}.hydration-ring{--water-progress:0%;width:104px;aspect-ratio:1;display:grid;place-content:center;justify-items:center;border-radius:50%;background:radial-gradient(circle,var(--surface) 58%,transparent 60%),conic-gradient(#73aeda var(--water-progress),color-mix(in srgb,var(--water) 62%,var(--border)) 0)}.hydration-ring .gemma-icon{width:24px;height:24px;color:#4d91c3}.hydration-ring strong{font-size:.86rem}.hydration-total{display:grid}.hydration-total>span,.hydration-total small{color:var(--muted)}.hydration-total>strong{font-size:clamp(2rem,8vw,3rem);line-height:1.05;letter-spacing:-.05em}.hydration-total p{margin:.5rem 0 .2rem}.hydration-progress{grid-column:1/-1;height:10px}.hydration-quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.hydration-quick form{margin:0}.water-quick-button{width:100%;min-height:94px;display:grid;place-content:center;justify-items:center;padding:10px;border:1px solid color-mix(in srgb,#73aeda 30%,var(--border));border-radius:16px;background:color-mix(in srgb,var(--water) 52%,var(--surface));color:var(--text);cursor:pointer}.water-quick-button span{color:#4d91c3}.water-quick-button strong{font-size:1.22rem}.water-quick-button small{color:var(--muted)}.hydration-containers{margin-top:18px}.hydration-containers h3{font-size:.86rem}.hydration-containers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hydration-containers h3{grid-column:1/-1}.hydration-containers form{margin:0}.hydration-containers button{width:100%;min-height:82px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:3px 9px;padding:11px;border:1px solid var(--border);border-radius:15px;background:var(--surface);color:var(--text);text-align:left;cursor:pointer}.hydration-containers .soft-icon{grid-row:1/3;margin:0}.hydration-containers small{color:var(--muted)}.hydration-custom{margin-top:14px;border-top:1px solid var(--border)}.hydration-custom>summary{min-height:48px;display:flex;align-items:center;color:var(--accent);font-weight:800;cursor:pointer}.hydration-custom form{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end}.water-log-list{display:grid}.water-log-list>article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--border)}.water-log-list>article:first-child{border-top:0}.water-log-list>article>div{display:grid}.water-log-list small{color:var(--muted)}.water-log-list details{text-align:right}.water-log-list summary{min-height:40px;display:flex;align-items:center;color:var(--accent);font-weight:750;cursor:pointer}.water-log-list details[open]{width:100%;text-align:left}.water-log-list details form{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:8px 0}.water-log-list details label{display:grid;gap:4px;font-size:.75rem}.water-log-list details input{min-width:0;min-height:42px;border:1px solid var(--border);border-radius:11px;background:var(--bg);padding:8px}.water-log-list details .button{grid-column:1/-1}.hydration-settings{margin:0}.hydration-settings>summary{min-height:42px;font-weight:800;cursor:pointer}.hydration-settings>form{display:grid;gap:10px;margin-top:14px}.quick-settings{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.quick-settings input,.container-edit input,.container-edit select,.container-new input,.container-new select{width:100%;min-width:0;min-height:42px;border:1px solid var(--border);border-radius:11px;background:var(--bg);color:var(--text);padding:8px}.container-edit{display:grid!important;grid-template-columns:1.5fr .8fr 1fr auto;gap:6px;margin:10px 0}.container-new{padding-top:14px;border-top:1px solid var(--border)}.container-new label{display:grid;gap:4px}.hydration-link-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;color:var(--text);text-decoration:none}.hydration-link-card .soft-icon{margin:0}.hydration-link-card>span:nth-child(2){display:grid}.hydration-link-card small{color:var(--muted)}
@media(min-width:900px){.hydration-layout{grid-template-columns:minmax(0,1.5fr) minmax(280px,.72fr)}.hydration-layout aside{position:sticky;top:84px}.hydration-containers{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.nutrition-tabs{grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible}.nutrition-tabs a{min-width:0}.hydration-title{align-items:stretch;flex-direction:column}.hydration-title .date-nav{width:100%;justify-content:space-between}.hydration-hero{grid-template-columns:86px minmax(0,1fr)}.hydration-ring{width:86px}.hydration-quick{grid-template-columns:repeat(2,minmax(0,1fr))}.water-quick-button{min-height:82px}.hydration-custom form{grid-template-columns:1fr 1fr}.hydration-custom button{grid-column:1/-1}.water-log-list>article:has(details[open]){align-items:stretch;flex-direction:column}.water-log-list details[open] form{grid-template-columns:1fr}.container-edit{grid-template-columns:1fr 1fr}.container-edit input:first-child{grid-column:1/-1}.container-edit button{grid-column:1/-1}}

/* Entrenamiento en vivo */
.live-workout{width:min(100%,1120px);margin:auto}.live-workout-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:22px;margin-bottom:12px;background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--lavender) 62%,var(--surface)))}.live-workout-header h1{margin:.15rem 0}.live-workout-header p{margin:0;color:var(--muted)}.session-clock{display:grid;justify-items:center;padding:8px 18px;border-left:1px solid var(--border);border-right:1px solid var(--border)}.session-clock strong{font-size:clamp(1.7rem,4vw,2.45rem);font-variant-numeric:tabular-nums;letter-spacing:-.04em}.session-clock small,.save-state{color:var(--muted);font-size:.72rem}.save-state:before{content:'✓ ';color:var(--success)}.save-state.is-saving:before{content:'○ ';color:var(--accent)}.live-header-actions{display:flex;gap:7px}.live-header-actions form{margin:0}.live-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.live-progress>div{display:grid;padding:12px 14px;border:1px solid var(--border);border-radius:15px;background:var(--surface)}.live-progress strong{font-size:1.2rem}.live-progress small{color:var(--muted)}.live-progress>span{grid-column:1/-1;height:7px;overflow:hidden;border-radius:99px;background:var(--lavender)}.live-progress i{display:block;height:100%;border-radius:inherit;background:var(--accent)}.live-paused{margin-bottom:14px}.live-exercise-list{display:grid;gap:12px}.live-exercise{position:relative;padding:18px}.live-exercise.is-complete{border-color:color-mix(in srgb,var(--success) 44%,var(--border))}.live-exercise.is-skipped{opacity:.72}.live-exercise-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-right:70px}.live-exercise-head>div{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:0 9px}.live-exercise-head h2{margin:0;font-size:1.08rem}.live-exercise-head p{grid-column:2;margin:3px 0 0;color:var(--muted);font-size:.78rem}.exercise-number{grid-row:1/3;width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:var(--lavender);color:var(--accent);font-weight:850}.state-label{padding:5px 9px;border-radius:99px;background:var(--bg);font-size:.68rem;font-weight:800}.exercise-order{position:absolute;right:17px;top:54px;display:flex}.exercise-order form{margin:0}.icon-button{width:34px;height:34px;display:grid;place-items:center;border:0;background:transparent;color:var(--muted);cursor:pointer}.set-table{display:grid;gap:6px;margin:14px 0}.set-row{border:1px solid var(--border);border-radius:12px;background:var(--bg)}.set-row summary{min-height:48px;display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:8px;padding:8px 11px;cursor:pointer;list-style:none}.set-row summary>span:nth-child(3){color:var(--muted);font-size:.82rem}.set-row summary small{color:var(--accent)}.set-check{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--sage);color:var(--success);font-weight:900}.compact-set-form{display:grid;grid-template-columns:repeat(5,minmax(70px,1fr)) auto;align-items:end;gap:7px;padding:10px;border-top:1px solid var(--border)}.compact-set-form label,.quick-set-fields label{display:grid;gap:4px;color:var(--muted);font-size:.7rem}.compact-set-form input,.quick-set-fields input{width:100%;min-width:0;height:44px;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--text);padding:8px;font-size:1rem}.empty-set-copy{margin:2px 0;color:var(--muted);font-size:.82rem}.quick-set-form{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(250px,1fr) auto;align-items:end;gap:10px;padding:14px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:15px;background:color-mix(in srgb,var(--lavender) 45%,var(--surface))}.quick-set-title{display:grid}.quick-set-title small{color:var(--muted)}.quick-set-fields{display:grid;grid-template-columns:repeat(3,minmax(68px,1fr));gap:7px}.complete-set-button{min-height:48px}.inline-save-feedback{grid-column:1/-1;color:var(--muted);font-size:.75rem}.rest-timer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:11px 13px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.rest-timer>div:first-child{display:grid}.rest-timer strong{font-size:1.6rem;font-variant-numeric:tabular-nums}.rest-timer>div:last-child{display:flex;flex-wrap:wrap;gap:4px}.rest-timer.is-finished{border-color:var(--accent);background:var(--lavender)}.exercise-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.exercise-actions form{margin:0}.add-live-exercise,.finish-workout,.workout-summary{margin-top:14px}.add-live-exercise>summary{min-height:48px;color:var(--accent);font-weight:850;cursor:pointer}.add-live-exercise>form{margin-top:14px}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.summary-grid>div{display:grid;padding:13px;border-radius:14px;background:var(--bg)}.summary-grid strong{font-size:1.35rem}.summary-grid small{color:var(--muted)}
@media(min-width:920px){.live-exercise-list{grid-template-columns:repeat(2,minmax(0,1fr))}.live-exercise{align-self:start}.finish-workout,.add-live-exercise{width:min(100%,720px);margin-left:auto;margin-right:auto}}
@media(max-width:760px){.live-workout-header{grid-template-columns:1fr auto}.live-header-actions{grid-column:1/-1}.live-header-actions>*{flex:1}.live-header-actions .button{width:100%}.session-clock{border-right:0}.quick-set-form{grid-template-columns:1fr}.compact-set-form{grid-template-columns:repeat(3,1fr)}.compact-set-form .button{grid-column:1/-1}.rest-timer{align-items:flex-start;flex-direction:column}.summary-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:430px){.live-workout-header{padding:15px;gap:10px}.session-clock{padding:5px 0 5px 10px}.session-clock strong{font-size:1.55rem}.live-progress>div{padding:10px}.live-progress small{font-size:.67rem}.live-exercise{padding:14px}.live-exercise-head{padding-right:55px}.exercise-order{right:10px;top:50px}.quick-set-fields{grid-template-columns:repeat(3,1fr)}.quick-set-form{padding:11px}.complete-set-button{width:100%}.set-row summary{grid-template-columns:auto auto 1fr}.set-row summary small{display:none}.compact-set-form{grid-template-columns:repeat(2,1fr)}.exercise-actions{display:grid;grid-template-columns:1fr 1fr}.exercise-actions form:last-child{grid-column:1/-1}.exercise-actions .button{width:100%}}
@media(max-width:340px){.live-progress{grid-template-columns:1fr}.live-progress>span{grid-column:auto}.live-exercise-head{padding-right:0}.exercise-order{position:static;justify-content:flex-end}.quick-set-fields{grid-template-columns:1fr 1fr}.quick-set-fields label:last-child{grid-column:1/-1}}
.portion-editor-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(7rem,1fr) minmax(6rem,.7fr);gap:.75rem;align-items:end}.food-result.is-archived{opacity:.68}.food-result article,.food-result>a{min-width:0}@media(max-width:560px){.portion-editor-row{grid-template-columns:1fr 1fr}.portion-editor-row .field:first-child{grid-column:1/-1}}

/* Simplificación transversal: una acción principal y opciones secundarias progresivas. */
.item-actions{position:relative;flex:0 0 auto}.item-actions>summary{display:flex;align-items:center;gap:.35rem;min-height:44px;padding:.55rem .75rem;border:1px solid var(--border);border-radius:12px;color:var(--accent-strong);font-size:.82rem;font-weight:750;cursor:pointer;list-style:none;background:var(--surface)}.item-actions>summary::-webkit-details-marker{display:none}.item-actions>summary .gemma-icon{width:1.05rem;height:1.05rem}.item-actions-menu{position:absolute;z-index:15;right:0;top:calc(100% + 6px);display:grid;min-width:10.5rem;padding:.45rem;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:0 16px 38px rgba(45,32,49,.16)}.item-actions-menu form,.item-actions-menu .button{width:100%;margin:0}.item-actions-menu .button{justify-content:flex-start;border-color:transparent}.item-actions-menu .danger-button{color:var(--danger)}
.food-result:has(.item-actions){display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem}.food-result:has(.item-actions)>a{min-width:0}.food-result:has(.item-actions) .item-actions{margin-right:.75rem}
form[aria-busy="true"] [aria-disabled="true"]{cursor:wait;opacity:.72}.button.is-loading::after{content:"";width:.85rem;height:.85rem;margin-left:.45rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:gemma-spin .7s linear infinite}@keyframes gemma-spin{to{transform:rotate(360deg)}}
@media(max-width:560px){.food-result:has(.item-actions){grid-template-columns:minmax(0,1fr) auto}.food-result:has(.item-actions) .item-actions{margin-right:.45rem}.item-actions>summary span{display:none}.item-actions>summary{width:44px;justify-content:center;padding:0}.item-actions-menu{position:fixed;left:1rem;right:1rem;top:auto;bottom:calc(var(--bottom-nav-clearance) + .5rem);min-width:0;padding:.65rem;border-radius:18px}.item-actions-menu .button{min-height:48px}}
