
/* ===== src/styles/tokens.css ===== */
/**
 * ================================================================
 * VITALIZA — src/styles/tokens.css
 * Design System v1.1 — capa única de tokens.
 *
 * Namespaced `--vt-*` para no chocar con el CSS existente durante la
 * migración. Objetivo final: que todos los componentes consuman estos
 * tokens y se retire el CSS duplicado. (Migración documentada como
 * deuda en la auditoría — additive y no rompe estilos actuales.)
 * ================================================================ */

:root {
  /* ── Marca ── */
  --vt-solar: #FF8A00;
  --vt-amber: #FFB84D;
  --vt-peach: #FFE7D5;
  --vt-sage: #9BB18A;
  --vt-ink: #2B2E34;
  --vt-cream: #F7F3EE;
  --vt-gradient: linear-gradient(160deg, #FF8A00, #FFB84D);

  /* ── Escala solar ── */
  --vt-solar-50:#FFF4E6; --vt-solar-100:#FFE4C4; --vt-solar-200:#FFD09A;
  --vt-solar-300:#FFB866; --vt-solar-400:#FF9E33; --vt-solar-500:#FF8A00;
  --vt-solar-600:#E67A00; --vt-solar-700:#B85C00; --vt-solar-800:#8F4700; --vt-solar-900:#6B3500;

  /* ── Sage ── */
  --vt-sage-50:#F0F3EC; --vt-sage-100:#DCE6D3; --vt-sage-300:#A8C193;
  --vt-sage-400:#9BB18A; --vt-sage-600:#5E7A50; --vt-sage-800:#384B31;

  /* ── Neutrales cálidos ── */
  --vt-n-0:#FFFFFF; --vt-n-25:#FFFDFB; --vt-n-50:#F7F3EE; --vt-n-100:#EFE9E1;
  --vt-n-200:#E2DAD0; --vt-n-300:#CDC3B6; --vt-n-400:#A79D90; --vt-n-500:#837A6E;
  --vt-n-600:#615A50; --vt-n-700:#47423B; --vt-n-900:#2B2E34; --vt-n-1000:#1B1D21;

  /* ── Semánticos (modo claro) ── */
  --vt-bg-canvas: #F7F3EE;
  --vt-bg-surface: #FFFDFB;
  --vt-bg-surface-alt: #EFE9E1;
  --vt-bg-warm: #FFE7D5;
  --vt-text-primary: #2B2E34;
  --vt-text-secondary: #615A50;
  --vt-text-muted: #837A6E;
  --vt-border-subtle: #E2DAD0;

  /* ── Estados ── */
  --vt-success: #5E7A50; --vt-success-bg: #F0F3EC;
  --vt-warning: #FFB84D; --vt-warning-bg: #FFF3E0; --vt-warning-fg: #7A4E0F;
  --vt-error: #C6402F;   --vt-error-bg: #FBEAE7;
  --vt-info: #3E6B89;    --vt-info-bg: #EAF0F4;

  /* ── Acción accesible (blanco sobre naranja profundo) ── */
  --vt-action: #B85C00;

  /* ── Espaciado (4pt) ── */
  --vt-space-1:2px; --vt-space-2:4px; --vt-space-3:8px; --vt-space-4:12px;
  --vt-space-5:16px; --vt-space-6:20px; --vt-space-7:24px; --vt-space-8:32px;
  --vt-space-9:40px; --vt-space-10:48px; --vt-space-11:64px;

  /* ── Radios ── */
  --vt-radius-xs:8px; --vt-radius-sm:12px; --vt-radius-md:16px;
  --vt-radius-lg:20px; --vt-radius-xl:28px; --vt-radius-2xl:36px; --vt-radius-pill:999px;

  /* ── Sombras (cálidas, suaves) ── */
  --vt-elev-card: 0 1px 2px rgba(43,46,52,.04), 0 2px 8px rgba(43,46,52,.05);
  --vt-elev-raised: 0 2px 6px rgba(43,46,52,.06), 0 8px 24px rgba(43,46,52,.07);
  --vt-elev-overlay: 0 8px 24px rgba(43,46,52,.10), 0 24px 48px rgba(43,46,52,.10);
  --vt-elev-sheet: 0 -8px 40px rgba(43,46,52,.12);

  /* ── Bordes / líneas ── */
  --vt-border-hairline:1px; --vt-border-regular:1.5px; --vt-border-strong:2px;
  --vt-stroke-icon:1.75px;

  /* ── Motion ── */
  --vt-motion-fast:120ms; --vt-motion-base:200ms; --vt-motion-slow:320ms;
  --vt-ease-standard: cubic-bezier(.2,0,0,1);
  --vt-ease-enter: cubic-bezier(0,0,.2,1);
  --vt-ease-exit: cubic-bezier(.4,0,1,1);

  /* ── Tipografía ── */
  --vt-font-display: "General Sans","Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --vt-font-text: "Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;

  /* ── Z-index ── */
  --vt-z-nav:200; --vt-z-sheet:400; --vt-z-modal:500; --vt-z-toast:600;
}

/* ── Modo oscuro ── */
:root[data-theme="dark"], .theme-dark {
  --vt-bg-canvas: #17181B;
  --vt-bg-surface: #1F2125;
  --vt-bg-surface-alt: #26282D;
  --vt-border-subtle: #34373D;
  --vt-text-primary: #F2ECE3;
  --vt-text-secondary: #B8B2A8;
  --vt-solar-500: #FF9A1F;
  --vt-success:#A8C193; --vt-warning:#FFC461; --vt-error:#E8705E; --vt-info:#7FA9C4;
}


/* ===== src/styles/visual-pack-tokens.css ===== */
/* VITALIZA — visual-pack-tokens.css
 * Additive bridge between the approved Visual Pack (design_tokens.json)
 * and the existing --vt-* system. NEW variables only — no overrides,
 * so it cannot alter the current theme. Safe to load anywhere after tokens.css.
 */
:root {
  /* Accents introduced by the Visual Pack that were not yet in --vt-* */
  --vt-rose:     #EFB5C7;
  --vt-lavender: #C9BDE8;
  --vt-warm-canvas: #F4EBDD;
  /* Aliases so components can use Visual Pack names directly */
  --vp-cream: var(--vt-cream, #F7F3EE);
  --vp-ink: var(--vt-ink, #2B2E34);
  --vp-solar: var(--vt-solar, #FF8A00);
  --vp-solar-soft: var(--vt-amber, #FFB84D);
  --vp-sage: var(--vt-sage, #AFC48F);
  --vp-rose: var(--vt-rose);
  --vp-lavender: var(--vt-lavender);
  /* Asset base path (all Visual Pack SVGs live here) */
  --vp-assets: "public/assets";
}


/* ===== src/styles/global.css ===== */
:root {
  --font-body: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-heading: "Playfair Display", Georgia, serif;
  --color-bg: #f8f2ea; --color-bg-subtle: rgba(255,255,255,.55); --color-surface: rgba(255,255,255,.70); --color-surface-hover: rgba(255,255,255,.88);
  --color-text-primary: #231f20; --color-text-secondary: rgba(35,31,32,.76); --color-text-muted: rgba(35,31,32,.55); --color-text-inverse:#fff; --color-text-on-accent:#fff;
  --color-accent: #6f8058; --color-accent-hover:#586946; --color-accent-subtle:rgba(111,128,88,.14);
  --color-border:rgba(35,31,32,.12); --color-border-subtle:rgba(35,31,32,.08); --color-border-strong:rgba(35,31,32,.22);
  --color-error:#b85e5e; --color-error-subtle:rgba(184,94,94,.12); --color-success:#5f8b5b; --color-success-subtle:rgba(95,139,91,.12);
  --space-0-5:2px; --space-1:4px; --space-1-5:6px; --space-2:8px; --space-2-5:10px; --space-3:12px; --space-4:16px; --space-5:20px; --space-6:24px; --space-7:28px; --space-8:32px;
  --text-2xs:10px; --text-xs:12px; --text-sm:14px; --text-base:16px; --text-md:18px; --text-lg:20px; --text-xl:26px; --text-2xl:34px; --text-3xl:48px;
  --weight-light:400; --weight-regular:500; --weight-medium:650; --weight-semibold:750;
  --leading-none:1; --leading-tight:1.08; --leading-snug:1.2; --leading-normal:1.4; --leading-relaxed:1.6;
  --tracking-tight:-.04em; --tracking-normal:0; --tracking-wide:.02em; --tracking-widest:.08em;
  --radius-sm:12px; --radius-md:18px; --radius-lg:24px; --radius-xl:32px; --radius-2xl:42px; --radius-full:999px;
  --border-width:1px; --border-width-lg:2px;
  --shadow-sm:0 10px 30px rgba(35,31,32,.08); --shadow-md:0 22px 60px rgba(35,31,32,.13); --shadow-lg:0 34px 100px rgba(35,31,32,.18); --shadow-accent:0 0 0 4px rgba(111,128,88,.18);
  --duration-fast:150ms; --duration-normal:230ms; --ease-smooth:cubic-bezier(.2,.8,.2,1); --content-xs:420px; --z-sticky:20;
}

*{box-sizing:border-box} html{min-height:100%;background:#f8f2ea;color:var(--color-text-primary);font-family:var(--font-body);text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased;scroll-behavior:smooth} body{min-height:100vh;margin:0;background:radial-gradient(circle at 0% 0%, rgba(255,207,189,.75), transparent 32rem),radial-gradient(circle at 100% 20%, rgba(185,215,255,.65), transparent 34rem),radial-gradient(circle at 50% 100%, rgba(199,213,162,.58), transparent 34rem),#f8f2ea} button,input,textarea,select{font:inherit} button,a{-webkit-tap-highlight-color:transparent} a{color:inherit} #app,.screen{min-height:100vh}.screen--centered{min-height:100vh;display:grid;place-items:center;padding:24px}.section-eyebrow{margin:0;color:var(--color-accent);font-size:11px;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* LANDING + DASHBOARD */
.vxp,.vxd{min-height:100vh;position:relative;overflow:hidden;color:#231f20;background:radial-gradient(circle at 50% 0%,#fff7e8 0%,#f8f2ea 38%,#eee7ff 100%);font-family:var(--font-body)} .vxp-noise{position:fixed;inset:0;pointer-events:none;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:44px 44px}.vxp-aurora{position:fixed;width:48vmax;height:48vmax;border-radius:999px;filter:blur(45px);opacity:.48;pointer-events:none;animation:vxpFloat 14s ease-in-out infinite alternate}.vxp-a1{background:#ffcfbd;top:-20vmax;left:-14vmax}.vxp-a2{background:#b9d7ff;right:-18vmax;top:12vmax;animation-delay:-5s}.vxp-a3{background:#c7d5a2;left:28%;bottom:-26vmax;animation-delay:-9s}
.vxp-header,.vxd-top{position:relative;z-index:4;display:flex;align-items:center;justify-content:space-between;padding:max(18px,env(safe-area-inset-top)) 18px 10px}.vxp-logo,.vxd-logo{color:#231f20;text-decoration:none;font-weight:950;letter-spacing:.08em}.vxp-logo span,.vxd-logo span{display:inline-grid;place-items:center;width:28px;height:28px;margin-right:4px;border-radius:10px;background:var(--vz-orange,#b5551a);color:#171817;box-shadow:0 10px 30px rgba(35,31,32,.10)}.vxp-header nav{display:flex;align-items:center;gap:8px}.vxp-header nav a,.vxp-lang,.vxd-profile{color:#231f20;text-decoration:none;font-size:13px;font-weight:850;opacity:.78;border:0;background:transparent}.vxp-pill,.vxd-profile{padding:9px 13px;border-radius:999px;background:rgba(255,255,255,.58);border:1px solid rgba(255,255,255,.55)}
.vxp-main{position:relative;z-index:2;min-height:calc(100vh - 64px);display:grid;place-items:center;padding:8px 18px 32px}.vxp-hero{width:min(100%,760px);display:grid;justify-items:center;text-align:center}.vxp-orb,.vxd-orb{width:112px;height:112px;display:grid;place-items:center;margin:8px auto 18px;border-radius:38px;background:radial-gradient(circle at 35% 20%,#fff 0 10%,transparent 28%),linear-gradient(145deg,rgba(255,255,255,.88),rgba(223,241,202,.72),rgba(199,209,255,.58));box-shadow:0 28px 70px rgba(52,57,35,.22),inset 0 1px 2px rgba(255,255,255,.8);animation:vxpBreathe 5.5s ease-in-out infinite}.vxp-orb span,.vxd-orb{font-size:42px}.vxp-signal,.vxd-signal{margin:0 0 12px;padding:9px 14px;border:1px solid rgba(255,255,255,.62);background:rgba(255,255,255,.46);border-radius:999px;backdrop-filter:blur(18px);color:rgba(35,31,32,.68);font-size:13px;font-weight:850}.vxp h1,.vxd h1{margin:0;max-width:760px;font-family:var(--font-heading);font-size:clamp(52px,12vw,96px);line-height:.9;letter-spacing:-.065em}.vxp-sub,.vxd-hero p{max-width:620px;margin:18px auto 0;color:rgba(35,31,32,.64);font-size:clamp(16px,4.5vw,20px);line-height:1.5}
.vxp-vita,.vxd-card,.vxd-share,.vxd-tile{background:rgba(255,255,255,.56);border:1px solid rgba(255,255,255,.66);box-shadow:0 30px 80px rgba(46,35,25,.16);backdrop-filter:blur(24px)}.vxp-vita{width:min(100%,640px);margin:28px auto 0;padding:18px;border-radius:34px;text-align:left}.vxp-vita-top{display:flex;align-items:center;gap:12px}.vxp-vita-avatar{width:44px;height:44px;display:grid;place-items:center;border-radius:16px;background:var(--vz-orange,#b5551a);color:#171817;font-family:var(--font-heading);font-size:22px}.vxp-vita-top strong{display:block;font-size:15px}.vxp-vita-top small{display:block;color:rgba(35,31,32,.55);margin-top:2px}.vxp-vita-text{margin:16px 0 0;font-size:18px;line-height:1.45}.vxp-cards{display:grid;gap:10px;margin-top:16px}.vxp-cards article{display:grid;grid-template-columns:42px 1fr;column-gap:10px;padding:12px;border-radius:22px;background:rgba(248,242,234,.78);border:1px solid rgba(35,31,32,.06)}.vxp-cards span{grid-row:span 2;width:42px;height:42px;display:grid;place-items:center;border-radius:16px;background:white;font-size:22px}.vxp-cards p{margin:2px 0 0;color:rgba(35,31,32,.58);font-size:13px}.vxp-actions{width:min(100%,640px);display:grid;gap:10px;margin-top:18px}.vxp-primary,.vxp-secondary,.vxd-pro{min-height:58px;display:grid;place-items:center;border-radius:999px;border:0;text-decoration:none;font:inherit;font-weight:950;font-size:16px;cursor:pointer}.vxp-primary,.vxd-pro{color:white;background:linear-gradient(135deg,#252120,#596846);box-shadow:0 18px 40px rgba(35,31,32,.22)}.vxp-secondary{color:#231f20;background:rgba(255,255,255,.56);border:1px solid rgba(255,255,255,.66);backdrop-filter:blur(18px)}
.vxp-share-card,.vxd-share{width:min(100%,640px);margin-top:18px;padding:18px;border-radius:30px;background:linear-gradient(135deg,rgba(255,255,255,.62),rgba(255,239,218,.56));border:1px solid rgba(255,255,255,.62);box-shadow:0 20px 60px rgba(35,31,32,.10)}.vxp-share-card small,.vxd-share small{display:block;color:#6f8058;font-size:12px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.vxp-share-card p,.vxd-share p{margin:8px 0 14px;font-family:var(--font-heading);font-size:24px;line-height:1.15}.vxp-share-card button,.vxd-share button{border:0;padding:10px 14px;border-radius:999px;background:rgba(35,31,32,.08);color:#231f20;font-weight:850}
.vxd{padding-bottom:40px}.vxd-hero{text-align:center;padding:0 18px 14px}.vxd-feed{width:min(100% - 24px, 860px);margin:0 auto;display:grid;gap:14px}.vxd-card,.vxd-share,.vxd-tile{border-radius:32px;padding:18px;text-decoration:none;color:#231f20}.vxd-card h2{font-family:var(--font-heading);font-size:30px;line-height:1;margin:8px 0}.vxd-card p,.vxd-tile p{color:rgba(35,31,32,.62);line-height:1.45}.vxd-badge,.vxd-tile em{display:inline-flex;width:max-content;padding:7px 10px;border-radius:999px;background:rgba(111,128,88,.14);color:#50613e;font-size:11px;font-style:normal;font-weight:950;letter-spacing:.08em}.vxd-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:14px}.vxd-actions a{padding:13px 14px;border-radius:18px;background:rgba(255,255,255,.64);text-decoration:none;font-weight:850}.vxd-grid{display:grid;gap:14px}.vxd-tile span{font-size:28px}.vxd-tile strong{display:block;margin-top:8px;font-size:18px}.vxd-tile.locked{background:rgba(255,255,255,.42)}
@media (min-width:760px){.vxp-header,.vxd-top{padding:26px 42px 10px}.vxp-cards{grid-template-columns:repeat(3,1fr)}.vxp-cards article{grid-template-columns:1fr;text-align:center;justify-items:center}.vxp-cards span{grid-row:auto}.vxp-actions{grid-template-columns:1.2fr .9fr}.vxd-grid{grid-template-columns:repeat(2,1fr)}.vxd-actions{grid-template-columns:repeat(3,1fr)}}

/* AUTH */
.authx{min-height:100vh;position:relative;display:grid;place-items:center;padding:24px;overflow:hidden;background:radial-gradient(circle at 20% 10%,rgba(255,207,189,.76),transparent 28rem),radial-gradient(circle at 90% 20%,rgba(185,215,255,.65),transparent 30rem),radial-gradient(circle at 50% 100%,rgba(199,213,162,.58),transparent 30rem),#f8f2ea}.authx-bg{position:fixed;inset:0;pointer-events:none}.authx-card{position:relative;width:min(100%,440px);padding:28px;border-radius:38px;background:rgba(255,255,255,.66);border:1px solid rgba(255,255,255,.70);box-shadow:0 34px 100px rgba(35,31,32,.18);backdrop-filter:blur(28px)}.authx-back{display:inline-flex;margin-bottom:18px;color:rgba(35,31,32,.62);text-decoration:none;font-size:13px;font-weight:850}.authx-orb{width:68px;height:68px;display:grid;place-items:center;margin:0 auto 16px;border-radius:24px;background:radial-gradient(circle at 30% 20%,white 0 12%,transparent 32%),linear-gradient(145deg,rgba(255,255,255,.86),rgba(219,236,201,.7),rgba(204,211,255,.54));box-shadow:0 20px 60px rgba(35,31,32,.16);font-size:30px}.authx-kicker{margin:0;text-align:center;color:var(--color-accent);font-size:11px;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.authx h1{margin:8px 0 10px;text-align:center;font-family:var(--font-heading);font-size:clamp(34px,9vw,48px);line-height:.95;letter-spacing:-.04em}.authx-sub{margin:0 auto 24px;max-width:330px;text-align:center;color:var(--color-text-muted);line-height:1.5}.authx-form{display:grid;gap:14px}.authx-form label{display:grid;gap:7px;color:var(--color-text-secondary);font-size:13px;font-weight:850}.authx-form input:not([type="checkbox"]){width:100%;min-height:54px;border:1px solid rgba(35,31,32,.10);border-radius:18px;padding:0 16px;background:rgba(255,255,255,.74);color:var(--color-text-primary);outline:none}.authx-form input:focus{box-shadow:var(--shadow-accent);border-color:rgba(111,128,88,.38)}.authx-check{display:flex!important;align-items:center;gap:10px!important}.authx-check input{width:20px;height:20px;accent-color:var(--color-accent)}.authx-form button,.authx-oauth{min-height:56px;border:0;border-radius:999px;font-weight:950;cursor:pointer}.authx-form button{margin-top:4px;color:white;background:linear-gradient(135deg,#231f20,#596846);box-shadow:0 18px 40px rgba(35,31,32,.20)}.authx-form button:disabled{opacity:.55;cursor:wait}.authx-oauth{width:100%;margin-top:14px;background:rgba(255,255,255,.56);border:1px solid rgba(35,31,32,.08);color:var(--color-text-primary)}.authx-error,.authx-success{margin-top:14px;padding:12px 14px;border-radius:18px;font-size:13px;line-height:1.4}.authx-error{background:var(--color-error-subtle);color:var(--color-error)}.authx-success{background:var(--color-success-subtle);color:var(--color-success)}.authx-foot{margin:18px 0 0;text-align:center;color:var(--color-text-muted);font-size:14px}.authx-foot a{color:var(--color-text-primary);font-weight:950;text-decoration:none}
@keyframes vxpFloat{to{transform:translate3d(4vw,-3vh,0) scale(1.08)}}@keyframes vxpBreathe{0%,100%{transform:translateY(0) scale(1);border-radius:38px}50%{transform:translateY(-8px) scale(1.035);border-radius:44px}}@keyframes vxpRise{from{transform:translateY(18px);opacity:0}to{transform:translateY(0);opacity:1}}
/* Estado local-first: visible y honesto sin competir con el Inicio aprobado. */
.vitaliza-data-mode {
  box-sizing: border-box;
  width: max-content;
  max-width: calc(100% - 24px);
  margin: 8px auto 0;
  padding: 7px 12px;
  border: 1px solid rgba(49, 44, 38, .10);
  border-radius: 999px;
  background: rgba(255, 252, 247, .86);
  color: #756d63;
  font: 600 10.5px/1.3 'DM Sans', sans-serif;
  text-align: center;
}
[data-theme="dark"] .vitaliza-data-mode{background:#2b2520!important;color:#f4e9dc!important;border-color:#5c4b3d!important}

/* Sin hora exacta no se muestran casas solares aproximadas como si fueran natales. */
.ser-houses:not(:has(article)) { display: none; }
.ser-planet-card h4 em { font: 700 10px/1 'DM Sans', sans-serif; color: var(--vz-muted, #756d63); white-space: nowrap; }


/* ===== src/styles/vitaliza-theme.css ===== */
/* ================================================================
 * VITALIZA — vitaliza-theme.css
 * Capa de tema que reapunta TODA la app al Design System v1.1
 * (solar #FF8A00 · General Sans · crema · tarjetas suaves).
 *
 * Se carga DESPUÉS de global.css/components.css y sobrescribe la
 * paleta verde/serif anterior sin tocar la estructura ni la lógica.
 * ================================================================ */

:root {
  /* ── Marca ── */
  --color-bg: #F7F3EE;
  --color-bg-subtle: rgba(255,253,251,.60);
  --color-surface: rgba(255,253,251,.82);
  --color-surface-hover: rgba(255,253,251,.95);
  --color-text-primary: #2B2E34;
  --color-text-secondary: rgba(43,46,52,.74);
  --color-text-muted: rgba(43,46,52,.55);
  --color-text-on-accent: #2B2E34;           /* ink sobre naranja (accesible) */

  /* Acento = solar (antes era verde) */
  --color-accent: #FF8A00;
  --color-accent-hover: #E67A00;
  --color-accent-subtle: rgba(255,138,0,.14);

  --color-border: rgba(43,46,52,.12);
  --color-border-subtle: rgba(43,46,52,.07);
  --color-border-strong: rgba(43,46,52,.22);

  --color-success: #5E7A50; --color-success-subtle: rgba(94,122,80,.14);
  --color-error:   #C6402F; --color-error-subtle:   rgba(198,64,47,.12);

  /* Tipografía del Design System */
  --font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-heading: "General Sans", "Inter", system-ui, -apple-system, sans-serif;

  --shadow-sm: 0 1px 2px rgba(43,46,52,.04), 0 8px 24px rgba(43,46,52,.06);
  --shadow-md: 0 2px 8px rgba(43,46,52,.06), 0 18px 48px rgba(43,46,52,.10);
  --shadow-lg: 0 8px 24px rgba(43,46,52,.10), 0 34px 90px rgba(43,46,52,.14);
  --shadow-accent: 0 0 0 4px rgba(255,138,0,.18);

  --vt-grad: linear-gradient(135deg,#FF8A00,#FFB84D);
}

/* Fondo cálido de marca (reemplaza los orbes verde/azul) */
html { background: #F7F3EE; color: var(--color-text-primary); }
body {
  background:
    radial-gradient(circle at 0% 0%,   rgba(255,184,77,.34),  transparent 32rem),
    radial-gradient(circle at 100% 12%, rgba(255,231,213,.60), transparent 34rem),
    radial-gradient(circle at 50% 100%, rgba(155,177,138,.22), transparent 34rem),
    #F7F3EE;
}
.vxp, .vxd { background: radial-gradient(circle at 50% 0%, #FFF3E2 0%, #F7F3EE 42%, #FBEFE1 100%); }

/* Auroras de fondo → cálidas (antes rosa/azul/verde) */
.vxp-a1 { background: #FFB84D; }
.vxp-a2 { background: #FFE7D5; }
.vxp-a3 { background: #9BB18A; }

/* Botones primarios → gradiente solar + texto ink (accesible) */
.vxp-primary, .vxd-pro, .authx-form button, .osb-primary,
button.primary, .btn-primary, .vui-button.primary {
  background: var(--vt-grad) !important;
  color: #2B2E34 !important;
  box-shadow: 0 14px 34px rgba(230,122,0,.24) !important;
}
/* Acciones pequeñas verdes → naranja */
.vxp-form button, .vxp-starters button {
  background: #FF8A00 !important; color: #2B2E34 !important;
}
.vxp-starters button { background: rgba(255,138,0,.13) !important; color: #B85C00 !important; }

/* Badges / píldoras verdes → cálidas */
.vxd-badge, .vxd-tile em, .section-eyebrow, .authx-kicker,
.vxp-share-card small, .vxd-share small {
  color: #C56A00 !important;
}
.vxd-badge, .vxd-tile em { background: rgba(255,138,0,.14) !important; }

/* Avatares/orbes de VITALIZA → símbolo maestro oficial */
.vxp-orb, .vxd-orb, .authx-orb {
  background: url("../../public/brand/isotipo-color.svg?v=13.0.0") center / contain no-repeat !important;
  color: transparent !important;
  font-size: 0 !important;
  box-shadow: 0 14px 34px rgba(150,67,10,.18) !important;
}
.vxp-orb span, .vxd-orb span, .authx-orb span { font-size: 0 !important; color: transparent !important; }
.vxp-vita-avatar { background: var(--vz-orange, #b5551a) !important; color: #171817 !important; }

/* Foco de inputs → naranja */
.authx-form input:focus { box-shadow: var(--shadow-accent) !important; border-color: rgba(255,138,0,.45) !important; }

/* ================================================================
 * PERFIL · ONBOARDING · AJUSTES · SUSCRIPCIÓN (osp/osb/oss)
 * Estas pantallas traían verde #6f8058 + gradiente #231f20→#596846.
 * Se reapuntan al Design System (solar + ink) sin tocar su estructura.
 * ================================================================ */

/* Orbes de Perfil/Onboarding/Ajustes → símbolo maestro oficial */
.osp-orb, .osb-orb, .oss-orb {
  background: url("../../public/brand/isotipo-color.svg?v=13.0.0") center / contain no-repeat !important;
  box-shadow: 0 14px 34px rgba(150,67,10,.18) !important;
}
.osp-orb span, .osb-orb span, .oss-orb span { font-size: 0 !important; color: transparent !important; }

/* Kickers verdes → solar */
.osp-kicker, .osb-kicker, .oss-kicker { color: #C56A00 !important; }

/* Botones primarios → gradiente solar + texto ink (accesible WCAG AA) */
.osp-primary, .osb-primary, .osp-form button, .oss button {
  background: linear-gradient(135deg,#FF8A00,#FFB84D) !important;
  color: #2B2E34 !important;
  box-shadow: 0 14px 34px rgba(230,122,0,.24) !important;
}

/* Barra de progreso del onboarding → solar */
.osb-progress i { background: linear-gradient(90deg,#FF8A00,#FFB84D) !important; }

/* Checks y objetivos → solar */
.osb-check input { accent-color: #FF8A00 !important; }
.osb-goals button.active {
  background: linear-gradient(135deg,#FF8A00,#FFB84D) !important;
  color: #2B2E34 !important;
}

/* Foco de inputs en estas pantallas → naranja */
.osp-form input:focus, .osp-form select:focus,
.osb-card input:focus, .osb-card select:focus {
  border-color: rgba(255,138,0,.5) !important;
  box-shadow: 0 0 0 4px rgba(255,138,0,.14) !important;
}

/* Suscripción — plan destacado en cálido ink (antes verde) */
.oss-plans article.featured {
  background: linear-gradient(145deg, #2B2E34, #6B4A1E) !important; color: #fff !important;
}
.oss-plans span { color: #C56A00 !important; }

/* Mensajes de éxito mantienen sage (coherente con --color-success) */

/* ================================================================
 * ENERGÍA DEL DÍA — tarjeta de cielo aplicado en el Dashboard.
 * El cielo se ve (bello, simple, útil), pero no abruma.
 * ================================================================ */
.vxd-sky{display:flex;gap:16px;align-items:center;padding:18px;border-radius:24px;
  background:linear-gradient(135deg, rgba(255,231,213,.7), rgba(255,253,251,.9));
  border:1px solid rgba(255,138,0,.18);box-shadow:0 16px 44px rgba(230,122,0,.12)}
.vxd-sky-moon{flex:none;width:58px;height:58px;display:grid;place-items:center;border-radius:20px;
  background:radial-gradient(circle at 30% 25%, #FFF3E2, #FFE7D5);font-size:30px;box-shadow:0 8px 22px rgba(230,122,0,.16)}
.vxd-sky-body{display:grid;gap:3px;min-width:0}
.vxd-sky-body small{color:#C56A00;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.vxd-sky-body strong{font-family:var(--font-heading,General Sans),Inter,sans-serif;font-weight:600;font-size:16px;color:#2B2E34;line-height:1.2}
.vxd-sky-body p{margin:2px 0 4px;color:var(--color-text-secondary,rgba(43,46,52,.72));font-size:14px;line-height:1.45}
.vxd-sky-body a{color:#C56A00;text-decoration:none;font-weight:700;font-size:13px}

/* ================================================================
 * "Lo que VITALIZA preparó para hoy" — el Dashboard como centro real de
 * VITALIZA: no tiles genéricas, sino el trabajo que agenda/freezer/journal
 * ya hicieron, resumido y accionable en una sola mirada.
 * ================================================================ */
.vxd-prepared{display:grid;gap:10px;padding:4px 2px}
.vxd-prepared>small{display:block;padding:0 4px;color:#6f8058;font-size:11px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.vxd-prepared-items,.vxd-prepared #vxd-prepared-items{display:grid;gap:10px}
.vxd-prepared-item{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:start;padding:14px 16px;
  border-radius:22px;background:rgba(255,253,251,.72);border:1px solid rgba(255,138,0,.16);
  box-shadow:0 10px 28px rgba(230,122,0,.08)}
.vxd-prepared-item span{width:40px;height:40px;display:grid;place-items:center;border-radius:14px;
  background:rgba(255,231,213,.6);font-size:19px}
.vxd-prepared-item p{margin:0 0 6px;color:#2B2E34;font-size:14px;line-height:1.45}
.vxd-prepared-item a{color:#C56A00;text-decoration:none;font-weight:700;font-size:12.5px}
html[data-theme="dark"] .vxd-prepared-item{background:rgba(35,31,32,.55);border-color:rgba(255,184,77,.18)}
html[data-theme="dark"] .vxd-prepared-item p{color:#F3EFE9}

/* Notas dentro de las tiles: lo que VITALIZA ya sabe, no un ícono decorativo */
.vxd-tile-note{display:inline-flex;margin-top:8px;padding:4px 9px;border-radius:999px;
  background:rgba(255,138,0,.14);color:#A85A22;font-size:11px;font-weight:800}

/* Memoria proactiva — VITALIZA abre el día sabiendo lo de ayer.
   Es el corazón emocional del Dashboard: más grande, más aire, respira al aparecer. */
.vxd-greeting{margin:14px auto 10px;max-width:30ch;font-family:var(--font-heading,General Sans),Inter,sans-serif;
  font-weight:500;font-size:clamp(19px,5.2vw,25px);line-height:1.36;color:#A85A22;letter-spacing:-.015em;
  animation:vxdGreet .7s cubic-bezier(.2,.8,.2,1) both}
html[data-theme="dark"] .vxd-greeting{color:#FFB84D}
@keyframes vxdGreet{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
/* Un poco más de aire alrededor del héroe del día */
.vxd-hero h1{margin-bottom:2px}

/* ================================================================
 * MODO NOCHE — refugio cálido. Aditivo: solo actúa con data-theme="dark",
 * así el modo claro (probado y estable) queda intacto. El sol naranja se
 * mantiene: brilla aún más sobre el fondo oscuro.
 * ================================================================ */
html[data-theme="dark"] {
  --color-bg: #17140F;
  --color-bg-subtle: rgba(34,29,24,.6);
  --color-surface: rgba(40,34,28,.82);
  --color-surface-hover: rgba(52,44,36,.95);
  --color-text-primary: #F3ECE3;
  --color-text-secondary: rgba(243,236,227,.74);
  --color-text-muted: rgba(243,236,227,.52);
  --color-border: rgba(243,236,227,.14);
  --color-border-subtle: rgba(243,236,227,.08);
  --color-border-strong: rgba(243,236,227,.24);
  --color-text-on-accent: #2B2E34;   /* ink sobre naranja sigue legible */
}
html[data-theme="dark"] { background: #17140F; }
html[data-theme="dark"] body {
  background:
    radial-gradient(circle at 0% 0%,   rgba(255,138,0,.12),  transparent 32rem),
    radial-gradient(circle at 100% 12%, rgba(255,184,77,.08), transparent 34rem),
    #17140F !important;
  color: var(--color-text-primary);
}

/* Fondos de página → noche */
html[data-theme="dark"] .vxp, html[data-theme="dark"] .vxd,
html[data-theme="dark"] .vcy, html[data-theme="dark"] .vnt,
html[data-theme="dark"] .vsoul, html[data-theme="dark"] .brz,
html[data-theme="dark"] .ob, html[data-theme="dark"] .osp,
html[data-theme="dark"] .osb, html[data-theme="dark"] .oss,
html[data-theme="dark"] .authx, html[data-theme="dark"] .screen,
html[data-theme="dark"] .lib-page, html[data-theme="dark"] .recipes-screen,
html[data-theme="dark"] .planner-page, html[data-theme="dark"] .brz-entry, html[data-theme="dark"] .brz-libview {
  background: radial-gradient(circle at 8% 0%, rgba(255,138,0,.10), transparent 30rem), #17140F !important;
}

/* Tarjetas, héroes, tiles, secciones → superficie noche */
html[data-theme="dark"] [class*="-card"],
html[data-theme="dark"] [class*="-hero"],
html[data-theme="dark"] [class*="-tile"],
html[data-theme="dark"] .pv-sec, html[data-theme="dark"] .pv-card,
html[data-theme="dark"] .ob-card, html[data-theme="dark"] .osp-card,
html[data-theme="dark"] .vcy-hero, html[data-theme="dark"] .vcy-card,
html[data-theme="dark"] .vnt-hero, html[data-theme="dark"] .vnt-card,
html[data-theme="dark"] .vsoul-hero, html[data-theme="dark"] .vsoul-block, html[data-theme="dark"] .vsoul-natal,
html[data-theme="dark"] .brz-hero, html[data-theme="dark"] .brz-end-card,
html[data-theme="dark"] .vxd-sky, html[data-theme="dark"] .pln-today {
  background: var(--color-surface) !important;
  border-color: var(--color-border) !important;
  box-shadow: 0 20px 60px rgba(0,0,0,.4) !important;
}

/* Superficies blancas (inputs, chips, píldoras) → noche */
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea,
html[data-theme="dark"] [class*="-chip"],
html[data-theme="dark"] [class*="-mood"],
html[data-theme="dark"] [class*="-goal"],
html[data-theme="dark"] [class*="-need"],
html[data-theme="dark"] [class*="-tech"],
html[data-theme="dark"] [class*="-sym"],
html[data-theme="dark"] .ob-toggle, html[data-theme="dark"] .pv-chip, html[data-theme="dark"] .brz-item {
  background: rgba(40,34,28,.9) !important;
  color: var(--color-text-primary) !important;
  border-color: var(--color-border) !important;
}
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder { color: rgba(243,236,227,.4); }

/* El acento solar y sus botones se mantienen (ink sobre naranja es legible). */
html[data-theme="dark"] .ob-error { background: rgba(198,64,47,.18) !important; color: #F3B4A8 !important; }

/* Success mantiene sage; error cálido ya redefinido arriba */


/* ===== src/styles/unify.css ===== */
/* ============================================================
 * VITALIZA — unify.css
 * Sistema visual COMPARTIDO. Lleva todas las pantallas al lenguaje
 * de la Home/referencia: lienzo crema plano, tipografía, colores
 * solares, controles de formulario, bordes, aire, transiciones,
 * estados y presencia de VITALIZA. Se carga al final para unificar sin
 * reescribir el markup de cada pantalla. Las pantallas ya diseñadas
 * conservan sus componentes (mayor especificidad inline).
 * ============================================================ */

/* 1 · Lienzo plano cálido de la referencia (reemplaza el fondo con blobs) */
html, body {
  background: var(--vt-bg-canvas, #F7F3EE) !important;
  color: var(--vt-text-primary, #2B2E34);
  font-family: var(--vt-font-text, 'Inter', system-ui, -apple-system, sans-serif);
}
/* Neutraliza texturas/auroras/ruido del sistema anterior */
.vxp-noise, .vxp-aurora, .authx-bg { display: none !important; }
.vxp, .vxd, .authx, .vxp-main, .osp, .screen {
  background: var(--vt-bg-canvas, #F7F3EE) !important;
}

/* 2 · Tipografía y jerarquía compartidas */
h1, h2, h3, legend {
  font-family: var(--vt-font-display, 'General Sans', Georgia, 'Times New Roman', serif);
  color: var(--vt-text-primary, #2B2E34);
}
/* Atenúa los títulos gigantes del sistema viejo a la escala de la referencia */
.vxp h1, .vxd h1, .authx h1 {
  font-size: clamp(30px, 8vw, 42px) !important;
  line-height: 1.05 !important;
  letter-spacing: -.01em !important;
}

/* 3 · La acción principal es SOLAR (retinta el verde oscuro del sistema viejo) */
.vxp-primary, .vxd-pro, .authx-form button, .authx-oauth,
.osp-primary, .pv-save {
  background: linear-gradient(135deg, var(--vt-solar, #FF8A00), var(--vt-amber, #FFB84D)) !important;
  color: #fff !important;
  border: none !important;
}
.vxp-vita-avatar { background: var(--vz-orange, #b5551a) !important; color: #171817 !important; }
a { color: inherit; }

/* 4 · Controles de formulario coherentes (levanta las pantallas "HTML viejas") */
input:not([type=checkbox]):not([type=radio]):not([type=range]),
select, textarea {
  font: inherit;
  color: var(--vt-text-primary, #2B2E34);
  background: var(--vt-bg-surface, #FFFDFB);
  border: 1px solid var(--vt-border-subtle, #E2DAD0);
  border-radius: var(--vt-radius-md, 14px);
  padding: 12px 14px;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}
input:focus, select:focus, textarea:focus {
  border-color: var(--vt-solar, #FF8A00);
  box-shadow: 0 0 0 3px rgba(255, 138, 0, .15);
}
input[type=checkbox], input[type=radio] { accent-color: var(--vt-solar, #FF8A00); }
fieldset { border: none; padding: 0; margin: 0 0 22px; }
legend { font-size: 17px; font-weight: 600; margin-bottom: 10px; padding: 0; }
label { color: var(--vt-text-secondary, #615A50); font-size: 14px; }

/* 5 · Superficies y bordes suaves coherentes para contenedores comunes */
.osp-card, .authx-card, .vxp-vita, .vxd-card, .vxd-share, .vxd-tile, .pv-card {
  border-radius: var(--vt-radius-xl, 22px) !important;
  box-shadow: 0 8px 30px rgba(43, 46, 52, .08) !important;
}

/* 6 · Transiciones globales suaves */
a, button { transition: opacity .2s ease, transform .2s ease, background-color .2s ease; }
button { cursor: pointer; }

/* 7 · Presencia de VITALIZA: acceso flotante en todas las pantallas */

/* Navegación compartida: la Home conserva su versión propia; el resto usa ésta. */
.global-app-nav{
  position:fixed;left:50%;bottom:0;transform:translateX(-50%);z-index:var(--vt-z-nav,200);
  width:min(100%,760px);min-height:72px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));
  display:grid;grid-template-columns:repeat(5,1fr);align-items:end;
  background:rgba(255,253,251,.94);border-top:1px solid var(--vt-border-subtle,#E2DAD0);
  box-shadow:0 -10px 34px rgba(43,46,52,.07);backdrop-filter:blur(18px);
}
.global-app-nav.global-nav-hidden{display:none}
.global-app-nav a{min-width:0;display:grid;justify-items:center;gap:4px;text-decoration:none;color:var(--vt-text-muted,#837A6E);font-size:10px;font-weight:650}
.global-app-nav a>img{width:23px;height:23px;opacity:.72}
.global-app-nav a.active{color:var(--vt-solar,#FF8A00)}
.global-app-nav a.active>img{opacity:1}
.global-app-nav .global-nav-vita{align-self:center;transform:translateY(-15px);width:62px;height:62px;justify-self:center;border:4px solid var(--vt-bg-canvas,#F7F3EE);border-radius:50%;background:#FBF3E8;box-shadow:0 7px 22px rgba(255,138,0,.28);place-items:center}
.global-app-nav .global-nav-vita>img{width:42px;height:42px;opacity:1}
html[data-theme="dark"] .global-app-nav{background:rgba(31,33,37,.94);border-color:#34373D}
html[data-theme="dark"] .global-app-nav .global-nav-vita{background:#2A2520;border-color:#17181B}

/* 8 · Estados vacíos coherentes */
.empty-state, .pv-empty, .vt-empty {
  text-align: center; color: var(--vt-text-muted, #837A6E);
  padding: 36px 16px; line-height: 1.5;
}
.vxp-legal{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 18px;margin:24px 0 6px;color:var(--vt-text-muted,#837A6E);font-size:12px}.vxp-legal a{text-decoration:none}.vxp-legal a:hover{text-decoration:underline}


/* Auth: acciones secundarias coherentes y sin apariencia HTML nativa */
.authx-guest{
  width:100%;min-height:50px;margin-top:10px;border:1px solid var(--vt-border-subtle,#E2DAD0);
  border-radius:999px;background:transparent;color:var(--vt-text-primary,#2B2E34);
  font:inherit;font-size:14px;font-weight:800;cursor:pointer;
}
.authx-guest:hover{background:rgba(255,255,255,.62)}
.authx-oauth{display:flex;align-items:center;justify-content:center;gap:10px}
.authx-orb,.osp-orb,.osb-orb,.oss-orb{overflow:hidden}


/* ===== src/styles/premium-v11.css ===== */

/* VITALIZA 1.1 — capa visual premium estable */
:root{
 --v-ivory:#fbf7f1;--v-surface:rgba(255,253,249,.94);--v-ink:#25272b;--v-muted:#746d64;
 --v-orange:#ff8a00;--v-orange-soft:#ffe2bd;--v-sage:#dce7cc;--v-green:#5c873f;
 --v-lilac:#ded7f2;--v-pink:#f5cee0;--v-line:#e9dfd3;--v-shadow:0 12px 34px rgba(85,63,38,.09);
 --v-serif:"Cormorant Garamond","Playfair Display",Georgia,serif;--v-sans:"DM Sans","Inter",system-ui,sans-serif;
}
html,body{background:var(--v-ivory)!important;color:var(--v-ink);font-family:var(--v-sans);}
body{margin:0;min-height:100dvh;background:radial-gradient(circle at 50% -10%,#fff 0,#fbf7f1 45%,#f7f0e7 100%)!important;}
#app{min-height:100dvh}.screen,.vcy,.vnt,.brz,.vsoul,.com,.journal-page{box-sizing:border-box;}
.v-premium-page{max-width:460px;margin:0 auto;padding:16px 18px 112px;min-height:100dvh;}
.v-premium-head{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;margin:4px 0 22px;}
.v-premium-head h1{font-family:var(--v-serif);font-size:36px;font-weight:500;text-align:center;margin:0;letter-spacing:-.02em;}
.v-icon-btn{width:42px;height:42px;border:1px solid var(--v-line);border-radius:50%;background:rgba(255,255,255,.68);display:grid;place-items:center;color:var(--v-ink);font-size:23px;text-decoration:none;box-shadow:0 5px 16px rgba(80,60,40,.05);}
.v-card{background:var(--v-surface);border:1px solid rgba(231,219,205,.9);border-radius:24px;box-shadow:var(--v-shadow);padding:22px;margin:0 0 14px;backdrop-filter:blur(12px);}
.v-eyebrow{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--v-muted);font-weight:700;margin:0 0 8px;}
/* Token editorial canónico (serif) — usar en títulos y momentos emocionales.
   Gana con !important a la regla global h1/h2/h3 (que fuerza sans en unify.css).
   Para contenido funcional (controles, formularios) NO usar esta clase: hereda sans. */
.v-title-serif,.v-editorial{font-family:var(--v-serif,"Cormorant Garamond","Playfair Display",Georgia,serif)!important;font-weight:500;letter-spacing:-.02em;}
.v-pill{display:inline-flex;align-items:center;padding:9px 14px;border-radius:999px;background:var(--v-sage);color:#43652f;font-size:14px;font-weight:650;}
.v-bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,460px);height:76px;padding:7px 8px calc(7px + env(safe-area-inset-bottom));background:rgba(255,253,249,.94);border-top:1px solid var(--v-line);display:grid;grid-template-columns:repeat(5,1fr);z-index:99;backdrop-filter:blur(18px);box-sizing:border-box;}
.v-bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;color:#8a8176;font-size:11px}.v-bottom-nav a.active{color:var(--v-orange)}
.v-bottom-nav .v-main{width:58px;height:58px;border-radius:50%;justify-self:center;align-self:start;transform:translateY(-17px);background:#fff7ed;border:1px solid #ffd4a3;box-shadow:0 8px 24px rgba(255,138,0,.24);font-size:26px;color:var(--v-orange)}
/* Dashboard closer to the approved visual */
.home{max-width:460px!important;padding-top:12px!important;background:transparent!important}.home-word{font-family:var(--v-serif)!important;font-size:42px!important}.organism{max-width:365px!important;margin-top:14px!important}.vita-actions{display:none!important}.vita-card,.moment-card,.phrase-card{border:1px solid var(--v-line)!important;box-shadow:var(--v-shadow)!important;background:var(--v-surface)!important}.vita-msg{font-family:var(--v-serif);font-size:24px!important}.bottom-nav{background:rgba(255,253,249,.95)!important;backdrop-filter:blur(16px);}
/* Prevent raw-page failures from ever looking unstyled */
.vsoul,.com,.brz,.vnt,.vcy{max-width:460px;margin:0 auto;min-height:100dvh;background:transparent;color:var(--v-ink)}
@media(min-width:780px){.v-premium-page,.home,.vcy,.vnt,.brz,.vsoul,.com{border-left:1px solid rgba(230,220,208,.6);border-right:1px solid rgba(230,220,208,.6)}}

/* ================================================================
   CIERRE VISUAL SISTÉMICO — reemplaza la whitelist de clases por raíz.
   ================================================================
   Antes esta sección aplicaba el tema base (color de texto, fuente,
   fondo) solo a una lista fija de clases de página (.hab-content,
   .jrn-content, .su-page, etc.). Cada página nueva, o cualquiera cuyo
   nombre de clase no estuviera en la lista, se quedaba sin el tema base
   y aparecía "cruda" (zonas negras/sin estilo) — se verificó que esto
   pasaba con Agenda (.ag-page), Onboarding (.ob-simple) y Profile (.osp),
   entre otras, que no estaban en ninguna de las listas existentes.
   router.js/main.js montan SIEMPRE el contenido de la ruta activa como
   un único <main> hijo directo de #app (ver APP_MOUNT_ID en main.js) —
   ese es el punto real y estable para aplicar el tema base, en vez de
   enumerar clases de página que se van a seguir desincronizando cada
   vez que se agregue una pantalla. Las clases específicas de abajo se
   mantienen SOLO para los pocos casos que no son hijos directos de
   #app (p.ej. tarjetas de receta montadas dentro de otro contenedor). */
#app > main{
  color:var(--vt-text-primary,#2B2E34);
  background:var(--v-ivory);
  font-family:var(--v-sans);
  min-height:100dvh;
  box-sizing:border-box;
}
#app > main button,#app > main input,#app > main textarea,#app > main select{font:inherit;}
#app > main :is(button,a){-webkit-tap-highlight-color:transparent}

/* Casos que no cuelgan directo de #app > main (ver comentario arriba). */
:where(.recipes-screen,.recipe-detail){
  color:var(--vt-text-primary,#2B2E34);
  font-family:var(--v-sans);
}
:where(.recipes-screen,.recipe-detail) button,
:where(.recipes-screen,.recipe-detail) input,
:where(.recipes-screen,.recipe-detail) textarea,
:where(.recipes-screen,.recipe-detail) select{font:inherit;}
:where(.recipes-screen,.recipe-detail) :is(button,a){-webkit-tap-highlight-color:transparent}

html[data-theme="dark"] body{background:#17140F;color:#F7F0E7}
html[data-theme="dark"] #app > main{background:#17140F;color:#F7F0E7}
html[data-theme="dark"] .global-app-nav{background:rgba(35,32,28,.94)!important}


/* CIERRE DE PRODUCTO 11.4.0 — accesibilidad, tactilidad y estabilidad visual */
#app > main{overflow-x:clip;padding-bottom:max(92px,calc(76px + env(safe-area-inset-bottom)))}
#app > main :is(button,[role="button"],input,select,textarea,a){box-sizing:border-box}
#app > main :is(button,[role="button"],a){touch-action:manipulation}
#app > main :is(button,[role="button"],a,input,select,textarea):focus-visible{
  outline:3px solid rgba(231,124,49,.42);outline-offset:3px;border-radius:12px;
}
#app > main :is(button,[role="button"],a){min-height:44px}
#app > main h1,#app > main h2,#app > main h3{text-wrap:balance}
#app > main p{overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){
  #app > main *,#app > main *::before,#app > main *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
}
@media(prefers-contrast:more){
  #app > main :is(.v-card,.li-context-card,.li-priority,.li-meal,.li-prepared){border-color:currentColor!important}
  #app > main :is(button,a):focus-visible{outline-width:4px}
}


/* ===== src/styles/rebuild.css ===== */
/* VITALIZA — reconstrucción visual viva y orgánica */
:root{
  --vz-cream:#fbf4e8;
  --vz-paper:#fffaf1;
  --vz-ink:#171817;
  --vz-muted:#6f6b64;
  --vz-line:rgba(39,35,29,.11);
  --vz-yellow:#f5cf55;
  --vz-yellow-soft:#f9e48a;
  --vz-sage:#9fb56b;
  --vz-sage-soft:#dbe5b9;
  --vz-pink:#efa8d6;
  --vz-pink-soft:#f6d0e8;
  --vz-blue:#a9c6ed;
  --vz-blue-soft:#dbe8fa;
  --vz-lilac:#c9b7df;
  --vz-peach:#efaa82;
  --vz-orange:#b5551a;
  --vz-orange-deep:#8c4110;
  --vz-shadow:0 22px 60px rgba(64,50,28,.10);
  --vz-shadow-soft:0 10px 30px rgba(64,50,28,.08);
  --vz-display:"Fraunces","DM Serif Display",Georgia,serif;
  --vz-sans:"DM Sans","Inter",system-ui,-apple-system,sans-serif;
}
html[data-theme="dark"]{color-scheme:light}
html,body{background:var(--vz-cream)!important;color:var(--vz-ink)!important;font-family:var(--vz-sans)!important}
body{min-height:100dvh;overflow-x:hidden}
button,input,textarea,select{font:inherit}
a{color:inherit}
#app{min-height:100dvh}
.global-app-nav,.home-nav{font-family:var(--vz-sans)!important}

/* Inicio */
.vt-home{max-width:1180px;margin:0 auto;padding:24px 28px 128px;min-height:100dvh;background:
 radial-gradient(circle at 4% 3%,rgba(245,207,85,.22),transparent 28%),
 radial-gradient(circle at 94% 18%,rgba(239,168,214,.18),transparent 25%),
 var(--vz-cream);box-sizing:border-box}
.vt-home-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}
.vt-brand{display:flex;align-items:center;gap:11px}.vt-brand-sun{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--vz-orange);font-size:25px;box-shadow:0 7px 20px rgba(181,85,26,.28)}
.vt-brand div{display:grid}.vt-brand b{font-size:18px;letter-spacing:.12em}.vt-brand small{font-size:12px;color:var(--vz-muted);margin-top:1px}
.vt-head-actions{display:flex;align-items:center;gap:14px}.vt-date{font-size:13px;color:var(--vz-muted);text-transform:capitalize}.vt-bell{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;text-decoration:none;background:rgba(255,250,241,.8);border:1px solid var(--vz-line);font-size:22px}
.vt-home-hero{display:grid;grid-template-columns:minmax(410px,.9fr) minmax(390px,1.1fr);gap:28px;align-items:stretch}
.vt-orbit-wrap,.vt-daily-card{background:rgba(255,250,241,.73);border:1px solid rgba(55,49,40,.08);border-radius:38px;box-shadow:var(--vz-shadow-soft)}
.vt-orbit-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:560px;padding:22px;overflow:visible}
.vt-orbit{width:min(100%,510px);aspect-ratio:1;position:relative;display:grid;place-items:center}
.vt-orbit::before{content:"";position:absolute;inset:18%;border-radius:50%;background:radial-gradient(circle at 36% 28%,#fffef9 0,#fff9ed 52%,#f7eddc 100%);box-shadow:inset 0 0 0 1px rgba(55,49,40,.08),0 18px 50px rgba(73,56,29,.1)}
.vt-orbit-arcs{position:absolute;inset:3%;width:94%;height:94%;overflow:visible;filter:drop-shadow(0 8px 10px rgba(44,37,26,.06));pointer-events:none}
.vt-orbit-arcs .arc{fill:none;stroke-width:31;stroke-linecap:round;transform-origin:210px 210px}
.vt-orbit-arcs .arc-yellow{stroke:var(--vz-yellow)}
.vt-orbit-arcs .arc-sage{stroke:var(--vz-sage)}
.vt-orbit-arcs .arc-pink{stroke:var(--vz-pink)}
.vt-orbit-arcs .arc-blue{stroke:var(--vz-blue)}
.vt-orbit-arcs .arc-lilac{stroke:var(--vz-lilac)}
/* Posición (left/top) llega inline desde Dashboard.js — misma fórmula matemática
   (mismo radio y ángulo que su arco) para escritorio y para cada breakpoint móvil;
   acá solo centramos el nodo exactamente sobre ese punto, sin overrides por pantalla. */
.vt-orbit-node{position:absolute;width:92px;display:grid;justify-items:center;gap:6px;text-decoration:none;z-index:3;transform:translate(-50%,-50%);transition:transform .25s ease}
.vt-orbit-node:hover{transform:translate(-50%,-50%) scale(1.06)}.vt-orbit-node span{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:5px solid var(--vz-paper);font-size:18px;box-shadow:0 8px 18px rgba(60,49,30,.13)}.vt-orbit-node b{font-size:12px;background:rgba(255,250,241,.92);border-radius:999px;padding:4px 9px;white-space:nowrap;box-shadow:0 4px 12px rgba(60,49,30,.06)}
.orb-ser span{background:var(--vz-lilac)}
.orb-ciclo span{background:var(--vz-sage)}
.orb-cocina span{background:var(--vz-pink)}
.orb-agenda span{background:var(--vz-blue)}
.orb-journal span{background:var(--vz-yellow)}
.vt-orbit-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:6;width:38%;aspect-ratio:1;border:0;border-radius:50%;background:transparent;display:grid;place-content:center;text-align:center;cursor:pointer;color:var(--vz-ink);transition:transform .2s ease;touch-action:manipulation}
.vt-orbit-center:hover{transform:translate(-50%,-50%) scale(1.035)}
.vt-orbit-center:active{transform:translate(-50%,-50%) scale(.97)}
.vt-orbit-center:focus-visible{outline:2px solid var(--vz-ink);outline-offset:6px}
.vt-orbit-center .vt-vita-mark{width:58px;height:58px;border-radius:50%;background:var(--vz-orange);color:var(--vz-ink);display:grid;place-items:center;margin:0 auto 8px;font-size:30px;box-shadow:0 8px 25px rgba(23,24,23,.2)}
.vt-orbit-center strong{font-family:var(--vz-display);font-size:29px;line-height:1}
.vt-orbit-center small{display:inline-block;margin-top:6px;color:var(--vz-ink);font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:var(--vz-yellow-soft);border-radius:999px;padding:4px 10px}
.vt-orbit-center i{position:absolute;inset:-8%;border-radius:50%;border:1px dashed rgba(23,24,23,.2);animation:vz-pulse 3s ease-in-out infinite;pointer-events:none}
.vt-orbit-center:hover i{animation:vz-spin 5s linear infinite}
@keyframes vz-pulse{50%{transform:scale(1.04);opacity:.45}}@keyframes vz-spin{to{transform:rotate(360deg)}}
.vt-orbit.has-panel-open{opacity:.55;transform:scale(.86);transition:transform .32s var(--vz-ease,ease),opacity .32s ease}

/* El centro del Inicio es Hoy; no existe una conversación superpuesta. */
.vt-vita-panel{width:100%;max-width:440px;margin-top:2px;border-radius:28px;background:var(--vz-paper);border:1px solid var(--vz-line);box-shadow:var(--vz-shadow);padding:16px 16px 10px;box-sizing:border-box;max-height:0;opacity:0;overflow:hidden;transition:max-height .38s var(--vz-ease,cubic-bezier(.2,.8,.2,1)),opacity .28s ease,padding .28s ease,margin .28s ease}
.vt-vita-panel[hidden]{display:block;max-height:0;opacity:0;padding-top:0;padding-bottom:0;margin-top:0;border-width:0;box-shadow:none}
.vt-vita-panel.is-open{max-height:900px;opacity:1}
.vt-vita-panel-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.vt-vita-panel-mark{width:34px;height:34px;border-radius:50%;background:var(--vz-orange);color:var(--vz-ink);display:grid;place-items:center;font-size:16px;flex:0 0 auto}
.vt-vita-panel-id{flex:1;display:grid}
.vt-vita-panel-id b{font-family:var(--vz-display);font-size:16px;font-weight:500}
.vt-vita-panel-id small{color:var(--vz-muted);font-size:11px}
.vt-vita-panel-close{border:0;background:rgba(23,24,23,.06);color:var(--vz-ink);width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:13px;flex:0 0 auto}
.vt-daily-card{padding:38px 40px;display:flex;flex-direction:column;justify-content:center;min-height:560px;position:relative;overflow:hidden}
.vt-daily-card::after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-70px;bottom:-80px;background:var(--vz-pink-soft);opacity:.45}
.vt-card-kicker{display:flex;align-items:center;gap:8px;font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:800}.vt-card-kicker span{width:9px;height:9px;border-radius:50%;background:var(--vz-yellow)}
.vt-sky-line{font-size:13px;color:var(--vz-muted);margin:20px 0 8px}.vt-daily-card h1{font-family:var(--vz-display);font-weight:500;font-size:clamp(36px,4.8vw,61px);line-height:1.02;letter-spacing:-.04em;margin:0;max-width:770px}.vt-daily-body{font-size:16px;line-height:1.65;color:#4d4a45;margin:22px 0;max-width:720px}
.vt-sky-pills{display:flex;flex-wrap:wrap;gap:8px}.vt-sky-pill{font-size:11px;padding:7px 10px;background:#fffaf3;border:1px solid var(--vz-line);border-radius:999px}.vt-opportunity-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0 18px}.vt-opportunity-row>div{padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.55)}.vt-opportunity-row small{display:block;color:var(--vz-muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.vt-opportunity-row b{font-size:13px}.vt-text-link{font-weight:800;text-decoration:none;font-size:13px;position:relative;z-index:2}
.vt-sky-details{position:relative;z-index:2;margin:0 0 18px}.vt-sky-details summary{width:max-content;max-width:100%;cursor:pointer;font-size:12.5px;font-weight:800;color:#6d6459;list-style:none}.vt-sky-details summary::-webkit-details-marker{display:none}.vt-sky-details summary::after{content:" +"}.vt-sky-details[open] summary::after{content:" −"}.vt-sky-details[open] .vt-sky-pills{margin-top:14px}
.vt-daily-card-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;position:relative;z-index:2}.vt-share-day{border:1px solid var(--vz-line);background:transparent;color:var(--vz-ink);font-weight:800;font-size:12.5px;border-radius:999px;padding:9px 16px;cursor:pointer;font-family:inherit}.vt-share-day:hover{background:rgba(255,255,255,.6)}.vt-share-day:disabled{opacity:.6;cursor:default}.vt-share-status{position:relative;z-index:2;font-size:12px;color:var(--vz-muted);margin:8px 0 0;min-height:16px}
.vt-personal-card{margin-top:22px;border-radius:28px;padding:22px 26px;background:linear-gradient(120deg,var(--vz-lilac),#e8dcf3 57%,var(--vz-pink-soft));display:flex;gap:18px;align-items:flex-start;box-shadow:var(--vz-shadow-soft)}
.vt-card-icon{width:52px;height:52px;border-radius:18px;background:rgba(255,255,255,.58);display:grid;place-items:center;font-size:25px;flex:0 0 auto}.vt-personal-card p{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;margin:0 0 6px}.vt-personal-card h2{font-family:var(--vz-display);font-size:25px;font-weight:500;line-height:1.25;margin:0 0 7px}.vt-personal-card span,.vt-personal-card a{font-size:13px;line-height:1.5;color:#4c4652}.vt-personal-card a{font-weight:800}.vt-personal-empty{background:linear-gradient(120deg,var(--vz-blue-soft),#eef4fd)}
.vt-priority-card{margin-top:22px;border-radius:32px;padding:28px 32px;background:var(--vz-ink);color:#fff;display:grid;grid-template-columns:1fr 160px;align-items:center;gap:20px;box-shadow:var(--vz-shadow)}.vt-priority-copy p{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#c8c3bb;font-weight:800;margin:0 0 8px}.vt-priority-copy h2{font-family:var(--vz-display);font-size:33px;font-weight:500;line-height:1.12;margin:0 0 10px;color:#fff}.vt-priority-copy span{display:block;color:#d7d2ca;line-height:1.55;max-width:720px}.vt-priority-copy a{display:inline-block;margin-top:18px;border-radius:999px;background:#fff;color:var(--vz-ink);padding:11px 17px;font-weight:800;text-decoration:none;font-size:13px}
.vt-priority-orb{width:126px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;position:relative;margin:auto;background:radial-gradient(circle at 35% 30%,var(--vz-yellow-soft),var(--vz-pink));color:var(--vz-ink);font-size:37px}.vt-priority-orb i{position:absolute;inset:-10px;border:1px solid rgba(255,255,255,.26);border-radius:50%}.vt-priority-orb i+ i{inset:-22px;opacity:.5}
.vt-weather-permission{margin-top:20px;padding:18px 20px;border-radius:24px;background:var(--vz-blue-soft);display:flex;align-items:center;justify-content:space-between;gap:20px}.vt-weather-permission>div{display:flex;align-items:center;gap:14px}.vt-weather-permission>div>span{font-size:30px}.vt-weather-permission b{font-size:15px}.vt-weather-permission p{margin:4px 0 0;color:#4f6073;font-size:13px}.vt-weather-permission button{border:0;border-radius:999px;background:var(--vz-ink);color:#fff;padding:12px 16px;font-weight:800;white-space:nowrap}
.vt-weather-manual-link{display:block;margin:10px 2px 0;border:0;background:none;color:#3c689c;font-weight:750;font-size:12.5px;text-decoration:underline;cursor:pointer;padding:0}
.vt-weather-manual{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.vt-weather-manual input{flex:1;min-width:160px;border:1px solid var(--vz-line);border-radius:999px;padding:11px 16px;font:inherit;background:rgba(255,250,241,.85)}.vt-weather-manual button{border:0;border-radius:999px;background:var(--vz-ink);color:#fff;padding:11px 18px;font-weight:800;white-space:nowrap}
.vt-weather-manual-status{flex:0 0 100%;margin:2px 2px 0;font-size:12.5px}.vt-weather-manual-status.ok{color:#2c6e49}.vt-weather-manual-status.err{color:#a03a3a}
.vt-weather-settings{margin-top:20px;padding:16px 20px;border-radius:24px;background:var(--vz-blue-soft)}
.vt-weather-settings-row{display:flex;align-items:center;gap:14px}.vt-weather-settings-row>span{font-size:22px}.vt-weather-settings-row b{display:block;font-size:14.5px}
.linklike{border:0;background:none;padding:0;margin-top:2px;color:#3c689c;font-weight:750;font-size:12px;text-decoration:underline;cursor:pointer}
.vt-weather-pref{display:flex;align-items:flex-start;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(60,104,156,.16);cursor:pointer}.vt-weather-pref input{min-height:auto;width:20px;height:20px;flex:0 0 auto;margin-top:1px;accent-color:var(--vz-orange)}.vt-weather-pref span{font-size:13px;line-height:1.45;color:#3f5064}
.vt-weather-settings-note{margin:12px 2px 0;font-size:12.5px;color:#4f6073}
.vt-weather-alert-card{border-radius:26px;padding:20px 22px;background:linear-gradient(120deg,var(--vz-blue-soft),#eaf2fc);box-shadow:var(--vz-shadow-soft);margin-bottom:12px}
.vt-weather-alert-top{display:flex;gap:14px;align-items:flex-start}.vt-weather-alert-top>span{font-size:26px;flex:0 0 auto}.vt-weather-alert-top h3{font-family:var(--vz-display);font-size:19px;font-weight:500;margin:0 0 4px}.vt-weather-alert-top p{margin:0;font-size:13.5px;color:#3f5064;line-height:1.4}
.vt-weather-alert-meta{margin:10px 0 0 40px}.vt-weather-alert-meta small{font-size:11.5px;color:#5b6d80}
.vt-weather-alert-note{margin:10px 0 0 40px;font-size:13px;font-weight:700;color:var(--vz-ink)}
.vt-weather-alert-actions{margin:14px 0 0 40px;display:flex;gap:10px;flex-wrap:wrap}.vt-weather-alert-actions button{border:0;border-radius:999px;padding:11px 16px;font-weight:800;font-size:12.5px;cursor:pointer;background:var(--vz-ink);color:#fff}.vt-weather-alert-actions button.ghost{background:transparent;color:var(--vz-ink);border:1px solid rgba(39,35,29,.24)}
.vt-section{margin-top:34px}.vt-section-title{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px}.vt-section-title p{margin:0 0 5px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--vz-muted)}.vt-section-title h2{font-family:var(--vz-display);font-size:30px;font-weight:500;margin:0}.vt-section-title>span{font-size:11px;color:var(--vz-muted)}
.vt-prepared-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.vt-prepared-card{min-height:110px;border-radius:24px;padding:18px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;text-decoration:none;box-shadow:var(--vz-shadow-soft);transition:transform .2s ease}.vt-prepared-card:hover{transform:translateY(-3px)}.vt-prepared-card>span{width:44px;height:44px;border-radius:15px;background:rgba(255,255,255,.55);display:grid;place-items:center;font-size:20px}.vt-prepared-card p{font-size:13px;line-height:1.4;margin:0}.vt-prepared-card b{font-size:20px}.vt-agenda{background:var(--vz-yellow-soft)}.vt-clima{background:var(--vz-blue-soft)}.vt-empty-prepared{border-radius:24px;background:rgba(255,250,241,.74);border:1px dashed rgba(39,35,29,.17);display:flex;gap:12px;align-items:center;padding:20px}.vt-empty-prepared span{width:42px;height:42px;border-radius:50%;background:var(--vz-sage-soft);display:grid;place-items:center}.vt-empty-prepared p{margin:0;color:var(--vz-muted)}
/* Anticipaciones secundarias del motor de priorización (hasta 3) — reusan exactamente
   la misma tarjeta "Lo que VITALIZA ya vio" (.vt-prepared-card), solo agregan Resolver/Posponer/Deshacer. */
.vt-prepared-grid-cand{margin-top:12px}.vt-prepared-card.vt-cand{display:flex;flex-direction:column;gap:10px;min-height:auto;background:rgba(255,250,241,.78)}.vt-prepared-card.vt-cand>a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;text-decoration:none;color:inherit}
.vt-cand-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.vt-cand-actions button{border:0;border-radius:999px;padding:8px 14px;font-weight:800;font-size:11.5px;cursor:pointer;background:var(--vz-ink);color:#fff}.vt-cand-actions button.ghost{background:transparent;color:var(--vz-ink);border:1px solid rgba(39,35,29,.24)}
.vt-priority-copy .vt-cand-actions{margin-top:14px}.vt-priority-copy .vt-cand-actions button{background:#fff;color:var(--vz-ink)}.vt-priority-copy .vt-cand-actions button.ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4)}.vt-priority-copy .vt-cand-actions .linklike{color:#bcd3f2}
.vt-cand-edit{width:100%;display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(110px,1fr));gap:8px;margin-top:10px;padding:11px;border-radius:16px;background:rgba(255,255,255,.55)}.vt-cand-edit[hidden]{display:none}.vt-cand-edit label{display:grid;gap:4px;font-size:9px;font-weight:850;text-transform:uppercase}.vt-cand-edit input{width:100%;min-width:0;padding:9px 10px;border:1px solid rgba(39,35,29,.16);border-radius:11px;background:#fffaf4;color:var(--vz-ink);font:600 11px var(--vz-sans);text-transform:none}.vt-cand-edit>div{grid-column:1/-1;display:flex;gap:7px;justify-content:flex-end}.vt-cand-edit button{border:0;border-radius:999px;padding:8px 12px;background:var(--vz-ink);color:#fff;font-weight:800}.vt-cand-edit button.ghost{background:transparent;color:var(--vz-ink);border:1px solid rgba(39,35,29,.2)}.vt-priority-copy .vt-cand-edit{background:rgba(255,255,255,.12)}.vt-priority-copy .vt-cand-edit input{background:rgba(255,255,255,.94)}.vt-priority-copy .vt-cand-edit button{background:#fff;color:var(--vz-ink)}.vt-priority-copy .vt-cand-edit button.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.vt-decision-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:10px;padding:13px 17px;border-radius:18px;background:var(--vz-sage-soft);color:var(--vz-ink);font-size:13px;font-weight:750}.vt-decision-banner button{border:0;background:transparent;color:#345b3c;text-decoration:underline;font-weight:850;cursor:pointer}
.vt-guest-preview-note{margin-top:10px;font-size:12px;color:#d7d2ca}
.vt-world-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.vt-world-card{border-radius:24px;background:rgba(255,250,241,.78);border:1px solid var(--vz-line);padding:17px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.vt-world-card:hover{transform:translateY(-3px);box-shadow:var(--vz-shadow-soft)}.vt-world-card>span{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;font-size:20px}.vt-world-card div{display:grid}.vt-world-card b{font-size:15px}.vt-world-card small{font-size:11px;color:var(--vz-muted);margin-top:3px}.vt-world-card em{font-style:normal;font-size:18px}.vt-world-ser>span{background:var(--vz-lilac)}.vt-world-ciclo>span{background:var(--vz-sage-soft)}.vt-world-cocina>span{background:var(--vz-pink-soft)}.vt-world-agenda>span{background:var(--vz-yellow-soft)}.vt-world-journal>span{background:var(--vz-blue-soft)}.vt-world-energia>span{background:#f4d8c6}
.vt-vita-invite{margin-top:28px;border-radius:30px;padding:22px 24px;background:linear-gradient(115deg,var(--vz-pink),#f2b4dc 52%,var(--vz-lilac));display:flex;align-items:center;justify-content:space-between;gap:20px}.vt-vita-invite>div{display:flex;align-items:center;gap:14px}.vt-vita-mini{width:48px;height:48px;background:var(--vz-orange);color:var(--vz-ink);border-radius:50%;display:grid;place-items:center;font-size:22px}.vt-vita-invite p{margin:0 0 4px;font-weight:800;font-size:12px}.vt-vita-invite h2{font-family:var(--vz-display);font-size:22px;font-weight:500;margin:0}.vt-vita-invite button{border:0;border-radius:999px;background:var(--vz-ink);color:#fff;padding:13px 18px;font-weight:800;white-space:nowrap}
.vt-home-footer{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:28px 0 0}.vt-home-footer span{font-size:11px;border:1px solid var(--vz-line);border-radius:999px;padding:7px 10px;color:var(--vz-muted);background:rgba(255,250,241,.6)}
.vt-bottom-nav{position:fixed;z-index:80;left:50%;transform:translateX(-50%);bottom:12px;width:min(620px,calc(100% - 24px));padding:8px 12px calc(8px + env(safe-area-inset-bottom));border-radius:26px;background:rgba(24,25,24,.94);backdrop-filter:blur(15px);display:grid;grid-template-columns:repeat(5,1fr);box-shadow:0 15px 45px rgba(15,15,15,.24)}.vt-bottom-nav a{color:#d6d2cc;text-decoration:none;display:grid;justify-items:center;gap:2px;font-size:10px;padding:5px}.vt-bottom-nav a span{font-size:18px;min-height:22px}.vt-bottom-nav a b{font-weight:600}.vt-bottom-nav a.active{color:var(--vz-yellow)}.vt-bottom-nav a.vita span{width:46px;height:46px;margin-top:-22px;border-radius:50%;background:var(--vz-pink);color:var(--vz-ink);display:grid;place-items:center;border:5px solid var(--vz-cream);font-family:var(--vz-display);font-size:24px}.vt-bottom-nav a.vita b{margin-top:1px}
.vt-home-skeleton{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:80px}.vt-home-skeleton div{height:500px;border-radius:36px;background:linear-gradient(90deg,#f2e8d8,#fff8ec,#f2e8d8);background-size:200% 100%;animation:vz-shimmer 1.4s infinite}.vt-home-skeleton div:nth-child(3){grid-column:1/-1;height:150px}@keyframes vz-shimmer{to{background-position:-200% 0}}
.vt-error-card{max-width:640px;margin:90px auto;padding:45px;text-align:center;background:var(--vz-paper);border-radius:36px;box-shadow:var(--vz-shadow)}.vt-error-card>span{width:64px;height:64px;border-radius:50%;background:var(--vz-orange);color:var(--vz-ink);display:grid;place-items:center;margin:auto;font-size:30px}.vt-error-card h1{font:500 42px/1.05 var(--vz-display)}.vt-error-card p{color:var(--vz-muted)}.vt-error-card button,.vt-error-card a{display:inline-block;margin:7px;padding:12px 18px;border-radius:999px;border:0;background:var(--vz-ink);color:#fff;text-decoration:none;font-weight:800}
@media(max-width:520px){.vt-cand-edit{grid-template-columns:1fr}.vt-cand-edit>div{grid-column:auto}.vt-decision-banner{align-items:flex-start}}

/* Lenguaje compartido: todas las pantallas dejan de parecer panel administrativo */
.page,.page-shell,.settings-page,.profile-page,.agenda-page,.planner-page,.recipes-page,.shopping-page,.journal-page,.cycle-page,.soul-page,.natal-page,.ayurveda-page,.breath-page,.library-page,.habits-page,.notifications-page,.subscription-page,.children-page{background:var(--vz-cream)!important;color:var(--vz-ink)!important;font-family:var(--vz-sans)!important}
.page h1,.page-shell h1,.settings-page h1,.profile-page h1,.agenda-page h1,.planner-page h1,.recipes-page h1,.shopping-page h1,.journal-page h1,.cycle-page h1,.soul-page h1,.natal-page h1,.ayurveda-page h1,.breath-page h1,.library-page h1,.habits-page h1,.notifications-page h1,.subscription-page h1,.children-page h1{font-family:var(--vz-display)!important;font-weight:500!important;letter-spacing:-.025em!important}
.card,.panel,.module-card,.settings-card,.profile-card,.agenda-card,.recipe-card,.shopping-card,.journal-card,.cycle-card,.soul-card,.ayur-card,.breath-card,.notification-card{border-radius:24px!important;border:1px solid var(--vz-line)!important;box-shadow:var(--vz-shadow-soft)!important;background:var(--vz-paper)!important}
button.primary,.btn-primary,.primary-button,[class*="primary"]{border-radius:999px!important}
input,textarea,select{border-radius:16px!important}

/* Chat VITALIZA */
.vita-page{background:linear-gradient(180deg,var(--vz-cream),#f8ecd9)!important}.v-top{background:rgba(251,244,232,.88);backdrop-filter:blur(16px);border-bottom:1px solid var(--vz-line)}.v-avatar{border-radius:50%;background:var(--vz-yellow);padding:5px}.v-name{font-family:var(--vz-display);font-size:20px!important}.v-tools-row{padding-bottom:8px!important}.v-chip{background:var(--vz-paper)!important;border-radius:999px!important}.v-vita .v-bubble{background:var(--vz-paper)!important;border:1px solid var(--vz-line);box-shadow:var(--vz-shadow-soft)!important}.v-me .v-bubble{background:var(--vz-ink)!important}.v-input{background:rgba(255,250,241,.92)!important;backdrop-filter:blur(15px)}.v-send{background:var(--vz-pink)!important;color:var(--vz-ink)!important}.v-field:focus{border-color:var(--vz-lilac)!important;box-shadow:0 0 0 3px rgba(201,183,223,.28)!important}.v-mic--on{background:var(--vz-pink)!important}
/* Propuestas editables: misma paleta cálida/pastel que el resto de la experiencia, sin naranja suelto. */
.v-proposal{background:linear-gradient(135deg,var(--vz-yellow-soft),#fff5cf)!important;border-color:rgba(123,93,4,.14)!important;border-radius:22px!important}
.vp-kind{color:var(--vz-ink)!important;opacity:.62}
.vp-fields select,.vp-fields input{border-radius:14px!important;border:1px solid var(--vz-line)!important;background:var(--vz-paper)!important;color:var(--vz-ink)!important}
.vp-save{background:var(--vz-ink)!important;color:#fff!important;border:0!important}
.vp-dismiss{background:transparent!important;color:var(--vz-ink)!important;border:1px solid rgba(23,24,23,.22)!important}
.vp-open,.vp-complete{background:var(--vz-ink)!important;color:#fff!important;border:0!important}
.vp-missing{background:transparent!important;color:var(--vz-ink)!important;border:1px solid rgba(23,24,23,.22)!important}
.v-thinking-wheel span{border-color:rgba(23,24,23,.14)!important;border-top-color:var(--vz-ink)!important;border-right-color:var(--vz-lilac)!important}
.v-thinking-wheel b{color:var(--vz-ink)!important}

@media(max-width:900px){
  .vt-home{padding:16px 16px 120px}.vt-home-hero{grid-template-columns:1fr}.vt-orbit-wrap{min-height:auto}.vt-orbit{max-width:520px}.vt-daily-card{min-height:auto;padding:30px}.vt-prepared-grid,.vt-world-grid{grid-template-columns:1fr 1fr}.vt-priority-card{grid-template-columns:1fr 130px}
}
@media(max-width:620px){
  .vt-home{padding:14px 12px 112px}.vt-home-header{padding:0 3px}.vt-brand-sun{width:40px;height:40px}.vt-brand small{display:none}.vt-date{display:none}.vt-home-hero{gap:12px}.vt-orbit-wrap,.vt-daily-card{border-radius:28px}.vt-orbit-wrap{padding:5px;box-shadow:none}.vt-orbit{width:100%;max-width:430px}.vt-orbit-arcs .arc{stroke-width:28}.vt-orbit-node{width:75px}.vt-orbit-node span{width:37px;height:37px;border-width:4px}.vt-orbit-node b{font-size:10px}.vt-orbit-center{width:40%}.vt-orbit-center .vt-vita-mark{width:49px;height:49px;font-size:28px}.vt-orbit-center strong{font-size:25px}.vt-daily-card{padding:25px 22px}.vt-daily-card h1{font-size:34px}.vt-daily-body{font-size:14px;margin:16px 0}.vt-sky-details{margin-bottom:14px}.vt-opportunity-row{grid-template-columns:1fr}.vt-personal-card{padding:19px;border-radius:24px}.vt-personal-card h2{font-size:21px}.vt-card-icon{width:45px;height:45px}.vt-priority-card{grid-template-columns:1fr;padding:24px;border-radius:27px}.vt-priority-copy h2{font-size:29px}.vt-priority-orb{display:none}.vt-weather-permission{align-items:flex-start;flex-direction:column}.vt-weather-permission button{width:100%}.vt-weather-manual{flex-direction:column;align-items:stretch}.vt-weather-manual button{width:100%}.vt-weather-alert-meta,.vt-weather-alert-note,.vt-weather-alert-actions{margin-left:0}.vt-weather-alert-actions button{flex:1 1 auto}.vt-section{margin-top:28px}.vt-section-title h2{font-size:25px}.vt-section-title>span{display:none}.vt-prepared-grid{grid-template-columns:1fr}.vt-world-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.vt-world-card{grid-template-columns:1fr;justify-items:center;text-align:center;padding:11px 6px;gap:6px;border-radius:18px;min-height:92px}.vt-world-card>span{width:38px;height:38px;border-radius:13px}.vt-world-card small,.vt-world-card em{display:none}.vt-world-card b{font-size:11.5px;line-height:1.2}.vt-world-section{margin-top:24px}.vt-vita-invite{align-items:flex-start;flex-direction:column}.vt-vita-invite button{width:100%}.vt-home-footer{padding-bottom:10px}.vt-bottom-nav{bottom:7px;width:calc(100% - 14px);border-radius:23px}.vt-bottom-nav a b{font-size:9px}.vt-home-skeleton{grid-template-columns:1fr}.vt-home-skeleton div{height:390px}.vt-home-skeleton div:nth-child(3){grid-column:auto;height:110px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}

/* La navegación nueva vive dentro de cada experiencia; se retira la barra heredada. */
#vita-fab{display:none!important}

/* Navegación compartida: misma dirección viva y compacta que Inicio. */
.v-bottom-nav{position:fixed!important;z-index:90!important;left:50%!important;transform:translateX(-50%)!important;bottom:10px!important;width:min(620px,calc(100% - 20px))!important;height:auto!important;padding:8px 12px calc(8px + env(safe-area-inset-bottom))!important;border:0!important;border-radius:26px!important;background:rgba(24,25,24,.95)!important;backdrop-filter:blur(16px)!important;display:grid!important;grid-template-columns:1fr 1fr auto 1fr 1fr!important;align-items:end!important;box-shadow:0 15px 45px rgba(15,15,15,.24)!important;box-sizing:border-box!important}
.v-bottom-nav a{width:auto!important;height:auto!important;transform:none!important;background:transparent!important;border:0!important;box-shadow:none!important;color:#d6d2cc!important;text-decoration:none!important;display:grid!important;justify-items:center!important;align-content:center!important;gap:2px!important;padding:5px!important;font-size:10px!important;min-width:0!important}
.v-bottom-nav a span{font-size:18px!important;min-height:22px!important;display:grid!important;place-items:center!important}.v-bottom-nav a small{font-size:9px!important;font-weight:650!important}.v-bottom-nav a.active{color:var(--vz-yellow)!important}.v-bottom-nav a.v-main{justify-self:center!important;align-self:start!important;width:84px!important;margin:0 auto!important}.v-bottom-nav a.v-main span{width:54px!important;height:54px!important;margin-top:-28px!important;border-radius:50%!important;background:var(--vz-orange)!important;color:var(--vz-ink)!important;border:5px solid var(--vz-cream)!important;font-size:20px!important;box-shadow:0 12px 26px rgba(217,104,34,.28)!important}.v-bottom-nav a.v-main small{margin-top:1px!important}
@media(max-width:620px){.v-bottom-nav{bottom:7px!important;width:calc(100% - 14px)!important;border-radius:23px!important}.v-bottom-nav a small{font-size:8px!important}}

/* Refinamiento contractual: el organismo se mueve solo cuando VITALIZA interpreta. */
.vt-orbit-center i{animation:none!important}
.vt-orbit.is-interpreting .vt-orbit-arcs{animation:vz-orbit-think 1.7s cubic-bezier(.45,0,.55,1) infinite}
.vt-orbit.is-interpreting .vt-orbit-center i{animation:vz-spin 2.1s linear infinite!important}
.vt-orbit.is-interpreting .vt-orbit-center .vt-vita-mark{animation:vz-mark-pulse 1.7s ease-in-out infinite}
@keyframes vz-orbit-think{0%{transform:rotate(0) scale(1)}50%{transform:rotate(12deg) scale(1.03)}100%{transform:rotate(0) scale(1)}}
@keyframes vz-mark-pulse{0%,100%{box-shadow:0 8px 25px rgba(23,24,23,.2)}50%{box-shadow:0 8px 25px rgba(23,24,23,.3),0 0 0 8px rgba(181,85,26,.28)}}

/* Capa visual compartida para las experiencias que ya tenían lógica real. */
.ag-wrap,.kid-wrap{max-width:980px!important;min-height:100dvh!important;padding:28px 22px 132px!important;box-sizing:border-box!important;background:
 radial-gradient(circle at 4% 0,rgba(245,207,85,.18),transparent 24rem),
 radial-gradient(circle at 100% 18%,rgba(169,198,237,.16),transparent 24rem),var(--vz-cream)!important}
.ag-h1,.kid-header h1{font:500 clamp(42px,7vw,60px)/1 var(--vz-display)!important;letter-spacing:-.045em!important}
.ag-sub,.kid-header p{color:var(--vz-muted)!important;font-size:15px!important}
.ag-new,.kid-primary{background:var(--vz-ink)!important;color:#fff!important;border:0!important;box-shadow:none!important}
.ag-vtab,.ag-fchip{background:rgba(255,250,241,.8)!important;border-color:var(--vz-line)!important;color:var(--vz-muted)!important}
.ag-vtab.active{background:var(--vz-yellow-soft)!important;color:var(--vz-ink)!important;border-color:transparent!important}
.ag-fchip.active{background:var(--vz-ink)!important;color:#fff!important}
.ag-card,.ag-editor,.ag-alert,.kid-card,.kid-sec,.kid-form{border-radius:24px!important;background:var(--vz-paper)!important;border:1px solid var(--vz-line)!important;box-shadow:var(--vz-shadow-soft)!important}
/* El borde distingue TIPO (evento/preparación/recordatorio), no un ciclo decorativo arbitrario. */
.ag-card{border-left:6px solid var(--vz-yellow)!important}
.ag-card[data-type="task"]{border-left-color:var(--vz-blue)!important}
.ag-card[data-type="reminder"]{border-left-color:var(--vz-lilac)!important}
.ag-card-prep{border-left-style:dashed!important;box-shadow:none!important;margin-left:20px!important;background:rgba(255,250,241,.6)!important}
.ag-card.is-done{opacity:.58!important}
.ag-card.is-done .ag-title{text-decoration:line-through!important}
.ag-btn-primary,.kid-form button[type="submit"]{border-radius:999px!important;background:var(--vz-ink)!important;color:#fff!important;border:0!important}
.kid-photo--initial{background:linear-gradient(145deg,var(--vz-yellow),var(--vz-pink))!important;color:var(--vz-ink)!important}.kid-sec:nth-of-type(2n){background:linear-gradient(135deg,var(--vz-paper),var(--vz-blue-soft))!important}

.journal-page,.kitchen-page,.notif-page,.more-page{background:
 radial-gradient(circle at 5% 2%,rgba(245,207,85,.18),transparent 25rem),
 radial-gradient(circle at 96% 22%,rgba(239,168,214,.15),transparent 24rem),var(--vz-cream)!important;color:var(--vz-ink)!important;padding-bottom:125px!important}
.jrn-header,.kit-header{background:rgba(251,244,232,.92)!important;border-bottom:1px solid var(--vz-line)!important;backdrop-filter:blur(18px)!important}
.jrn-header h1,.kit-header h1,.notif-page h1,.more-page h1{font-family:var(--vz-display)!important;font-weight:500!important;letter-spacing:-.04em!important}
.jrn-vita-line,.kit-vita-line{border-radius:20px!important;background:linear-gradient(115deg,var(--vz-pink-soft),var(--vz-lilac))!important;color:var(--vz-ink)!important;border:0!important}
.jrn-card,.kit-group,.kit-state,.notif-permission,.notif-card,.settings-card,.service-card,.more-card{border-radius:24px!important;background:var(--vz-paper)!important;border:1px solid var(--vz-line)!important;box-shadow:var(--vz-shadow-soft)!important}
.jrn-modes button,.kit-tab{border-radius:999px!important;border-color:var(--vz-line)!important}.jrn-modes button.active,.kit-tab.active{background:var(--vz-ink)!important;color:#fff!important;border-color:var(--vz-ink)!important}
.jrn-save,.kit-finish,.kit-primary,.settings-card>button,.service-card button{border-radius:999px!important;background:var(--vz-ink)!important;color:#fff!important;border:0!important}
.kit-count{background:var(--vz-pink)!important;color:var(--vz-ink)!important}.kit-group-title span{background:var(--vz-yellow-soft)!important;border-radius:13px!important;padding:8px!important}
.more-page{max-width:1080px!important;padding:28px 22px 132px!important}.more-grid{gap:14px!important}.more-card{min-height:76px!important;transition:transform .22s ease,box-shadow .22s ease!important}.more-card:hover{transform:translateY(-3px)!important;box-shadow:var(--vz-shadow)!important}.more-card span{background:var(--vz-yellow-soft)!important;color:var(--vz-ink)!important}.more-card:nth-child(5n+2) span{background:var(--vz-sage-soft)!important}.more-card:nth-child(5n+3) span{background:var(--vz-pink-soft)!important}.more-card:nth-child(5n+4) span{background:var(--vz-blue-soft)!important}.more-card:nth-child(5n) span{background:var(--vz-lilac)!important}.settings-card{grid-template-columns:1fr 1fr!important}.settings-card button{grid-column:1/-1!important}.service-card{background:linear-gradient(120deg,var(--vz-paper),var(--vz-blue-soft))!important}.service-card:nth-of-type(2n){background:linear-gradient(120deg,var(--vz-paper),var(--vz-sage-soft))!important}
.notif-shell{max-width:840px!important}.notif-bell{background:var(--vz-pink)!important;color:var(--vz-ink)!important}.notif-permission{background:linear-gradient(130deg,var(--vz-yellow-soft),var(--vz-paper))!important}.notif-card.unread{border-left:6px solid var(--vz-pink)!important}

/* Entradas suaves, sin movimiento perpetuo. */
.vt-home,.ser-page,.ay-new,.br-page,.kitchen-new,.ag-wrap,.kid-wrap,.journal-page,.kitchen-page,.more-page,.notif-page,.life-page,.sub-new{animation:vz-page-in .32s ease both}
@keyframes vz-page-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:720px){.ag-wrap,.kid-wrap,.more-page{padding:18px 12px 116px!important}.more-grid{grid-template-columns:1fr!important}.settings-card{grid-template-columns:1fr!important}.ag-header{align-items:center!important}.ag-new{padding:10px 13px!important}.jrn-content,.kit-content{padding-left:12px!important;padding-right:12px!important}}



/* ── VITALIZA cierre de producto 1.3 ───────────────────────────── */
html,body{min-height:100%;overflow-x:hidden}
#app{min-height:100dvh;padding-bottom:calc(94px + env(safe-area-inset-bottom,0px))}
.v-bottom-nav{
  position:fixed!important;
  left:50%!important;
  right:auto!important;
  bottom:max(10px,env(safe-area-inset-bottom,0px))!important;
  transform:translateX(-50%)!important;
  z-index:9999!important;
  width:min(calc(100% - 22px),720px)!important;
  margin:0!important;
  box-shadow:0 18px 55px rgba(22,20,17,.24)!important;
}
.v-bottom-nav .v-main span{overflow:hidden;padding:0!important}
.v-bottom-nav .v-main img{display:block;width:46px;height:46px;object-fit:contain}
.vt-orbit-arcs,.vt-orbit-center i{pointer-events:none!important}
.vt-orbit-center{pointer-events:auto!important;touch-action:manipulation;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important}
.vt-vita-mark img{display:block;width:100%;height:100%;object-fit:contain}
.vc-messages{scrollbar-width:none}
.vc-messages::-webkit-scrollbar,.vc-chips::-webkit-scrollbar{display:none}
.vc-inline-action{margin:12px 0 2px;padding:16px;border:1px solid rgba(23,24,23,.12);border-radius:22px;background:linear-gradient(145deg,#fffaf1,#f5eadb);box-shadow:0 12px 30px rgba(32,27,20,.08)}
.vc-inline-action-copy small{display:block;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#a05a2b}
.vc-inline-action-copy h4{font:500 22px/1.12 var(--vz-display,Georgia,serif);margin:5px 0}
.vc-inline-action-copy p{margin:0!important;color:#5a554d;font-size:13px;line-height:1.45}
.vc-inline-action-buttons{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}
.vc-inline-action-buttons button{border-radius:999px;padding:10px 13px;font-weight:800;font-size:12px;cursor:pointer}
.vc-inline-primary{border:0;background:#171817;color:#fff}
.vc-inline-secondary{border:1px solid rgba(23,24,23,.18);background:#fffaf1;color:#171817}
.vc-inline-dismiss{border:0;background:transparent;color:#6f6a62}
.hab-empty-vita{max-width:680px;margin:auto;text-align:center}
.hab-empty-vita .hab-empty-emoji{width:72px;height:72px;margin:auto;display:grid;place-items:center;border-radius:50%;background:#ef7d32;color:#171817;font-size:34px}
.hab-empty-vita .hab-manual-link{display:block;margin:13px auto 0}
.hab-suggestions-preview{margin-top:28px;text-align:left}
.authx-orb{background:url('../../public/brand/isotipo-color.svg?v=13.0.0') center/contain no-repeat!important;box-shadow:none!important}
@media(max-width:720px){
  #app{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}
  .v-bottom-nav{bottom:max(6px,env(safe-area-inset-bottom,0px))!important;width:calc(100% - 12px)!important}
  .vc-inline-action-buttons{display:grid;grid-template-columns:1fr 1fr}
  .vc-inline-dismiss{grid-column:1/-1}
}

/* Marca oficial única: sol radial negro sobre círculo naranja. */
.vt-brand-sun,.vt-vita-panel-mark{overflow:hidden;padding:0!important}
.vt-brand-sun img,.vt-vita-panel-mark img{display:block;width:100%;height:100%;object-fit:contain}
.vc-messages{scrollbar-width:none!important}
.vc-messages::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}

/* El mismo isotipo oficial en todas las presencias de VITALIZA. */
.vt-error-card>span,.hab-empty-emoji,.v-vita-avatar,.vxp-vita-avatar,.vxp-logo>span,.ay-balance>span{overflow:hidden;padding:0!important}
.vt-error-card>span img,.hab-empty-emoji img,.v-vita-avatar img,.vxp-vita-avatar img,.vxp-logo>span img,.ay-balance>span img{display:block;width:100%;height:100%;object-fit:contain}

/* Cierre de accesos Invitada / Free / PRO. */
body.vz-route-locked{overflow:hidden}
.vz-route-gate{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:20px}
.vz-route-gate-backdrop{position:absolute;inset:0;background:rgba(28,25,21,.42);backdrop-filter:blur(5px)}
.vz-route-gate-card{position:relative;width:min(100%,520px);padding:32px;border-radius:32px;background:#fff9ef;color:#171817;text-align:center;box-shadow:0 28px 90px rgba(20,17,13,.28);border:1px solid rgba(255,255,255,.7)}
.vz-route-gate-mark{display:block;width:64px;height:64px;margin:0 auto 16px}
.vz-route-gate-card>p{margin:0 0 8px;font-size:10px;font-weight:900;letter-spacing:.13em;color:#9b5429}
.vz-route-gate-card h2{margin:0 auto 12px;max-width:430px;font:500 clamp(32px,6vw,48px)/1.03 var(--vz-display,Georgia,serif);letter-spacing:-.035em}
.vz-route-gate-card>span{display:block;max-width:430px;margin:auto;color:#665f57;font-size:14px;line-height:1.6}
.vz-route-gate-actions{display:grid;gap:9px;margin-top:22px}
.vz-route-gate-actions a,.vz-route-gate-actions button{min-height:49px;border-radius:999px;border:1px solid rgba(23,24,23,.14);background:transparent;color:#171817;display:flex;align-items:center;justify-content:center;text-decoration:none;font:800 13px var(--vz-sans,system-ui);cursor:pointer}
.vz-route-gate-actions .primary{border:0;background:#171817;color:#fff}
.vz-route-gate-actions button{border:0;color:#746d64}
@media(max-width:620px){.vz-route-gate{align-items:end;padding:0}.vz-route-gate-card{width:100%;border-radius:30px 30px 0 0;padding:28px 20px calc(22px + env(safe-area-inset-bottom))}}

/* Las barras viven dentro de páginas; ninguna animación ancestro puede convertir
   position:fixed en una posición relativa al contenido. */
@keyframes vz-page-in{from{opacity:0}to{opacity:1}}

/* Inicio: acceso personal visible y menos puertas compitiendo. */
.vt-head-actions{display:flex;align-items:center;gap:9px}
.vt-profile-link{display:flex;align-items:center;gap:7px;min-height:40px;padding:5px 10px 5px 5px;border:1px solid var(--vz-line);border-radius:999px;background:rgba(255,250,241,.72);text-decoration:none;color:var(--vz-ink)}
.vt-profile-link span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--vz-yellow-soft);font-weight:900}
.vt-profile-link b{font-size:11px;max-width:96px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vt-personal-card a{display:inline-block;margin-top:8px;text-decoration:none}
@media(max-width:620px){.vt-profile-link b{display:none}.vt-profile-link{padding:5px}.vt-head-actions{gap:6px}}

/* Recetas Free: límite visible y honesto. */
.rcp-free-note{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin:0 0 18px;padding:14px 16px;border:1px solid rgba(23,24,23,.09);border-radius:20px;background:linear-gradient(120deg,#fff9ef,#f2e6f7);font-size:12px}
.rcp-free-note b{white-space:nowrap}.rcp-free-note span{color:#6b645b;line-height:1.45}.rcp-free-note a{white-space:nowrap;color:#171817;font-weight:800;text-decoration:none}
@media(max-width:680px){.rcp-free-note{grid-template-columns:1fr}.rcp-free-note a{justify-self:start}}


/* ===== src/styles/vitaliza-collection.css ===== */
/* ======================================================================
   VITALIZA · COLLECTION SYSTEM 7.0
   Sistema visual solar de VITALIZA.
   Same editorial proportions, typography and navigation architecture;
   different emotional register: daylight, clarity, practical action.
   ====================================================================== */
:root {
  --vitaliza-ink:#211d1a;
  --vitaliza-ink-2:#342d28;
  --vitaliza-paper:#f3ead9;
  --vitaliza-paper-2:#fffaf0;
  --vitaliza-surface:#fffdf7;
  --vitaliza-mist:#e7dbc6;
  --vitaliza-orange:#d96a25;
  --vitaliza-orange-deep:#a94715;
  --vitaliza-orange-light:#f2a45f;
  --vitaliza-yellow:#e7bc58;
  --vitaliza-sage:#718878;
  --vitaliza-blue:#7f9fb2;
  --vitaliza-rose:#c6878d;
  --vitaliza-lilac:#9386a6;
  --vitaliza-text:#211d1a;
  --vitaliza-muted:#6f665d;
  --vitaliza-line:rgba(33,29,26,.14);
  --vitaliza-line-strong:rgba(33,29,26,.24);
  --vitaliza-shadow:0 18px 54px rgba(58,43,28,.13);
  --vitaliza-shadow-soft:0 10px 30px rgba(58,43,28,.08);
  --vitaliza-display:"Fraunces",Georgia,serif;
  --vitaliza-body:"Mulish",system-ui,-apple-system,"Segoe UI",sans-serif;
  --vitaliza-max:1120px;
  --vitaliza-radius:22px;
  --vitaliza-radius-lg:32px;
  --vitaliza-safe-bottom:max(20px,env(safe-area-inset-bottom));
  --font-heading:var(--vitaliza-display);
  --font-body:var(--vitaliza-body);
  --vz-display:var(--vitaliza-display);
  --vz-sans:var(--vitaliza-body);
  --vz-cream:var(--vitaliza-paper);
  --vz-paper:var(--vitaliza-paper-2);
  --vz-ink:var(--vitaliza-ink);
  --vz-muted:var(--vitaliza-muted);
  --vz-orange:var(--vitaliza-orange);
}

html, html[data-theme="dark"] {
  color-scheme:light !important;
  background:var(--vitaliza-paper) !important;
  color:var(--vitaliza-text) !important;
  font-family:var(--vitaliza-body) !important;
}
body {
  margin:0;
  min-height:100vh;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 88% -10%,rgba(217,106,37,.11),transparent 34%),
    radial-gradient(circle at 4% 28%,rgba(113,136,120,.09),transparent 30%),
    var(--vitaliza-paper) !important;
  color:var(--vitaliza-text) !important;
  font-family:var(--vitaliza-body) !important;
}
#app { min-height:100dvh; }
button,input,select,textarea { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
a { color:inherit; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
  outline:3px solid rgba(217,106,37,.35) !important;
  outline-offset:3px !important;
}
::selection { background:rgba(217,106,37,.2); color:var(--vitaliza-ink); }

/* Shared collection header ------------------------------------------------ */
.vitaliza-topbar {
  max-width:var(--vitaliza-max);
  min-height:76px;
  margin:auto;
  padding:16px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  box-sizing:border-box;
}
.vitaliza-brand {
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--vitaliza-ink);
  text-decoration:none;
}
.vitaliza-brand > img { width:44px; height:44px; display:block; }
.vitaliza-brand-word {
  font-family:var(--vitaliza-display);
  font-size:19px;
  line-height:1;
  font-weight:430;
  letter-spacing:.01em;
}
.vitaliza-brand-word small {
  display:block;
  margin-top:5px;
  font-family:var(--vitaliza-body);
  font-size:9px;
  line-height:1;
  letter-spacing:.24em;
  color:var(--vitaliza-orange-deep);
  font-weight:800;
}
.vitaliza-top-actions { display:flex; align-items:center; gap:8px; }
.vitaliza-date { color:var(--vitaliza-muted); font-size:12px; text-transform:capitalize; margin-right:4px; }
.vitaliza-icon-btn,.vitaliza-plan {
  min-height:42px;
  border:1px solid var(--vitaliza-line);
  background:rgba(255,250,240,.62);
  color:var(--vitaliza-ink);
  border-radius:999px;
  display:grid;
  place-items:center;
  text-decoration:none;
}
.vitaliza-icon-btn { width:42px; font-size:17px; }
.vitaliza-plan { padding:0 13px; font-size:10px; font-weight:900; letter-spacing:.13em; background:var(--vitaliza-ink); color:var(--vitaliza-paper); }
.vitaliza-eyebrow {
  margin:0;
  color:var(--vitaliza-orange-deep);
  font-size:10px;
  line-height:1.35;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:900;
}
.vitaliza-primary-btn,.vitaliza-secondary-btn {
  min-height:46px;
  border-radius:999px;
  padding:0 18px;
  font-weight:800;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-decoration:none;
}
.vitaliza-primary-btn { border:0; background:var(--vitaliza-orange); color:#fffaf0; box-shadow:0 9px 28px rgba(217,106,37,.22); }
.vitaliza-primary-btn:hover { background:var(--vitaliza-orange-deep); }
.vitaliza-secondary-btn { border:1px solid rgba(33,29,26,.24); background:transparent; color:var(--vitaliza-ink); }
.vitaliza-text-link { color:var(--vitaliza-orange-deep); font-size:13px; font-weight:800; text-decoration:none; }

/* Navegación principal de VITALIZA --------------------------------------- */
.v-bottom-nav,.global-app-nav {
  position:fixed !important;
  z-index:9999 !important;
  left:50% !important;
  right:auto !important;
  bottom:14px !important;
  transform:translateX(-50%) !important;
  width:min(calc(100% - 24px),720px) !important;
  display:grid !important;
  grid-template-columns:repeat(5,1fr) !important;
  align-items:end !important;
  background:rgba(33,29,26,.95) !important;
  backdrop-filter:blur(18px) !important;
  border:1px solid rgba(242,164,95,.3) !important;
  border-radius:25px !important;
  padding:9px 8px calc(9px + env(safe-area-inset-bottom)) !important;
  box-shadow:0 15px 60px rgba(33,29,26,.28) !important;
  height:auto !important;
  box-sizing:border-box !important;
  margin:0 !important;
}
.v-bottom-nav a,.global-app-nav a {
  min-width:0 !important;
  min-height:48px !important;
  padding:5px !important;
  border:0 !important;
  border-radius:18px !important;
  background:transparent !important;
  color:#c8bdae !important;
  box-shadow:none !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:4px !important;
  text-decoration:none !important;
  transform:none !important;
}
.v-bottom-nav a small,.global-app-nav a span:last-child { font-size:10px !important; line-height:1 !important; font-weight:700 !important; }
.v-nav-glyph,.global-nav-glyph,.global-app-nav a > img { font-size:20px !important; width:22px !important; height:22px !important; display:grid !important; place-items:center !important; object-fit:contain; }
.global-nav-glyph { line-height:1 !important; font-family:var(--vitaliza-body) !important; }
.v-bottom-nav a.active,.global-app-nav a.active { color:#ffc180 !important; background:rgba(217,106,37,.13) !important; }
.v-bottom-nav .v-main,.global-app-nav .global-nav-vita {
  margin-top:-28px !important;
  width:auto !important;
  height:auto !important;
  align-self:auto !important;
}
.v-bottom-nav .v-main .v-sun-button,.global-app-nav .global-nav-vita {
  width:62px !important;
  height:62px !important;
  border-radius:50% !important;
  display:grid !important;
  place-items:center !important;
  background:var(--vitaliza-ink) !important;
  border:1px solid var(--vitaliza-orange-light) !important;
  box-shadow:0 0 0 7px var(--vitaliza-ink),0 0 28px rgba(217,106,37,.25) !important;
  overflow:hidden !important;
  padding:0 !important;
}
.v-bottom-nav .v-main img,.global-app-nav .global-nav-vita img { width:48px !important; height:48px !important; display:block !important; object-fit:contain !important; }
.v-bottom-nav .v-main small { margin-top:4px !important; }
.global-nav-hidden { display:none !important; }
#vita-fab { display:none !important; }

/* Honest local-data notice */
.vitaliza-data-mode {
  position:relative !important;
  z-index:2 !important;
  max-width:var(--vitaliza-max) !important;
  margin:8px auto 0 !important;
  padding:9px 16px !important;
  border:1px solid rgba(217,106,37,.17) !important;
  border-radius:999px !important;
  background:rgba(255,250,240,.7) !important;
  color:var(--vitaliza-muted) !important;
  font-size:11px !important;
  text-align:center !important;
  box-sizing:border-box !important;
}

/* TODAY / DASHBOARD ------------------------------------------------------ */
.vitaliza-app {
  min-height:100dvh;
  padding:0 20px 128px;
  box-sizing:border-box;
  color:var(--vitaliza-ink);
  background:transparent;
}
.vitaliza-loading {
  min-height:75dvh;
  display:grid;
  place-items:center;
  align-content:center;
  gap:15px;
  color:var(--vitaliza-muted);
}
.vitaliza-loading img { width:80px; animation:vitaliza-breathe 1.8s ease-in-out infinite; }
@keyframes vitaliza-breathe { 50% { transform:scale(1.05); opacity:.78; } }
.vitaliza-account-banner {
  max-width:var(--vitaliza-max);
  margin:8px auto 26px;
  border:1px solid rgba(217,106,37,.2);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(217,106,37,.1),rgba(113,136,120,.07)),var(--vitaliza-paper-2);
  padding:20px 22px;
  display:flex;
  justify-content:space-between;
  gap:22px;
  align-items:center;
  box-sizing:border-box;
}
.vitaliza-account-banner small { color:var(--vitaliza-orange-deep); font-size:9px; letter-spacing:.16em; font-weight:900; }
.vitaliza-account-banner h2 { margin:5px 0 4px; font:430 24px var(--vitaliza-display); }
.vitaliza-account-banner p { margin:0; color:var(--vitaliza-muted); line-height:1.55; max-width:690px; }
.vitaliza-account-banner > div:last-child { display:flex; gap:14px; align-items:center; flex:0 0 auto; }
.vitaliza-today-hero {
  max-width:var(--vitaliza-max);
  margin:auto;
  display:grid;
  grid-template-columns:minmax(330px,.86fr) minmax(0,1.14fr);
  gap:48px;
  align-items:center;
  padding:34px 0 30px;
}
.vitaliza-dial-column { display:grid; place-items:center; gap:16px; }
.vitaliza-dial-column > p { color:var(--vitaliza-muted); font-size:12px; margin:0; }
.vitaliza-solar-dial {
  width:min(100%,390px);
  aspect-ratio:1;
  position:relative;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:
    radial-gradient(circle,rgba(217,106,37,.14) 0 25%,transparent 26%),
    conic-gradient(from -90deg,var(--vitaliza-orange) calc(var(--score) * 1%),rgba(33,29,26,.09) 0);
  box-shadow:inset 0 0 0 1px rgba(217,106,37,.28),0 0 55px rgba(217,106,37,.1);
}
.vitaliza-solar-dial:before {
  content:"";
  position:absolute;
  inset:13px;
  border-radius:50%;
  background:var(--vitaliza-paper);
  box-shadow:inset 0 0 0 1px rgba(33,29,26,.12);
}
.vitaliza-dial-rings {
  position:absolute;
  inset:30px;
  border:1px dashed rgba(33,29,26,.22);
  border-radius:50%;
  animation:vitaliza-orbit 34s linear infinite;
}
.vitaliza-dial-rings:before,.vitaliza-dial-rings:after {
  content:"";
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(217,106,37,.12);
}
.vitaliza-dial-rings:before { inset:24px; }
.vitaliza-dial-rings:after { inset:49px; }
@keyframes vitaliza-orbit { to { transform:rotate(360deg); } }
.vitaliza-dial-center {
  position:relative;
  z-index:3;
  width:162px;
  height:162px;
  border:0;
  border-radius:50%;
  background:var(--vitaliza-paper-2);
  color:var(--vitaliza-ink);
  display:grid;
  place-items:center;
  align-content:center;
  gap:2px;
  cursor:pointer;
  box-shadow:0 18px 44px rgba(58,43,28,.15);
}
.vitaliza-dial-center img { width:64px; height:64px; }
.vitaliza-dial-center strong { font:400 38px/1 var(--vitaliza-display); }
.vitaliza-dial-center strong small { font:700 11px var(--vitaliza-body); color:var(--vitaliza-muted); }
.vitaliza-dial-center > span { color:var(--vitaliza-muted); font-size:10px; text-transform:uppercase; letter-spacing:.1em; font-weight:800; }
.vitaliza-orbit-node {
  position:absolute;
  z-index:4;
  left:var(--x);
  top:var(--y);
  transform:translate(-50%,-50%);
  display:grid;
  justify-items:center;
  gap:4px;
  color:var(--vitaliza-ink);
  text-decoration:none;
}
.vitaliza-orbit-node > span {
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--vitaliza-paper-2);
  border:1px solid var(--vitaliza-line);
  box-shadow:var(--vitaliza-shadow-soft);
  font-size:18px;
}
.vitaliza-orbit-node small { padding:4px 7px; border-radius:999px; background:rgba(255,250,240,.88); font-size:9px; font-weight:800; white-space:nowrap; }
.vitaliza-orbit-agenda > span { background:#e7dfc5; }
.vitaliza-orbit-kitchen > span { background:#efd7c8; }
.vitaliza-orbit-cycle > span { background:#e1d7e3; }
.vitaliza-orbit-habits > span { background:#dbe3d7; }
.vitaliza-orbit-space > span { background:#d9e2e5; }
.vitaliza-hero-copy { max-width:680px; }
.vitaliza-day-line { display:block; margin:10px 0 0; color:var(--vitaliza-muted); font-size:14px; }
.vitaliza-hero-copy h1 {
  margin:10px 0 16px;
  font:350 clamp(45px,6.3vw,72px)/1.01 var(--vitaliza-display);
  letter-spacing:-.047em;
  max-width:12ch;
}
.vitaliza-hero-summary { color:var(--vitaliza-muted); font-size:17px; line-height:1.75; max-width:650px; }
.vitaliza-fact-row { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0; }
.vitaliza-fact-row span { border:1px solid var(--vitaliza-line); border-radius:999px; padding:8px 11px; background:rgba(255,250,240,.55); color:var(--vitaliza-muted); font-size:11px; }
.vitaliza-fact-row b { color:var(--vitaliza-orange-deep); margin-right:5px; }
.vitaliza-focus-box { border-left:3px solid var(--vitaliza-orange); background:rgba(217,106,37,.08); padding:14px 16px; margin:18px 0 22px; border-radius:0 14px 14px 0; display:grid; gap:5px; }
.vitaliza-focus-box span { color:var(--vitaliza-orange-deep); text-transform:uppercase; letter-spacing:.12em; font-size:9px; font-weight:900; }
.vitaliza-focus-box strong { font-size:15px; line-height:1.55; }
.vitaliza-button-row { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.vitaliza-quick-prompts {
  max-width:var(--vitaliza-max);
  margin:4px auto 34px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.vitaliza-quick-prompts button {
  min-height:56px;
  border:1px solid var(--vitaliza-line);
  border-radius:18px;
  background:rgba(255,250,240,.62);
  color:var(--vitaliza-ink);
  padding:12px 15px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  text-align:left;
  font-size:12px;
  font-weight:750;
  cursor:pointer;
}
.vitaliza-quick-prompts button span { color:var(--vitaliza-orange-deep); }
.vitaliza-section,.vitaliza-advance-grid,.vitaliza-weather-strip,.vitaliza-lower-grid { max-width:var(--vitaliza-max); margin-left:auto; margin-right:auto; }
.vitaliza-section { padding:27px 0; }
.vitaliza-section-head { display:flex; justify-content:space-between; align-items:end; gap:16px; margin-bottom:18px; }
.vitaliza-section-head h2 { margin:5px 0 0; font:400 clamp(29px,4vw,40px)/1.05 var(--vitaliza-display); letter-spacing:-.035em; }
.vitaliza-section-head > a { color:var(--vitaliza-orange-deep); text-decoration:none; font-size:12px; font-weight:800; }
.vitaliza-priority-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.vitaliza-priority {
  min-height:252px;
  position:relative;
  border:1px solid var(--vitaliza-line);
  border-radius:22px;
  padding:20px;
  background:var(--vitaliza-paper-2);
  box-shadow:0 10px 28px rgba(58,43,28,.055);
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:auto 1fr;
  gap:12px;
}
.vitaliza-priority.is-primary { background:linear-gradient(145deg,rgba(217,106,37,.13),rgba(255,250,240,.9)),var(--vitaliza-paper-2); border-color:rgba(217,106,37,.22); }
.vitaliza-priority-number { position:absolute; right:17px; top:14px; color:rgba(33,29,26,.19); font:400 28px var(--vitaliza-display); }
.vitaliza-priority-icon { width:44px; height:44px; border-radius:15px; display:grid; place-items:center; background:#efe0d1; font-size:20px; }
.vitaliza-priority[data-source="agenda"] .vitaliza-priority-icon { background:#e9dfbd; }
.vitaliza-priority[data-source="weather"] .vitaliza-priority-icon { background:#d9e4e8; }
.vitaliza-priority[data-source="kitchen"] .vitaliza-priority-icon { background:#f0d6c6; }
.vitaliza-priority[data-source="cycle"] .vitaliza-priority-icon,.vitaliza-priority[data-source="mood"] .vitaliza-priority-icon { background:#e3d8e6; }
.vitaliza-priority-copy { grid-row:1/3; grid-column:2; display:flex; flex-direction:column; align-items:flex-start; min-width:0; }
.vitaliza-priority-copy > small { color:var(--vitaliza-orange-deep); text-transform:uppercase; letter-spacing:.12em; font-size:9px; font-weight:900; }
.vitaliza-priority-copy h3 { margin:10px 0 8px; font:430 24px/1.12 var(--vitaliza-display); }
.vitaliza-priority-copy p { margin:0; color:var(--vitaliza-muted); line-height:1.6; font-size:13px; }
.vitaliza-priority-copy a,.vitaliza-priority-copy > .vitaliza-card-action { margin-top:auto; padding-top:18px; color:var(--vitaliza-orange-deep); text-decoration:none; font-size:12px; font-weight:850; }.vitaliza-priority-copy > .vitaliza-card-action{border:0;background:transparent;cursor:pointer;padding-left:0;padding-right:0;font-family:inherit;text-align:left}
.vitaliza-empty { min-height:190px; grid-column:1/-1; border:1px dashed var(--vitaliza-line-strong); border-radius:22px; display:grid; place-items:center; align-content:center; text-align:center; padding:24px; color:var(--vitaliza-muted); }
.vitaliza-empty > span { font-size:30px; color:var(--vitaliza-orange); }
.vitaliza-empty h3 { margin:9px 0 4px; color:var(--vitaliza-ink); font:430 23px var(--vitaliza-display); }
.vitaliza-empty p { margin:0; }
.vitaliza-empty-compact { min-height:136px; }
.vitaliza-advance-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); gap:14px; align-items:stretch; }
.vitaliza-prepared-section { min-width:0; }
.vitaliza-prepared-card {
  min-height:240px;
  box-sizing:border-box;
  border:1px solid var(--vitaliza-line);
  border-radius:26px;
  padding:25px;
  background:linear-gradient(145deg,#fffaf0,#f0e5d3);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.vitaliza-prepared-mark { display:flex; align-items:center; gap:9px; }
.vitaliza-prepared-mark > span { width:40px; height:40px; border-radius:14px; display:grid; place-items:center; background:#f0d5c0; }
.vitaliza-prepared-mark small { color:var(--vitaliza-orange-deep); text-transform:uppercase; letter-spacing:.11em; font-size:9px; font-weight:900; }
.vitaliza-prepared-card h3 { margin:17px 0 7px; font:430 28px/1.1 var(--vitaliza-display); }
.vitaliza-prepared-card p { margin:0 0 18px; color:var(--vitaliza-muted); line-height:1.6; }
.vitaliza-prepared-card > button,.vitaliza-prepared-card > a { margin-top:auto; min-height:42px; border:0; border-radius:999px; padding:0 15px; background:var(--vitaliza-ink); color:var(--vitaliza-paper); display:inline-flex; align-items:center; gap:10px; text-decoration:none; font-size:12px; font-weight:850; cursor:pointer; }
.vitaliza-prepared-card output { display:block; margin-top:10px; color:var(--vitaliza-sage); font-size:12px; font-weight:800; }
.vitaliza-context-card {
  border-radius:26px;
  border:1px solid rgba(33,29,26,.16);
  background:var(--vitaliza-ink);
  color:var(--vitaliza-paper);
  padding:25px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  overflow:hidden;
  position:relative;
}
.vitaliza-context-card:after { content:""; position:absolute; width:180px; height:180px; border-radius:50%; right:-85px; top:-75px; background:rgba(217,106,37,.42); }
.vitaliza-context-card > * { position:relative; z-index:1; }
.vitaliza-context-score { font:350 58px/1 var(--vitaliza-display); color:var(--vitaliza-orange-light); }
.vitaliza-context-score small { font:700 11px var(--vitaliza-body); color:#c8bdae; }
.vitaliza-context-card .vitaliza-eyebrow { margin-top:18px; color:var(--vitaliza-orange-light); }
.vitaliza-context-card h2 { margin:7px 0; font:430 27px/1.08 var(--vitaliza-display); }
.vitaliza-context-card p:not(.vitaliza-eyebrow) { color:#c8bdae; line-height:1.55; }
.vitaliza-context-card button,.vitaliza-context-card a { margin-top:auto; min-height:42px; border:1px solid rgba(242,164,95,.45); border-radius:999px; background:transparent; color:var(--vitaliza-paper); padding:0 14px; display:inline-flex; align-items:center; gap:9px; text-decoration:none; font-size:12px; font-weight:800; cursor:pointer; }
.vitaliza-weather-strip { margin-top:18px; border:1px solid rgba(127,159,178,.25); background:#dce7e9; border-radius:22px; padding:18px 20px; display:grid; grid-template-columns:auto 1fr auto; gap:14px; align-items:center; }
.vitaliza-weather-strip > span { width:46px; height:46px; border-radius:15px; display:grid; place-items:center; background:rgba(255,255,255,.7); font-size:22px; }
.vitaliza-weather-strip h2 { margin:0; font:430 22px var(--vitaliza-display); }
.vitaliza-weather-strip p { margin:3px 0 0; color:#5f6c70; line-height:1.45; font-size:13px; }
.vitaliza-weather-strip button { border:0; border-radius:999px; background:var(--vitaliza-ink); color:var(--vitaliza-paper); padding:12px 15px; font-weight:850; cursor:pointer; }
.vitaliza-lower-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:14px; padding:26px 0 0; }
.vitaliza-tomorrow-card,.vitaliza-share-card { border:1px solid var(--vitaliza-line); border-radius:26px; padding:25px; background:var(--vitaliza-paper-2); }
.vitaliza-tomorrow-list { display:grid; gap:8px; }
.vitaliza-tomorrow-list > a { display:flex; align-items:center; gap:12px; padding:13px 14px; border-radius:16px; background:rgba(231,219,198,.45); text-decoration:none; }
.vitaliza-tomorrow-list > a > span { color:var(--vitaliza-orange-deep); font-weight:900; }
.vitaliza-tomorrow-list > a > div { display:grid; gap:3px; }
.vitaliza-tomorrow-list small { color:var(--vitaliza-muted); }
.vitaliza-share-card { position:relative; overflow:hidden; background:linear-gradient(140deg,#f0d7c6,#efe6d4); }
.vitaliza-share-card:after { content:""; position:absolute; width:210px; height:210px; border-radius:50%; right:-88px; bottom:-102px; background:rgba(147,134,166,.26); }
.vitaliza-share-card > * { position:relative; z-index:1; }
.vitaliza-share-card > img { width:60px; height:60px; }
.vitaliza-share-card .vitaliza-eyebrow { margin-top:11px; }
.vitaliza-share-card blockquote { margin:17px 0; font:430 clamp(25px,3vw,36px)/1.12 var(--vitaliza-display); letter-spacing:-.03em; }
.vitaliza-share-card > div { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.vitaliza-share-card button { border:0; border-radius:999px; background:var(--vitaliza-ink); color:var(--vitaliza-paper); padding:12px 15px; font-weight:850; cursor:pointer; }
.vitaliza-share-card a { color:var(--vitaliza-orange-deep); text-decoration:none; font-size:12px; font-weight:850; }
.vitaliza-fatal { max-width:560px; margin:13vh auto; padding:30px; text-align:center; }
.vitaliza-fatal img { width:90px; }
.vitaliza-fatal h1 { font:400 clamp(38px,6vw,58px)/1.02 var(--vitaliza-display); letter-spacing:-.04em; }

/* MI ESPACIO ------------------------------------------------------------ */
.sp-page {
  min-height:100dvh !important;
  padding:0 20px 128px !important;
  background:transparent !important;
  color:var(--vitaliza-ink) !important;
}
.sp-page .vitaliza-topbar,.sp-hero,.sp-section { max-width:var(--vitaliza-max); margin-left:auto; margin-right:auto; }
.sp-hero {
  margin-top:18px !important;
  border:1px solid rgba(242,164,95,.25) !important;
  border-radius:32px !important;
  padding:clamp(30px,5vw,52px) !important;
  background:linear-gradient(145deg,rgba(217,106,37,.09),rgba(113,136,120,.05)),var(--vitaliza-ink) !important;
  color:var(--vitaliza-paper) !important;
  display:grid !important;
  grid-template-columns:1fr auto !important;
  gap:28px !important;
  align-items:end !important;
  overflow:hidden !important;
  position:relative !important;
}
.sp-hero:after { content:"" !important; position:absolute !important; width:320px !important; height:320px !important; border-radius:50% !important; right:-125px !important; top:-155px !important; background:rgba(217,106,37,.5) !important; }
.sp-hero > * { position:relative !important; z-index:1 !important; }
.sp-hero p { color:var(--vitaliza-orange-light) !important; }
.sp-hero h1 { margin:12px 0 15px !important; max-width:12ch !important; font:350 clamp(45px,7vw,72px)/.99 var(--vitaliza-display) !important; letter-spacing:-.048em !important; }
.sp-hero > div > span { display:block !important; max-width:620px !important; color:#c8bdae !important; line-height:1.7 !important; }
.sp-plan-card { min-width:180px; padding:20px; border:1px solid rgba(242,164,95,.25); border-radius:22px; background:rgba(255,250,240,.05); display:grid; gap:6px; }
.sp-plan-card small { color:#c8bdae; text-transform:uppercase; letter-spacing:.12em; font-size:9px; }
.sp-plan-card b { color:var(--vitaliza-orange-light); font:400 35px var(--vitaliza-display); }
.sp-plan-card a { color:var(--vitaliza-paper); text-decoration:none; font-size:12px; font-weight:800; }
.sp-section { padding:30px 0 0; }
.sp-section-title { display:flex !important; justify-content:space-between !important; align-items:end !important; gap:16px !important; margin-bottom:18px !important; }
.sp-section-title span { color:var(--vitaliza-orange-deep) !important; background:transparent !important; width:auto !important; height:auto !important; font-size:10px !important; letter-spacing:.14em !important; }
.sp-section-title h2 { margin:5px 0 0 !important; font:400 clamp(29px,4vw,40px)/1.05 var(--vitaliza-display) !important; letter-spacing:-.035em !important; }
.sp-grid { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:12px !important; }
.sp-card {
  min-height:112px !important;
  display:grid !important;
  grid-template-columns:auto 1fr auto !important;
  align-items:center !important;
  gap:15px !important;
  border:1px solid var(--vitaliza-line) !important;
  border-radius:22px !important;
  padding:19px !important;
  background:var(--vitaliza-paper-2) !important;
  color:var(--vitaliza-ink) !important;
  text-decoration:none !important;
  box-shadow:0 10px 28px rgba(58,43,28,.05) !important;
  transition:transform .2s ease,box-shadow .2s ease !important;
}
.sp-card:hover { transform:translateY(-2px) !important; box-shadow:var(--vitaliza-shadow-soft) !important; }
.sp-card > span { width:50px !important; height:50px !important; border-radius:17px !important; display:grid !important; place-items:center !important; background:#e4ded0 !important; font-size:21px !important; }
.sp-card:nth-child(4n+2) > span { background:#dbe3d7 !important; }
.sp-card:nth-child(4n+3) > span { background:#ead9d8 !important; }
.sp-card:nth-child(4n) > span { background:#d9e2e5 !important; }
.sp-card h3 { margin:0 0 5px !important; font:430 22px var(--vitaliza-display) !important; }
.sp-card p { margin:0 !important; color:var(--vitaliza-muted) !important; line-height:1.5 !important; font-size:13px !important; }
.sp-card > b { color:var(--vitaliza-orange-deep) !important; }

/* VITALIZA CONVERSATION ----------------------------------------------------- */
.vita-page {
  max-width:760px !important;
  min-height:100dvh !important;
  margin:0 auto !important;
  padding:0 16px 122px !important;
  background:transparent !important;
  color:var(--vitaliza-ink) !important;
}
.vita-page .v-top {
  min-height:76px !important;
  padding:14px 4px 8px !important;
  border-bottom:1px solid var(--vitaliza-line) !important;
}
.vita-page .v-back { color:var(--vitaliza-orange-deep) !important; }
.vita-page .v-vita-avatar { width:48px !important; height:48px !important; background:transparent !important; }
.vita-page .v-vita-avatar img { width:48px !important; height:48px !important; }
.vita-page .v-name { font:430 22px var(--vitaliza-display) !important; }
.vita-page .v-sub { color:var(--vitaliza-muted) !important; }
.vita-page .v-conv-slot { padding:12px 0 20px !important; }
.vc-shell,.vc-panel,.vc-conversation {
  background:transparent !important;
  color:var(--vitaliza-ink) !important;
}
.vc-messages { padding:16px 4px !important; }
.vc-message,.vc-bubble,.bubble {
  border-radius:20px !important;
  box-shadow:none !important;
}
.vc-message.vita,.vc-bubble-vita,.bubble.assistant {
  background:var(--vitaliza-paper-2) !important;
  border:1px solid var(--vitaliza-line) !important;
  color:var(--vitaliza-ink) !important;
}
.vc-message.user,.vc-bubble-user,.bubble.user {
  background:var(--vitaliza-ink) !important;
  color:var(--vitaliza-paper) !important;
}
.vc-composer,.vc-input-wrap {
  border:1px solid var(--vitaliza-line-strong) !important;
  border-radius:24px !important;
  background:rgba(255,250,240,.94) !important;
  box-shadow:var(--vitaliza-shadow-soft) !important;
}
.vc-composer textarea,.vc-composer input,.vc-input-wrap textarea,.vc-input-wrap input { color:var(--vitaliza-ink) !important; background:transparent !important; }
.vc-send,.vc-submit,.vc-primary { background:var(--vitaliza-orange) !important; color:#fff !important; border:0 !important; }
.vc-chip,.vc-chips button { border-color:var(--vitaliza-line) !important; background:rgba(255,250,240,.75) !important; color:var(--vitaliza-ink) !important; }
.vc-status,.vc-account-state { color:var(--vitaliza-muted) !important; }
.vc-inline-action { background:linear-gradient(145deg,#fffaf0,#efe3d0) !important; border-color:var(--vitaliza-line) !important; }

/* Global unification of all practical modules --------------------------- */
.ag-wrap,.kid-wrap,.kitchen-new,.v-premium-page,.br-page,.habits-page,.journal-page,.kitchen-page,.lib-page,.life-page,.notif-page,.planner-page,.settings-page,.sc-page,.su-page,.recipes-page,.rcp-page,.recipe-page,.legal-page,.ob,.authx {
  min-height:100dvh !important;
  color:var(--vitaliza-ink) !important;
  font-family:var(--vitaliza-body) !important;
  background:
    radial-gradient(circle at 92% 0,rgba(217,106,37,.09),transparent 28rem),
    radial-gradient(circle at 2% 24%,rgba(113,136,120,.07),transparent 25rem),
    var(--vitaliza-paper) !important;
}
.ag-wrap,.kid-wrap,.kitchen-new,.v-premium-page,.br-page,.habits-page,.journal-page,.kitchen-page,.lib-page,.life-page,.notif-page,.planner-page,.settings-page,.sc-page,.su-page {
  padding-bottom:128px !important;
}
.ag-h1,.kid-header h1,.kitchen-hero h1,.v-premium-page h1,.br-page h1,.habits-page h1,.journal-page h1,.lib-page h1,.life-page h1,.notif-page h1,.planner-page h1,.settings-page h1,.sc-page h1,.su-page h1,.rcp-title,.authx h1,.ob h1 {
  font-family:var(--vitaliza-display) !important;
  font-weight:380 !important;
  letter-spacing:-.04em !important;
  color:var(--vitaliza-ink) !important;
}
.ag-sub,.kid-header p,.kitchen-hero p,.v-premium-page p,.br-page p,.habits-page p,.journal-page p,.lib-page p,.life-page p,.notif-page p,.planner-page p,.settings-page p,.sc-page p,.su-page p,.authx p,.ob p {
  color:var(--vitaliza-muted);
}
.ag-card,.ag-editor,.ag-alert,.kid-card,.kid-sec,.kid-form,.kitchen-target,.kitchen-world,.kitchen-featured,.kitchen-card,.v-card,.br-card,.hab-card,.hab-progress-card,.hab-reco,.hab-composer,.jrn-card,.jrn-paper,.jrn-vita-response,.jrn-history,.kit-group,.kit-state,.lib-card,.reader-card,.life-card,.notif-permission,.notif-card,.planner-card,.pln-assist,.pln-today,.pln-meal,.settings-card,.service-card,.sc-card,.su-card,.rcp-card,.recipe-card {
  background:var(--vitaliza-paper-2) !important;
  border:1px solid var(--vitaliza-line) !important;
  border-radius:22px !important;
  box-shadow:0 10px 28px rgba(58,43,28,.055) !important;
  color:var(--vitaliza-ink) !important;
}
.ag-new,.kid-primary,.kitchen-primary,.kit-primary,.kit-finish,.v-btn-primary,.br-primary,.hab-primary,.hab-save,.jrn-save,.pln-vita-auto,.settings-card button,.service-card button,.sc-primary,.su-primary,.rcp-primary,.btn-primary {
  border:0 !important;
  border-radius:999px !important;
  background:var(--vitaliza-orange) !important;
  color:#fffaf0 !important;
  box-shadow:none !important;
  font-weight:800 !important;
}
input,textarea,select,.ag-input,.kid-input,.jrn-textarea,.kit-input,.rcp-search {
  background:var(--vitaliza-surface) !important;
  color:var(--vitaliza-ink) !important;
  border-color:var(--vitaliza-line-strong) !important;
  border-radius:14px !important;
}
.ag-vtab.active,.ag-fchip.active,.kit-tab.active,.jrn-modes button.active,.hab-tab.active,.rcp-filter.active {
  background:var(--vitaliza-ink) !important;
  color:var(--vitaliza-paper) !important;
  border-color:var(--vitaliza-ink) !important;
}
.ag-card { border-left:4px solid var(--vitaliza-yellow) !important; }
.ag-card[data-type="task"] { border-left-color:var(--vitaliza-blue) !important; }
.ag-card[data-type="reminder"] { border-left-color:var(--vitaliza-lilac) !important; }
.jrn-header,.kit-header,.hab-header,.pln-header,.rcp-header {
  background:rgba(243,234,217,.92) !important;
  border-bottom:1px solid var(--vitaliza-line) !important;
  backdrop-filter:blur(18px) !important;
}
.jrn-vita-line,.kit-vita-line,.hab-reco,.pln-assist {
  background:linear-gradient(135deg,rgba(217,106,37,.12),rgba(113,136,120,.08)),var(--vitaliza-paper-2) !important;
  color:var(--vitaliza-ink) !important;
}
.authx-card,.ob-card {
  background:var(--vitaliza-paper-2) !important;
  border:1px solid var(--vitaliza-line) !important;
  border-radius:30px !important;
  box-shadow:var(--vitaliza-shadow) !important;
}
.authx-orb,.ob-logo img { background:transparent !important; }
.authx-brand:after,.ob-brand:after { content:"VITALIZA"; display:block; margin-top:5px; color:var(--vitaliza-orange-deep); font-size:9px; font-weight:900; letter-spacing:.24em; }

/* Motion and accessibility */
.vitaliza-app,.sp-page,.vita-page,.ag-wrap,.kid-wrap,.kitchen-new,.v-premium-page,.br-page,.habits-page,.journal-page,.kitchen-page,.lib-page,.life-page,.notif-page,.planner-page,.settings-page,.sc-page,.su-page {
  animation:vitaliza-page-in .28s ease both;
}
@keyframes vitaliza-page-in { from { opacity:0; transform:translateY(7px); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}

@media (max-width:900px) {
  .vitaliza-today-hero { grid-template-columns:1fr; gap:28px; }
  .vitaliza-dial-column { order:2; }
  .vitaliza-hero-copy { order:1; max-width:760px; }
  .vitaliza-hero-copy h1 { max-width:14ch; }
  .vitaliza-priority-grid { grid-template-columns:1fr 1fr; }
  .vitaliza-priority:first-child { grid-column:1/-1; }
  .vitaliza-advance-grid,.vitaliza-lower-grid { grid-template-columns:1fr; }
}
@media (max-width:700px) {
  .vitaliza-app,.sp-page { padding-left:15px !important; padding-right:15px !important; padding-bottom:116px !important; }
  .vitaliza-topbar { padding-left:0; padding-right:0; }
  .vitaliza-date { display:none; }
  .vitaliza-account-banner { align-items:flex-start; flex-direction:column; }
  .vitaliza-account-banner > div:last-child { width:100%; flex-wrap:wrap; }
  .vitaliza-today-hero { padding-top:18px; }
  .vitaliza-hero-copy h1 { font-size:47px; }
  .vitaliza-quick-prompts { grid-template-columns:1fr; }
  .vitaliza-priority-grid { grid-template-columns:1fr; }
  .vitaliza-priority:first-child { grid-column:auto; }
  .vitaliza-priority { min-height:220px; }
  .vitaliza-weather-strip { grid-template-columns:auto 1fr; }
  .vitaliza-weather-strip button { grid-column:1/-1; }
  .sp-hero { grid-template-columns:1fr !important; padding:30px 24px !important; }
  .sp-plan-card { width:min(100%,260px); }
  .sp-grid { grid-template-columns:1fr !important; }
}
@media (max-width:560px) {
  .vitaliza-brand > img { width:41px; height:41px; }
  .vitaliza-brand-word { font-size:18px; }
  .vitaliza-icon-btn { width:39px; min-height:39px; }
  .vitaliza-plan { display:none; }
  .vitaliza-solar-dial { width:min(100%,350px); }
  .vitaliza-dial-center { width:140px; height:140px; }
  .vitaliza-dial-center img { width:55px; height:55px; }
  .vitaliza-orbit-node > span { width:38px; height:38px; }
  .vitaliza-orbit-node small { font-size:8px; }
  .vitaliza-section-head { align-items:flex-start; }
  .vitaliza-section-head h2 { font-size:30px; }
  .vitaliza-prepared-card,.vitaliza-context-card,.vitaliza-tomorrow-card,.vitaliza-share-card { padding:21px; }
  .v-bottom-nav,.global-app-nav { bottom:8px !important; width:calc(100% - 16px) !important; }
  .v-bottom-nav a small,.global-app-nav a span:last-child { font-size:9px !important; }
  .vitaliza-data-mode { margin-left:10px !important; margin-right:10px !important; border-radius:16px !important; }
}

/* Entry screens: explicit collection identity --------------------------- */
.authx-brand-lockup,.ob-collection-mark {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  margin:0 auto 8px !important;
  color:var(--vitaliza-ink) !important;
}
.authx-brand-lockup img,.ob-collection-mark img { width:46px !important; height:46px !important; }
.authx-brand-lockup > span,.ob-collection-mark > span {
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  font:500 18px/1 var(--vitaliza-display) !important;
  letter-spacing:.08em !important;
}
.authx-brand-lockup small,.ob-collection-mark small {
  margin-top:5px !important;
  color:var(--vitaliza-orange-deep) !important;
  font:900 8px/1 var(--vitaliza-body) !important;
  letter-spacing:.24em !important;
}
.ob-collection-mark { margin-bottom:14px !important; }
#forgot-screen,#reset-screen {
  min-height:100dvh !important;
  padding:28px 18px !important;
  box-sizing:border-box !important;
  background:radial-gradient(circle at 84% 4%,rgba(217,106,37,.1),transparent 24rem),var(--vitaliza-paper) !important;
  color:var(--vitaliza-ink) !important;
  font-family:var(--vitaliza-body) !important;
}
#forgot-screen > div,#reset-screen > div {
  padding:clamp(24px,5vw,42px) !important;
  background:var(--vitaliza-paper-2) !important;
  border:1px solid var(--vitaliza-line) !important;
  border-radius:30px !important;
  box-shadow:var(--vitaliza-shadow) !important;
}
#forgot-screen header:before,#reset-screen header:before {
  content:"VITALIZA" !important;
  color:var(--vitaliza-orange-deep) !important;
  font:900 9px/1 var(--vitaliza-body) !important;
  letter-spacing:.22em !important;
}


/* PWA install invitation ------------------------------------------------ */
.vitaliza-install-banner {
  position:fixed;
  left:50%;
  bottom:calc(92px + env(safe-area-inset-bottom, 0px));
  z-index:10050;
  width:min(560px,calc(100% - 24px));
  box-sizing:border-box;
  display:grid;
  grid-template-columns:52px minmax(0,1fr) auto;
  align-items:center;
  gap:13px;
  padding:14px 15px;
  color:var(--vitaliza-ink,#211d1a);
  background:rgba(255,252,246,.97);
  border:1px solid rgba(91,69,54,.18);
  border-radius:22px;
  box-shadow:0 20px 55px rgba(57,38,25,.22);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  opacity:0;
  transform:translate(-50%,18px) scale(.98);
  transition:opacity .24s ease,transform .24s ease;
}
.vitaliza-install-banner.is-visible { opacity:1; transform:translate(-50%,0) scale(1); }
.vitaliza-install-icon {
  width:52px;
  height:52px;
  border-radius:15px;
  box-shadow:inset 0 0 0 1px rgba(91,69,54,.12);
}
.vitaliza-install-copy { min-width:0; display:flex; flex-direction:column; gap:3px; }
.vitaliza-install-copy strong {
  font:600 16px/1.18 var(--vitaliza-display,'Fraunces',serif);
  letter-spacing:-.01em;
}
.vitaliza-install-copy span {
  color:var(--vitaliza-muted,#6f6259);
  font:600 11px/1.38 var(--vitaliza-body,'Mulish',sans-serif);
}
.vitaliza-install-copy small {
  margin-top:4px;
  color:var(--vitaliza-orange-deep,#a64617);
  font:800 10px/1.38 var(--vitaliza-body,'Mulish',sans-serif);
}
.vitaliza-install-action {
  min-height:40px;
  padding:0 16px;
  border:0;
  border-radius:999px;
  color:#fff;
  background:var(--vitaliza-ink,#211d1a);
  font:900 11px/1 var(--vitaliza-body,'Mulish',sans-serif);
  cursor:pointer;
}
.vitaliza-install-action:hover { transform:translateY(-1px); }
.vitaliza-install-close {
  position:absolute;
  top:-9px;
  right:-7px;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(91,69,54,.16);
  border-radius:50%;
  color:var(--vitaliza-ink,#211d1a);
  background:#fffaf1;
  box-shadow:0 5px 14px rgba(57,38,25,.15);
  font:500 20px/1 sans-serif;
  cursor:pointer;
}
@media (min-width:760px) {
  .vitaliza-install-banner { bottom:24px; }
}
@media (max-width:520px) {
  .vitaliza-install-banner {
    grid-template-columns:46px minmax(0,1fr);
    gap:10px;
    padding:13px;
    bottom:calc(88px + env(safe-area-inset-bottom, 0px));
  }
  .vitaliza-install-icon { width:46px; height:46px; border-radius:13px; }
  .vitaliza-install-action { grid-column:1/-1; width:100%; }
}


/* Enlaces públicos exigidos por las integraciones y visibles sin iniciar sesión. */
.vitaliza-public-footer{position:relative;z-index:3;display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 18px 128px;background:var(--vt-bg-canvas,#f7f3ee);color:var(--vt-text-secondary,#6e675f);font-size:12px;text-align:center}
.vitaliza-public-footer nav{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.vitaliza-public-footer a{color:#a85019;font-weight:800;text-decoration:none}.vitaliza-public-footer a:hover{text-decoration:underline}
body:has(.authx) .vitaliza-public-footer{padding-bottom:26px}body:has(.settings-page) .vitaliza-public-footer{padding-bottom:128px}

/* Cierre visual 10.1.4: ningún aviso global puede forzar ancho horizontal. */
.vitaliza-data-mode{
  width:calc(100% - 20px)!important;
  max-width:var(--vitaliza-max,1160px)!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.vitaliza-install-banner{max-width:calc(100vw - 24px);}
.vitaliza-install-copy,.vitaliza-install-copy span,.vitaliza-install-copy small{
  min-width:0;
  white-space:normal;
  overflow-wrap:anywhere;
}
@media(max-width:520px){
  .vitaliza-install-banner{width:calc(100vw - 28px);max-width:calc(100vw - 28px);}
}

/* Tarjeta diaria útil: reflexión + contexto + acción real. */
.vitaliza-share-card .vitaliza-share-brand{display:flex;align-items:center;gap:9px}.vitaliza-share-card .vitaliza-share-brand img{width:50px;height:50px}.vitaliza-share-card .vitaliza-share-brand span{font-size:10px;letter-spacing:.15em;font-weight:950}.vitaliza-share-card .vitaliza-share-guidance{margin:-3px 0 18px;max-width:44ch;color:#665b52;font-size:13px;line-height:1.58}.vitaliza-share-card .vitaliza-share-next{display:grid!important;width:100%;gap:5px;margin:0 0 18px;padding:14px 16px!important;border-radius:18px;background:rgba(255,250,243,.58);border:1px solid rgba(36,32,29,.08);color:var(--vitaliza-ink)!important;text-decoration:none!important}.vitaliza-share-card .vitaliza-share-next small{font-size:8px;letter-spacing:.14em;color:#8a684f;font-weight:950}.vitaliza-share-card .vitaliza-share-next strong{font-size:13px}.vitaliza-share-card .vitaliza-share-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.vitaliza-share-card .vitaliza-share-actions>a{color:var(--vitaliza-orange-deep);text-decoration:none;font-size:12px;font-weight:850}

/* VITALIZA 11.1 — contexto vivo en Mi espacio */
.sp-live{max-width:var(--vitaliza-max);margin:18px auto 42px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sp-live>a{display:grid;grid-template-columns:46px 1fr 16px;gap:13px;align-items:start;padding:20px;border-radius:24px;background:linear-gradient(145deg,#fffaf2,#f3e9dc);border:1px solid rgba(41,39,34,.1);color:#292722;text-decoration:none;box-shadow:0 16px 42px rgba(54,44,33,.08)}.sp-live>a:nth-child(2){background:linear-gradient(145deg,#fffdf8,#eeece2)}.sp-live>a:nth-child(3){background:linear-gradient(145deg,#f7f5ed,#e7eee9)}.sp-live>a>span{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;background:rgba(231,124,49,.14);color:#a65328;font-size:20px}.sp-live small{display:block;color:#a65328;font-size:9px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.sp-live strong{display:block;margin:7px 0;font:500 19px Georgia,serif}.sp-live p{margin:0;color:#756c62;font-size:12px;line-height:1.45}.sp-live b{color:#a65328}@media(max-width:820px){.sp-live{grid-template-columns:1fr}}

/* VITALIZA 14.2 — invitación de instalación compacta, flotante y sin empujar el contenido. */
.vitaliza-install-banner{width:min(470px,calc(100vw - 20px));grid-template-columns:38px minmax(0,1fr) auto;gap:10px;padding:10px 11px;border-radius:18px;bottom:calc(84px + env(safe-area-inset-bottom,0px))}
.vitaliza-install-icon{width:38px;height:38px;border-radius:11px}
.vitaliza-install-copy strong{font-size:14px}.vitaliza-install-copy span{font-size:10px}.vitaliza-install-action{min-height:36px;padding:0 13px}
.vitaliza-install-close{top:-7px;right:-5px;width:24px;height:24px;font-size:17px}
@media(min-width:760px){.vitaliza-install-banner{bottom:88px}}
@media(max-width:520px){.vitaliza-install-banner{grid-template-columns:36px minmax(0,1fr) auto;padding:9px;bottom:calc(78px + env(safe-area-inset-bottom,0px))}.vitaliza-install-icon{width:36px;height:36px}.vitaliza-install-copy span{display:none}.vitaliza-install-action{grid-column:auto;width:auto;padding:0 11px}}


/* ===== src/styles/release-11.3.css ===== */
/* VITALIZA 11.3 — corrección visual consolidada tras revisión en deploy real. */
:root{--v113-nav-h:86px}
.li-priority.is-primary h3,.lr-action.is-primary h3,.sp-hero h1,.sp-hero .vitaliza-eyebrow{color:#fffaf3!important}
.sp-hero>div>span{color:rgba(255,250,243,.78)!important}
.sp-plan-card small{color:rgba(255,250,243,.72)!important}
.v-bottom-nav{z-index:900!important}
.life-page.is-capturing .v-bottom-nav,.pet-page.is-capturing .v-bottom-nav{display:none!important}
.life-modal{z-index:10000!important;align-items:center!important;padding:12px!important}
.life-modal form{max-height:calc(100dvh - 24px)!important;padding-bottom:calc(24px + env(safe-area-inset-bottom))!important}
.life-form-head{position:sticky;top:-23px;background:var(--vz-paper);z-index:3;padding:22px 0 10px}
.vshare{z-index:11000!important}
@media(min-width:900px){
  .v-bottom-nav{width:min(760px,calc(100vw - 48px))!important;left:50%!important;transform:translateX(-50%)!important;bottom:18px!important}
  .local-home,.local-resolver,.sp-page,.cycle-premium,.life-page,.pet-page,.habits-page{padding-bottom:150px!important}
}
@media(max-width:899px){
  .v-bottom-nav{bottom:max(8px,env(safe-area-inset-bottom))!important;width:calc(100% - 24px)!important}
}
/* Nunca permitir texto oscuro dentro de superficies oscuras. */
[style*="background:#272620"] h1,[style*="background:#272620"] h2,[style*="background:#272620"] h3,
[style*="background: #272620"] h1,[style*="background: #272620"] h2,[style*="background: #272620"] h3{color:#fffaf3!important}


/* Contraste explícito en todas las superficies oscuras vistas en producción. */
.li-account h2,.li-account p,.li-account small,.li-priority.is-primary h3,.li-priority.is-primary p,.li-priority.is-primary small,
.lr-action.is-primary h3,.lr-action.is-primary p,.lr-action.is-primary small,.sp-hero h1,.sp-hero p,.sp-hero>div>span,
.sp-plan-card small,.sp-plan-card b{color:#fffaf3!important}
.li-account p,.sp-hero>div>span,.lr-action.is-primary p{color:rgba(255,250,243,.78)!important}
.li-account a.ghost{color:#fffaf3!important;border-color:rgba(255,250,243,.28)!important}
/* La navegación nunca tapa formularios ni la última tarjeta. */
.life-modal:not([hidden])~.v-bottom-nav{display:none!important}
.pet-page.is-capturing .v-bottom-nav{display:none!important}
/* Estados inválidos nunca se muestran como datos reales. */
.cycle-day:empty,.cycle-next strong:empty,.cycle-next span:empty{display:none!important}

/* Consolidación posterior al recorrido real en Netlify. */
.li-orb img,.vitaliza-brand img,.li-share>div img,.v-sun-button img{display:block;object-fit:contain}
.life-capture,.pet-wizard,.child-wizard{max-height:min(84dvh,780px);overflow:auto;overscroll-behavior:contain;padding-bottom:max(28px,env(safe-area-inset-bottom))}
.life-page.is-capturing,.pets-page.is-capturing,.children-page.is-capturing{overflow:hidden}
.life-page.is-capturing .v-bottom-nav,.pets-page.is-capturing .v-bottom-nav,.children-page.is-capturing .v-bottom-nav{display:none!important}
@media(min-width:900px){
  .v-bottom-nav{bottom:18px;max-width:760px}
  main:has(.v-bottom-nav){padding-bottom:130px!important}
}

/* En escritorio la navegación se vuelve un riel lateral: permanece accesible
   sin tapar botones, tarjetas ni formularios mientras se recorre la página. */
@media(min-width:1280px){
  .v-bottom-nav{
    width:82px!important;max-width:82px!important;height:auto!important;
    left:22px!important;right:auto!important;top:50%!important;bottom:auto!important;
    transform:translateY(-50%)!important;
    grid-template-columns:1fr!important;align-items:center!important;gap:4px!important;
    padding:10px 7px!important;border-radius:30px!important;
  }
  .v-bottom-nav a{min-height:58px!important;padding:6px 3px!important}
  .v-bottom-nav a.v-main{width:auto!important;margin:0!important;align-self:center!important}
  .v-bottom-nav a.v-main span,.v-bottom-nav a.v-main .v-sun-button{
    width:46px!important;height:46px!important;margin:0 auto!important;border-width:3px!important;
  }
  .v-bottom-nav a.v-main img{width:40px!important;height:40px!important}
  .v-bottom-nav a small{font-size:8px!important;text-align:center!important}
  main:has(.v-bottom-nav){padding-bottom:64px!important}
}

/* Ciclo aprovecha el ancho disponible en escritorio y deja de parecer un
   formulario de teléfono flotando en una página vacía. */
@media(min-width:900px){
  .cycle-premium{width:min(1080px,calc(100% - 48px))!important;max-width:1080px!important;margin:0 auto!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:20px!important;align-items:start!important}
  .cycle-premium>.v-premium-head,.cycle-premium>.cycle-recorded,.cycle-premium>.cycle-empty,.cycle-premium>.cycle-update-card{grid-column:1/-1!important}
  .cycle-premium>.cycle-phase{grid-column:1!important;margin:0!important;min-height:280px!important}
  .cycle-premium>.cycle-guidance{grid-column:2!important;margin:0!important;min-height:280px!important}
  .cycle-premium>.cycle-patterns,.cycle-premium>.cycle-patterns-free{grid-column:1!important;margin:0!important}
  .cycle-premium>.cycle-checkin{grid-column:2!important;margin:0!important}
  .cycle-premium>.cycle-update-card{width:100%!important;box-sizing:border-box!important}
}

/* Formularios guiados: pantalla legible, desplazable y sin navegación superpuesta. */
.pet-page.is-capturing,.life-page.is-capturing{height:100dvh!important;overflow:hidden!important;padding-bottom:0!important}
.pet-page.is-capturing .pet-shell{height:100%;overflow:auto;overscroll-behavior:contain;padding-bottom:max(30px,env(safe-area-inset-bottom))}
.pet-page.is-capturing .v-bottom-nav,.life-page.is-capturing .v-bottom-nav{display:none!important}
.life-modal:not([hidden]){position:fixed!important;inset:0!important;display:flex!important;align-items:center!important;justify-content:center!important;background:rgba(38,35,30,.48)!important;backdrop-filter:blur(8px)!important;overflow:auto!important;padding:18px!important}
.life-modal form{width:min(640px,100%)!important;max-height:calc(100dvh - 36px)!important;overflow:auto!important;border-radius:28px!important;box-shadow:0 30px 100px rgba(35,30,24,.28)!important}
@media(max-width:650px){.life-modal:not([hidden]){align-items:stretch!important;padding:0!important}.life-modal form{width:100%!important;min-height:100dvh!important;max-height:100dvh!important;border-radius:0!important;padding-bottom:calc(32px + env(safe-area-inset-bottom))!important}.pet-page.is-capturing .pet-shell{padding:12px 12px calc(28px + env(safe-area-inset-bottom))!important}.pet-wizard{border-radius:24px!important}}
/* La navegación global vive fuera de cada página; :has evita que tape los asistentes. */
body:has(.pet-page.is-capturing) .v-bottom-nav,
body:has(.life-page.is-capturing) .v-bottom-nav,
body:has(.children-page.is-capturing) .v-bottom-nav,
body:has(.life-modal:not([hidden])) .v-bottom-nav{display:none!important}
body:has(.pet-page.is-capturing) .global-app-nav,
body:has(.life-page.is-capturing) .global-app-nav,
body:has(.children-page.is-capturing) .global-app-nav,
body:has(.life-modal:not([hidden])) .global-app-nav{display:none!important}
/* Alternancia editorial visible también en la pantalla de tarjetas compartidas. */
.sc-card.sc-card-dark{background:linear-gradient(145deg,#2b2823,#1f1d19)!important;color:#fffaf3!important;border-color:rgba(255,255,255,.08)!important;box-shadow:0 24px 80px rgba(36,32,29,.22)!important}
.sc-card.sc-card-dark::after{background:rgba(172,83,39,.45)!important}
.sc-card.sc-card-dark .sc-kicker{color:#ffad67!important}
.sc-card.sc-card-dark blockquote{color:#fffaf3!important}
.sc-card.sc-card-dark .sc-card-copy>p{color:rgba(255,250,243,.76)!important}
.sc-card.sc-card-dark footer small{color:rgba(255,250,243,.58)!important}
.sc-card.sc-card-dark footer a{color:#fffaf3!important;border-color:rgba(255,250,243,.3)!important}
.sc-card.sc-card-dark button{background:#fffaf3!important;color:#24201d!important}
.sc-card.sc-card-dark .sc-site{color:rgba(255,250,243,.45)!important}
/* El riel global comparte la misma geometría que la navegación local. */
@media(min-width:1280px){
  .global-app-nav{
    width:82px!important;max-width:82px!important;height:auto!important;min-height:0!important;
    left:22px!important;right:auto!important;top:50%!important;bottom:auto!important;
    transform:translateY(-50%)!important;
    grid-template-columns:1fr!important;align-items:center!important;gap:4px!important;
    padding:10px 7px!important;border:1px solid rgba(242,164,95,.3)!important;border-radius:30px!important;
  }
  .global-app-nav a{min-height:58px!important;padding:6px 3px!important}
  .global-app-nav .global-nav-vita{width:46px!important;height:46px!important;margin:0 auto!important;transform:none!important;border-width:3px!important;box-shadow:0 0 0 5px var(--vitaliza-ink),0 0 24px rgba(217,106,37,.22)!important}
  .global-app-nav .global-nav-vita img{width:40px!important;height:40px!important}
  .global-app-nav a span:last-child{font-size:8px!important;text-align:center!important}
}
/* Una animación con transform convierte a la página en contenedor de los
   elementos fixed. En escritorio eso desplazaba el riel sobre las tarjetas.
   El movimiento de entrada se omite en las vistas con navegación fija. */
@media(min-width:1280px){
  .cycle-premium,.sp-page,.life-page,.pet-page,.habits-page,.local-resolver,.local-home{
    animation:none!important;transform:none!important;
  }
}


/* ===== src/styles/release-11.4.css ===== */
/* VITALIZA 11.4 — cierre premium de producto. */
:root{--v114-focus:0 0 0 3px rgba(231,124,49,.28)}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #b85e25!important;outline-offset:3px!important;box-shadow:var(--v114-focus)!important}
button,a,summary{touch-action:manipulation}
.sp-disclosure{max-width:var(--vitaliza-max);margin:18px auto 0;padding:0!important;border:1px solid rgba(41,39,34,.1);border-radius:26px;background:rgba(255,253,248,.72);overflow:hidden;box-shadow:0 16px 46px rgba(83,65,43,.05)}
.sp-disclosure>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;min-height:92px}.sp-disclosure>summary::-webkit-details-marker{display:none}.sp-disclosure>summary span{color:var(--vitaliza-orange-deep);font-size:10px;letter-spacing:.14em;font-weight:850}.sp-disclosure>summary h2{margin:5px 0 0;font:400 clamp(27px,3vw,38px)/1.05 var(--vitaliza-display);letter-spacing:-.035em}.sp-disclosure>summary p{margin:6px 0 0;color:#7b7167;font-size:12px}.sp-disclosure>summary i{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#f0dfc8;color:#9f5528;font-style:normal;font-size:22px;transition:transform .2s ease}.sp-disclosure[open]>summary i{transform:rotate(180deg)}.sp-disclosure>.sp-grid{padding:0 18px 20px}.sp-disclosure[open]>summary{border-bottom:1px solid rgba(41,39,34,.08)}
.habits-page .hab-content{padding-bottom:70px}.habits-page .hab-list{margin-top:0}.habits-page .hab-card{box-shadow:0 14px 38px rgba(83,65,43,.06)}.hab-done-action[aria-pressed="true"]{background:#dfe8d8!important;color:#31533c!important}.hab-done-action[aria-pressed="true"]:before{content:'✓ ';font-weight:900}
.li-secondary-content{animation:fadeIn .18s ease}.li-secondary-toggle[aria-expanded="true"]{background:#292722;color:#fff}.li-secondary-toggle[aria-expanded="true"] small,.li-secondary-toggle[aria-expanded="true"] em{color:rgba(255,250,243,.7)}.li-secondary-toggle[aria-expanded="true"] i{background:#f3a057;color:#292722}
@media(max-width:860px){
  .vitaliza-topbar{min-height:62px!important}.vitaliza-date{display:none!important}.li-account{padding:16px!important}.li-account p{font-size:13px!important}.li-account>div:last-child{width:100%!important}.li-account a{flex:1;text-align:center!important;padding:10px 12px!important}
  .li-checkin-copy h2{font-size:21px!important}.li-checkin-copy p{font-size:12px!important}.li-context{margin-bottom:28px!important}.li-section{margin-bottom:30px!important}.li-section-head{margin-bottom:12px!important}.li-section-head h2{font-size:27px!important}.li-priority.is-primary{padding:18px!important}.li-priority.is-primary h3{font-size:24px!important}.li-priority.is-primary p{font-size:14px!important}.li-two{gap:12px!important}.li-meal,.li-prepared,.li-empty{padding:18px!important}.li-weather{padding:16px!important;border-radius:20px!important}.li-lower{gap:12px!important}.li-tomorrow,.li-wait{padding:18px!important}.li-share>p{font-size:13px!important;line-height:1.45!important}.li-share footer{margin-top:18px!important}.li-privacy{display:none!important}
  .sp-hero{margin-top:10px!important}.sp-live{display:flex!important;overflow-x:auto!important;gap:10px!important;padding-bottom:8px!important;scroll-snap-type:x mandatory!important}.sp-live>a{min-width:82%!important;scroll-snap-align:start!important}.sp-disclosure{margin-top:12px}.sp-disclosure>summary{padding:18px;min-height:82px}.sp-disclosure>.sp-grid{padding:0 12px 14px}.sp-card{min-height:84px!important}
  .habits-page .hab-content{padding-bottom:120px!important}.hab-header{padding-bottom:10px!important}.hab-care-now{margin-top:14px!important}.hab-care-intro h2{font-size:25px!important}.hab-routines-shell{margin-top:20px!important}.hab-routines-head h2{font-size:28px!important}.hab-card{grid-template-columns:34px 44px 1fr 34px!important;padding:15px!important}.hab-done-action{width:100%;margin-top:4px}.hab-principles{margin-bottom:10px}
}
@media(min-width:861px){.li-secondary-toggle{display:none!important}.li-secondary-content[hidden]{display:block!important}.li-secondary{margin-bottom:0}.habits-page .hab-content{min-height:360px}}
@media(prefers-reduced-motion:reduce){.sp-disclosure>summary i,.li-secondary-content{transition:none!important;animation:none!important}}


/* ===== src/styles/v13.css ===== */
/* VITALIZA 13 — experiencia centrada en resolver. */
:root{--vz13-ink:#26231f;--vz13-muted:#746d64;--vz13-paper:#f6efe4;--vz13-card:#fffaf2;--vz13-line:rgba(38,35,31,.11);--vz13-orange:#dd6f2d;--vz13-soft:#efe0cc;--vz13-green:#dfeadf;--vz13-blue:#dde9eb}
*{box-sizing:border-box}.vz13-page{min-height:100dvh;background:radial-gradient(circle at 15% 0,rgba(226,118,48,.13),transparent 28rem),var(--vz13-paper);color:var(--vz13-ink);padding:22px 18px 142px}.vz13-wrap,.vz13-topbar{max-width:1120px;margin-left:auto;margin-right:auto}.vz13-topbar{display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px}.vz13-brandline,.vz13-brand,.vz13-topmeta{display:flex;align-items:center}.vz13-brandline{gap:10px}.vz13-brand{gap:9px;color:var(--vz13-ink);text-decoration:none;font-weight:900;letter-spacing:.12em;font-size:12px}.vz13-brand img{width:38px;height:38px}.vz13-back{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:rgba(255,250,242,.7);border:1px solid var(--vz13-line);color:var(--vz13-ink);text-decoration:none}.vz13-topmeta{gap:10px;color:var(--vz13-muted);font-size:12px;text-transform:capitalize}.vz13-tier{padding:7px 10px;border-radius:999px;background:var(--vz13-card);border:1px solid var(--vz13-line);color:var(--vz13-ink);text-decoration:none;font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:9px}.vz13-tier.trial{background:#f7dfc9;color:#8f431d}.vz13-tier.pro{background:var(--vz13-ink);color:white}.vz13-profile{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:var(--vz13-card);border:1px solid var(--vz13-line);text-decoration:none;color:var(--vz13-ink);font-size:18px}.vz13-heading{grid-column:1/-1;padding-top:34px}.vz13-heading p,.vz13-kicker{margin:0 0 8px;color:#a65428;font-weight:900;font-size:10px;letter-spacing:.16em;text-transform:uppercase}.vz13-heading h1,.vz13-title{font:500 clamp(38px,6vw,66px)/1.01 Fraunces,Georgia,serif;letter-spacing:-.045em;margin:0;max-width:15ch}.vz13-wrap{padding-top:28px}.vz13-card{background:rgba(255,250,242,.88);border:1px solid var(--vz13-line);border-radius:28px;box-shadow:0 18px 50px rgba(66,50,34,.06)}.vz13-primary{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);overflow:hidden}.vz13-primary-copy{padding:clamp(25px,4vw,48px)}.vz13-primary-visual{min-height:330px;padding:28px;background:var(--vz13-ink);color:white;display:flex;flex-direction:column;justify-content:space-between}.vz13-primary h2{font:500 clamp(36px,5vw,58px)/1.02 Fraunces,Georgia,serif;letter-spacing:-.04em;margin:12px 0}.vz13-primary p{color:var(--vz13-muted);font-size:16px;line-height:1.6;max-width:60ch}.vz13-primary-visual p{color:rgba(255,255,255,.72)}.vz13-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.vz13-button,.vz13-actions a,.vz13-actions button{border:0;border-radius:999px;padding:12px 17px;background:var(--vz13-orange);color:#fff;text-decoration:none;font-weight:900;cursor:pointer;font:800 13px Mulish,sans-serif}.vz13-button.secondary,.vz13-actions .secondary{background:transparent;color:var(--vz13-ink);border:1px solid var(--vz13-line)}.vz13-primary-visual .secondary{color:white;border-color:rgba(255,255,255,.25)}.vz13-status{display:block;margin-top:12px;color:#2d704c;font-weight:800;font-size:12px}.vz13-capture{margin-top:18px;padding:18px;display:grid;grid-template-columns:1fr auto;gap:10px}.vz13-capture label{grid-column:1/-1;font:500 22px Fraunces,Georgia,serif}.vz13-capture input,.vz13-field input,.vz13-field textarea,.vz13-field select{width:100%;border:1px solid var(--vz13-line);background:white;border-radius:16px;padding:14px 15px;color:var(--vz13-ink);font:600 14px Mulish,sans-serif;outline:none}.vz13-capture input:focus,.vz13-field input:focus,.vz13-field textarea:focus,.vz13-field select:focus{border-color:rgba(221,111,45,.55);box-shadow:0 0 0 4px rgba(221,111,45,.1)}.vz13-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.vz13-mini{padding:22px}.vz13-mini small{display:block;color:#a65428;font-weight:900;letter-spacing:.13em;font-size:9px;text-transform:uppercase}.vz13-mini h3{font:500 27px/1.08 Fraunces,Georgia,serif;margin:10px 0}.vz13-mini p{margin:0;color:var(--vz13-muted);line-height:1.5}.vz13-mini footer{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:18px}.vz13-mini footer a,.vz13-mini footer button{color:#964b24;text-decoration:none;font-weight:900;border:0;background:none;padding:0;cursor:pointer}.vz13-tier-strip{max-width:1120px;margin:16px auto 0;border-radius:20px;padding:15px 18px;background:var(--vz13-card);border:1px solid var(--vz13-line);display:flex;align-items:center;justify-content:space-between;gap:16px}.vz13-tier-strip>div{display:grid;gap:4px}.vz13-tier-strip b{font-size:11px;letter-spacing:.1em;text-transform:uppercase}.vz13-tier-strip span{color:var(--vz13-muted);font-size:12px}.vz13-tier-strip a{color:#974920;text-decoration:none;font-weight:900;white-space:nowrap}.vz13-tier-strip.trial{background:#f6e0cc}.vz13-tier-strip.pro{background:var(--vz13-ink);color:white}.vz13-tier-strip.pro span{color:rgba(255,255,255,.67)}.vz13-tier-strip.pro a{color:#f2a46f}.vz13-section{margin-top:34px}.vz13-section-head{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:13px}.vz13-section-head small{color:#a65428;font-size:9px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.vz13-section-head h2{font:500 32px Fraunces,Georgia,serif;margin:6px 0 0}.vz13-section-head a{color:#91471f;text-decoration:none;font-weight:900;font-size:13px}.vz13-choice-row{display:flex;gap:8px;flex-wrap:wrap}.vz13-choice{border:1px solid var(--vz13-line);background:var(--vz13-card);border-radius:999px;padding:10px 13px;cursor:pointer;font-weight:800;color:var(--vz13-ink)}.vz13-choice.active{background:var(--vz13-ink);color:white}.vz13-empty{padding:28px;text-align:center;border:1px dashed rgba(38,35,31,.2);border-radius:24px;color:var(--vz13-muted)}.vz13-form{padding:22px;display:grid;gap:14px}.vz13-field{display:grid;gap:7px}.vz13-field label{font-weight:900;font-size:12px}.vz13-field small{color:var(--vz13-muted)}.vz13-results{display:grid;gap:12px}.vz13-result{padding:20px;display:grid;grid-template-columns:1fr auto;gap:16px;align-items:start}.vz13-result h3{font:500 25px Fraunces,Georgia,serif;margin:4px 0 8px}.vz13-result p{margin:0;color:var(--vz13-muted);line-height:1.5}.vz13-result aside{display:grid;gap:8px;justify-items:end}.vz13-pill{display:inline-flex;padding:7px 10px;border-radius:999px;background:var(--vz13-soft);font-size:10px;font-weight:900}.vz13-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.vz13-tool{padding:22px;text-decoration:none;color:var(--vz13-ink)}.vz13-tool span{width:42px;height:42px;border-radius:15px;background:var(--vz13-soft);display:grid;place-items:center;font-size:20px}.vz13-tool h3{font:500 24px Fraunces,Georgia,serif;margin:14px 0 7px}.vz13-tool p{margin:0;color:var(--vz13-muted);line-height:1.45}.vz13-disclosure{margin-top:18px}.vz13-disclosure summary{cursor:pointer;list-style:none;padding:17px 20px;border-radius:20px;background:var(--vz13-card);border:1px solid var(--vz13-line);font-weight:900}.vz13-disclosure summary::-webkit-details-marker{display:none}.vz13-disclosure>div{padding:14px 4px}.vz13-notice{padding:16px 18px;border-radius:18px;background:var(--vz13-blue);color:#425c61;line-height:1.5}.v-bottom-nav-vitaliza{position:fixed;z-index:90;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;align-items:stretch;gap:5px;width:min(94vw,560px);padding:7px;border-radius:25px;background:rgba(38,35,31,.95);box-shadow:0 18px 60px rgba(0,0,0,.22);backdrop-filter:blur(16px)}.v-bottom-nav-vitaliza a{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:9px 5px;border-radius:18px;color:rgba(255,255,255,.64);text-decoration:none}.v-bottom-nav-vitaliza a.active{background:#fff8ef;color:var(--vz13-ink)}.v-bottom-nav-vitaliza .v-nav-glyph{font-size:17px;line-height:1}.v-bottom-nav-vitaliza small{font-size:9px;font-weight:900;white-space:nowrap}
@media(min-width:1000px){.vz13-page{padding:26px 24px 70px 150px}.v-bottom-nav-vitaliza{left:max(18px,calc(50vw - 680px));top:50%;bottom:auto;transform:translateY(-50%);width:108px;flex-direction:column;border-radius:30px;padding:9px}.v-bottom-nav-vitaliza a{min-height:68px;flex:none}.v-bottom-nav-vitaliza small{font-size:10px}.v-bottom-nav-vitaliza .v-nav-glyph{font-size:18px}}
@media(max-width:760px){.vz13-page{padding:14px 11px 124px}.vz13-topbar{grid-template-columns:1fr}.vz13-topmeta{justify-content:space-between}.vz13-topmeta>span{display:none}.vz13-heading{padding-top:20px}.vz13-primary{grid-template-columns:1fr}.vz13-primary-visual{min-height:230px}.vz13-capture{grid-template-columns:1fr}.vz13-grid,.vz13-tools{grid-template-columns:1fr}.vz13-result{grid-template-columns:1fr}.vz13-result aside{justify-items:start}.vz13-tier-strip{align-items:flex-start;flex-direction:column}.vz13-section-head h2{font-size:28px}}


/* Aislamiento V13: evita que reglas heredadas por coincidencia de nombre deformen la experiencia nueva. */
.vz13-primary{border-radius:28px!important}
.vz13-primary-copy,.vz13-primary-visual{border-radius:0!important;min-width:0}
body:has(.vz13-page) .vitaliza-data-mode{display:none!important}
@media(min-width:1000px){
 .vz13-page{padding-left:158px}
 .v-bottom-nav-vitaliza{left:max(18px,calc(50vw - 625px));width:116px}
 .v-bottom-nav-vitaliza small{font-size:11px}
}
@media(max-width:760px){
 .vz13-primary-visual{min-height:190px}
}

.vz13-primary-visual h2,.vz13-primary-visual h3{color:#fff!important}
.vz13-card[style*="background:var(--vz13-ink)"] h2,.vz13-card[style*="background:var(--vz13-ink)"] h3{color:#fff!important}
@media(max-width:760px){.vz13-primary-visual{padding-bottom:92px}}

/* El riel V13 prevalece sobre los menús heredados de 11.x. */
.vz13-page .v-bottom-nav-vitaliza{
 position:fixed!important;z-index:90!important;left:50%!important;right:auto!important;top:auto!important;
 bottom:max(12px,env(safe-area-inset-bottom))!important;transform:translateX(-50%)!important;
 display:flex!important;grid-template-columns:none!important;align-items:stretch!important;gap:5px!important;
 width:min(94vw,560px)!important;max-width:560px!important;height:auto!important;padding:7px!important;margin:0!important;
 border:0!important;border-radius:25px!important;background:rgba(38,35,31,.95)!important;
 box-shadow:0 18px 60px rgba(0,0,0,.22)!important;
}
.vz13-page .v-bottom-nav-vitaliza a{
 flex:1 1 0!important;width:auto!important;min-width:0!important;min-height:0!important;
 display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
 gap:4px!important;padding:9px 5px!important;border-radius:18px!important;
}
.vz13-page .v-bottom-nav-vitaliza small{font-size:9px!important;font-weight:900!important}
@media(min-width:1000px){
 .vz13-page{padding-bottom:70px!important}
 .vz13-page .v-bottom-nav-vitaliza{
  left:max(18px,calc(50vw - 625px))!important;top:50%!important;bottom:auto!important;
  transform:translateY(-50%)!important;width:116px!important;max-width:116px!important;
  flex-direction:column!important;border-radius:30px!important;padding:9px!important;
 }
 .vz13-page .v-bottom-nav-vitaliza a{flex:0 0 auto!important;min-height:68px!important;padding:9px 5px!important}
 .vz13-page .v-bottom-nav-vitaliza small{font-size:11px!important}
}
@media(max-width:760px){.vz13-page{padding-bottom:142px!important}}


/* ===== src/styles/v14.css ===== */
/* VITALIZA 14 — capa final. Una sola composición, sin estilos legacy visibles. */
:root{
  --vz14-ink:#292621;
  --vz14-text:#302d29;
  --vz14-muted:#756b60;
  --vz14-orange:#df6d28;
  --vz14-orange-dark:#a94d1d;
  --vz14-bg:#f6f0e7;
  --vz14-card:#fffaf3;
  --vz14-soft:#f1e4d2;
  --vz14-blue:#dce9eb;
  --vz14-green:#e2ead9;
  --vz14-line:rgba(50,43,35,.13);
  --vz14-shadow:0 22px 65px rgba(61,48,35,.08);
}
body:has(.vz14-page){background:var(--vz14-bg);color:var(--vz14-text)}
.vz14-page{background:radial-gradient(circle at 76% 2%,rgba(225,111,44,.06),transparent 30%),var(--vz14-bg);min-height:100dvh}
.vz14-wrap{max-width:1180px!important;margin-inline:auto!important;padding-top:24px!important}
.vz14-lead{max-width:70ch;margin:0 0 22px;color:var(--vz14-muted);font-size:16px;line-height:1.65}
.vz14-kicker{margin:12px 0 7px;color:var(--vz14-orange-dark);font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.vz14-title{font:500 clamp(42px,5.4vw,70px)/.98 Fraunces,Georgia,serif;letter-spacing:-.045em;margin:0 0 28px;max-width:14ch;color:var(--vz14-ink)}
.vz14-title span{display:block;font-size:.55em;line-height:1.08;letter-spacing:-.025em;margin-top:10px;color:#4b443d;max-width:22ch}
.vz14-page h1,.vz14-page h2,.vz14-page h3{color:var(--vz14-ink)}
.vz14-page button,.vz14-page input,.vz14-page textarea,.vz14-page select{font-family:Mulish,Arial,sans-serif}

.vz14-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);border:1px solid var(--vz14-line);border-radius:30px;overflow:hidden;background:var(--vz14-card);box-shadow:var(--vz14-shadow)}
.vz14-hero-main{padding:clamp(28px,4.2vw,52px)}
.vz14-hero-main>small,.vz14-hero-side>small,.vz14-card>small,.vz14-section header small,.vz14-life-card>small,.vz14-current-plan small,.vz14-plan-card>small,.vz14-shopping-summary small,.vz14-intention small,.vz14-selected-meal small,.vz14-agenda-summary small,.vz14-resolution small{display:block;color:var(--vz14-orange-dark);font-size:10px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.vz14-hero-main h2{font:500 clamp(34px,4.4vw,58px)/1.02 Fraunces,Georgia,serif;letter-spacing:-.035em;margin:12px 0 14px;max-width:14ch}
.vz14-hero-main p{max-width:60ch;margin:0;color:var(--vz14-muted);font-size:16px;line-height:1.6}
.vz14-hero-side{padding:30px;background:var(--vz14-ink);color:#fff;display:flex;flex-direction:column;justify-content:space-between;gap:18px}
.vz14-hero-side small{color:#ffb17f}.vz14-hero-side h3{font:600 24px/1.12 Mulish,sans-serif;color:#fff!important;margin:0}.vz14-hero-side p{color:rgba(255,255,255,.72);line-height:1.55;margin:0}.vz14-hero-side strong{font-size:15px;color:#fff}
.vz14-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:23px}
.vz14-primary,.vz14-secondary,.vz14-quiet,.vz14-capture button,.vz14-kitchen-form>button,.vz14-inline-form button,.vz14-current-plan>button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:13px 18px;text-decoration:none;cursor:pointer;font-weight:900;font-size:13px;line-height:1.1}
.vz14-primary,.vz14-capture button,.vz14-kitchen-form>button,.vz14-inline-form button{background:var(--vz14-orange);color:#fff}
.vz14-secondary{background:transparent;color:var(--vz14-ink);border:1px solid var(--vz14-line)}
.vz14-quiet{background:transparent;color:var(--vz14-muted);padding-inline:7px}
.vz14-status{display:block;min-height:18px;margin-top:10px;color:#34704f;font-size:12px;font-weight:800}

.vz14-capture{margin-top:18px;padding:19px 20px;border:1px solid var(--vz14-line);border-radius:24px;background:rgba(255,250,243,.84);box-shadow:0 12px 35px rgba(61,48,35,.04)}
.vz14-capture label{display:block;margin-bottom:10px;font:500 25px Fraunces,Georgia,serif;color:var(--vz14-ink)}
.vz14-capture>div{display:grid;grid-template-columns:1fr auto;gap:10px}
.vz14-capture input,.vz14-kitchen-form textarea,.vz14-inline-form input{width:100%;min-width:0;border:1px solid var(--vz14-line);border-radius:16px;padding:14px 15px;background:#fff;color:var(--vz14-ink);font-size:15px;outline:0}
.vz14-capture input:focus,.vz14-kitchen-form textarea:focus,.vz14-inline-form input:focus{border-color:rgba(223,109,40,.55);box-shadow:0 0 0 4px rgba(223,109,40,.09)}

.vz14-section{margin-top:34px}
.vz14-section>header{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:14px}
.vz14-section>header h2{font:500 clamp(29px,3.2vw,39px)/1.05 Fraunces,Georgia,serif;letter-spacing:-.025em;margin:7px 0 4px}
.vz14-section>header p{margin:0;color:var(--vz14-muted);line-height:1.5}
.vz14-section>header>a{color:var(--vz14-orange-dark);text-decoration:none;font-weight:900;white-space:nowrap}
.vz14-empty{padding:28px;border:1px dashed rgba(45,39,32,.2);border-radius:22px;text-align:center;background:rgba(255,250,243,.45);color:var(--vz14-muted)}
.vz14-empty h3{margin:0 0 8px;font:500 25px Fraunces,Georgia,serif}.vz14-empty p{margin:0}

.vz14-memory-list,.vz14-agenda-list,.vz14-shopping-list,.vz14-recipe-list,.vz14-inventory-list{display:grid;gap:10px}
.vz14-memory-row{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:17px 18px;border:1px solid var(--vz14-line);border-radius:20px;background:var(--vz14-card)}
.vz14-memory-row.is-snoozed{opacity:.67;background:#f3eee6}
.vz14-memory-row small,.vz14-agenda-row small{color:var(--vz14-orange-dark);font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.vz14-memory-row h3,.vz14-agenda-row h3{margin:4px 0 0;font:500 22px/1.15 Fraunces,Georgia,serif}
.vz14-memory-row p,.vz14-agenda-row p{margin:6px 0 0;color:var(--vz14-muted);font-size:13px;line-height:1.45}
.vz14-row-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px}
.vz14-row-actions a,.vz14-row-actions button{border:1px solid var(--vz14-line);border-radius:999px;padding:8px 11px;background:transparent;color:var(--vz14-ink);text-decoration:none;font-size:11px;font-weight:900;cursor:pointer}
.vz14-row-actions a{color:var(--vz14-orange-dark)}

.vz14-cards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:24px}
.vz14-card{padding:23px;border:1px solid var(--vz14-line);border-radius:24px;background:var(--vz14-card);box-shadow:0 14px 40px rgba(61,48,35,.04)}
.vz14-card h3{font:500 28px/1.08 Fraunces,Georgia,serif;margin:9px 0}.vz14-card p{margin:0;color:var(--vz14-muted);line-height:1.55}.vz14-card>a{display:inline-block;margin-top:17px;color:var(--vz14-orange-dark);text-decoration:none;font-weight:900}
.vz14-cycle{background:linear-gradient(135deg,#f2e8da,#e4eadb)}
.vz14-choice-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}
.vz14-choice-row button{border:1px solid var(--vz14-line);border-radius:999px;padding:10px 13px;background:#fffaf3;color:var(--vz14-ink);font-weight:800;cursor:pointer}
.vz14-choice-row button.active{background:var(--vz14-ink);color:#fff}

/* Resolver */
.vz14-resolution{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);margin-top:18px;border:1px solid var(--vz14-line);border-radius:28px;overflow:hidden;background:var(--vz14-card);box-shadow:var(--vz14-shadow)}
.vz14-resolution-main{padding:clamp(26px,4vw,46px)}.vz14-resolution-main h2{font:500 clamp(34px,4.2vw,54px)/1.03 Fraunces,Georgia,serif;letter-spacing:-.035em;margin:11px 0 13px}.vz14-resolution-main p{color:var(--vz14-muted);line-height:1.6}
.vz14-resolution-side{padding:29px;background:var(--vz14-ink);color:#fff;display:flex;flex-direction:column;gap:15px;justify-content:center}.vz14-resolution-side small{color:#ffb17f}.vz14-resolution-side strong{font:600 24px/1.2 Mulish,sans-serif}.vz14-resolution-side p{margin:0;color:rgba(255,255,255,.72);line-height:1.55}.vz14-resolution-side span{color:#ffbe91;font-weight:800;font-size:13px}

/* Agenda */
.vz14-agenda-summary,.vz14-shopping-summary,.vz14-selected-meal,.vz14-current-plan{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 26px;border-radius:25px;background:var(--vz14-ink);color:#fff;margin-bottom:17px}
.vz14-agenda-summary h2,.vz14-shopping-summary h2,.vz14-selected-meal h2,.vz14-current-plan h2{color:#fff!important;font:500 34px/1.05 Fraunces,Georgia,serif;margin:7px 0}.vz14-agenda-summary p,.vz14-shopping-summary p,.vz14-selected-meal p,.vz14-current-plan p{margin:0;color:rgba(255,255,255,.7)}.vz14-agenda-summary a,.vz14-shopping-summary a,.vz14-selected-meal a{color:#ffb17f;text-decoration:none;font-weight:900}
.vz14-tabs{display:flex;gap:8px;overflow:auto;margin:18px 0 14px;padding-bottom:2px}.vz14-tabs button,.vz14-tabs a{flex:0 0 auto;border:1px solid var(--vz14-line);border-radius:999px;padding:10px 14px;background:var(--vz14-card);color:var(--vz14-muted);text-decoration:none;font-weight:900;cursor:pointer}.vz14-tabs .active{background:var(--vz14-ink);color:#fff;border-color:var(--vz14-ink)}
.vz14-agenda-row{display:grid;grid-template-columns:22px 1fr auto;gap:12px;align-items:center;padding:17px 18px;border:1px solid var(--vz14-line);border-radius:20px;background:var(--vz14-card)}
.vz14-agenda-marker{align-self:stretch;display:grid;place-items:center}.vz14-agenda-marker span{width:10px;height:10px;border-radius:50%;background:var(--vz14-orange)}
.vz14-agenda-row.is-done{opacity:.58}.vz14-agenda-row.is-done .vz14-agenda-marker span{background:#67805d}.vz14-agenda-row.is-snoozed{background:#f3eee6}
.vz14-advanced{margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:20px}.vz14-advanced h3{margin:5px 0}.vz14-advanced a{margin:0;white-space:nowrap}

/* Compras e inventario */
.vz14-inline-form{display:grid;grid-template-columns:1fr auto;gap:10px;margin:16px 0}.vz14-inventory-form{grid-template-columns:1fr 120px auto}
.vz14-shopping-list article{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:14px;padding:17px 18px;border:1px solid var(--vz14-line);border-radius:20px;background:var(--vz14-card)}
.vz14-shopping-list article>span{width:11px;height:11px;border:2px solid var(--vz14-orange);border-radius:50%}.vz14-shopping-list h3{margin:0;font:500 23px Fraunces,Georgia,serif}.vz14-shopping-list article>div:last-child{display:flex;gap:8px}.vz14-shopping-list button,.vz14-inventory-list button,.vz14-done-list button{border:1px solid var(--vz14-line);border-radius:999px;padding:9px 12px;background:transparent;font-weight:900;cursor:pointer}.vz14-shopping-list button:first-child{background:var(--vz14-orange);color:#fff;border-color:var(--vz14-orange)}.vz14-shopping-list button.quiet{color:var(--vz14-muted)}
.vz14-done-list{margin-top:15px;border:1px solid var(--vz14-line);border-radius:19px;background:var(--vz14-card);overflow:hidden}.vz14-done-list summary{padding:14px 16px;cursor:pointer;font-weight:900}.vz14-done-list article{display:grid;grid-template-columns:24px 1fr auto;align-items:center;padding:11px 16px;border-top:1px solid var(--vz14-line)}.vz14-done-list p{margin:0;text-decoration:line-through;color:var(--vz14-muted)}
.vz14-inventory-list{grid-template-columns:repeat(2,minmax(0,1fr))}.vz14-inventory-list article{display:flex;justify-content:space-between;gap:18px;padding:19px;border:1px solid var(--vz14-line);border-radius:20px;background:var(--vz14-card)}.vz14-inventory-list small{color:var(--vz14-orange-dark);font-weight:900}.vz14-inventory-list h3{margin:6px 0 3px;font:500 24px Fraunces,Georgia,serif}.vz14-inventory-list p{margin:0;color:var(--vz14-muted)}

/* Cocina */
.vz14-intention{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;align-items:center;margin-bottom:15px;padding:15px 18px;border-radius:18px;background:var(--vz14-blue)}.vz14-intention small{grid-row:1/3}.vz14-intention strong{font-size:18px}.vz14-intention span{color:#557077;font-size:13px}
.vz14-kitchen-form{display:grid;gap:17px;padding:23px;border:1px solid var(--vz14-line);border-radius:25px;background:var(--vz14-card)}.vz14-kitchen-form label{display:grid;gap:8px;font-weight:900}.vz14-kitchen-form fieldset{border:0;padding:0;margin:0}.vz14-kitchen-form legend{margin-bottom:8px;font-weight:900}.vz14-kitchen-form>button{justify-self:start}
.vz14-kitchen-notice{margin:10px 4px}.vz14-recipe-card{display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center;padding:22px;border:1px solid var(--vz14-line);border-radius:23px;background:var(--vz14-card)}.vz14-recipe-card small{color:var(--vz14-orange-dark);font-size:9px;font-weight:900;letter-spacing:.12em}.vz14-recipe-card h3{margin:6px 0 8px;font:500 29px Fraunces,Georgia,serif}.vz14-recipe-card p{margin:0;color:var(--vz14-muted);line-height:1.5}.vz14-recipe-actions{display:grid;justify-items:end;gap:8px}.vz14-recipe-actions a{color:var(--vz14-orange-dark);font-weight:900;text-decoration:none}.vz14-kitchen-context{margin-top:20px}

/* Mi vida */
.vz14-life-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.vz14-life-card{position:relative;padding:25px;border:1px solid var(--vz14-line);border-radius:25px;background:var(--vz14-card);box-shadow:0 13px 40px rgba(61,48,35,.04)}.vz14-life-icon{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;background:var(--vz14-soft);font-size:22px;margin-bottom:17px}.vz14-life-card h2{font:500 31px/1.08 Fraunces,Georgia,serif;margin:9px 0}.vz14-life-card>p{color:var(--vz14-muted);line-height:1.55}.vz14-life-stats{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0}.vz14-life-stats span{padding:7px 10px;border-radius:999px;background:var(--vz14-soft);font-size:11px;font-weight:900}.vz14-life-card footer{display:flex;gap:12px;flex-wrap:wrap}.vz14-life-card footer a{color:var(--vz14-orange-dark);font-weight:900;text-decoration:none}.vz14-account-card{background:linear-gradient(135deg,var(--vz14-card),var(--vz14-blue))}
.vz14-tools-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.vz14-tools-grid a{display:grid;gap:7px;padding:20px;border:1px solid var(--vz14-line);border-radius:21px;background:var(--vz14-card);text-decoration:none;color:var(--vz14-ink)}.vz14-tools-grid span{font-size:22px}.vz14-tools-grid b{font:500 23px Fraunces,Georgia,serif}.vz14-tools-grid small{color:var(--vz14-muted);line-height:1.4}

/* Plan */
.vz14-current-plan{margin-bottom:24px}.vz14-current-plan.pro{background:linear-gradient(135deg,#24211d,#3d332a)}.vz14-current-plan.trial{background:linear-gradient(135deg,#8b4b28,#ca6b32)}.vz14-current-plan.free{background:linear-gradient(135deg,#374e53,#55757b)}.vz14-current-plan.guest{background:var(--vz14-ink)}.vz14-current-plan>button{background:#fff;color:var(--vz14-ink)}
.vz14-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.vz14-plan-card{padding:25px;border:1px solid var(--vz14-line);border-radius:25px;background:var(--vz14-card)}.vz14-plan-card.best{background:var(--vz14-ink);color:#fff}.vz14-plan-card.best h3{color:#fff}.vz14-plan-card h3{font:500 38px Fraunces,Georgia,serif;margin:12px 0}.vz14-plan-card h3 span{font:700 11px Mulish,sans-serif;text-transform:uppercase}.vz14-plan-card p{color:var(--vz14-muted);line-height:1.55}.vz14-plan-card.best p{color:rgba(255,255,255,.7)}.vz14-plan-card output{display:block;margin:12px 0;font-size:12px;font-weight:900;color:#36724d}.vz14-plan-card.best output{color:#9ed5ae}.vz14-plan-message{text-align:center;margin:15px}

/* Navegación V14: integrada, legible y con Ciclo visible. */
.vz14-page .v-bottom-nav-vitaliza{width:min(96vw,650px)!important;max-width:650px!important;gap:4px!important}
.vz14-page .v-bottom-nav-vitaliza small{font-size:9.5px!important}
@media(min-width:1000px){
  .vz14-page{padding-left:170px!important}
  .vz14-page .v-bottom-nav-vitaliza{left:max(20px,calc(50vw - 640px))!important;width:126px!important;max-width:126px!important;padding:10px!important}
  .vz14-page .v-bottom-nav-vitaliza a{min-height:61px!important}
  .vz14-page .v-bottom-nav-vitaliza small{font-size:11.5px!important}
}

@media(max-width:820px){
  .vz14-hero,.vz14-resolution{grid-template-columns:1fr}.vz14-hero-side{min-height:210px}.vz14-resolution-side{min-height:190px}
  .vz14-cards-grid,.vz14-life-grid,.vz14-plan-grid,.vz14-inventory-list{grid-template-columns:1fr}
  .vz14-tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vz14-recipe-card{grid-template-columns:1fr}.vz14-recipe-actions{justify-items:start}
  .vz14-memory-row,.vz14-agenda-row{grid-template-columns:1fr}.vz14-agenda-marker{display:none}.vz14-row-actions{justify-content:flex-start}
  .vz14-agenda-summary,.vz14-shopping-summary,.vz14-selected-meal,.vz14-current-plan{align-items:flex-start;flex-direction:column}
}
@media(max-width:620px){
  .vz14-page{padding-left:11px!important;padding-right:11px!important;padding-bottom:150px!important}
  .vz14-title{font-size:43px;margin-bottom:22px}.vz14-title span{font-size:.52em}
  .vz14-hero-main{padding:25px 21px}.vz14-hero-main h2{font-size:38px}.vz14-hero-side{padding:24px;min-height:185px}
  .vz14-capture>div,.vz14-inline-form,.vz14-inventory-form{grid-template-columns:1fr}.vz14-capture button,.vz14-inline-form button{width:100%}
  .vz14-section>header{align-items:flex-start;flex-direction:column}.vz14-section>header>a{white-space:normal}
  .vz14-shopping-list article{grid-template-columns:12px 1fr}.vz14-shopping-list article>div:last-child{grid-column:2;flex-wrap:wrap}
  .vz14-tools-grid{grid-template-columns:1fr 1fr}
  .vz14-intention{grid-template-columns:1fr}.vz14-intention small{grid-row:auto}
  .vz14-page .v-bottom-nav-vitaliza{bottom:max(8px,env(safe-area-inset-bottom))!important;width:calc(100vw - 14px)!important;border-radius:22px!important;padding:6px!important}
  .vz14-page .v-bottom-nav-vitaliza a{padding:8px 2px!important;gap:3px!important}.vz14-page .v-bottom-nav-vitaliza small{font-size:8.5px!important}.vz14-page .v-bottom-nav-vitaliza .v-nav-glyph{font-size:16px!important}
}

/* VITALIZA 14.1 — dock inferior único en todas las pantallas. */
.v-bottom-nav-vitaliza{
  position:fixed!important;
  z-index:120!important;
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:max(12px,env(safe-area-inset-bottom))!important;
  transform:translateX(-50%)!important;
  width:min(720px,calc(100vw - 28px))!important;
  max-width:720px!important;
  min-height:68px!important;
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  align-items:center!important;
  gap:4px!important;
  padding:7px!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:24px!important;
  background:rgba(38,35,31,.96)!important;
  box-shadow:0 18px 55px rgba(26,22,18,.24)!important;
  backdrop-filter:blur(18px)!important;
}
.v-bottom-nav-vitaliza a{
  min-width:0!important;
  min-height:54px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  padding:7px 4px!important;
  border-radius:17px!important;
  color:rgba(255,255,255,.64)!important;
  background:transparent!important;
  text-decoration:none!important;
  transform:none!important;
}
.v-bottom-nav-vitaliza a.active{
  color:#fffaf3!important;
  background:rgba(223,109,40,.2)!important;
  box-shadow:inset 0 0 0 1px rgba(255,177,127,.18)!important;
}
.v-bottom-nav-vitaliza .v-nav-glyph{
  width:22px!important;
  height:22px!important;
  min-height:22px!important;
  display:grid!important;
  place-items:center!important;
  font-size:0!important;
}
.v-bottom-nav-vitaliza .v-nav-glyph svg{
  width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;
}
.v-bottom-nav-vitaliza small{font-size:10px!important;line-height:1!important;font-weight:850!important;white-space:nowrap!important}
.vz14-page{padding-left:22px!important;padding-right:22px!important;padding-bottom:118px!important}
.ag-page,.sc-page,.care-page,.life-page,.children-page,.pet-page,.br-page,.notif-page,.settings-page{padding-bottom:118px!important}

@media(max-width:760px){
  .v-bottom-nav-vitaliza{width:calc(100vw - 14px)!important;bottom:max(7px,env(safe-area-inset-bottom))!important;border-radius:21px!important;padding:5px!important;min-height:62px!important}
  .v-bottom-nav-vitaliza a{min-height:50px!important;padding:6px 1px!important;border-radius:15px!important;gap:3px!important}
  .v-bottom-nav-vitaliza .v-nav-glyph,.v-bottom-nav-vitaliza .v-nav-glyph svg{width:18px!important;height:18px!important}
  .v-bottom-nav-vitaliza small{font-size:8px!important}
  .vz14-page{padding-left:11px!important;padding-right:11px!important;padding-bottom:104px!important}
}
.vz14-share-card{background:linear-gradient(145deg,#2b2823,#3a3028);color:#fff;position:relative;overflow:hidden}
.vz14-share-card:after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;right:-55px;bottom:-70px;background:rgba(223,109,40,.22)}
.vz14-share-card>*{position:relative;z-index:1}.vz14-share-card h3{color:#fff!important;font-size:25px}.vz14-share-card p{color:rgba(255,255,255,.7)}.vz14-share-card>a{color:#ffb17f}

/* Repetición de especificidad para neutralizar las reglas laterales heredadas. */
.v-bottom-nav.v-bottom-nav-vitaliza{
  left:50%!important;right:auto!important;top:auto!important;bottom:max(12px,env(safe-area-inset-bottom))!important;
  transform:translateX(-50%)!important;width:min(720px,calc(100vw - 28px))!important;max-width:720px!important;
  min-height:68px!important;display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;flex-direction:row!important;
  gap:4px!important;padding:7px!important;border-radius:24px!important;
}
.v-bottom-nav.v-bottom-nav-vitaliza a{min-height:54px!important;flex:initial!important;padding:7px 4px!important}
.v-bottom-nav.v-bottom-nav-vitaliza small{font-size:10px!important}
@media(max-width:760px){
  .v-bottom-nav.v-bottom-nav-vitaliza{width:calc(100vw - 14px)!important;bottom:max(7px,env(safe-area-inset-bottom))!important;min-height:62px!important;padding:5px!important;border-radius:21px!important}
  .v-bottom-nav.v-bottom-nav-vitaliza a{min-height:50px!important;padding:6px 1px!important}
  .v-bottom-nav.v-bottom-nav-vitaliza small{font-size:8px!important}
}
.vz13-share-shortcut{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid var(--vz14-line);border-radius:12px;background:rgba(255,250,243,.78);color:var(--vz14-ink);text-decoration:none;font-size:10px;font-weight:900}.vz13-share-shortcut b{color:var(--vz14-orange);font-size:13px}.vz13-share-shortcut em{font-style:normal}
@media(max-width:620px){.vz13-share-shortcut em{display:none}.vz13-share-shortcut{padding:7px 9px}.vz13-topmeta>span{display:none}}

/* VITALIZA 14.2 — cierre móvil, Hoy centrado, voz y ambientes. */
.v-bottom-nav.v-bottom-nav-vitaliza,
.v-bottom-nav-vitaliza{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  width:min(640px,calc(100vw - 28px))!important;
  max-width:640px!important;
}
.v-bottom-nav-vitaliza a:nth-child(3){
  color:#fffaf3!important;
}
.v-bottom-nav-vitaliza a:nth-child(3) .v-nav-glyph{
  width:25px!important;height:25px!important;
}
.v-bottom-nav-vitaliza a:nth-child(3) .v-nav-glyph svg{
  width:24px!important;height:24px!important;
}
.vz14-capture-line{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;gap:8px!important;align-items:center!important}
.vz14-voice-button{min-width:76px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;background:var(--vz14-soft)!important;color:var(--vz14-ink)!important;border:1px solid var(--vz14-line)!important}
.vz14-voice-button span{width:18px;height:18px;display:grid;place-items:center;border-radius:50%;font-size:11px;background:rgba(223,109,40,.15)}
.vz14-voice-button small{font-size:10px;font-weight:900}
.vz14-voice-button.is-listening{background:var(--vz14-ink)!important;color:#fff!important;animation:vz14-listening 1.1s ease-in-out infinite}
.vz14-voice-status{display:block;min-height:1.25em;margin-top:8px;color:var(--vz14-muted);font-size:11px;font-weight:800}
@keyframes vz14-listening{50%{box-shadow:0 0 0 6px rgba(223,109,40,.12)}}
.vz14-batch-resolution{margin-top:18px;padding:clamp(20px,3vw,32px);border:1px solid var(--vz14-line);border-radius:28px;background:linear-gradient(145deg,var(--vz14-card),var(--vz14-soft));box-shadow:0 18px 50px rgba(66,50,34,.06)}
.vz14-batch-resolution>header small{color:var(--vz14-orange-dark);font-size:9px;font-weight:950;letter-spacing:.14em}
.vz14-batch-resolution>header h2{margin:8px 0;font:500 clamp(29px,4vw,43px)/1.06 Fraunces,Georgia,serif}
.vz14-batch-resolution>header p{margin:0;color:var(--vz14-muted)}
.vz14-batch-list{display:grid;gap:9px;margin:20px 0}
.vz14-batch-list article{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;padding:15px;border:1px solid var(--vz14-line);border-radius:19px;background:rgba(255,255,255,.55)}
.vz14-batch-list article>span{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--vz14-ink);color:#fff;font-weight:900}
.vz14-batch-list small{color:var(--vz14-orange-dark);font-size:8px;font-weight:950;text-transform:uppercase;letter-spacing:.11em}
.vz14-batch-list h3{margin:3px 0;font:500 21px/1.1 Fraunces,Georgia,serif}
.vz14-batch-list p{margin:0;color:var(--vz14-muted);font-size:12px;line-height:1.4}
.vz14-batch-list time{padding:7px 10px;border-radius:999px;background:var(--vz14-soft);font-size:10px;font-weight:900;white-space:nowrap}
.vz14-ambient-card{padding:20px!important}
.vz14-ambient-buttons{display:flex;gap:8px;flex-wrap:wrap}
.vz14-ambient-buttons button{border:1px solid var(--vz14-line);border-radius:999px;padding:11px 15px;background:var(--vz14-soft);color:var(--vz14-ink);font-weight:900;cursor:pointer}
.vz14-ambient-buttons button.active{background:var(--vz14-ink);color:#fff}
.vz13-auth-actions,.vz13-tier-strip-actions{display:flex;align-items:center;gap:8px}
.vz13-auth-actions a,.vz13-tier-strip-actions a{border:1px solid var(--vz14-line);border-radius:999px;padding:9px 12px;color:var(--vz14-ink);background:#fffaf3;text-decoration:none;font-size:11px;font-weight:900;white-space:nowrap}
.vz13-auth-actions a.primary,.vz13-tier-strip-actions a:not(.secondary){border-color:var(--vz14-ink);background:var(--vz14-ink);color:#fff}
.vz13-tier-strip-actions a.secondary{color:var(--vz14-ink)}
.vz1478-trial-label{display:block;margin:10px 0 4px;color:var(--vz14-orange-dark);font-size:12px}

@media(max-width:760px){
  .vz13-topbar{grid-template-columns:1fr auto!important;gap:8px!important;min-height:38px!important}
  .vz13-brand img{width:30px!important;height:30px!important}
  .vz13-brand{font-size:10px!important;gap:7px!important}
  .vz13-topmeta{justify-content:flex-end!important;gap:0!important}
  .vz13-topmeta .vz13-date,.vz13-topmeta .vz13-share-shortcut,.vz13-topmeta .vz13-tier{display:none!important}
  .vz13-topmeta.guest{display:block!important}
  .vz13-auth-actions{gap:5px!important}
  .vz13-auth-actions a{min-height:38px;display:inline-flex;align-items:center;padding:8px 9px!important;font-size:9px!important}
  .vz13-profile{width:31px!important;height:31px!important;font-size:15px!important}
  .vz13-heading{grid-column:1/-1!important;padding-top:16px!important}
  .vz13-wrap{padding-top:18px!important}
  .v-bottom-nav.v-bottom-nav-vitaliza,.v-bottom-nav-vitaliza{width:calc(100vw - 14px)!important;grid-template-columns:repeat(5,minmax(0,1fr))!important}
  .v-bottom-nav-vitaliza small{font-size:9px!important}
  .vz14-capture-line{grid-template-columns:minmax(0,1fr) 48px!important}
  .vz14-capture-line>button[type="submit"]{grid-column:1/-1;width:100%!important}
  .vz14-voice-button{min-width:48px!important;width:48px!important;padding:0!important;height:48px!important}
  .vz14-voice-button small{display:none}
  .vz14-batch-list article{grid-template-columns:32px minmax(0,1fr)}
  .vz14-batch-list time{grid-column:2;justify-self:start}
}

/* VITALIZA 14.3 — cuidado contextual integrado. */
.vz143-dashboard-care{margin-top:16px;padding:22px 24px;border:1px solid rgba(223,109,40,.24);border-radius:25px;background:linear-gradient(135deg,#fff8ee,#f4ece1);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;box-shadow:0 14px 42px rgba(61,48,35,.045)}
.vz143-dashboard-care small,.vz143-weather-notice small,.vz143-care-hero small{display:block;color:var(--vz14-orange-dark);font-size:9px;font-weight:950;letter-spacing:.14em;text-transform:uppercase}
.vz143-dashboard-care h2{margin:7px 0 8px;font:500 clamp(27px,3vw,38px)/1.06 Fraunces,Georgia,serif;letter-spacing:-.025em}
.vz143-dashboard-care p{margin:0;max-width:70ch;color:var(--vz14-muted);line-height:1.55}
.vz143-dashboard-care-actions{min-width:180px;display:grid;gap:9px;justify-items:end}.vz143-dashboard-care-actions a{color:var(--vz14-orange-dark);font-weight:950;text-decoration:none}.vz143-dashboard-care-actions span{font-size:11px;color:var(--vz14-muted);font-weight:800}
.vz143-inline-context,.vz143-context-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.vz143-inline-context span,.vz143-context-chips span{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.72);border:1px solid var(--vz14-line);font-size:10px;font-weight:850;color:var(--vz14-muted)}
.vz143-weather-notice{margin-top:12px;padding:13px 16px;border-radius:18px;background:var(--vz14-blue);border:1px solid rgba(71,103,113,.12);display:flex;align-items:center;justify-content:space-between;gap:16px}.vz143-weather-notice strong{display:block;margin-top:3px;font-size:13px}.vz143-weather-notice a{flex:0 0 auto;color:var(--vz14-ink);text-decoration:none;font-size:11px;font-weight:950}
.vz143-care-card{background:linear-gradient(145deg,#fffaf3,#f4ece1)}
.vz143-context-chips{margin:16px 0 18px}.vz143-context-chips span{background:var(--vz14-soft);font-size:11px}
.vz143-care-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);border:1px solid var(--vz14-line);border-radius:29px;overflow:hidden;background:var(--vz14-card);box-shadow:var(--vz14-shadow)}
.vz143-care-main{padding:clamp(27px,4vw,46px)}.vz143-care-main h2{font:500 clamp(35px,4.5vw,54px)/1.02 Fraunces,Georgia,serif;letter-spacing:-.035em;margin:11px 0 14px;max-width:16ch}.vz143-care-main>p{color:var(--vz14-muted);line-height:1.62;font-size:16px;max-width:65ch}
.vz143-care-reason{display:grid;gap:5px;margin:18px 0;padding:14px 16px;border-radius:17px;background:var(--vz14-soft)}.vz143-care-reason strong{font-size:9px;letter-spacing:.13em;color:var(--vz14-orange-dark)}.vz143-care-reason span{font-size:13px;line-height:1.45}
.vz143-care-side{padding:28px;background:var(--vz14-ink);color:#fff;display:flex;flex-direction:column;justify-content:center;gap:12px}.vz143-care-side small{color:#ffb17f}.vz143-care-side strong{font:600 25px/1.15 Mulish,sans-serif}.vz143-care-side p{margin:0;color:#ffb17f;font-weight:900}.vz143-care-side span{color:rgba(255,255,255,.67);line-height:1.45}
.vz143-alternatives .vz14-card button{margin-top:15px;border:0;background:transparent;color:var(--vz14-orange-dark);font-weight:950;cursor:pointer;padding:0}
.vz143-sound-card{padding:24px!important}.vz143-sound-buttons{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.vz143-sound-buttons button{min-height:76px;border:1px solid var(--vz14-line);border-radius:19px;background:var(--vz14-soft);color:var(--vz14-ink);display:grid;place-items:center;gap:4px;font-weight:900;cursor:pointer}.vz143-sound-buttons button b{font-size:24px;font-weight:400}.vz143-sound-buttons button.active{background:var(--vz14-ink);color:#fff;box-shadow:0 10px 25px rgba(36,32,28,.15)}
.vz143-volume{margin-top:18px;display:grid;grid-template-columns:auto minmax(140px,1fr) 44px;gap:12px;align-items:center;font-size:11px;font-weight:900}.vz143-volume input{accent-color:var(--vz14-orange)}.vz143-volume span{text-align:right;color:var(--vz14-muted)}
@media(max-width:850px){.vz143-dashboard-care,.vz143-care-hero{grid-template-columns:1fr}.vz143-dashboard-care-actions{justify-items:start;min-width:0}.vz143-care-side{min-height:150px}.vz143-sound-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.vz143-dashboard-care{padding:19px}.vz143-dashboard-care h2{font-size:29px}.vz143-weather-notice{align-items:flex-start}.vz143-weather-notice a{font-size:0}.vz143-weather-notice a:after{content:'Abrir →';font-size:10px}.vz143-care-main{padding:24px 20px}.vz143-care-main h2{font-size:38px}.vz143-sound-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.vz143-sound-buttons button:last-child{grid-column:1/-1;min-height:52px}.vz143-volume{grid-template-columns:1fr 42px}.vz143-volume>span:first-child{grid-column:1/-1}}

/* VITALIZA 14.5 — explicaciones accionables y reproductor persistente */
.vz143-dashboard-care-actions-inline{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}
.vz143-dashboard-care-actions-inline a,.vz143-dashboard-care-actions-inline button{border:0;border-radius:999px;padding:9px 13px;font:850 11px/1 inherit;text-decoration:none;cursor:pointer}
.vz143-dashboard-care-actions-inline a{background:var(--vz14-ink);color:#fff}
.vz143-dashboard-care-actions-inline button{background:rgba(223,109,40,.12);color:var(--vz14-orange-dark)}
.vz1478-care-result{margin-top:8px!important;font-weight:800;color:var(--vz14-ink)!important}
.vz1478-downgrade{margin:16px 0;padding:22px;border:1px solid rgba(217,104,34,.25);border-radius:24px;background:#fff8ee}.vz1478-downgrade small{font-weight:950;letter-spacing:.12em;color:var(--vz14-orange-dark)}.vz1478-downgrade h2{margin:8px 0;font:550 28px var(--font-heading)}.vz1478-downgrade p{max-width:72ch;color:var(--vz14-muted);line-height:1.55}.vz1478-downgrade a{display:inline-block;margin-top:8px;color:var(--vz14-orange-dark);font-weight:900;text-decoration:none}
.vz143-care-explain{margin-top:12px;border-top:1px solid rgba(23,24,23,.08);padding-top:10px}
.vz143-care-explain summary,.vz143-weather-notice summary{cursor:pointer;font-weight:900;color:var(--vz14-orange-dark);font-size:12px;list-style:none}
.vz143-care-explain summary::-webkit-details-marker,.vz143-weather-notice summary::-webkit-details-marker{display:none}
.vz143-care-explain summary:after,.vz143-weather-notice summary:after{content:' +';font-weight:900}
.vz143-care-explain[open] summary:after,.vz143-weather-notice details[open] summary:after{content:' −'}
.vz143-care-explain>div{padding:10px 0 0;color:var(--vz14-muted);font-size:13px;line-height:1.55}
.vz143-care-explain ul{margin:8px 0 0;padding-left:18px}
.vz143-weather-notice>div{width:100%}
.vz143-weather-notice details{margin-top:8px}
.vz143-weather-notice details>div{margin-top:8px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.52);font-size:12px;line-height:1.45}
.vz143-weather-notice details p{margin:3px 0}
.vz143-weather-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}
.vz143-weather-actions button,.vz143-weather-actions a{border:0;border-radius:999px;padding:8px 11px;background:var(--vz14-ink);color:#fff;text-decoration:none;font:850 10px/1 inherit;cursor:pointer}
.v-global-ambient-player{position:fixed;left:50%;bottom:calc(92px + env(safe-area-inset-bottom,0px));z-index:9997;transform:translateX(-50%);display:grid;grid-template-columns:32px minmax(80px,1fr) 34px 34px 34px;align-items:center;gap:7px;width:min(420px,calc(100vw - 28px));padding:8px 9px;border:1px solid rgba(255,255,255,.13);border-radius:18px;background:rgba(37,34,30,.96);color:#fff;box-shadow:0 12px 36px rgba(18,16,13,.28);backdrop-filter:blur(16px)}
.v-global-ambient-player[hidden]{display:none!important}
.v-global-ambient-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:11px;background:rgba(223,109,40,.22);color:#ffb37f;font-size:20px}
.v-global-ambient-player>div{display:flex;flex-direction:column;min-width:0}
.v-global-ambient-player small{font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:#d5c9bc;font-weight:900}
.v-global-ambient-player strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v-global-ambient-player button{width:34px;height:34px;border:0;border-radius:11px;background:rgba(255,255,255,.09);color:#fff;font-weight:900;cursor:pointer}
.v-global-ambient-player.is-paused{opacity:.82}
body.vitaliza-ambient-playing .vitaliza-install-banner{bottom:calc(146px + env(safe-area-inset-bottom,0px))}
@media(max-width:560px){.v-global-ambient-player{bottom:calc(82px + env(safe-area-inset-bottom,0px));grid-template-columns:30px minmax(70px,1fr) 32px 32px 32px}.v-global-ambient-player button{width:32px;height:32px}.vz143-dashboard-care-actions-inline{align-items:stretch}.vz143-dashboard-care-actions-inline a,.vz143-dashboard-care-actions-inline button{flex:1;text-align:center}}

/* VITALIZA 14.5 — contrato comercial visible y coherente */
.vz145-plan-strip{margin:14px 0 18px;padding:14px 16px;border:1px solid var(--vz14-line);border-radius:19px;background:rgba(255,255,255,.62);display:flex;align-items:center;justify-content:space-between;gap:18px}
.vz145-plan-strip>div{display:grid;gap:3px;min-width:0}.vz145-plan-strip small{color:var(--vz14-orange-dark);font-size:9px;font-weight:950;letter-spacing:.13em;text-transform:uppercase}.vz145-plan-strip strong{font-size:13px}.vz145-plan-strip span{color:var(--vz14-muted);font-size:11px;line-height:1.4}.vz145-plan-strip a{flex:0 0 auto;color:var(--vz14-orange-dark);font-size:11px;font-weight:950;text-decoration:none}.vz145-plan-strip b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#dfe9d7;color:#40583a}.vz145-plan-strip.trial,.vz145-plan-strip.pro{background:linear-gradient(135deg,#fff9f1,#f0e6d8)}
.vz145-inline-pro{align-self:center;justify-self:center;padding:8px 10px;border-radius:999px;background:rgba(223,109,40,.1);color:var(--vz14-orange-dark);font-size:10px;font-weight:950;text-decoration:none;white-space:nowrap}
.vz145-essential-note,.vz145-commercial-note,.vz145-current-detail{margin:12px 0 18px;padding:13px 15px;border-radius:17px;background:var(--vz14-soft);color:var(--vz14-muted);font-size:12px;line-height:1.5}
.vz145-plan-table{display:grid;border:1px solid var(--vz14-line);border-radius:24px;overflow:hidden;background:var(--vz14-card)}
.vz145-plan-table>div{display:grid;grid-template-columns:minmax(180px,1.5fr) repeat(3,minmax(105px,1fr));border-top:1px solid var(--vz14-line)}.vz145-plan-table>div:first-child{border-top:0}.vz145-plan-table span,.vz145-plan-table strong{padding:13px 14px;font-size:11px;line-height:1.35;border-left:1px solid var(--vz14-line)}.vz145-plan-table span:first-child,.vz145-plan-table strong:first-child{border-left:0}.vz145-plan-table .head{background:var(--vz14-ink);color:#fff}.vz145-plan-table .head strong{font-size:10px;letter-spacing:.04em}
.is-pro-locked{position:relative}.is-pro-locked:after{content:'PRO';position:absolute;right:15px;top:15px;padding:5px 8px;border-radius:999px;background:var(--vz14-ink);color:#fff;font-size:8px;font-weight:950;letter-spacing:.12em}.is-pro-link{color:var(--vz14-orange-dark)!important;font-weight:950!important}
@media(max-width:720px){.vz145-plan-strip{align-items:flex-start;flex-direction:column;gap:10px}.vz145-plan-strip a{width:100%;text-align:left}.vz145-plan-table{overflow-x:auto}.vz145-plan-table>div{min-width:660px}.vz145-inline-pro{grid-column:2}}

/* VITALIZA 14.6 — detalle del plan integrado dentro de la tarjeta actual */
.vz145-current-detail{display:block;max-width:62ch;margin:13px 0 0}
.vz14-current-plan .vz145-current-detail{background:rgba(255,255,255,.10);color:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.10)}
.vz14-current-plan.free .vz145-current-detail,.vz14-current-plan.guest .vz145-current-detail{background:rgba(255,255,255,.54);color:var(--vz14-muted);border-color:rgba(23,24,23,.06)}
.vz14-current-plan.free .vz145-current-detail,.vz14-current-plan.guest .vz145-current-detail{background:rgba(255,255,255,.10);color:rgba(255,255,255,.82);border-color:rgba(255,255,255,.10)}

/* Direct daily agenda access: keep Mi día one tap away. */
.vz14-life-quick{margin:0 0 16px}.vz14-life-day{display:flex;align-items:center;gap:13px;padding:15px 17px;border:1px solid rgba(181,85,26,.18);border-radius:20px;background:#fffaf1;color:inherit;text-decoration:none;box-shadow:0 5px 18px rgba(23,24,23,.04)}.vz14-life-day>span{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:#f1e1cb;font-weight:900}.vz14-life-day div{min-width:0;flex:1}.vz14-life-day small,.vz14-life-day em{display:block;font-size:10px;font-style:normal;color:#6f6b64}.vz14-life-day strong{display:block;margin:2px 0;font:600 19px/1.15 var(--vz-display,serif)}.vz14-life-day>b{font-size:18px;color:#b5551a}.vz1473-agenda-direct{margin-left:auto!important;font-weight:800}

.vz14-day-shortcut{display:flex;align-items:center;gap:12px;margin:14px 0 4px;padding:12px 15px;border:1px solid var(--vz14-line);border-radius:18px;background:var(--vz14-card);color:var(--vz14-ink);text-decoration:none;box-shadow:0 10px 30px rgba(61,48,35,.035)}
.vz14-day-shortcut>span{width:34px;height:34px;display:grid;place-items:center;border-radius:12px;background:#efe2d1;color:#9b4d24;font-weight:900}.vz14-day-shortcut>div{min-width:0;display:grid;gap:2px;flex:1}.vz14-day-shortcut small{font-size:9px;letter-spacing:.13em;font-weight:900;color:var(--vz14-orange-dark)}.vz14-day-shortcut strong{font-size:13px}.vz14-day-shortcut>b{font-size:18px;color:var(--vz14-orange-dark)}


/* ===== src/styles/v146.css ===== */
/* VITALIZA 14.6 — cierre de superposiciones, dock estable e instalación no invasiva. */
:root{
  --vz146-dock-height:76px;
  --vz146-dock-gap:16px;
  --vz146-safe-bottom:env(safe-area-inset-bottom,0px);
  --vz146-page-clearance:calc(var(--vz146-dock-height) + var(--vz146-dock-gap) + var(--vz146-safe-bottom) + 34px);
}

/* Cinco destinos, Hoy exactamente en la columna central y nunca un rail lateral. */
.v-bottom-nav.v-bottom-nav-vitaliza,
.vz13-page .v-bottom-nav-vitaliza,
.vz14-page .v-bottom-nav-vitaliza{
  position:fixed!important;
  inset:auto auto max(10px,var(--vz146-safe-bottom)) 50%!important;
  top:auto!important;
  left:50%!important;
  right:auto!important;
  bottom:max(10px,var(--vz146-safe-bottom))!important;
  transform:translateX(-50%)!important;
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  flex-direction:row!important;
  align-items:stretch!important;
  gap:5px!important;
  width:min(680px,calc(100vw - 24px))!important;
  max-width:680px!important;
  min-height:var(--vz146-dock-height)!important;
  padding:7px!important;
  margin:0!important;
  border-radius:25px!important;
  z-index:9999!important;
}
.v-bottom-nav-vitaliza a,
.vz13-page .v-bottom-nav-vitaliza a,
.vz14-page .v-bottom-nav-vitaliza a{
  width:auto!important;
  min-width:0!important;
  min-height:60px!important;
  flex:none!important;
  padding:7px 4px!important;
}
.v-bottom-nav-vitaliza a:nth-child(3){grid-column:3}
.v-bottom-nav-vitaliza .v-nav-glyph svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.v-bottom-nav-vitaliza small{font-size:9px!important;line-height:1.05!important;text-align:center!important}

/* Ninguna vista puede terminar debajo del dock o del reproductor. */
#app{padding-bottom:var(--vz146-page-clearance)!important}
#app>main,
#app main.vz13-page,
#app main.vz14-page,
#app main.more-page,
#app main.notif-page,
#app main.life-page,
#app main.journal-page,
#app main.kitchen-page,
#app main.sub-new,
#app main[class*="-page"]{
  padding-bottom:var(--vz146-page-clearance)!important;
  box-sizing:border-box!important;
}
body.vitaliza-ambient-playing{
  --vz146-page-clearance:calc(var(--vz146-dock-height) + 104px + var(--vz146-safe-bottom));
}
.v-global-ambient-player{
  bottom:calc(var(--vz146-dock-height) + 22px + var(--vz146-safe-bottom))!important;
  z-index:9998!important;
}

/* La invitación automática forma parte de Inicio: no tapa contenido ni el dock. */
.vitaliza-install-banner.is-inline{
  position:relative!important;
  inset:auto!important;
  left:auto!important;
  bottom:auto!important;
  transform:translateY(10px) scale(.99)!important;
  width:100%!important;
  max-width:none!important;
  margin:14px 0 18px!important;
  z-index:3!important;
  box-shadow:0 12px 34px rgba(57,38,25,.10)!important;
}
.vitaliza-install-banner.is-inline.is-visible{
  transform:none!important;
}
.vitaliza-install-banner.is-explicit{
  bottom:calc(var(--vz146-dock-height) + 22px + var(--vz146-safe-bottom))!important;
}
body.vitaliza-ambient-playing .vitaliza-install-banner.is-explicit{
  bottom:calc(var(--vz146-dock-height) + 94px + var(--vz146-safe-bottom))!important;
}

@media(max-width:620px){
  :root{--vz146-dock-height:68px;--vz146-dock-gap:10px}
  .v-bottom-nav.v-bottom-nav-vitaliza,
  .vz13-page .v-bottom-nav-vitaliza,
  .vz14-page .v-bottom-nav-vitaliza{
    width:calc(100vw - 12px)!important;
    min-height:var(--vz146-dock-height)!important;
    padding:6px!important;
    bottom:max(6px,var(--vz146-safe-bottom))!important;
  }
  .v-bottom-nav-vitaliza a,
  .vz13-page .v-bottom-nav-vitaliza a,
  .vz14-page .v-bottom-nav-vitaliza a{min-height:54px!important;padding:6px 2px!important}
  .v-bottom-nav-vitaliza small{font-size:8px!important}
  .v-global-ambient-player{bottom:calc(var(--vz146-dock-height) + 14px + var(--vz146-safe-bottom))!important}
  .vitaliza-install-banner.is-inline{grid-template-columns:38px minmax(0,1fr) auto!important;padding:10px!important}
  .vitaliza-install-banner.is-inline .vitaliza-install-icon{width:38px!important;height:38px!important}
  .vitaliza-install-banner.is-inline .vitaliza-install-copy span{display:none!important}
  .vitaliza-install-banner.is-inline .vitaliza-install-action{grid-column:auto!important;width:auto!important;padding:0 11px!important}
}

/* Los mensajes de confirmación nunca quedan debajo del dock fijo. */
.toast,
[data-toast],
.vz-toast {
  bottom: calc(var(--vz146-dock-height, 72px) + env(safe-area-inset-bottom, 0px) + 14px) !important;
  z-index: 10050 !important;
}

/* Clima nunca desaparece: conexión guiada, cambio de ciudad y estado de error accionable. */
.vz146-weather-setup>div>p{margin:7px 0 0;color:rgba(37,31,28,.72);font-size:12px;line-height:1.5}
.vz146-weather-change{background:rgba(255,255,255,.72)!important;color:var(--vz14-ink)!important;border:1px solid rgba(37,31,28,.10)!important}
.vz146-weather-city-panel[hidden]{display:none!important}
.vz146-weather-city-panel{margin-top:12px;padding-top:12px;border-top:1px solid rgba(37,31,28,.10)}
.vz146-weather-city-form label>span{display:block;margin-bottom:7px;font-size:11px;font-weight:900;color:var(--vz14-ink)}
.vz146-weather-city-form label>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.vz146-weather-city-form input{width:100%;min-width:0;border:1px solid rgba(37,31,28,.14);border-radius:13px;background:rgba(255,255,255,.78);padding:10px 12px;font:700 12px/1.2 inherit;color:var(--vz14-ink);outline:none}
.vz146-weather-city-form input:focus{border-color:rgba(177,87,41,.55);box-shadow:0 0 0 3px rgba(177,87,41,.10)}
.vz146-weather-city-form button{border:0;border-radius:13px;padding:9px 13px;background:var(--vz14-ink);color:#fff;font:850 10px/1 inherit;cursor:pointer}
.vz146-weather-results{display:grid;gap:6px;margin-top:9px}
.vz146-weather-results button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:1px solid rgba(37,31,28,.10);border-radius:13px;background:rgba(255,255,255,.66);padding:10px 12px;text-align:left;cursor:pointer;color:var(--vz14-ink)}
.vz146-weather-results button:hover,.vz146-weather-results button:focus-visible{background:#fff;border-color:rgba(177,87,41,.34)}
.vz146-weather-results strong{font:850 12px/1.25 inherit}.vz146-weather-results span{font:650 10px/1.25 inherit;color:rgba(37,31,28,.62);text-align:right}
@media(max-width:560px){.vz146-weather-city-form label>div{grid-template-columns:1fr}.vz146-weather-city-form button{min-height:40px}.vz146-weather-results button{align-items:flex-start;flex-direction:column;gap:3px}.vz146-weather-results span{text-align:left}}


/* Instalación siempre encontrable: acceso permanente en Hoy, independiente del aviso del navegador. */
.vz146-install-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  margin:14px 0 20px;
  padding:16px 18px;
  border:1px solid rgba(177,87,41,.20);
  border-radius:22px;
  background:linear-gradient(135deg,rgba(255,249,240,.98),rgba(255,232,205,.88));
  box-shadow:0 12px 30px rgba(57,38,25,.07);
}
.vz146-install-card small{display:block;color:#b15729;font-size:10px;font-weight:900;letter-spacing:.13em}
.vz146-install-card h2{margin:4px 0 3px;font:700 22px/1.1 var(--vt-font-display,serif);color:var(--vz14-ink,#251f1c)}
.vz146-install-card p{margin:0;color:rgba(37,31,28,.70);font-size:12px;line-height:1.45}
.vz146-install-card output{display:block;min-height:0;margin-top:6px;color:#7a4a2d;font-size:11px;font-weight:750;line-height:1.35}
.vz146-install-card output:empty{display:none}
.vz146-install-card button{min-height:44px;border:0;border-radius:999px;padding:0 18px;background:linear-gradient(135deg,#ff8a00,#ffb84d);color:#26211b;font:850 13px/1 var(--vt-font-body,sans-serif);cursor:pointer;white-space:nowrap}
.vz146-install-card button:disabled{opacity:.58;cursor:wait}
.vz146-install-card button:focus-visible{outline:3px solid rgba(177,87,41,.24);outline-offset:3px}
@media(max-width:620px){
  .vz146-install-card{grid-template-columns:1fr;gap:12px;padding:15px;margin:12px 0 18px}
  .vz146-install-card h2{font-size:20px}
  .vz146-install-card button{width:100%}
}


/* ===== src/styles/v147.css ===== */
/* VITALIZA 14.7 — ciclo contextual, memoria controlable y rutas coherentes. */
.vz147-cycle-kitchen-note{
  margin:14px 0 18px;
  padding:14px 16px;
  border:1px solid rgba(94,113,72,.22);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(224,234,207,.72),rgba(255,250,241,.88));
  color:var(--vz-ink,#282521);
  font-size:13px;
  line-height:1.5;
}
.vz14-recipe-card.is-cycle-recipe{border-color:rgba(92,126,68,.24);background:linear-gradient(145deg,#fffdf8,#f4f7ed)}
.vz14-recipe-card.is-cycle-recipe em{
  display:inline-flex;
  margin:0 0 8px;
  padding:5px 9px;
  border-radius:999px;
  background:#dfe9ce;
  color:#496238;
  font-style:normal;
  font-size:9px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.vz147-resolve-context{
  margin:16px 0 20px;
  padding:clamp(18px,3vw,26px);
  border:1px solid rgba(88,110,65,.22);
  border-radius:28px;
  background:linear-gradient(135deg,#f2f6e9,#fffaf1 70%);
  box-shadow:0 18px 44px rgba(69,58,42,.06);
}
.vz147-resolve-context>small{color:#52713d;font-size:10px;font-weight:900;letter-spacing:.13em}
.vz147-resolve-context>h2{margin:8px 0 7px;font:500 clamp(25px,4vw,38px)/1.08 var(--vz-display,Georgia,serif)}
.vz147-resolve-context>p{max-width:68ch;margin:0;color:var(--vz-muted,#756c62);line-height:1.5}
.vz147-context-rows{display:grid;gap:9px;margin-top:16px}
.vz147-context-rows article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 14px;border:1px solid rgba(41,39,34,.1);border-radius:17px;background:rgba(255,253,248,.84)}
.vz147-context-rows article>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.vz147-context-rows a,.vz147-context-rows button,.vz147-prepare-choices a,.vz147-prepare-choices button{
  border:1px solid rgba(41,39,34,.12);
  border-radius:999px;
  background:#fffdf8;
  color:inherit;
  padding:9px 12px;
  text-decoration:none;
  font:800 12px/1 var(--vz-sans,system-ui);
  cursor:pointer;
}
.vz147-context-rows a,.vz147-prepare-choices a:first-child{background:var(--vz-ink,#292722);color:#fff;border-color:transparent}
.vz147-prepare-choices{display:flex;gap:9px;flex-wrap:wrap;margin-top:17px}
.vz147-context-empty{margin-top:14px!important;padding:13px 14px;border-radius:16px;background:rgba(255,255,255,.65)}
.vz147-discard{opacity:.78}
.vz14-row-actions [data-row-dismiss]{color:#85543d}
@media(max-width:720px){
  .vz147-context-rows article{align-items:flex-start;flex-direction:column}
  .vz147-prepare-choices{display:grid;grid-template-columns:1fr}
  .vz147-prepare-choices a,.vz147-prepare-choices button{text-align:center}
}

/* VITALIZA 14.7.1 — contexto visible, jerarquía real y navegación sin tapar contenido. */
.cycle-context-chips{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0 15px}
.cycle-context-chips span{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(86,112,63,.1);color:#526b41;font:800 10px/1.2 var(--vz-sans,system-ui);letter-spacing:.03em}
.cycle-actions a p{display:grid;gap:4px;margin:0;min-width:0}
.cycle-actions a p strong{font:800 13px/1.25 var(--vz-sans,system-ui)}
.cycle-actions a p em{font:500 11px/1.35 var(--vz-sans,system-ui);font-style:normal;color:rgba(41,39,34,.66)}
.cycle-actions a.is-primary p em{color:rgba(67,52,39,.72)}
.vz147-context-rows article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}
.vz147-context-rows article>small{grid-column:1/-1;color:#52713d;font:900 9px/1 var(--vz-sans,system-ui);letter-spacing:.12em}
.vz147-context-rows article>p{grid-column:1;margin:4px 0 0;color:var(--vz-muted,#756c62);font-size:11px;line-height:1.4}
.vz147-context-rows article.is-primary{border-color:rgba(82,113,61,.32);box-shadow:0 10px 24px rgba(82,113,61,.08)}
.vz147-other-memory{margin-top:22px}
.jrn-cycle-context{margin:0 0 18px;padding:16px 18px;border:1px solid rgba(82,113,61,.22);border-radius:20px;background:linear-gradient(135deg,#f2f6e9,#fffaf1)}
.jrn-cycle-context small{display:block;color:#52713d;font:900 9px/1 var(--vz-sans,system-ui);letter-spacing:.13em}
.jrn-cycle-context strong{display:block;margin-top:7px;font:500 24px/1.1 Georgia,serif}
.jrn-cycle-context p{margin:7px 0 4px;color:#39362f;line-height:1.45}
.jrn-cycle-context span{display:block;color:#756c62;font-size:12px;line-height:1.45}

@media(max-width:720px){
  .cycle-actions a p em{font-size:10px}
  .vz147-context-rows article{grid-template-columns:1fr}
  .vz147-context-rows article>div{grid-column:1}
}

/* En escritorio la navegación pasa a rail y el contenido reserva su espacio.
   En móvil conserva el dock inferior táctil. */
@media(min-width:1280px){
  :root{--vz147-rail-width:92px;--vz146-page-clearance:34px}
  #app{padding-left:var(--vz147-rail-width)!important;padding-bottom:0!important}
  #app>main,#app main.vz13-page,#app main.vz14-page,#app main.more-page,#app main.notif-page,#app main.life-page,#app main.journal-page,#app main.kitchen-page,#app main.sub-new,#app main[class*="-page"]{padding-bottom:42px!important}
  .v-bottom-nav.v-bottom-nav-vitaliza,.vz13-page .v-bottom-nav-vitaliza,.vz14-page .v-bottom-nav-vitaliza{
    inset:50% auto auto 14px!important;top:50%!important;left:14px!important;right:auto!important;bottom:auto!important;transform:translateY(-50%)!important;
    width:70px!important;max-width:70px!important;min-height:0!important;padding:7px!important;border-radius:25px!important;
    grid-template-columns:1fr!important;grid-template-rows:repeat(5,minmax(58px,auto))!important;gap:5px!important;
  }
  .v-bottom-nav-vitaliza a,.vz13-page .v-bottom-nav-vitaliza a,.vz14-page .v-bottom-nav-vitaliza a{width:100%!important;min-height:58px!important;padding:6px 3px!important}
  .v-bottom-nav-vitaliza a:nth-child(3){grid-column:1!important;grid-row:3!important}
  .v-global-ambient-player{left:102px!important;right:auto!important;bottom:16px!important;transform:none!important}
  body.vitaliza-ambient-playing{--vz146-page-clearance:42px}
  .toast,[data-toast],.vz-toast{bottom:20px!important}
}

/* La animación editorial no debe convertir a las barras fijas en elementos
   relativos a páginas centradas. Se conserva la entrada suave solo con opacidad. */
@keyframes vitaliza-page-in{from{opacity:0}to{opacity:1}}


/* ===== src/styles/v1472.css ===== */
/* VITALIZA 14.7.2 — cierre real: navegación móvil fuera del área de contenido,
   recetas transparentes y accesibilidad consistente. */
:root{
  --vz1472-dock-zone:calc(var(--vz146-dock-height,68px) + max(12px,env(safe-area-inset-bottom,0px)) + 14px);
}

/* En móvil y tablet el contenido tiene su propio viewport por encima del dock.
   Así la barra sigue siempre accesible sin cubrir títulos, campos, tarjetas ni
   el último control. */
@media(max-width:1279px){
  html,body{height:100%;min-height:100%;overflow:hidden}
  body{overscroll-behavior:none}
  #app{
    height:100dvh!important;
    min-height:100dvh!important;
    overflow:hidden!important;
    padding:0 0 var(--vz1472-dock-zone)!important;
    box-sizing:border-box!important;
  }
  #app>main,
  #app>.screen,
  #app>[id$="-screen"]{
    width:100%;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-y:contain;
    -webkit-overflow-scrolling:touch;
    scroll-padding-top:20px;
    scroll-padding-bottom:32px;
    padding-bottom:max(34px,env(safe-area-inset-bottom,0px))!important;
    box-sizing:border-box!important;
  }
  #app>main>.v-bottom-nav-vitaliza,
  #app>main>.v-global-ambient-player,
  #app>.screen>.v-bottom-nav-vitaliza,
  #app>.screen>.v-global-ambient-player,
  #app>[id$="-screen"] .v-bottom-nav-vitaliza,
  #app>[id$="-screen"] .v-global-ambient-player{position:fixed!important}
  .v-bottom-nav.v-bottom-nav-vitaliza{
    bottom:max(6px,env(safe-area-inset-bottom,0px))!important;
    box-shadow:0 14px 42px rgba(31,27,23,.24)!important;
  }
  body.vitaliza-ambient-playing #app{--vz1472-dock-zone:calc(var(--vz146-dock-height,68px) + 92px + max(12px,env(safe-area-inset-bottom,0px)))}
  .v-global-ambient-player{bottom:calc(var(--vz146-dock-height,68px) + max(16px,env(safe-area-inset-bottom,0px)) + 10px)!important}
  input,textarea,select,button,a{scroll-margin-bottom:28px}
  .life-page.is-capturing,.pet-page.is-capturing,.children-page.is-capturing{height:100%!important}
}

/* Pantallas muy bajas: dock compacto y zona reservada equivalente. */
@media(max-width:380px),(max-height:620px) and (max-width:1279px){
  :root{--vz146-dock-height:62px;--vz1472-dock-zone:calc(62px + max(10px,env(safe-area-inset-bottom,0px)) + 10px)}
  .v-bottom-nav-vitaliza a,.vz13-page .v-bottom-nav-vitaliza a,.vz14-page .v-bottom-nav-vitaliza a{min-height:48px!important;padding:4px 1px!important}
  .v-bottom-nav-vitaliza .v-nav-glyph svg{width:18px;height:18px}
  .v-bottom-nav-vitaliza small{font-size:7.5px!important}
}

/* La explicación de cada receta es legible y específica; no un rótulo
   genérico idéntico en todas las tarjetas. */
.vz147-recipe-reason{
  margin:0 0 12px!important;
  padding:10px 12px;
  border-radius:14px;
  background:#e5edd8;
  color:#3f5631!important;
  font:750 11px/1.45 var(--vz-sans,system-ui)!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.vz147-ingredient-status{display:grid;gap:5px;margin-top:10px}
.vz147-ingredient-status p{margin:0!important;font-size:12px;line-height:1.45;color:var(--vz-muted,#756c62)}
.vz147-ingredient-status .is-available b{color:#426238}
.vz147-ingredient-status .is-substitution{padding:8px 10px;border-radius:12px;background:#fff4df;color:#71512f}
.vz147-ingredient-status .is-substitution b{color:#9b5b1e}
.vz147-ingredient-status .is-missing b{color:#8a4638}
.vz147-ingredient-status .is-optional{font-size:10px;color:#827b72}
.vz14-recipe-card.is-cycle-recipe{overflow:visible}

/* Accesibilidad y controles táctiles. */
:where(a,button,input,textarea,select,summary):focus-visible{outline:3px solid rgba(217,106,37,.38)!important;outline-offset:3px!important}
:where(button,a,.vz14-choice-row button,.cycle-actions a){min-height:44px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Mi semana: la propuesta asistida se apila en pantallas angostas. El diseño
   anterior mantenía dos columnas y comprimía el texto hasta volverlo ilegible. */
@media(max-width:759px){
  .planner-page .pln-assist{
    grid-template-columns:minmax(0,1fr)!important;
    align-items:start!important;
    gap:16px!important;
  }
  .planner-page .pln-assist>div{min-width:0}
  .planner-page .pln-assist h2{font-size:clamp(24px,8vw,32px)!important;line-height:1.02}
  .planner-page .pln-vita-auto{width:100%!important;min-width:0!important;margin:0!important}
}


/* ===== src/styles/v1473.css ===== */
/* VITALIZA 14.7.5 — cierre de rutas, responsive y accesibilidad. */

/* Filas de opciones: envolver antes que cortar contenido. */
.vz14-choice-row,
.vz14-tabs,
.vz143-sound-buttons,
.pv-section-nav,
.lib-cats,
.lib-collections {
  flex-wrap: wrap;
  overflow-x: visible;
  white-space: normal;
}
.vz14-choice-row > *,
.vz14-tabs > *,
.vz143-sound-buttons > *,
.pv-section-nav > * { min-width: 0; }

/* Compras / heladera / despensa / freezer. */
.vz1473-tabs{display:flex;gap:8px;align-items:center}.vz1473-tabs a{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.vz1473-inventory-form{display:grid!important;grid-template-columns:minmax(180px,1.5fr) minmax(92px,.5fr) minmax(100px,.55fr) minmax(150px,.8fr) auto!important;align-items:end!important;gap:10px!important}
.vz1473-inventory-form label{display:grid;gap:6px;min-width:0;color:var(--color-text-secondary,#756c62);font-size:11px;font-weight:800;letter-spacing:.04em}
.vz1473-inventory-form input,.vz1473-inventory-form select{width:100%;min-width:0;min-height:46px;box-sizing:border-box;border:1px solid var(--color-border,#ded4c8);border-radius:15px;background:#fffdf8;padding:10px 12px;color:var(--color-text-primary,#292722);font:inherit}
.vz1473-inventory-form button{min-height:46px}
.vz1473-inventory-list{display:grid;gap:10px}.vz1473-inventory-card{display:flex!important;align-items:center!important;justify-content:space-between;gap:16px;padding:16px 18px!important;border-radius:20px;background:#fffdf8;border:1px solid rgba(41,39,34,.10)}
.vz1473-inventory-copy{min-width:0}.vz1473-inventory-copy small{display:block;color:#a55325;font-size:9px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.vz1473-inventory-copy h3{margin:5px 0 3px;overflow-wrap:anywhere}.vz1473-inventory-copy p{margin:0;color:#756c62}.vz1473-inventory-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.vz1473-inventory-actions button{min-height:42px}
.vz1473-expiry{display:inline-flex;margin-top:9px;padding:6px 10px;border-radius:999px;background:#ece8df;color:#625b52;font-size:11px;font-weight:850}.vz1473-expiry.urgent,.vz1473-expiry.expired{background:#f8ddd6;color:#8c3325}.vz1473-expiry.soon{background:#fff0c9;color:#73520c}.vz1473-expiry.later{background:#e4efdf;color:#3f6036}
.vz1473-expiring{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:18px;margin:0 0 16px;padding:18px;border-radius:22px;background:linear-gradient(135deg,#fff0d7,#fffaf2);border:1px solid rgba(217,106,37,.15)}.vz1473-expiring small{color:#9f4d1c;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.vz1473-expiring p{margin:6px 0 0;color:#6b6258}.vz1473-expiring ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}.vz1473-expiring li{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.62)}.vz1473-expiring li b{overflow-wrap:anywhere}.vz1473-expiring li span{flex:0 0 auto;color:#8c4a20;font-size:11px;font-weight:850}.vz1473-limit-note{margin:14px 0 0;color:#81776d;font-size:11px}

/* La barra fija nunca debe cubrir el final del contenido. */
@media (max-width: 860px){
  .vz13-page,.vz14-page,.lib-page,.lib-reader,.osp,.ob-page,.authx{padding-bottom:max(128px,calc(112px + env(safe-area-inset-bottom)))!important;box-sizing:border-box}
  .vz13-wrap,.vz14-wrap,.lib-content,.reader-content{padding-bottom:max(42px,env(safe-area-inset-bottom))!important}
  .v-bottom-nav-vitaliza{bottom:max(10px,env(safe-area-inset-bottom))!important}
  .vz1473-inventory-form{grid-template-columns:1fr 1fr!important}.vz1473-inventory-form label:first-of-type{grid-column:1/-1}.vz1473-inventory-form button{grid-column:1/-1;width:100%}
  .vz1473-inventory-card{align-items:flex-start!important;flex-direction:column}.vz1473-inventory-actions{width:100%;justify-content:flex-start}.vz1473-expiring{grid-template-columns:1fr}
}
@media (max-width: 380px){
  .vz1473-inventory-form{grid-template-columns:1fr!important}.vz1473-inventory-form label,.vz1473-inventory-form label:first-of-type,.vz1473-inventory-form button{grid-column:1!important}
  .vz1473-tabs{display:grid!important;grid-template-columns:1fr 1fr}.vz1473-tabs a{width:100%;box-sizing:border-box}
}

/* Foco visible y objetivos táctiles. */
:where(a,button,input,textarea,select,[tabindex]):focus-visible{outline:3px solid rgba(224,105,32,.42)!important;outline-offset:3px!important}
:where(button,a[role="button"],.vz14-tabs a,.v-bottom-nav-vitaliza a){min-height:44px}

/* Contenido horizontal operable y evidente cuando no puede envolver. */
[data-horizontal-scroll]{scrollbar-width:thin;scroll-snap-type:x proximity;padding-bottom:8px}
[data-horizontal-scroll]>*{scroll-snap-align:start}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Accesos explícitos entre Mi día, Mi semana y áreas conectadas. */
.vz1473-section-links,.vz1473-day-week{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.vz1473-section-links a,.vz1473-day-week a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 13px;border-radius:999px;border:1px solid rgba(41,39,34,.13);background:#fffaf2;color:#70401f;text-decoration:none;font-weight:800}
.vz1473-day-week{justify-content:flex-start;margin:0 0 18px}.vz1473-day-week a.active{background:#2d2925;color:#fff;border-color:#2d2925}
@media(max-width:560px){.vz14-section>header{align-items:flex-start!important}.vz1473-section-links{justify-content:flex-start;width:100%}.vz1473-section-links a{flex:1 1 130px}}

/* Mi semana monta un contenedor técnico antes de la pantalla. Ese nivel también
   debe participar del viewport reservado para el dock móvil. */
@media(max-width:1279px){
  #app>[data-planner-mount]{
    width:100%;
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  #app>[data-planner-mount]>.planner-page{
    width:100%;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-y:contain;
    -webkit-overflow-scrolling:touch;
    scroll-padding-bottom:32px;
    padding-bottom:max(34px,env(safe-area-inset-bottom,0px))!important;
    box-sizing:border-box!important;
  }
  #app>[data-planner-mount]>.planner-page>.v-bottom-nav-vitaliza,
  #app>[data-planner-mount]>.planner-page>.v-global-ambient-player{position:fixed!important}
}


/* ===== src/styles/v1478ux.css ===== */
/* VITALIZA 14.8.0 UX 2026-08-03 — Hoy decide más y explica menos. */

/* Cuando no hay pendientes reales, la tarjeta principal deja de reservar un
   panel oscuro vacío. El ciclo y el contexto se expresan en una sola acción. */
.vz1479-hero-single{grid-template-columns:minmax(0,1fr)!important}
.vz1479-hero-single .vz14-hero-main{max-width:760px}

/* Acciones destructivas o poco frecuentes quedan detrás de una revelación
   progresiva, sin perder accesibilidad ni funcionalidad. */
.vz1479-more{position:relative;display:inline-flex;align-items:center}
.vz1479-more>summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--vz14-line);border-radius:999px;background:transparent;color:var(--vz14-muted);font-weight:900;cursor:pointer}
.vz1479-more>summary::-webkit-details-marker{display:none}
.vz1479-more[open]>summary{background:var(--vz14-soft);color:var(--vz14-ink)}
.vz1479-more>button{position:absolute;z-index:6;right:0;top:calc(100% + 7px);min-width:128px;box-shadow:0 12px 30px rgba(42,36,30,.14);background:#fffaf3!important;border:1px solid var(--vz14-line)!important;color:var(--vz14-orange-dark)!important}

/* Cuidarme muestra una acción, una frase y el motivo solo a pedido. */
.vz143-dashboard-care{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
.vz1479-care-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.vz1479-care-meta>span{font-size:11px;font-weight:850;color:var(--vz14-muted)}
.vz143-dashboard-care .vz143-care-explain{margin-top:13px}
.vz143-dashboard-care-actions-inline{margin-top:15px!important}
.vz143-dashboard-care-actions-inline a,
.vz143-dashboard-care-actions-inline button{min-height:44px;padding:11px 16px!important}

/* Las tarjetas restantes son decisiones breves, no miniartículos. */
.vz14-card h3{max-width:19ch}
.vz14-card>a{margin-top:14px}
.vz14-cards-grid:empty{display:none}

@media(max-width:850px){
  .vz14-hero-side{min-height:0!important;padding:18px 22px!important;gap:7px!important}
  .vz14-hero-side h3{font-size:18px!important}
  .vz14-hero-side strong{font-size:12px!important}
}

@media(max-width:560px){
  .vz14-title{margin-bottom:18px!important}
  .vz14-title span{margin-top:8px!important}
  .vz14-hero-main{padding:23px 20px!important}
  .vz14-hero-main h2{font-size:36px!important;margin-bottom:10px!important}
  .vz14-hero-main p{font-size:15px!important;line-height:1.45!important}
  .vz14-actions{gap:8px!important}
  .vz14-actions>a,.vz14-actions>button{flex:1 1 112px}
  .vz1479-more{flex:0 0 auto}
  .vz143-dashboard-care{padding:20px!important}
  .vz143-dashboard-care h2{font-size:30px!important;max-width:14ch}
  .vz143-dashboard-care p{font-size:15px;line-height:1.45}
  .vz143-dashboard-care-actions-inline{display:grid!important;grid-template-columns:1fr 1fr}
  .vz143-dashboard-care-actions-inline>:first-child{grid-column:1/-1}
  .vz143-dashboard-care-actions-inline a,.vz143-dashboard-care-actions-inline button{width:100%;box-sizing:border-box}
  .vz14-card{padding:21px!important}
  .vz14-card h3{font-size:27px!important}
}


/* 14.8.0 revisión integral — un solo desplazamiento real.
   Las reglas históricas v1472/v1473 convertían cada pantalla en un segundo
   viewport con overflow:auto. En Android e iOS eso retenía el gesto, podía
   demorar el click y hacía inestable un elemento fixed dentro de la pantalla. */
@media(max-width:1279px){
  html{
    width:100%!important;
    height:auto!important;
    min-height:100%!important;
    max-height:none!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-y:auto!important;
    -webkit-overflow-scrolling:touch;
  }
  body{
    width:100%!important;
    height:auto!important;
    min-height:100%!important;
    max-height:none!important;
    overflow-x:hidden!important;
    overflow-y:visible!important;
    position:static!important;
    overscroll-behavior-y:auto!important;
    touch-action:pan-y pinch-zoom;
  }
  #app{
    width:100%!important;
    height:auto!important;
    min-height:100dvh!important;
    max-height:none!important;
    overflow:visible!important;
    transform:none!important;
    filter:none!important;
    contain:none!important;
    padding:0 0 var(--vz146-page-clearance)!important;
    box-sizing:border-box!important;
  }
  #app>main,
  #app>.screen,
  #app>[id$="-screen"],
  #app>[data-planner-mount],
  #app>[data-planner-mount]>.planner-page{
    width:100%!important;
    height:auto!important;
    min-height:100dvh!important;
    max-height:none!important;
    overflow-x:clip!important;
    overflow-y:visible!important;
    overscroll-behavior-y:auto!important;
    -webkit-overflow-scrolling:auto!important;
    transform:none!important;
    contain:none!important;
    padding-bottom:var(--vz146-page-clearance)!important;
    box-sizing:border-box!important;
    touch-action:pan-y pinch-zoom;
  }
  .v-bottom-nav.v-bottom-nav-vitaliza,
  .v-bottom-nav-vitaliza{
    position:fixed!important;
    left:50%!important;
    right:auto!important;
    bottom:max(6px,env(safe-area-inset-bottom,0px))!important;
    transform:translateX(-50%)!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  .v-global-ambient-player{
    position:fixed!important;
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%)!important;
    pointer-events:auto!important;
  }
  :where(button,a,input,textarea,select,summary){touch-action:manipulation}
}

/* La barra de progreso informa el cambio de pantalla pero nunca intercepta
   gestos ni crea otra capa desplazable. */
body.vitaliza-route-loading::after{
  content:"";
  position:fixed;
  z-index:20000;
  top:0;left:0;
  width:34%;height:3px;
  border-radius:0 999px 999px 0;
  background:var(--vz14-orange,#d96a25);
  pointer-events:none;
  animation:vitaliza-route-progress .7s ease-in-out infinite alternate;
}
@keyframes vitaliza-route-progress{from{transform:translateX(-20%);opacity:.55}to{transform:translateX(210%);opacity:1}}
@media(prefers-reduced-motion:reduce){body.vitaliza-route-loading::after{animation:none;width:100%;opacity:.8}}

/* Dock y reproductor globales: viven fuera del árbol que el router reemplaza. */
#vitaliza-global-chrome{
  position:relative;
  z-index:9990;
  pointer-events:none;
}
#vitaliza-global-chrome[hidden]{display:none!important}
#vitaliza-global-chrome .v-bottom-nav-vitaliza,
#vitaliza-global-chrome .v-global-ambient-player{pointer-events:auto}
.vitaliza-global-chrome-anchor{display:none!important}

/* 14.8.0 — reconstrucción del corazón: una sola superficie desplazable y
   controles globales fuera del árbol que cambia el router. */
html,body{max-width:100%;overflow-x:hidden}
body{position:relative!important}
#app,#app>main{transform:none!important;will-change:auto!important;contain:none!important}

.vz147-contextual-meal-guide{
  display:grid;gap:10px;padding:22px;margin-top:14px;border:1px solid var(--vz14-line);
  border-radius:24px;background:linear-gradient(145deg,rgba(255,250,242,.98),rgba(248,231,217,.82));
}
.vz147-contextual-meal-guide small{font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:var(--vz14-orange-dark)}
.vz147-contextual-meal-guide h2{margin:0;font:500 clamp(27px,5vw,38px)/1.05 Fraunces,Georgia,serif;max-width:18ch}
.vz147-contextual-meal-guide p{margin:0;max-width:58ch;color:var(--vz14-muted);line-height:1.5}
.vz147-contextual-meal-guide strong{font-size:15px;margin-top:4px}
.vz147-meal-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.vz147-meal-chips button{min-height:44px;border:1px solid var(--vz14-line);border-radius:999px;padding:9px 14px;background:#fffaf3;color:var(--vz14-ink);font:800 13px Mulish,sans-serif;cursor:pointer}
.vz147-recipe-reason{margin:0 0 8px!important;color:var(--vz14-orange-dark)!important;font-weight:850!important;line-height:1.35!important}
.vz147-home-opportunity p{margin:0;color:var(--vz14-muted);line-height:1.45}
.vz147-home-opportunity .vz14-row-actions{margin-top:14px}

@media(max-width:1279px){
  html{overflow-y:auto!important;scroll-behavior:auto!important}
  body{overflow-y:visible!important;-webkit-overflow-scrolling:touch!important;touch-action:auto!important}
  #app,#app>main,#app .vz13-page,#app .vz14-page,#app .screen{
    overflow:visible!important;height:auto!important;max-height:none!important;touch-action:auto!important;
  }
  #app{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))!important}
  #app>main{padding-bottom:calc(108px + env(safe-area-inset-bottom,0px))!important}
  #vitaliza-global-chrome{position:relative!important;z-index:2147480000!important}
  #vitaliza-global-chrome .v-bottom-nav-vitaliza{
    position:fixed!important;z-index:2147480000!important;left:50%!important;right:auto!important;
    bottom:max(7px,env(safe-area-inset-bottom,0px))!important;transform:translate3d(-50%,0,0)!important;
    width:min(650px,calc(100vw - 14px))!important;max-width:calc(100vw - 14px)!important;
    visibility:visible!important;opacity:1!important;pointer-events:auto!important;
  }
  #vitaliza-global-chrome .v-global-ambient-player{
    position:fixed!important;z-index:2147479999!important;left:50%!important;right:auto!important;
    bottom:calc(80px + env(safe-area-inset-bottom,0px))!important;transform:translate3d(-50%,0,0)!important;
  }
  button,a,summary,[role="button"]{-webkit-tap-highlight-color:transparent;touch-action:manipulation!important}
}

/* 14.8.0 — Cocina con tres intenciones separadas. */
.vz148-kitchen-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}
.vz148-kitchen-paths>button{min-width:0;display:grid;gap:6px;text-align:left;padding:17px 18px;border:1px solid var(--vz14-line);border-radius:21px;background:var(--vz14-card);color:var(--vz14-ink);cursor:pointer}
.vz148-kitchen-paths>button strong{font-size:14px;line-height:1.2}
.vz148-kitchen-paths>button span{color:var(--vz14-muted);font-size:12px;line-height:1.4}
.vz148-kitchen-paths>button.active{border-color:rgba(223,109,40,.55);background:linear-gradient(145deg,#fffaf2,#f6e7d7);box-shadow:0 12px 28px rgba(134,72,35,.08)}
.vz148-intent-form input{width:100%;min-width:0;border:1px solid var(--vz14-line);border-radius:16px;padding:14px 15px;background:#fff;color:var(--vz14-ink);font-size:15px;outline:0}
.vz148-intent-form input:focus{border-color:rgba(223,109,40,.55);box-shadow:0 0 0 4px rgba(223,109,40,.09)}
.vz148-collections{display:grid;gap:17px;padding:23px;border:1px solid var(--vz14-line);border-radius:25px;background:var(--vz14-card)}
.vz148-collections>header small{font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:var(--vz14-orange-dark)}
.vz148-collection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.vz148-collection-grid>button{display:grid;gap:5px;text-align:left;padding:15px 16px;border:1px solid var(--vz14-line);border-radius:18px;background:#fffaf3;color:var(--vz14-ink);cursor:pointer}
.vz148-collection-grid>button strong{font-size:14px}
.vz148-collection-grid>button span{color:var(--vz14-muted);font-size:12px;line-height:1.35}
.vz148-collection-grid>button.active{background:var(--vz14-ink);color:#fff;border-color:var(--vz14-ink)}
.vz148-collection-grid>button.active span{color:rgba(255,255,255,.72)}
.vz148-full-book{justify-self:start;color:var(--vz14-orange-dark);font-weight:900;text-decoration:none}
.vz148-discovery-card .vz14-primary{color:#fff;text-decoration:none}
.vz148-recipe-ingredients{max-width:68ch}
@media(max-width:720px){
  .vz148-kitchen-paths{grid-template-columns:1fr;gap:8px}
  .vz148-kitchen-paths>button{padding:14px 15px}
  .vz148-collection-grid{grid-template-columns:1fr}
}

/* 14.8.0 — cada preparación de Cocina conserva una fotografía visible. */
.vz148-recipe-card-with-photo{
  grid-template-columns:150px minmax(0,1fr) auto;
  align-items:stretch;
}
.vz148-recipe-photo{
  width:150px;
  height:132px;
  align-self:center;
  object-fit:cover;
  border-radius:18px;
  background:#eee7dc;
  box-shadow:0 8px 24px rgba(54,42,31,.08);
}
.vz148-recipe-copy{min-width:0;align-self:center}
@media (max-width:760px){
  .vz148-recipe-card-with-photo{grid-template-columns:96px minmax(0,1fr)}
  .vz148-recipe-photo{width:96px;height:96px;border-radius:15px;grid-row:1}
  .vz148-recipe-card-with-photo .vz14-recipe-actions{grid-column:1/-1;justify-items:stretch;grid-template-columns:1fr}
  .vz148-recipe-card-with-photo .vz14-recipe-actions>*{width:100%;box-sizing:border-box;text-align:center}
}
@media (max-width:420px){
  .vz148-recipe-card-with-photo{grid-template-columns:1fr;padding:16px}
  .vz148-recipe-photo{width:100%;height:180px;grid-row:auto}
}


/* ===== src/styles/vitaliza-final-fix-20260808.css ===== */

/* VITALIZA — corrección final de imágenes, alcance del scroll y despeje del dock.
   Las imágenes nunca deben convertirse en capas que tapen contenido ni impedir
   alcanzar el último elemento de una pantalla. */

html, body, #app {
  width:100%;
  max-width:100%;
}

#app,
#app > main,
#app > .screen,
#app [id$="-screen"],
#app .vz13-page,
#app .vz14-page,
#app main[class*="-page"] {
  box-sizing:border-box !important;
  min-height:100dvh !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
}

/* El contenido siempre termina por encima del dock + reproductor + safe area. */
#app {
  padding-bottom:calc(150px + env(safe-area-inset-bottom,0px)) !important;
}
#app > main,
#app > .screen,
#app [id$="-screen"],
#app .vz13-page,
#app .vz14-page,
#app main[class*="-page"] {
  padding-bottom:calc(150px + env(safe-area-inset-bottom,0px)) !important;
}

/* Las imágenes forman parte del flujo normal: no pueden invadir texto/botones. */
#app img {
  max-width:100% !important;
  box-sizing:border-box !important;
}

#app img:not(.v-nav-glyph img):not([aria-hidden="true"]) {
  position:relative;
  z-index:0;
}

#app picture,
#app figure {
  display:block;
  max-width:100%;
  box-sizing:border-box;
}

#app figure img {
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}

/* Evita que imágenes de tarjetas o hero creen alturas/capas inesperadas. */
#app .vz14-card img,
#app .vz13-card img,
#app .recipe-card img,
#app .meal-card img,
#app .agenda-card img,
#app .home-card img {
  max-height:none;
}

/* Las fotos de recetas mantienen su caja prevista y no empujan/tapan acciones. */
#app .vz148-recipe-photo {
  position:relative !important;
  z-index:0 !important;
  display:block !important;
  max-width:100% !important;
  object-fit:cover !important;
}

/* Nada que esté dentro del contenido puede crear una capa fija accidental. */
#app img[style*="position:fixed"],
#app img[style*="position: fixed"],
#app img[style*="position:absolute"],
#app img[style*="position: absolute"] {
  position:relative !important;
}

/* Controles globales sí quedan por encima; el contenido tiene despeje suficiente. */
#vitaliza-global-chrome {
  pointer-events:none;
}
#vitaliza-global-chrome .v-bottom-nav-vitaliza,
#vitaliza-global-chrome .v-global-ambient-player {
  pointer-events:auto;
}

/* En teléfonos pequeños, priorizar una columna y texto completo. */
@media (max-width:760px) {
  #app {
    padding-bottom:calc(158px + env(safe-area-inset-bottom,0px)) !important;
  }
  #app > main,
  #app > .screen,
  #app [id$="-screen"],
  #app .vz13-page,
  #app .vz14-page,
  #app main[class*="-page"] {
    padding-bottom:calc(158px + env(safe-area-inset-bottom,0px)) !important;
  }
}

@media (max-width:420px) {
  #app {
    padding-bottom:calc(164px + env(safe-area-inset-bottom,0px)) !important;
  }
  #app > main,
  #app > .screen,
  #app [id$="-screen"],
  #app .vz13-page,
  #app .vz14-page,
  #app main[class*="-page"] {
    padding-bottom:calc(164px + env(safe-area-inset-bottom,0px)) !important;
  }
}


/* ===== src/styles/premium-closure-20260810.css ===== */
/* ================================================================
   VITALIZA 14.8.0 — CIERRE VISUAL PREMIUM 2026-08-10
   Capa final y deliberadamente acotada: navegación, tipografía, jerarquía,
   cabecera y superficies. No modifica lógica, rutas, datos ni integraciones.
   ================================================================ */

:root{
  --vz-premium-font:"DM Sans",Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --vz-premium-ink:#24221f;
  --vz-premium-paper:#f7f1e8;
  --vz-premium-card:#fffaf3;
  --vz-premium-line:rgba(36,34,31,.09);
  --vz-premium-muted:#746d65;
  --vz-premium-orange:#df6d2b;
  --vz-premium-orange-deep:#b64f18;
  --vz-premium-nav:#242321;
}

/* Una sola voz tipográfica dentro de la aplicación. Las piezas editoriales
   públicas pueden conservar su lenguaje anterior; la UI queda sans. */
#app,
#vitaliza-global-chrome{
  font-family:var(--vz-premium-font)!important;
  font-feature-settings:"kern" 1,"liga" 1,"calt" 1;
  font-variant-numeric:tabular-nums;
}

#app :where(h1,h2,h3,h4,h5,h6),
#app :where(.vz13-heading h1,.vz13-title,.vz14-title,.vz14-hero-main h2,.vz14-card h3,.vz13-primary h2,.vz13-mini h3,.vz13-section-head h2,.vz13-result h3,.vz13-tool h3,.vz147-contextual-meal-guide h2){
  font-family:var(--vz-premium-font)!important;
  letter-spacing:-.028em!important;
  text-wrap:balance;
}

#app :where(button,input,textarea,select,a,small,label,p,span,strong,em){
  font-family:var(--vz-premium-font);
}

/* Cabecera: menos altura, menos ruido, más producto. */
#app .vz13-topbar{
  gap:12px!important;
}
#app .vz13-brandline{gap:8px!important}
#app .vz13-brand{
  gap:7px!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.105em!important;
}
#app .vz13-brand img{
  width:31px!important;
  height:31px!important;
  display:block!important;
}
#app .vz13-back{
  width:34px!important;
  height:34px!important;
  background:rgba(255,250,243,.66)!important;
  border-color:var(--vz-premium-line)!important;
  box-shadow:none!important;
}
#app .vz13-topmeta{gap:8px!important}
#app .vz13-profile{width:32px!important;height:32px!important}
#app .vz13-tier{padding:6px 9px!important}
#app .vz13-heading{padding-top:22px!important}
#app .vz13-heading p,
#app .vz13-kicker{
  margin-bottom:7px!important;
  font-size:9px!important;
  letter-spacing:.15em!important;
}
#app .vz13-heading h1,
#app .vz13-title,
#app .vz14-title{
  font-size:clamp(34px,5.2vw,54px)!important;
  line-height:.98!important;
  font-weight:650!important;
  letter-spacing:-.045em!important;
  max-width:19ch!important;
}

/* Jerarquía funcional: los títulos dejan de ocupar media pantalla. */
#app .vz14-hero-main h2,
#app .vz13-primary h2{
  font-size:clamp(31px,4.2vw,46px)!important;
  line-height:1.02!important;
  font-weight:650!important;
}
#app .vz143-dashboard-care h2,
#app .vz147-contextual-meal-guide h2{
  font-size:clamp(27px,3.5vw,36px)!important;
  line-height:1.04!important;
  font-weight:650!important;
}
#app .vz14-card h3,
#app .vz13-mini h3,
#app .vz13-result h3,
#app .vz13-tool h3{
  font-size:clamp(21px,2.6vw,27px)!important;
  line-height:1.08!important;
  font-weight:650!important;
}
#app .vz13-section-head h2{
  font-size:clamp(27px,3vw,34px)!important;
  font-weight:650!important;
}

/* Superficies: siguen siendo VITALIZA, pero con menos caja-dentro-de-caja. */
#app :where(.vz13-card,.vz14-card,.vz14-life-card,.vz14-plan-card,.vz148-collections,.vz147-contextual-meal-guide){
  border-color:var(--vz-premium-line)!important;
  box-shadow:0 10px 30px rgba(54,44,34,.045)!important;
}
#app .vz13-card{border-radius:23px!important}
#app .vz14-card,
#app .vz14-life-card,
#app .vz14-plan-card{border-radius:22px!important}
#app .vz14-hero-main{border-radius:24px!important}
#app .vz14-hero-side{border-radius:24px!important}
#app .vz148-collections,
#app .vz147-contextual-meal-guide{border-radius:21px!important}

/* Botones: identidad naranja conservada, forma menos inflada. */
#app :where(.vz13-button,.vz13-actions a,.vz13-actions button,.vz14-primary,.vz14-actions a,.vz14-actions button){
  border-radius:16px!important;
  min-height:44px;
  font-weight:750!important;
  letter-spacing:-.01em!important;
}
#app :where(.vz13-button,.vz13-actions a,.vz13-actions button){
  font-family:var(--vz-premium-font)!important;
}

/* ================================================================
   DOCK PREMIUM — inspirado en la referencia funcional, no copiado.
   Cinco destinos, Hoy protagonista, sin cinco píldoras compitiendo.
   ================================================================ */
#vitaliza-global-chrome .v-bottom-nav-vitaliza,
.v-bottom-nav.v-bottom-nav-vitaliza,
.v-bottom-nav-vitaliza{
  position:fixed!important;
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:max(10px,env(safe-area-inset-bottom,0px))!important;
  transform:translate3d(-50%,0,0)!important;
  width:min(610px,calc(100vw - 22px))!important;
  max-width:calc(100vw - 22px)!important;
  min-height:72px!important;
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  align-items:end!important;
  gap:0!important;
  padding:8px 8px 7px!important;
  border:1px solid rgba(255,255,255,.075)!important;
  border-radius:24px!important;
  background:rgba(36,35,33,.97)!important;
  box-shadow:0 16px 42px rgba(22,20,18,.24)!important;
  backdrop-filter:blur(20px) saturate(1.08)!important;
  -webkit-backdrop-filter:blur(20px) saturate(1.08)!important;
}

#vitaliza-global-chrome .v-bottom-nav-vitaliza a,
.v-bottom-nav-vitaliza a{
  min-width:0!important;
  min-height:54px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:5px!important;
  padding:6px 2px 5px!important;
  border-radius:0!important;
  color:rgba(255,255,255,.56)!important;
  background:transparent!important;
  box-shadow:none!important;
  text-decoration:none!important;
  transform:none!important;
  transition:color .18s ease,transform .18s ease!important;
}
#vitaliza-global-chrome .v-bottom-nav-vitaliza a:hover,
.v-bottom-nav-vitaliza a:hover{color:rgba(255,255,255,.86)!important}
#vitaliza-global-chrome .v-bottom-nav-vitaliza a.active,
.v-bottom-nav-vitaliza a.active{
  color:#fff!important;
  background:transparent!important;
  box-shadow:none!important;
}

#vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-glyph,
.v-bottom-nav-vitaliza .v-nav-glyph{
  width:23px!important;
  height:23px!important;
  min-height:23px!important;
  display:grid!important;
  place-items:center!important;
  color:currentColor!important;
}
#vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-glyph svg,
.v-bottom-nav-vitaliza .v-nav-glyph svg{
  width:22px!important;
  height:22px!important;
  stroke-width:1.7!important;
}
#vitaliza-global-chrome .v-bottom-nav-vitaliza small,
.v-bottom-nav-vitaliza small{
  font-family:var(--vz-premium-font)!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:650!important;
  letter-spacing:-.01em!important;
  white-space:nowrap!important;
}

/* Indicador activo discreto para destinos laterales. */
#vitaliza-global-chrome .v-bottom-nav-vitaliza a.active:not(.v-nav-primary)::after,
.v-bottom-nav-vitaliza a.active:not(.v-nav-primary)::after{
  content:"";
  position:absolute;
  bottom:2px;
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--vz-premium-orange);
}
#vitaliza-global-chrome .v-bottom-nav-vitaliza a:not(.v-nav-primary),
.v-bottom-nav-vitaliza a:not(.v-nav-primary){position:relative}

/* Hoy: centro visual y funcional del producto. */
#vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-primary,
.v-bottom-nav-vitaliza .v-nav-primary{
  align-self:end!important;
  justify-content:flex-end!important;
  transform:translateY(-13px)!important;
  color:#fff!important;
}
#vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-primary .v-nav-glyph,
.v-bottom-nav-vitaliza .v-nav-primary .v-nav-glyph{
  width:54px!important;
  height:54px!important;
  min-height:54px!important;
  border-radius:50%!important;
  background:linear-gradient(145deg,#f2833e,var(--vz-premium-orange))!important;
  color:#fff!important;
  border:5px solid var(--vz-premium-paper)!important;
  box-shadow:0 10px 24px rgba(129,62,25,.28)!important;
}
#vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-primary .v-nav-glyph svg,
.v-bottom-nav-vitaliza .v-nav-primary .v-nav-glyph svg{
  width:24px!important;
  height:24px!important;
  stroke-width:1.9!important;
}
#vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-primary small,
.v-bottom-nav-vitaliza .v-nav-primary small{
  color:#fff!important;
  font-weight:750!important;
  transform:translateY(2px);
}

/* El reproductor acompaña el dock sin competir con él. */
#vitaliza-global-chrome .v-global-ambient-player{
  bottom:calc(90px + env(safe-area-inset-bottom,0px))!important;
  border-radius:18px!important;
  box-shadow:0 12px 32px rgba(24,21,19,.14)!important;
}

/* Despeje real del dock elevado. */
#app,
#app > main,
#app > .screen,
#app [id$="-screen"],
#app .vz13-page,
#app .vz14-page,
#app main[class*="-page"]{
  padding-bottom:calc(146px + env(safe-area-inset-bottom,0px))!important;
}

@media(max-width:620px){
  #app .vz13-page,
  #app .vz14-page{padding-left:14px!important;padding-right:14px!important}
  #app .vz13-heading{padding-top:18px!important}
  #app .vz13-heading h1,
  #app .vz13-title,
  #app .vz14-title{
    font-size:36px!important;
    line-height:1!important;
  }
  #app .vz14-hero-main h2,
  #app .vz13-primary h2{font-size:31px!important}
  #app .vz14-card h3,
  #app .vz13-mini h3{font-size:22px!important}

  #vitaliza-global-chrome .v-bottom-nav-vitaliza,
  .v-bottom-nav-vitaliza{
    width:calc(100vw - 18px)!important;
    max-width:calc(100vw - 18px)!important;
    min-height:70px!important;
    bottom:max(8px,env(safe-area-inset-bottom,0px))!important;
    border-radius:22px!important;
    padding:7px 6px 6px!important;
  }
  #vitaliza-global-chrome .v-bottom-nav-vitaliza a,
  .v-bottom-nav-vitaliza a{
    min-height:52px!important;
    padding-left:1px!important;
    padding-right:1px!important;
  }
  #vitaliza-global-chrome .v-bottom-nav-vitaliza small,
  .v-bottom-nav-vitaliza small{font-size:8.5px!important}
  #vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-primary,
  .v-bottom-nav-vitaliza .v-nav-primary{transform:translateY(-12px)!important}
}

@media(max-width:380px){
  #vitaliza-global-chrome .v-bottom-nav-vitaliza small,
  .v-bottom-nav-vitaliza small{font-size:8px!important}
  #vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-primary .v-nav-glyph,
  .v-bottom-nav-vitaliza .v-nav-primary .v-nav-glyph{
    width:51px!important;height:51px!important;min-height:51px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  #vitaliza-global-chrome .v-bottom-nav-vitaliza a,
  .v-bottom-nav-vitaliza a{transition:none!important}
}


/* Hoy conserva el contexto que sí ayuda a decidir: fase/día del ciclo visible
   sin volver a una tarjeta grande ni desplazar los pendientes. */
#app .vz1479-cycle-chip{
  width:max-content;max-width:100%;display:inline-flex;align-items:center;gap:8px;
  margin:10px 0 12px;padding:9px 12px;border:1px solid rgba(223,109,43,.18);
  border-radius:999px;background:rgba(255,250,243,.74);color:var(--vz-premium-ink);
  text-decoration:none;box-shadow:none;
}
#app .vz1479-cycle-chip span{font-size:8px;font-weight:800;letter-spacing:.13em;color:var(--vz-premium-orange-deep)}
#app .vz1479-cycle-chip strong{font-size:12px;font-weight:700;letter-spacing:-.01em}
#app .vz1479-cycle-chip b{font-size:12px;color:var(--vz-premium-orange-deep)}


/* ===== src/styles/product-system-1410.css ===== */
/* =====================================================================
   VITALIZA 14.9 — SISTEMA VISUAL ÚNICO
   La última capa visual. Está diseñada para neutralizar las capas heredadas
   sin tocar lógica, rutas, almacenamiento ni integraciones.
   ===================================================================== */
:root{
  --vx-bg:#f5efe5;
  --vx-surface:#fffaf3;
  --vx-surface-2:#f2ede5;
  --vx-ink:#211f1c;
  --vx-muted:#766f67;
  --vx-line:rgba(33,31,28,.075);
  --vx-orange:#ef7429;
  --vx-orange-deep:#b24e1c;
  --vx-pink:#f2a9d2;
  --vx-yellow:#f4d765;
  --vx-blue:#b8cae7;
  --vx-green:#a7b86f;
  --vx-mint:#dfeceb;
  --vx-font:"DM Sans",Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --vx-radius:22px;
  --vx-radius-lg:30px;
  --vx-shadow:0 16px 44px rgba(56,45,34,.055);
}
html,body{background:var(--vx-bg)!important;color:var(--vx-ink)!important}
body{font-family:var(--vx-font)!important}
#app,#vitaliza-global-chrome{font-family:var(--vx-font)!important;color:var(--vx-ink)}
#app *{box-sizing:border-box}
#app :where(h1,h2,h3,h4,h5,h6,p,span,a,button,input,textarea,select,label,small,strong,em){font-family:var(--vx-font)!important}
#app :where(h1,h2,h3,h4){letter-spacing:-.035em!important;text-wrap:balance}
#app :where(button,a,input,textarea,select){-webkit-tap-highlight-color:transparent}

/* Contenedor general: la app deja de expandirse como una web editorial. */
#app :where(.vz13-page,.vz14-page,.v-premium-page,.sp-page,.settings-page,.ag-page,.screen.habits-page,.screen.journal-page,.kitchen-new){
  background:var(--vx-bg)!important;
  color:var(--vx-ink)!important;
}
#app :where(.vz13-wrap,.vz14-wrap,.kitchen-world,.ag-page>section,.cycle-shell,.sp-shell,.hab-content,.jrn-content,.settings-shell){
  max-width:980px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Chrome superior compartido. */
#app .vz13-topbar{
  max-width:980px!important;
  margin:0 auto!important;
  padding:16px 0 8px!important;
  gap:14px!important;
  min-height:66px!important;
}
#app .vz13-brandline{gap:8px!important}
#app .vz13-brand{font-size:11px!important;font-weight:800!important;letter-spacing:.12em!important;color:var(--vx-ink)!important}
#app .vz13-brand img{width:28px!important;height:28px!important}
#app .vz13-back,#app .vz13-profile,#app .vz13-share-shortcut,#app .vz13-tier{
  min-height:34px!important;border-radius:999px!important;border:1px solid var(--vx-line)!important;background:rgba(255,250,243,.82)!important;box-shadow:none!important;color:var(--vx-ink)!important
}
#app .vz13-back{width:34px!important;height:34px!important}
#app .vz13-profile{width:34px!important;height:34px!important}
#app .vz13-share-shortcut{padding:0 10px!important}
#app .vz13-tier{padding:7px 10px!important;font-size:9px!important}
#app .vz13-date{font-size:11px!important;color:var(--vx-muted)!important}
#app .vz13-heading{padding-top:18px!important;padding-bottom:2px!important}
#app .vz13-heading p,#app .vz13-kicker{font-size:8px!important;letter-spacing:.14em!important;color:var(--vx-orange-deep)!important;font-weight:850!important}
#app .vz13-heading h1,#app .vz13-title,#app .vz14-title{
  font-size:clamp(32px,4vw,46px)!important;line-height:.98!important;font-weight:750!important;letter-spacing:-.045em!important;max-width:17ch!important
}

/* Superficies, botones e inputs: una sola familia visual. */
#app :where(.vz13-card,.vz14-card,.vz14-life-card,.vz14-plan-card,.vz148-collections,.vz147-contextual-meal-guide,
  .ag-capture,.ag-summary,.ag-group,.ag-item,.ag-empty,.ag-alerts,.cycle-checkin,.cycle-update-card,.cycle-patterns,.cycle-next,.cycle-recorded,
  .hab-care-now,.hab-card,.hab-progress-card,.hab-composer,.hab-principles article,.jrn-card,.jrn-entry,.settings-section,.sp-card){
  background:var(--vx-surface)!important;border:1px solid var(--vx-line)!important;border-radius:var(--vx-radius)!important;box-shadow:none!important
}
#app :where(button,.vz13-button,.vz14-primary,.ag-primary,.hab-primary){border-radius:14px!important;font-weight:800!important;box-shadow:none!important}
#app :where(input,textarea,select){border-radius:16px!important;border:1px solid rgba(33,31,28,.12)!important;background:rgba(255,250,243,.94)!important;color:var(--vx-ink)!important;box-shadow:none!important}
#app :where(input,select){min-height:46px}
#app textarea{min-height:110px}

/* RESOLVER: menos formulario gigante, más acción clara. */
#app .vz14-wrap{max-width:820px!important;padding-bottom:118px!important}
#app .vz14-lead{max-width:56ch!important;font-size:14px!important;line-height:1.55!important;color:var(--vx-muted)!important}
#app .vz14-day-shortcut{border-radius:18px!important;background:var(--vx-surface)!important;border:1px solid var(--vx-line)!important;box-shadow:none!important;min-height:64px!important}
#app .vz147-resolve-context{border-radius:20px!important;background:#fff8ed!important;border:1px solid var(--vx-line)!important;box-shadow:none!important}
#app .vz14-hero-main{border-radius:28px!important;background:var(--vx-surface)!important;border:1px solid var(--vx-line)!important;box-shadow:var(--vx-shadow)!important;padding:24px!important;min-height:0!important}
#app .vz14-hero-main h2{font-size:clamp(28px,4vw,40px)!important;line-height:1!important;font-weight:750!important}
#app .vz14-hero-side{border-radius:22px!important;background:var(--vx-pink)!important;color:var(--vx-ink)!important;border:0!important;box-shadow:none!important}
#app .vz14-card{padding:18px!important}
#app .vz14-card h3{font-size:20px!important;font-weight:750!important}

/* AGENDA: lista limpia, no tablero de administración. */
#app .ag-page{padding:0 16px 120px!important}
#app .ag-header{max-width:980px!important;margin:0 auto!important;padding:16px 0 10px!important}
#app .ag-header h1{font-size:clamp(32px,4vw,45px)!important;font-weight:750!important}
#app .ag-capture{max-width:760px!important;margin:14px auto 18px!important;padding:18px!important}
#app .ag-capture-head h2{font-size:20px!important;font-weight:750!important}
#app .ag-list,#app .ag-summary{max-width:900px!important;margin-left:auto!important;margin-right:auto!important}
#app .ag-item{padding:14px 16px!important;min-height:0!important}
#app .ag-item-title-row h3{font-size:15px!important;font-weight:750!important;letter-spacing:-.015em!important}
#app .ag-kind,#app .ag-person,#app .ag-day{border-radius:999px!important}

/* COCINA: hero compacto y resultados que parecen producto, no landing. */
#app .kitchen-new{padding-bottom:120px!important}
#app .kitchen-world{padding:0 16px!important}
#app .kitchen-head{padding:16px 0 8px!important;min-height:64px!important}
#app .kitchen-hero{margin-top:14px!important;min-height:0!important;border-radius:30px!important;padding:26px!important;grid-template-columns:minmax(0,1fr) 220px!important;gap:24px!important;background:var(--vx-surface)!important;border:1px solid var(--vx-line)!important;box-shadow:var(--vx-shadow)!important}
#app .kitchen-hero-copy h2{font-size:clamp(32px,4vw,46px)!important;line-height:.98!important;font-weight:750!important;letter-spacing:-.045em!important}
#app .kitchen-hero-copy>p{font-size:13px!important;line-height:1.55!important;color:var(--vx-muted)!important}
#app .kitchen-hero form>div:first-of-type{border-radius:16px!important;background:var(--vx-surface-2)!important;box-shadow:none!important;border:0!important}
#app .kitchen-hero form button{border-radius:13px!important;background:var(--vx-ink)!important;padding:11px 15px!important}
#app .kitchen-orbit{width:190px!important;background:conic-gradient(from -20deg,var(--vx-yellow) 0 20%,transparent 20% 25%,var(--vx-green) 25% 45%,transparent 45% 50%,var(--vx-pink) 50% 70%,transparent 70% 75%,var(--vx-blue) 75% 95%,transparent 95%)!important;box-shadow:none!important;padding:18px!important}
#app .kitchen-orbit:before,#app .kitchen-orbit:after{display:none!important}
#app .kitchen-orbit>*{position:relative;z-index:1}
#app .kitchen-orbit:after{content:""}
#app .kitchen-match{border-radius:20px!important;background:var(--vx-surface)!important;border:1px solid var(--vx-line)!important;padding:12px!important;box-shadow:none!important}
#app .kitchen-match>img{border-radius:16px!important}
#app .kitchen-match h3{font-size:21px!important;font-weight:750!important}
#app .kitchen-recipe-card{border-radius:20px!important;border:1px solid var(--vx-line)!important;box-shadow:none!important;background:var(--vx-surface)!important}

/* CICLO: información corporal en cards compactas, sin editorial enorme. */
#app .cycle-premium{padding-bottom:120px!important}
#app .cycle-premium :where(h1,h2,h3){font-family:var(--vx-font)!important}
#app .cycle-phase{font-size:clamp(31px,4vw,44px)!important;font-weight:750!important;letter-spacing:-.045em!important}
#app .cycle-day{background:var(--vx-pink)!important;color:var(--vx-ink)!important;border-radius:22px!important}
#app .cycle-checkin{padding:18px!important}
#app .cycle-actions a{border-radius:14px!important}
#app .cycle-chip{border-radius:999px!important;background:var(--vx-surface-2)!important;border:0!important}

/* CUIDARME / HÁBITOS. */
#app .habits-page{background:var(--vx-bg)!important;padding-bottom:120px!important}
#app .hab-header,#app .hab-content{max-width:980px!important;margin-left:auto!important;margin-right:auto!important}
#app .hab-care-now{grid-template-columns:minmax(210px,.7fr) 1.3fr!important;background:#fff8ed!important;padding:18px!important;border-radius:22px!important}
#app .hab-care-intro h2,#app .hab-routines-head h2,#app .hab-principles h3{font-family:var(--vx-font)!important;font-weight:750!important;letter-spacing:-.03em!important}
#app .hab-care-intro h2{font-size:24px!important}
#app .hab-care-tools a{border-radius:17px!important;background:var(--vx-surface)!important;border:1px solid var(--vx-line)!important;min-height:76px!important}
#app .hab-care-tools b{font-family:var(--vx-font)!important;font-size:15px!important;font-weight:750!important}
#app .hab-card{padding:16px!important}

/* MI VIDA. */
#app .sp-page{padding:0 16px 120px!important}
#app .sp-page :where(h1,h2,h3){font-family:var(--vx-font)!important;font-weight:750!important;letter-spacing:-.035em!important}
#app .sp-page h1{font-size:clamp(32px,4vw,44px)!important}
#app .sp-card{padding:17px!important}

/* CUADERNO / SETTINGS: mismos ritmos y controles. */
#app .journal-page,#app .settings-page{background:var(--vx-bg)!important;padding-bottom:120px!important}
#app .journal-page :where(h1,h2,h3),#app .settings-page :where(h1,h2,h3){font-family:var(--vx-font)!important;font-weight:750!important;letter-spacing:-.03em!important}

/* Dock: pequeño, estable y realmente similar a una app nativa. */
#vitaliza-global-chrome .v-bottom-nav-vitaliza,.v-bottom-nav-vitaliza{
  position:fixed!important;left:50%!important;right:auto!important;top:auto!important;bottom:max(10px,env(safe-area-inset-bottom,0px))!important;
  transform:translate3d(-50%,0,0)!important;width:min(520px,calc(100vw - 18px))!important;max-width:calc(100vw - 18px)!important;
  height:72px!important;min-height:72px!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;grid-template-rows:1fr!important;
  align-items:end!important;gap:0!important;padding:7px 7px 6px!important;border:1px solid rgba(255,255,255,.07)!important;border-radius:22px!important;
  background:rgba(31,30,28,.98)!important;box-shadow:0 14px 36px rgba(22,20,18,.21)!important;backdrop-filter:blur(18px)!important;z-index:10000!important;overflow:visible!important
}
#vitaliza-global-chrome .v-bottom-nav-vitaliza a,.v-bottom-nav-vitaliza a{
  grid-row:1!important;min-width:0!important;min-height:54px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-end!important;
  gap:4px!important;padding:5px 2px!important;border:0!important;border-radius:0!important;color:rgba(255,255,255,.55)!important;background:transparent!important;box-shadow:none!important;text-decoration:none!important;position:relative!important
}
#vitaliza-global-chrome .v-bottom-nav-vitaliza a.active,.v-bottom-nav-vitaliza a.active{color:#fff!important}
#vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-glyph,.v-bottom-nav-vitaliza .v-nav-glyph{width:21px!important;height:21px!important;min-height:21px!important;display:grid!important;place-items:center!important}
#vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-glyph svg,.v-bottom-nav-vitaliza .v-nav-glyph svg{width:20px!important;height:20px!important;stroke-width:1.7!important}
#vitaliza-global-chrome .v-bottom-nav-vitaliza small,.v-bottom-nav-vitaliza small{font-size:8px!important;line-height:1!important;font-weight:650!important;white-space:nowrap!important}
#vitaliza-global-chrome .v-bottom-nav-vitaliza a.active:not(.v-nav-primary)::after,.v-bottom-nav-vitaliza a.active:not(.v-nav-primary)::after{content:""!important;position:absolute!important;bottom:0!important;width:4px!important;height:4px!important;border-radius:50%!important;background:var(--vx-orange)!important}
#vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-primary,.v-bottom-nav-vitaliza .v-nav-primary{transform:translateY(-12px)!important;color:#fff!important}
#vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-primary .v-nav-glyph,.v-bottom-nav-vitaliza .v-nav-primary .v-nav-glyph{
  width:52px!important;height:52px!important;min-height:52px!important;border-radius:50%!important;background:var(--vx-orange)!important;color:#fff!important;border:4px solid var(--vx-bg)!important;box-shadow:0 8px 18px rgba(130,62,25,.24)!important
}
#vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-primary .v-nav-glyph svg,.v-bottom-nav-vitaliza .v-nav-primary .v-nav-glyph svg{width:22px!important;height:22px!important}

/* No permitir que reglas antiguas conviertan el dock en menú vertical. */
@media(min-width:900px){
  #vitaliza-global-chrome .v-bottom-nav-vitaliza,.v-bottom-nav-vitaliza{grid-template-columns:repeat(5,minmax(0,1fr))!important;grid-template-rows:1fr!important;height:72px!important;min-height:72px!important;max-height:72px!important}
  #vitaliza-global-chrome .v-bottom-nav-vitaliza a,.v-bottom-nav-vitaliza a{grid-row:1!important;transform:none}
  #vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-primary,.v-bottom-nav-vitaliza .v-nav-primary{transform:translateY(-12px)!important}
}

@media(max-width:760px){
  #app .vz13-topbar{padding:12px 12px 6px!important}
  #app .vz13-date{display:none!important}
  #app .vz13-heading{padding:14px 12px 0!important}
  #app .vz13-heading h1,#app .vz13-title,#app .vz14-title{font-size:34px!important}
  #app .vz14-wrap{padding-left:12px!important;padding-right:12px!important}
  #app .kitchen-world{padding:0 12px!important}
  #app .kitchen-hero{grid-template-columns:1fr!important;padding:20px!important}
  #app .kitchen-orbit{width:180px!important;margin:auto!important}
  #app .ag-page{padding-left:12px!important;padding-right:12px!important}
  #app .hab-care-now{grid-template-columns:1fr!important}
  #app .hab-care-tools{grid-template-columns:1fr!important}
  #vitaliza-global-chrome .v-bottom-nav-vitaliza,.v-bottom-nav-vitaliza{width:calc(100vw - 18px)!important;border-radius:20px!important}
}

/* ========================= HOY 14.9 ========================= */
#app .vz149-dashboard .vz14-wrap{max-width:920px!important;padding-top:8px!important}
#app .vz149-overview{display:grid;grid-template-columns:220px 1fr;gap:34px;align-items:center;padding:26px 28px;margin:10px 0 16px;border-radius:30px;background:var(--vx-surface)!important;border:1px solid var(--vx-line);box-shadow:var(--vx-shadow)}
#app .vz149-orbit{width:198px;height:198px;border-radius:50%;padding:18px;display:grid;place-items:center;background:conic-gradient(from -24deg,var(--vx-yellow) 0 14%,transparent 14% 19%,var(--vx-green) 19% 33%,transparent 33% 38%,var(--vx-pink) 38% 53%,transparent 53% 59%,var(--vx-blue) 59% 74%,transparent 74% 80%,var(--vx-yellow) 80% 94%,transparent 94% 100%)}
#app .vz149-orbit>div{width:100%;height:100%;border-radius:50%;display:grid;place-items:center;align-content:center;background:var(--vx-surface);box-shadow:inset 0 0 0 1px rgba(33,31,28,.04)}
#app .vz149-orbit strong{font-size:54px!important;line-height:.9!important;font-weight:650!important;letter-spacing:-.06em!important}
#app .vz149-orbit span{margin-top:8px;font-size:9px!important;letter-spacing:.09em!important;text-transform:uppercase;color:var(--vx-muted);font-weight:800}
#app .vz149-overview-copy>small{display:block;font-size:8px!important;letter-spacing:.15em!important;color:var(--vx-orange-deep);font-weight:850}
#app .vz149-overview-copy h1{font-size:clamp(34px,4vw,46px)!important;line-height:.98!important;font-weight:760!important;letter-spacing:-.05em!important;margin:7px 0 7px!important}
#app .vz149-overview-copy>p{font-size:16px!important;line-height:1.35!important;color:#4f4943!important;font-weight:600!important;margin:0!important;max-width:32ch}
#app .vz149-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:18px}
#app .vz149-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;background:var(--vx-surface-2);color:var(--vx-ink);text-decoration:none;border:0;font-size:10px}
#app .vz149-chip.cycle{background:#fff0e2}
#app .vz149-chip span{color:var(--vx-orange-deep)}#app .vz149-chip b{font-size:10px;font-weight:800}
#app .vz149-overview-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
#app .vz149-overview-actions a{padding:10px 13px;border-radius:13px;background:var(--vx-surface-2);color:var(--vx-ink);text-decoration:none;font-size:10px;font-weight:800}
#app .vz149-overview-actions a.primary{background:var(--vx-ink);color:#fff}

#app .vz149-dashboard .vz14-hero{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:0!important;border:0!important;border-radius:24px!important;overflow:hidden!important;background:var(--vx-pink)!important;box-shadow:none!important;margin:12px 0!important}
#app .vz149-dashboard .vz14-hero-main{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:21px 22px!important}
#app .vz149-dashboard .vz14-hero-main>small{color:#713d58!important;font-size:8px!important;letter-spacing:.13em!important}
#app .vz149-dashboard .vz14-hero-main h2{font-size:clamp(26px,3vw,34px)!important;line-height:1.02!important;font-weight:760!important;letter-spacing:-.04em!important;max-width:19ch!important;margin:7px 0 8px!important}
#app .vz149-dashboard .vz14-hero-main p{font-size:12px!important;line-height:1.45!important;color:#624c58!important;max-width:56ch!important}
#app .vz149-dashboard .vz14-hero-side{min-width:142px!important;padding:18px!important;border-radius:0!important;background:rgba(255,250,243,.28)!important;color:var(--vx-ink)!important;display:flex!important;justify-content:center!important;gap:4px!important}
#app .vz149-dashboard .vz14-hero-side small{color:#713d58!important;font-size:8px!important}
#app .vz149-dashboard .vz14-hero-side h3{font-size:19px!important;color:var(--vx-ink)!important;font-weight:750!important}
#app .vz149-dashboard .vz14-hero-side strong{font-size:10px!important;color:#694e5c!important}
#app .vz149-dashboard .vz14-actions{margin-top:12px!important;gap:6px!important}
#app .vz149-dashboard .vz14-actions :where(a,button){padding:9px 11px!important;border-radius:12px!important;font-size:10px!important;min-height:36px!important}
#app .vz149-dashboard .vz14-actions .vz14-primary{background:var(--vx-ink)!important;color:#fff!important}
#app .vz149-dashboard .vz14-actions .vz14-secondary,#app .vz149-dashboard .vz14-actions .vz14-quiet{background:rgba(255,250,243,.72)!important;color:var(--vx-ink)!important;border:0!important}

#app .vz149-dashboard .vz143-dashboard-care{margin:12px 0!important;padding:18px 20px!important;border-radius:22px!important;background:var(--vx-mint)!important;border:0!important;box-shadow:none!important}
#app .vz149-dashboard .vz143-dashboard-care h2{font-size:23px!important;font-weight:750!important;letter-spacing:-.035em!important;margin:5px 0!important}
#app .vz149-dashboard .vz143-dashboard-care p{font-size:11px!important;color:#56615e!important;line-height:1.45!important}
#app .vz149-dashboard .vz143-dashboard-care-actions-inline :where(a,button){border-radius:12px!important;padding:9px 11px!important;font-size:10px!important}
#app .vz149-dashboard .vz143-weather-notice{margin:12px 0!important;border-radius:20px!important;padding:14px 16px!important;background:#e8eef7!important;border:0!important;box-shadow:none!important}

#app .vz149-capture{margin:14px 0!important;padding:18px!important;background:var(--vx-surface)!important;border:1px solid var(--vx-line)!important;border-radius:22px!important;box-shadow:none!important}
#app .vz149-capture label{font-size:20px!important;line-height:1.1!important;font-weight:750!important;letter-spacing:-.03em!important;margin-bottom:10px!important}
#app .vz149-capture .vz14-capture-line{grid-template-columns:minmax(0,1fr) auto auto!important;gap:7px!important}
#app .vz149-capture input{min-height:44px!important;background:var(--vx-surface-2)!important;border:0!important;border-radius:14px!important;padding:10px 13px!important;font-size:12px!important}
#app .vz149-capture button[type="submit"]{min-height:44px!important;background:var(--vx-orange)!important;border-radius:14px!important;padding:0 15px!important;font-size:10px!important}

#app .vz149-dashboard .vz14-section{margin-top:16px!important}
#app .vz149-dashboard .vz14-section>header{margin-bottom:9px!important}
#app .vz149-dashboard .vz14-section>header h2{font-size:22px!important;font-weight:750!important}
#app .vz149-dashboard .vz14-memory-row{padding:12px 14px!important;border-radius:16px!important;background:var(--vx-surface)!important;border:1px solid var(--vx-line)!important}
#app .vz149-dashboard .vz14-memory-row h3{font-size:14px!important;font-weight:750!important}
#app .vz149-dashboard .vz14-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin-top:14px!important}
#app .vz149-dashboard .vz14-card{padding:17px!important;border-radius:20px!important;background:var(--vx-surface)!important;border:1px solid var(--vx-line)!important;box-shadow:none!important}
#app .vz149-dashboard .vz14-card>small{font-size:8px!important;letter-spacing:.12em!important}
#app .vz149-dashboard .vz14-card h3{font-size:18px!important;font-weight:750!important;letter-spacing:-.03em!important;margin:6px 0 9px!important}
#app .vz149-dashboard .vz14-card p{font-size:11px!important;line-height:1.45!important;color:var(--vx-muted)!important}
#app .vz149-dashboard .vz14-card a{font-size:10px!important;color:var(--vx-ink)!important;font-weight:800!important}

#app .vz149-dashboard .vz146-install-card{margin:14px 0 0!important;padding:13px 15px!important;border-radius:18px!important;background:#fff1df!important;border:1px solid rgba(239,116,41,.16)!important;box-shadow:none!important;grid-template-columns:1fr auto!important}
#app .vz149-dashboard .vz146-install-card h2{font-size:15px!important;font-weight:750!important;margin:2px 0!important}
#app .vz149-dashboard .vz146-install-card p{font-size:10px!important}
#app .vz149-dashboard .vz146-install-card button{min-height:38px!important;border-radius:12px!important;background:var(--vx-orange)!important;color:#fff!important;padding:0 13px!important}

@media(max-width:760px){
  #app .vz149-dashboard .vz14-wrap{padding-left:10px!important;padding-right:10px!important}
  #app .vz149-overview{grid-template-columns:1fr!important;gap:15px!important;padding:18px!important;margin-top:6px!important}
  #app .vz149-orbit{width:184px!important;height:184px!important;margin:auto!important}
  #app .vz149-orbit strong{font-size:48px!important}
  #app .vz149-overview-copy{text-align:center}
  #app .vz149-overview-copy h1{font-size:33px!important}
  #app .vz149-overview-copy>p{font-size:14px!important;margin-left:auto!important;margin-right:auto!important}
  #app .vz149-chips,#app .vz149-overview-actions{justify-content:center!important}
  #app .vz149-dashboard .vz14-hero{grid-template-columns:1fr!important}
  #app .vz149-dashboard .vz14-hero-side{display:none!important}
  #app .vz149-capture .vz14-capture-line{grid-template-columns:minmax(0,1fr) 42px!important}
  #app .vz149-capture button[type="submit"]{grid-column:1/-1!important;width:100%!important}
  #app .vz149-dashboard .vz14-cards-grid{grid-template-columns:1fr!important}
  #app .vz149-dashboard .vz146-install-card{grid-template-columns:1fr!important}
  #app .vz149-dashboard .vz146-install-card button{width:100%!important}
}

/* ========================= CIERRE DE JERARQUÍA 14.9 =========================
   El producto debe sentirse app, no landing/editorial. */
#app .vz149-brand-sun{width:28px;height:28px;display:block;color:var(--vx-ink);flex:0 0 28px}
#app .vz13-brand img{display:none!important}

/* Más compacto en escritorio: contenido dentro de una app, no una web enorme. */
@media(min-width:761px){
  #app :where(.vz13-wrap,.ag-page>section,.cycle-shell,.sp-shell,.hab-content,.jrn-content,.settings-shell){max-width:860px!important}
  #app .vz13-topbar{max-width:860px!important}
  #app .vz149-dashboard .vz14-wrap{max-width:860px!important}
  #app .vz13-heading h1,#app .vz13-title,#app .vz14-title{font-size:38px!important;line-height:1.02!important;max-width:18ch!important}
  #app .ag-header{max-width:860px!important}
  #app .ag-header h1{font-size:38px!important;line-height:1.02!important;max-width:17ch!important}
  #app .kitchen-world{max-width:860px!important}
  #app .kitchen-hero-copy h2{font-size:38px!important;line-height:1.02!important;max-width:18ch!important}
}

/* HOY: un tablero claro y respirable, con el ring como foco visual. */
#app .vz149-overview{grid-template-columns:196px minmax(0,1fr)!important;gap:28px!important;padding:22px 24px!important;border-radius:28px!important}
#app .vz149-orbit{width:176px!important;height:176px!important;padding:16px!important}
#app .vz149-orbit strong{font-size:50px!important}
#app .vz149-overview-copy h1{font-size:38px!important;line-height:1!important}
#app .vz149-overview-copy>p{font-size:14px!important;line-height:1.4!important;font-weight:560!important;max-width:34ch!important}
#app .vz149-chips{margin-top:14px!important}
#app .vz149-overview-actions{margin-top:10px!important}
#app .vz149-overview-actions a{min-height:36px!important;display:inline-flex!important;align-items:center!important}

/* La prioridad no puede ocupar media pantalla si su nombre es largo. */
#app .vz149-dashboard .vz14-hero-main h2{
  font-size:27px!important;line-height:1.03!important;max-width:27ch!important;
  display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important
}
#app .vz149-dashboard .vz14-hero-main{padding:18px 20px!important}
#app .vz149-dashboard .vz14-hero-side{min-width:132px!important;padding:16px!important}
#app .vz149-dashboard .vz143-dashboard-care{padding:16px 18px!important}
#app .vz149-dashboard .vz143-dashboard-care h2{font-size:21px!important}
#app .vz149-capture{padding:15px 16px!important}
#app .vz149-capture label{font-size:18px!important}

/* RESOLVER: foco en una decisión, no bloques editoriales gigantes. */
#app .vz14-wrap{max-width:760px!important;padding-top:10px!important}
#app .vz14-wrap>.vz13-heading h1,#app .vz14-page .vz13-heading h1{font-size:36px!important;max-width:18ch!important}
#app .vz147-resolve-context{padding:15px 16px!important}
#app .vz147-resolve-context h2,#app .vz147-resolve-context h3{font-size:22px!important;line-height:1.08!important}
#app .vz14-day-shortcut{min-height:56px!important;padding:11px 14px!important}
#app .vz14-hero-main{padding:18px!important;border-radius:22px!important}
#app .vz14-hero-main h2{font-size:28px!important;line-height:1.04!important;max-width:24ch!important}
#app .vz14-memory-list{display:grid!important;gap:8px!important}
#app .vz14-memory-row{padding:11px 13px!important}

/* AGENDA: summary pastel y captura compacta. */
#app .ag-page{max-width:900px!important;margin:0 auto!important}
#app .ag-header{padding-top:12px!important;margin-bottom:8px!important}
#app .ag-header span{max-width:54ch!important;font-size:12px!important}
#app .ag-summary{
  max-width:820px!important;padding:15px 17px!important;border:0!important;border-radius:20px!important;
  background:linear-gradient(110deg,#f6d86e 0%,#f8e8b8 100%)!important;color:var(--vx-ink)!important
}
#app .ag-summary h2{font-size:21px!important;font-weight:750!important}
#app .ag-summary p{font-size:11px!important;color:#5d554b!important}
#app .ag-summary button{background:var(--vx-ink)!important;border-radius:12px!important;padding:9px 12px!important}
#app .ag-capture{max-width:820px!important;padding:15px 16px!important;margin:10px auto 12px!important}
#app .ag-capture textarea{min-height:74px!important;background:var(--vx-surface-2)!important}
#app .ag-tabs{max-width:820px!important;margin:11px auto!important;gap:6px!important}
#app .ag-tabs button{padding:9px!important;border-radius:12px!important}
#app .ag-list{max-width:820px!important}

/* COCINA: selector compacto + formulario más bajo. */
#app .kitchen-hero{padding:22px!important;grid-template-columns:1fr 174px!important;gap:20px!important}
#app .kitchen-orbit{width:166px!important;height:166px!important;padding:15px!important}
#app .kitchen-hero-copy>p{max-width:48ch!important;margin-bottom:14px!important}
#app .kitchen-mode-grid,#app .kitchen-modes{gap:7px!important}
#app .kitchen-mode-grid>*,#app .kitchen-modes>*{padding:12px 13px!important;border-radius:15px!important;min-height:0!important}
#app .kitchen-hero textarea{min-height:82px!important}
#app .kitchen-hero form{gap:10px!important}

/* Dock: no tapa el contenido y mantiene el gesto de la referencia. */
#app :where(.vz13-page,.vz14-page,.ag-page,.kitchen-new,.cycle-premium,.habits-page,.sp-page,.journal-page,.settings-page){padding-bottom:128px!important}
#vitaliza-global-chrome .v-bottom-nav-vitaliza,.v-bottom-nav-vitaliza{height:66px!important;min-height:66px!important;width:min(500px,calc(100vw - 18px))!important;padding:6px!important;border-radius:20px!important}
#vitaliza-global-chrome .v-bottom-nav-vitaliza a,.v-bottom-nav-vitaliza a{min-height:48px!important;padding:4px 2px!important}
#vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-primary,.v-bottom-nav-vitaliza .v-nav-primary{transform:translateY(-10px)!important}
#vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-primary .v-nav-glyph,.v-bottom-nav-vitaliza .v-nav-primary .v-nav-glyph{width:48px!important;height:48px!important;min-height:48px!important}

@media(max-width:760px){
  #app .vz13-topbar{min-height:54px!important;padding:10px 12px 4px!important}
  #app .vz13-brand span{font-size:10px!important}
  #app .vz149-brand-sun{width:26px;height:26px;flex-basis:26px}
  #app .vz149-overview{grid-template-columns:1fr!important;padding:16px!important;gap:12px!important;border-radius:24px!important}
  #app .vz149-orbit{width:166px!important;height:166px!important}
  #app .vz149-orbit strong{font-size:46px!important}
  #app .vz149-overview-copy h1{font-size:30px!important;margin-top:5px!important}
  #app .vz149-overview-copy>p{font-size:13px!important;max-width:30ch!important}
  #app .vz149-chips{margin-top:12px!important;justify-content:center!important}
  #app .vz149-overview-actions{justify-content:center!important}
  #app .vz149-dashboard .vz14-hero{border-radius:20px!important}
  #app .vz149-dashboard .vz14-hero-main{padding:16px!important}
  #app .vz149-dashboard .vz14-hero-main h2{font-size:23px!important;max-width:none!important}
  #app .vz149-dashboard .vz143-dashboard-care{padding:15px 16px!important}
  #app .vz14-wrap>.vz13-heading h1,#app .vz14-page .vz13-heading h1{font-size:31px!important}
  #app .ag-header h1{font-size:31px!important;line-height:1!important}
  #app .ag-summary{padding:14px!important}
  #app .kitchen-hero{grid-template-columns:1fr!important;padding:17px!important;border-radius:24px!important}
  #app .kitchen-hero-copy h2{font-size:31px!important}
  #app .kitchen-orbit{width:154px!important;height:154px!important}
  #vitaliza-global-chrome .v-bottom-nav-vitaliza,.v-bottom-nav-vitaliza{height:64px!important;min-height:64px!important;width:calc(100vw - 14px)!important;bottom:max(6px,env(safe-area-inset-bottom,0px))!important}
  #vitaliza-global-chrome .v-bottom-nav-vitaliza small,.v-bottom-nav-vitaliza small{font-size:7px!important}
}
/* Instalación disponible sin convertirse en la tarjeta protagonista. */
#app .vz149-dashboard .vz146-install-card{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important;padding:11px 13px!important}
#app .vz149-dashboard .vz146-install-card p{margin:2px 0!important;line-height:1.35!important}
#app .vz149-dashboard .vz146-install-card [data-install-status]{font-size:9px!important;line-height:1.3!important}
#app .vz149-dashboard .vz146-install-card button{width:auto!important;min-width:112px!important;white-space:nowrap!important}
@media(max-width:760px){
  #app .vz149-dashboard .vz146-install-card{grid-template-columns:minmax(0,1fr) auto!important;border-radius:18px!important}
  #app .vz149-dashboard .vz146-install-card h2{font-size:14px!important}
  #app .vz149-dashboard .vz146-install-card p{display:none!important}
  #app .vz149-dashboard .vz146-install-card button{width:auto!important;min-width:96px!important;padding:0 10px!important;font-size:9px!important}
}

/* =====================================================================
   VITALIZA 14.10 — CIERRE DE PRODUCTO
   Esta sección reemplaza la lógica visual heredada en TODA la aplicación.
   ===================================================================== */
:root{
  --font-heading:"DM Sans",Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  --font-body:"DM Sans",Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  --vx-bg:#f4eee4;
  --vx-surface:#fffaf3;
  --vx-surface-strong:#fffdf8;
  --vx-ink:#1f1e1b;
  --vx-muted:#716a62;
  --vx-line:rgba(31,30,27,.09);
  --vx-orange:#ef6f24;
  --vx-orange-soft:#ffe3cf;
  --vx-yellow:#f5d865;
  --vx-pink:#f1a5cf;
  --vx-blue:#b7cbea;
  --vx-green:#a6b773;
  --vx-mint:#dbeae5;
  --vx-black:#242320;
}
html,body,#app{background:var(--vx-bg)!important}
body{font-family:var(--vx-font)!important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
#app :where(h1,h2,h3,h4,h5,h6,blockquote){font-family:var(--vx-font)!important;font-weight:720!important;letter-spacing:-.04em!important}
#app p{color:var(--vx-muted)!important}
#app small{font-family:var(--vx-font)!important;font-weight:800!important;letter-spacing:.11em!important;text-transform:uppercase}
#app a{text-underline-offset:3px}

/* El viewport siempre se comporta como una app. */
#app :where(.vz13-page,.vz14-page,.v-premium-page,.screen,.planner-page,.notif-page,.settings-page,.pv,.osp,.sc-page){
  min-height:100dvh!important;background:var(--vx-bg)!important;color:var(--vx-ink)!important;padding-bottom:124px!important;
}
#app :where(.vz13-wrap,.vx-resolve-shell,.cycle-premium>section,.cycle-premium>header,.hab-header,.hab-content,.jrn-header,.jrn-content,.pln-header,.pln-content,.notif-shell,.settings-head,.settings-panel,.pv>*,.osp>*,.sc-page>header,.sc-date,.sc-single){
  width:min(100% - 28px,880px)!important;max-width:880px!important;margin-left:auto!important;margin-right:auto!important;
}

/* Cabecera: pequeña, usable y coherente en todas las rutas V14. */
#app .vz13-topbar{width:min(100% - 28px,880px)!important;max-width:880px!important;margin:0 auto!important;padding:16px 0 8px!important;min-height:58px!important;display:grid!important;grid-template-columns:1fr auto!important;align-items:center!important;gap:12px!important}
#app .vz13-brandline{display:flex!important;align-items:center!important;gap:9px!important}
#app .vz13-brand{display:flex!important;align-items:center!important;gap:8px!important;text-decoration:none!important;color:var(--vx-ink)!important;font-size:11px!important;font-weight:850!important;letter-spacing:.13em!important}
#app .vz149-brand-sun{width:26px!important;height:26px!important;flex:0 0 26px!important;color:var(--vx-ink)!important}
#app .vz13-topmeta{display:flex!important;align-items:center!important;gap:7px!important}
#app .vz13-date{font-size:10px!important;color:var(--vx-muted)!important;white-space:nowrap}
#app :where(.vz13-back,.vz13-profile,.vz13-share-shortcut,.vz13-tier){height:34px!important;min-height:34px!important;border-radius:999px!important;background:rgba(255,250,243,.82)!important;border:1px solid var(--vx-line)!important;box-shadow:none!important;color:var(--vx-ink)!important;text-decoration:none!important}
#app .vz13-back,#app .vz13-profile{width:34px!important;display:grid!important;place-items:center!important}
#app .vz13-share-shortcut{padding:0 11px!important;display:flex!important;gap:5px!important;align-items:center!important}
#app .vz13-share-shortcut em{font-style:normal!important;font-size:9px!important;font-weight:800!important}
#app .vz13-tier{display:grid!important;place-items:center!important;padding:0 11px!important;font-size:8px!important;font-weight:900!important}
#app .vz13-heading{grid-column:1/-1!important;padding:18px 0 0!important}
#app .vz13-heading p{margin:0 0 7px!important;font-size:8px!important;color:var(--vx-orange)!important}
#app .vz13-heading h1{margin:0!important;font-size:clamp(30px,4vw,42px)!important;line-height:1!important;max-width:20ch!important}

/* Botones / campos */
#app :where(button,.vz14-primary,.vz14-secondary,.ag-primary,.hab-primary,.pln-primary,.set-primary){font-family:var(--vx-font)!important;font-weight:780!important;letter-spacing:-.01em!important;box-shadow:none!important}
#app :where(input,textarea,select){font-family:var(--vx-font)!important;font-size:14px!important;color:var(--vx-ink)!important;background:var(--vx-surface-strong)!important;border:1px solid rgba(31,30,27,.11)!important;border-radius:16px!important;box-shadow:none!important;outline:none!important}
#app :where(input,textarea,select):focus{border-color:rgba(239,111,36,.55)!important;box-shadow:0 0 0 3px rgba(239,111,36,.10)!important}

/* ============================ HOY ============================ */
#app .vz149-dashboard .vz14-wrap{width:min(100% - 28px,880px)!important;max-width:880px!important;padding:10px 0 124px!important}
#app .vz149-overview{display:grid!important;grid-template-columns:180px minmax(0,1fr)!important;align-items:center!important;gap:28px!important;padding:24px!important;margin:6px 0 16px!important;border-radius:30px!important;background:var(--vx-surface)!important;border:1px solid var(--vx-line)!important;box-shadow:0 16px 50px rgba(55,44,32,.05)!important}
#app .vz149-orbit{width:172px!important;height:172px!important;border-radius:50%!important;padding:17px!important;background:conic-gradient(from -25deg,var(--vx-yellow) 0 18%,transparent 18% 23%,var(--vx-green) 23% 42%,transparent 42% 47%,var(--vx-pink) 47% 67%,transparent 67% 72%,var(--vx-blue) 72% 91%,transparent 91% 100%)!important;display:grid!important;place-items:center!important;box-shadow:none!important;position:relative!important}
#app .vz149-orbit:before{content:""!important;position:absolute!important;inset:17px!important;border-radius:50%!important;background:var(--vx-surface)!important;display:block!important}
#app .vz149-orbit>div{position:relative!important;z-index:1!important;text-align:center!important;display:grid!important;gap:2px!important}
#app .vz149-orbit strong{font-size:50px!important;line-height:1!important;font-weight:760!important;letter-spacing:-.055em!important;color:var(--vx-ink)!important}
#app .vz149-orbit span{font-size:8px!important;text-transform:uppercase!important;letter-spacing:.13em!important;font-weight:800!important;color:var(--vx-muted)!important}
#app .vz149-overview-copy>small{font-size:8px!important;color:var(--vx-orange)!important}
#app .vz149-overview-copy h1{font-size:37px!important;line-height:1!important;margin:5px 0 8px!important;max-width:none!important}
#app .vz149-overview-copy>p{font-size:13px!important;line-height:1.45!important;margin:0!important;max-width:39ch!important}
#app .vz149-chips{display:flex!important;flex-wrap:wrap!important;gap:7px!important;margin-top:14px!important}
#app .vz149-chip{display:inline-flex!important;align-items:center!important;gap:7px!important;min-height:38px!important;padding:0 13px!important;border-radius:999px!important;background:#f0ebe3!important;color:var(--vx-ink)!important;text-decoration:none!important;font-size:10px!important}
#app .vz149-chip.cycle{background:#fff0e4!important}
#app .vz149-chip b{font-weight:760!important}
#app .vz149-overview-actions{display:flex!important;gap:8px!important;margin-top:10px!important}
#app .vz149-overview-actions a{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:38px!important;padding:0 15px!important;border-radius:999px!important;background:#eee9e1!important;color:var(--vx-ink)!important;text-decoration:none!important;font-size:10px!important;font-weight:800!important}
#app .vz149-overview-actions a.primary{background:var(--vx-black)!important;color:#fff!important}
#app .vz149-dashboard .vz14-hero{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;border-radius:25px!important;overflow:hidden!important;background:var(--vx-surface)!important;border:1px solid var(--vx-line)!important;margin:14px 0!important;box-shadow:none!important}
#app .vz149-dashboard .vz14-hero-main{padding:18px 20px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
#app .vz149-dashboard .vz14-hero-main small{color:var(--vx-orange)!important;font-size:8px!important}
#app .vz149-dashboard .vz14-hero-main h2{font-size:27px!important;line-height:1.04!important;margin:7px 0 8px!important;max-width:28ch!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important}
#app .vz149-dashboard .vz14-hero-main p{font-size:12px!important;line-height:1.45!important;margin:0 0 12px!important}
#app .vz149-dashboard .vz14-hero-side{width:148px!important;padding:18px!important;border:0!important;border-radius:0!important;background:var(--vx-pink)!important;display:grid!important;align-content:center!important;gap:5px!important;color:var(--vx-ink)!important}
#app .vz149-dashboard .vz14-hero-side h3{font-size:22px!important;margin:0!important}
#app .vz149-dashboard .vz14-actions{display:flex!important;flex-wrap:wrap!important;gap:6px!important}
#app .vz149-dashboard .vz14-actions :where(a,button){min-height:36px!important;padding:0 12px!important;border-radius:12px!important;border:1px solid var(--vx-line)!important;background:#f2eee7!important;color:var(--vx-ink)!important;text-decoration:none!important;font-size:9px!important}
#app .vz149-dashboard .vz14-actions .vz14-primary{background:var(--vx-black)!important;color:#fff!important;border-color:var(--vx-black)!important}
#app .vz149-dashboard .vz143-dashboard-care{margin:12px 0!important;padding:17px 18px!important;border-radius:24px!important;background:var(--vx-blue)!important;border:0!important;box-shadow:none!important}
#app .vz149-dashboard .vz143-dashboard-care h2{font-size:21px!important;margin:5px 0!important}
#app .vz149-dashboard .vz143-dashboard-care p{font-size:11px!important;color:#3f4650!important}
#app .vz149-dashboard .vz14-capture{padding:15px 16px!important;margin:12px 0!important;border:1px solid var(--vx-line)!important;background:var(--vx-surface)!important;border-radius:21px!important;box-shadow:none!important}
#app .vz149-dashboard .vz14-capture>label{font-size:17px!important;font-weight:750!important;margin-bottom:10px!important}
#app .vz149-dashboard .vz14-capture-line{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;gap:6px!important}
#app .vz149-dashboard .vz14-capture-line input{min-height:44px!important}
#app .vz149-dashboard .vz14-capture-line button[type=submit]{background:var(--vx-orange)!important;color:#fff!important;border:0!important;min-height:44px!important;border-radius:13px!important;padding:0 14px!important}
#app .vz149-dashboard .vz14-section>header{display:flex!important;align-items:end!important;justify-content:space-between!important;gap:12px!important;margin:18px 0 8px!important}
#app .vz149-dashboard .vz14-section>header h2{font-size:20px!important;margin:2px 0!important}
#app .vz149-dashboard .vz14-memory-list{display:grid!important;gap:7px!important}
#app .vz149-dashboard .vz14-memory-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:12px 14px!important;border-radius:16px!important;background:var(--vx-surface)!important;border:1px solid var(--vx-line)!important}
#app .vz149-dashboard .vz14-memory-row h3{font-size:14px!important;margin:2px 0!important}
#app .vz149-dashboard .vz14-cards-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;margin-top:13px!important}
#app .vz149-dashboard .vz14-card{padding:16px!important;border-radius:19px!important;background:var(--vx-surface)!important;border:1px solid var(--vx-line)!important;box-shadow:none!important}
#app .vz149-dashboard .vz14-card h3{font-size:17px!important;margin:5px 0 8px!important}
#app .vz149-dashboard .vz14-card p{font-size:11px!important;line-height:1.42!important;margin:0 0 8px!important}
#app .vz149-dashboard .vz146-install-card{display:grid!important;grid-template-columns:1fr auto!important;align-items:center!important;gap:12px!important;margin:12px 0!important;padding:12px 14px!important;border-radius:18px!important;background:#fff0df!important;border:1px solid rgba(239,111,36,.14)!important;box-shadow:none!important}
#app .vz149-dashboard .vz146-install-card h2{font-size:14px!important;margin:2px 0!important}
#app .vz149-dashboard .vz146-install-card p{font-size:9px!important;margin:0!important}
#app .vz149-dashboard .vz146-install-card button{min-height:38px!important;padding:0 12px!important;border:0!important;border-radius:12px!important;background:var(--vx-orange)!important;color:#fff!important;font-size:9px!important}

/* ========================== RESOLVER ========================== */
#app .vx-resolve-page{background:var(--vx-bg)!important}
#app .vx-resolve-shell{padding:8px 0 124px!important}
#app .vx-resolve-head{display:grid!important;grid-template-columns:minmax(0,1fr) 220px!important;align-items:end!important;gap:22px!important;margin:5px 0 14px!important}
#app .vx-resolve-head>div>small{color:var(--vx-orange)!important;font-size:8px!important}
#app .vx-resolve-head h1{font-size:clamp(34px,5vw,48px)!important;line-height:.98!important;margin:7px 0 8px!important;max-width:16ch!important}
#app .vx-resolve-head p{font-size:13px!important;line-height:1.48!important;max-width:48ch!important;margin:0!important}
#app .vx-resolve-day{height:60px!important;min-height:60px!important;display:grid!important;grid-template-columns:36px 1fr 18px!important;align-items:center!important;gap:10px!important;padding:10px 12px!important;border-radius:18px!important;background:var(--vx-surface)!important;border:1px solid var(--vx-line)!important;color:var(--vx-ink)!important;text-decoration:none!important;box-shadow:none!important}
#app .vx-resolve-day>span{width:34px!important;height:34px!important;display:grid!important;place-items:center!important;border-radius:12px!important;background:var(--vx-orange-soft)!important;color:var(--vx-orange)!important;font-weight:900!important}
#app .vx-resolve-day small{display:block!important;font-size:7px!important;color:var(--vx-orange)!important}
#app .vx-resolve-day strong{font-size:11px!important;font-weight:780!important}
#app .vx-resolve-context{padding:17px!important;margin:12px 0!important;border-radius:24px!important;background:linear-gradient(135deg,#fff9ed,#f6f4e8)!important;border:1px solid rgba(166,183,115,.26)!important;box-shadow:none!important}
#app .vx-context-title{display:grid!important;grid-template-columns:34px 1fr!important;gap:11px!important;align-items:start!important}
#app .vx-context-title>span{width:34px!important;height:34px!important;display:grid!important;place-items:center!important;border-radius:11px!important;background:#e5ecd1!important;color:#61733e!important}
#app .vx-context-title small{color:#61733e!important;font-size:7px!important}
#app .vx-context-title h2{font-size:21px!important;line-height:1.08!important;margin:5px 0!important;max-width:31ch!important}
#app .vx-context-title p{font-size:11px!important;line-height:1.45!important;margin:0!important;max-width:58ch!important}
#app .vx-context-rows{display:grid!important;gap:8px!important;margin-top:13px!important}
#app .vx-context-rows article{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:14px!important;align-items:center!important;padding:13px 14px!important;border-radius:17px!important;background:rgba(255,250,243,.88)!important;border:1px solid var(--vx-line)!important}
#app .vx-context-rows article.is-primary{border-color:rgba(166,183,115,.48)!important}
#app .vx-context-rows strong{display:block!important;font-size:14px!important;margin:3px 0!important}
#app .vx-context-rows p{font-size:9px!important;line-height:1.4!important;margin:0!important}
#app .vx-context-actions{display:flex!important;align-items:center!important;gap:5px!important}
#app .vx-context-actions>a,#app .vx-context-actions>button{min-height:34px!important;padding:0 11px!important;border-radius:11px!important;border:1px solid var(--vx-line)!important;background:#f3eee7!important;color:var(--vx-ink)!important;text-decoration:none!important;font-size:9px!important}
#app .vx-context-actions>a{background:var(--vx-black)!important;color:#fff!important;border-color:var(--vx-black)!important}
#app .vx-context-actions details{position:relative!important}
#app .vx-context-actions summary{list-style:none!important;display:grid!important;place-items:center!important;width:34px!important;height:34px!important;border-radius:11px!important;border:1px solid var(--vx-line)!important;cursor:pointer!important}
#app .vx-context-actions details[open]{display:flex!important;gap:5px!important}
#app .vx-prepare-choices{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin-top:14px!important}
#app .vx-prepare-choices :where(a,button){display:grid!important;grid-template-columns:28px 1fr auto!important;align-items:center!important;gap:8px!important;min-height:58px!important;padding:10px!important;border:1px solid var(--vx-line)!important;border-radius:16px!important;background:var(--vx-surface)!important;color:var(--vx-ink)!important;text-decoration:none!important;text-align:left!important}
#app .vx-prepare-choices span{font-size:16px!important}
#app .vx-prepare-choices b{font-size:10px!important}
#app .vx-prepare-choices i{font-style:normal!important}
#app .vx-resolve-capture{margin:12px 0!important;padding:18px!important;border-radius:24px!important;background:var(--vx-pink)!important;border:0!important;box-shadow:none!important}
#app .vx-resolve-capture>label{display:block!important;font-size:20px!important;line-height:1.05!important;font-weight:760!important;margin:0 0 11px!important;color:var(--vx-ink)!important}
#app .vx-resolve-input-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;gap:6px!important}
#app .vx-resolve-input-row input{min-height:48px!important;background:rgba(255,250,243,.92)!important;border:0!important}
#app .vx-resolve-submit{min-height:48px!important;padding:0 15px!important;border:0!important;border-radius:14px!important;background:var(--vx-black)!important;color:#fff!important;font-size:10px!important}
#app .vx-resolve-understood{margin:12px 0!important;padding:18px!important;border-radius:24px!important;background:var(--vx-blue)!important;border:0!important;box-shadow:none!important}
#app .vx-resolve-understood-head{display:grid!important;grid-template-columns:38px 1fr!important;gap:11px!important;align-items:start!important}
#app .vx-resolve-mark{width:38px!important;height:38px!important;display:grid!important;place-items:center!important;border-radius:12px!important;background:rgba(255,250,243,.76)!important;color:#41628f!important;font-weight:900!important}
#app .vx-resolve-understood small{color:#405778!important;font-size:7px!important}
#app .vx-resolve-understood h2{font-size:23px!important;margin:4px 0 0!important;line-height:1.05!important}
#app .vx-resolve-summary{font-size:11px!important;line-height:1.45!important;color:#3f4b5b!important;margin:10px 0!important}
#app .vx-resolve-plan{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:11px 12px!important;border-radius:15px!important;background:rgba(255,250,243,.64)!important}
#app .vx-resolve-plan strong{display:block!important;font-size:11px!important;margin-top:3px!important}
#app .vx-resolve-plan>span{font-size:9px!important;color:#405778!important}
#app .vx-resolve-actions{display:flex!important;gap:6px!important;margin-top:10px!important}
#app .vx-resolve-actions button{min-height:38px!important;padding:0 13px!important;border-radius:12px!important;border:1px solid rgba(31,30,27,.08)!important;background:rgba(255,250,243,.74)!important;color:var(--vx-ink)!important;font-size:9px!important}
#app .vx-resolve-actions .vz14-primary{background:var(--vx-black)!important;color:#fff!important;border-color:var(--vx-black)!important}
#app .vx-resolve-batch>header{display:grid!important;grid-template-columns:38px 1fr!important;gap:11px!important}
#app .vx-resolve-batch>header h2{font-size:22px!important;margin:3px 0!important}
#app .vx-resolve-batch>header p{font-size:10px!important;margin:0!important}
#app .vx-resolve-batch .vz14-batch-list{display:grid!important;gap:7px!important;margin-top:12px!important}
#app .vx-resolve-batch .vz14-batch-list article{display:grid!important;grid-template-columns:28px 1fr auto!important;align-items:center!important;gap:9px!important;padding:10px 11px!important;border-radius:14px!important;background:rgba(255,250,243,.66)!important}
#app .vx-resolve-index{width:28px!important;height:28px!important;display:grid!important;place-items:center!important;border-radius:9px!important;background:#fff!important;font-size:9px!important;font-weight:800!important}
#app .vx-resolve-batch h3{font-size:12px!important;margin:2px 0!important}
#app .vx-resolve-batch p,#app .vx-resolve-batch time{font-size:8px!important;color:#506079!important}
#app .vx-resolve-memory{margin-top:22px!important}
#app .vx-resolve-memory>header{display:flex!important;align-items:end!important;justify-content:space-between!important;gap:14px!important;margin-bottom:8px!important}
#app .vx-resolve-memory>header small{color:var(--vx-orange)!important;font-size:7px!important}
#app .vx-resolve-memory>header h2{font-size:23px!important;margin:4px 0 3px!important;max-width:28ch!important}
#app .vx-resolve-memory>header p{font-size:10px!important;margin:0!important}
#app .vx-resolve-memory>header>a{font-size:9px!important;font-weight:800!important;color:var(--vx-orange)!important;text-decoration:none!important;white-space:nowrap!important}
#app .vx-resolve-memory-list{display:grid!important;gap:7px!important}
#app .vx-resolve-memory-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;padding:10px 11px!important;border-radius:16px!important;background:var(--vx-surface)!important;border:1px solid var(--vx-line)!important}
#app .vx-resolve-memory-main{display:grid!important;grid-template-columns:minmax(0,1fr) 18px!important;align-items:center!important;gap:8px!important;color:var(--vx-ink)!important;text-decoration:none!important}
#app .vx-resolve-memory-main small{font-size:7px!important;color:var(--vx-orange)!important}
#app .vx-resolve-memory-main h3{font-size:13px!important;line-height:1.15!important;margin:3px 0!important}
#app .vx-resolve-memory-main p{font-size:9px!important;line-height:1.4!important;margin:0!important}
#app .vx-resolve-row-actions{display:flex!important;align-items:center!important;gap:5px!important}
#app .vx-resolve-row-actions>button{min-height:34px!important;padding:0 10px!important;border-radius:11px!important;border:1px solid var(--vx-line)!important;background:#f1ede6!important;font-size:9px!important}
#app .vx-resolve-row-actions>.vx-done{background:var(--vx-black)!important;color:#fff!important;border-color:var(--vx-black)!important}
#app .vx-resolve-row-actions details{position:relative!important}
#app .vx-resolve-row-actions summary{list-style:none!important;width:34px!important;height:34px!important;display:grid!important;place-items:center!important;border:1px solid var(--vx-line)!important;border-radius:11px!important;cursor:pointer!important}
#app .vx-resolve-row-actions details[open]{display:flex!important;gap:5px!important}
#app .vx-resolve-row-actions details button{min-height:34px!important;padding:0 9px!important;border-radius:10px!important;border:1px solid var(--vx-line)!important;background:#fff!important;font-size:8px!important}
#app .vx-resolve-empty{padding:18px!important;border:1px dashed rgba(31,30,27,.16)!important;border-radius:18px!important;text-align:center!important}
#app .vx-resolve-empty>span{display:grid!important;place-items:center!important;width:34px!important;height:34px!important;margin:0 auto 7px!important;border-radius:50%!important;background:#e7ecd8!important;color:#61733e!important}

/* ============================ COCINA ============================ */
#app .vz14-page:has(.vz148-kitchen-paths) .vz14-wrap{width:min(100% - 28px,880px)!important;max-width:880px!important;padding:7px 0 124px!important}
#app .vz14-page:has(.vz148-kitchen-paths) .vz13-heading{padding-top:12px!important}
#app .vz14-page:has(.vz148-kitchen-paths) .vz13-heading h1{font-size:36px!important;max-width:17ch!important}
#app .vz14-page:has(.vz148-kitchen-paths) .vz14-lead{font-size:12px!important;line-height:1.45!important;margin:7px 0 13px!important;max-width:56ch!important}
#app .vz148-kitchen-paths{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;margin:10px 0 12px!important}
#app .vz148-kitchen-paths button{min-height:76px!important;padding:12px 13px!important;border-radius:17px!important;background:var(--vx-surface)!important;border:1px solid var(--vx-line)!important;text-align:left!important;color:var(--vx-ink)!important}
#app .vz148-kitchen-paths button.active{background:var(--vx-orange-soft)!important;border-color:rgba(239,111,36,.32)!important}
#app .vz148-kitchen-paths strong{display:block!important;font-size:12px!important;margin-bottom:4px!important}
#app .vz148-kitchen-paths span{font-size:9px!important;line-height:1.35!important;color:var(--vx-muted)!important}
#app .vz14-kitchen-form,#app .vz148-collections{padding:17px!important;border-radius:22px!important;background:var(--vx-surface)!important;border:1px solid var(--vx-line)!important;box-shadow:none!important}
#app .vz14-kitchen-form label{font-size:12px!important;font-weight:780!important}
#app .vz14-kitchen-form textarea{min-height:82px!important;margin-top:7px!important}
#app .vz14-kitchen-form input{min-height:44px!important;margin-top:7px!important}
#app .vz14-kitchen-form fieldset{border:0!important;padding:0!important;margin:13px 0!important}
#app .vz14-kitchen-form legend{font-size:11px!important;font-weight:780!important;margin-bottom:7px!important}
#app .vz14-choice-row{display:flex!important;flex-wrap:wrap!important;gap:6px!important}
#app .vz14-choice-row button{min-height:38px!important;padding:0 12px!important;border-radius:12px!important;border:1px solid var(--vx-line)!important;background:#f3eee7!important;color:var(--vx-ink)!important;font-size:9px!important}
#app .vz14-choice-row button.active{background:var(--vx-black)!important;color:#fff!important;border-color:var(--vx-black)!important}
#app .vz14-kitchen-form>button{min-height:42px!important;padding:0 15px!important;border:0!important;border-radius:13px!important;background:var(--vx-orange)!important;color:#fff!important;font-size:10px!important}
#app .vz14-page:has(.vz148-kitchen-paths) .vz14-section{margin-top:19px!important}
#app .vz14-page:has(.vz148-kitchen-paths) .vz14-section>header h2{font-size:23px!important;margin:3px 0!important}
#app .vz14-recipe-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
#app .vz14-recipe-card{display:grid!important;grid-template-columns:112px minmax(0,1fr)!important;grid-template-rows:auto auto!important;gap:11px!important;padding:11px!important;border-radius:20px!important;background:var(--vx-surface)!important;border:1px solid var(--vx-line)!important;box-shadow:none!important;overflow:hidden!important}
#app .vz148-recipe-photo{width:112px!important;height:112px!important;object-fit:cover!important;border-radius:15px!important;grid-row:1/3!important}
#app .vz148-recipe-copy{min-width:0!important}
#app .vz148-recipe-copy h3{font-size:16px!important;line-height:1.08!important;margin:4px 0 7px!important}
#app .vz147-recipe-reason{font-size:9px!important;line-height:1.35!important;margin:0 0 4px!important;color:var(--vx-muted)!important}
#app .vz147-ingredient-status p,#app .vz148-recipe-ingredients{font-size:8px!important;line-height:1.35!important;margin:2px 0!important}
#app .vz14-recipe-actions{display:flex!important;align-items:center!important;gap:5px!important;grid-column:2!important}
#app .vz14-recipe-actions :where(a,button){min-height:34px!important;padding:0 10px!important;border-radius:11px!important;border:1px solid var(--vx-line)!important;background:#f1ece5!important;color:var(--vx-ink)!important;text-decoration:none!important;font-size:8px!important}
#app .vz14-recipe-actions .vz14-primary{background:var(--vx-black)!important;color:#fff!important;border-color:var(--vx-black)!important}
#app .vz14-kitchen-context{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin-top:14px!important}
#app .vz14-kitchen-context .vz14-card{padding:14px!important;border-radius:18px!important;background:var(--vx-surface)!important;border:1px solid var(--vx-line)!important}
#app .vz14-kitchen-context h3{font-size:15px!important;margin:3px 0!important}
#app .vz14-kitchen-context p{font-size:9px!important;line-height:1.4!important;margin:5px 0!important}
#app .vz148-collection-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}
#app .vz148-collection-grid button{padding:11px!important;border-radius:15px!important;border:1px solid var(--vx-line)!important;background:#f3eee7!important;text-align:left!important}
#app .vz148-collection-grid button.active{background:var(--vx-yellow)!important;border-color:transparent!important}
#app .vz148-collection-grid strong{display:block!important;font-size:10px!important}
#app .vz148-collection-grid span{display:block!important;margin-top:3px!important;font-size:8px!important;color:var(--vx-muted)!important}

/* ============================ AGENDA ============================ */
#app .vz14-page:has(.vz14-agenda-list) .vz14-wrap{width:min(100% - 28px,880px)!important;max-width:880px!important;padding:8px 0 124px!important}
#app .vz14-page:has(.vz14-agenda-list) .vz13-heading h1{font-size:36px!important}
#app .vz14-page:has(.vz14-agenda-list) .vz14-lead{font-size:12px!important;max-width:55ch!important;margin:6px 0 12px!important}
#app .vz14-page:has(.vz14-agenda-list) .vz14-capture{padding:15px!important;border-radius:20px!important;background:var(--vx-yellow)!important;border:0!important;box-shadow:none!important}
#app .vz14-page:has(.vz14-agenda-list) .vz14-capture textarea{min-height:70px!important;background:rgba(255,250,243,.76)!important;border:0!important}
#app .vz14-tabs{display:flex!important;gap:6px!important;margin:10px 0!important;padding:4px!important;border-radius:14px!important;background:#eae4dc!important;width:max-content!important;max-width:100%!important}
#app .vz14-tabs button{min-height:34px!important;padding:0 12px!important;border:0!important;border-radius:10px!important;background:transparent!important;font-size:9px!important;color:var(--vx-muted)!important}
#app .vz14-tabs button.active{background:var(--vx-surface)!important;color:var(--vx-ink)!important}
#app .vz14-agenda-summary{padding:13px 15px!important;border-radius:18px!important;background:var(--vx-blue)!important;border:0!important;box-shadow:none!important}
#app .vz14-agenda-list{display:grid!important;gap:7px!important;margin-top:10px!important}
#app .vz14-agenda-row{display:grid!important;grid-template-columns:10px minmax(0,1fr) auto!important;align-items:center!important;gap:11px!important;padding:11px 12px!important;border-radius:16px!important;background:var(--vx-surface)!important;border:1px solid var(--vx-line)!important;box-shadow:none!important}
#app .vz14-agenda-row h3{font-size:14px!important;line-height:1.12!important;margin:2px 0!important}
#app .vz14-agenda-copy :where(p,small){font-size:8px!important;line-height:1.35!important}
#app .vz14-agenda-marker{width:8px!important;height:8px!important;border-radius:50%!important;background:var(--vx-orange)!important}
#app .vz14-row-actions{display:flex!important;align-items:center!important;gap:5px!important}
#app .vz14-row-actions :where(a,button){min-height:32px!important;padding:0 9px!important;border-radius:10px!important;border:1px solid var(--vx-line)!important;background:#f2ede6!important;color:var(--vx-ink)!important;text-decoration:none!important;font-size:8px!important}

/* ============================ CICLO ============================ */
#app .cycle-premium{padding:10px 0 124px!important;background:var(--vx-bg)!important}
#app .v-premium-head{display:flex!important;align-items:center!important;justify-content:space-between!important;height:48px!important;margin-bottom:10px!important}
#app .v-premium-head h1{font-size:13px!important;letter-spacing:-.01em!important;margin:0!important}
#app .v-icon-btn{width:34px!important;height:34px!important;border-radius:999px!important;background:var(--vx-surface)!important;border:1px solid var(--vx-line)!important;color:var(--vx-ink)!important}
#app .cycle-phase{display:grid!important;grid-template-columns:1fr 170px!important;align-items:center!important;gap:20px!important;padding:22px!important;border-radius:28px!important;background:var(--vx-surface)!important;border:1px solid var(--vx-line)!important;box-shadow:none!important}
#app .cycle-phase h2{font-size:38px!important;line-height:1!important;margin:5px 0!important}
#app .cycle-day{display:inline-flex!important;width:max-content!important;padding:7px 10px!important;border-radius:999px!important;background:var(--vx-pink)!important;color:var(--vx-ink)!important;font-size:9px!important}
#app .cycle-dots{width:154px!important;height:154px!important;border-radius:50%!important;background:conic-gradient(from -25deg,var(--vx-pink) 0 22%,transparent 22% 27%,var(--vx-yellow) 27% 49%,transparent 49% 54%,var(--vx-green) 54% 76%,transparent 76% 81%,var(--vx-blue) 81% 100%)!important;position:relative!important;display:grid!important;place-items:center!important}
#app .cycle-dots i{display:none!important}
#app .cycle-dots:before{content:""!important;position:absolute!important;inset:17px!important;background:var(--vx-surface)!important;border-radius:50%!important}
#app .cycle-dots>span{position:relative!important;z-index:1!important;font-size:28px!important}
#app .cycle-guidance,#app .cycle-recorded,#app .cycle-empty,#app .cycle-checkin,#app .cycle-update-card,#app .cycle-patterns{margin-top:10px!important;padding:17px!important;border-radius:21px!important;background:var(--vx-surface)!important;border:1px solid var(--vx-line)!important;box-shadow:none!important}
#app .cycle-guidance h3,#app .cycle-recorded h2,#app .cycle-empty h2{font-size:22px!important;line-height:1.05!important;margin:6px 0!important}
#app .cycle-guidance-summary,#app .cycle-recorded p,#app .cycle-empty p{font-size:11px!important;line-height:1.45!important}
#app .cycle-next{display:flex!important;justify-content:space-between!important;align-items:center!important;padding:11px 12px!important;border-radius:15px!important;background:var(--vx-yellow)!important}
#app .cycle-context-chips{display:flex!important;flex-wrap:wrap!important;gap:5px!important;margin:10px 0!important}
#app .cycle-context-chips span{padding:6px 9px!important;border-radius:999px!important;background:#f1ece5!important;font-size:8px!important}
#app .cycle-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
#app .cycle-actions a{display:grid!important;grid-template-columns:28px 1fr auto!important;align-items:center!important;gap:8px!important;padding:10px!important;border-radius:15px!important;background:#f2eee7!important;border:0!important;color:var(--vx-ink)!important;text-decoration:none!important}
#app .cycle-actions a.is-primary{background:var(--vx-blue)!important}
#app .cycle-actions strong{font-size:10px!important}
#app .cycle-actions em{display:block!important;font-size:8px!important;font-style:normal!important;color:var(--vx-muted)!important}
#app .cycle-checkin-head h3{font-size:18px!important;margin:4px 0!important}
#app .cycle-checkin-head p{font-size:10px!important}
#app .cycle-energy{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:5px!important}
#app .cycle-energy label span,#app .cycle-symptoms label span{border-radius:12px!important;background:#f2ede6!important;border:1px solid transparent!important}
#app .cycle-update-card summary{font-size:11px!important;font-weight:800!important;cursor:pointer!important}
#app .cycle-update-card form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin-top:12px!important}
#app .cycle-update-card form>label{font-size:9px!important;font-weight:750!important}
#app .cycle-update-card form>details,#app .cycle-update-card form>button,#app .cycle-update-card form>p{grid-column:1/-1!important}
#app .cycle-update-card input{width:100%!important;min-height:42px!important;margin-top:5px!important}

/* ====================== CUIDARME / HÁBITOS ====================== */
#app .habits-page{padding:10px 0 124px!important;background:var(--vx-bg)!important}
#app .hab-header{padding:5px 0 8px!important}
#app .hab-header-top{display:flex!important;align-items:center!important;justify-content:space-between!important}
#app .hab-header h1{font-size:34px!important;margin:8px 0 4px!important}
#app .hab-header p{font-size:11px!important}
#app .hab-care-now{display:grid!important;grid-template-columns:230px minmax(0,1fr)!important;gap:14px!important;padding:16px!important;border-radius:22px!important;background:var(--vx-blue)!important;border:0!important;box-shadow:none!important}
#app .hab-care-intro h2{font-size:20px!important;margin:4px 0!important}
#app .hab-care-intro p{font-size:10px!important;line-height:1.4!important;color:#445064!important}
#app .hab-care-tools{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
#app .hab-care-tools a{display:grid!important;grid-template-columns:30px 1fr!important;align-items:center!important;gap:8px!important;min-height:64px!important;padding:10px!important;border-radius:15px!important;background:rgba(255,250,243,.75)!important;border:0!important;color:var(--vx-ink)!important;text-decoration:none!important}
#app .hab-care-tools b{font-size:11px!important}
#app .hab-content{padding:0!important}
#app .hab-progress-card,#app .hab-card,#app .hab-composer,#app .hab-principles article{padding:14px!important;border-radius:18px!important;background:var(--vx-surface)!important;border:1px solid var(--vx-line)!important;box-shadow:none!important}
#app .hab-routines-head h2,#app .hab-principles h3{font-size:21px!important;margin:4px 0!important}
#app .hab-list{display:grid!important;gap:7px!important}

/* ============================ CUADERNO ============================ */
#app .journal-page{padding:10px 0 124px!important;background:var(--vx-bg)!important}
#app .jrn-header{padding:5px 0 8px!important}
#app .jrn-header h1{font-size:34px!important;margin:8px 0 4px!important}
#app .jrn-content{padding:0!important}
#app .jrn-cycle-context{padding:13px 14px!important;border-radius:18px!important;background:var(--vx-green)!important;border:0!important}
#app .jrn-card,#app .jrn-paper,#app .jrn-entry{padding:15px!important;border-radius:20px!important;background:var(--vx-surface)!important;border:1px solid var(--vx-line)!important;box-shadow:none!important}
#app .jrn-paper textarea{min-height:180px!important;border:0!important;background:#fffdf8!important}
#app .jrn-chip-grid,#app .jrn-primary-actions{display:flex!important;flex-wrap:wrap!important;gap:6px!important}
#app .jrn-choice,#app .jrn-primary-actions button{border-radius:12px!important}

/* =========================== MI SEMANA =========================== */
#app .planner-page{padding:10px 0 124px!important;background:var(--vx-bg)!important}
#app .pln-header{padding:5px 0 8px!important}
#app .pln-header h1{font-size:34px!important;margin:8px 0!important}
#app .pln-today{padding:15px!important;border-radius:21px!important;background:var(--vx-yellow)!important;border:0!important;box-shadow:none!important}
#app .pln-week-nav{display:flex!important;gap:6px!important;margin:10px 0!important}
#app .pln-day{padding:13px!important;border-radius:18px!important;background:var(--vx-surface)!important;border:1px solid var(--vx-line)!important;box-shadow:none!important}
#app .pln-days{display:grid!important;gap:7px!important}

/* ===================== COMPRAS / INVENTARIO ===================== */
#app .vz14-page:has(.vz14-shopping-list) .vz14-wrap{width:min(100% - 28px,880px)!important;max-width:880px!important;padding:8px 0 124px!important}
#app .vz14-page:has(.vz14-shopping-list) .vz13-heading h1{font-size:36px!important}
#app .vz14-shopping-list,#app .vz1473-inventory-list{display:grid!important;gap:7px!important}
#app .vz1473-inventory-card,#app .vz14-shopping-list>article{padding:12px 13px!important;border-radius:17px!important;background:var(--vx-surface)!important;border:1px solid var(--vx-line)!important;box-shadow:none!important}
#app .vz1473-tabs{display:flex!important;gap:6px!important;padding:4px!important;border-radius:14px!important;background:#eae4dc!important}
#app .vz1473-tabs button{border:0!important;border-radius:10px!important;background:transparent!important}
#app .vz1473-tabs button.active{background:var(--vx-surface)!important}

/* ========================== MI VIDA / SPACE ========================== */
#app .vz14-page:has(.vz14-life-grid) .vz14-wrap{width:min(100% - 28px,880px)!important;max-width:880px!important;padding:8px 0 124px!important}
#app .vz14-page:has(.vz14-life-grid) .vz13-heading h1{font-size:36px!important}
#app .vz14-life-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
#app .vz14-life-card{min-height:118px!important;padding:14px!important;border-radius:19px!important;background:var(--vx-surface)!important;border:1px solid var(--vx-line)!important;box-shadow:none!important;color:var(--vx-ink)!important;text-decoration:none!important}
#app .vz14-life-card:nth-child(4n+1){background:#fff0e4!important}
#app .vz14-life-card:nth-child(4n+2){background:#edf2e0!important}
#app .vz14-life-card:nth-child(4n+3){background:#eef3fb!important}
#app .vz14-life-card:nth-child(4n){background:#fce9f4!important}
#app .vz14-life-card h3{font-size:16px!important;margin:7px 0 3px!important}
#app .vz14-life-card p{font-size:9px!important;line-height:1.35!important}
#app .vz14-tools-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}

/* ==================== SETTINGS / NOTIFICACIONES ==================== */
#app .settings-page,#app .notif-page{padding:10px 0 124px!important}
#app .settings-head,#app .notif-shell{padding:5px 0!important}
#app .settings-head h1,#app .notif-shell>header h1{font-size:34px!important;margin:8px 0!important}
#app .settings-panel,#app .notif-card,#app .notif-basic-card,#app .notif-preferences{padding:15px!important;border-radius:20px!important;background:var(--vx-surface)!important;border:1px solid var(--vx-line)!important;box-shadow:none!important}
#app .set-grid,#app .notif-pref-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
#app .settings-service,#app .notif-pref{padding:11px 12px!important;border-radius:15px!important;background:#f2ede6!important;border:0!important}

/* ==================== PERFIL / SUSCRIPCIÓN ==================== */
#app .pv,#app .osp{padding:10px 0 124px!important;background:var(--vx-bg)!important}
#app .pv-card,#app .osp-card,#app .vz14-plan-card,#app .vz14-current-plan,#app .vz145-comparison{padding:15px!important;border-radius:20px!important;background:var(--vx-surface)!important;border:1px solid var(--vx-line)!important;box-shadow:none!important}
#app .pv h1,#app .osp h1{font-size:34px!important}
#app .vz14-plan-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
#app .vz14-plan-card h3{font-size:19px!important}

/* ======================= TARJETAS COMPARTIBLES ======================= */
#app .sc-page{padding:14px 0 124px!important;background:var(--vx-bg)!important}
#app .sc-page>header{text-align:left!important;padding:0!important}
#app .sc-page>header>a{font-size:9px!important;color:var(--vx-muted)!important;text-decoration:none!important}
#app .sc-page>header>img{width:36px!important;height:36px!important;margin:14px 0 4px!important}
#app .sc-page>header>p{font-size:8px!important;color:var(--vx-orange)!important;margin:3px 0!important}
#app .sc-page>header>h1{font-size:34px!important;line-height:1!important;margin:5px 0 7px!important;max-width:18ch!important}
#app .sc-page>header>span{font-size:11px!important;line-height:1.45!important;max-width:55ch!important;margin:0!important;color:var(--vx-muted)!important}
#app .sc-date{justify-content:flex-start!important;margin-top:16px!important;font-size:9px!important}
#app .sc-single{margin-top:8px!important}
#app .sc-card{min-height:430px!important;padding:30px!important;border-radius:28px!important;background:var(--vx-surface)!important;border:1px solid var(--vx-line)!important;box-shadow:0 18px 55px rgba(55,44,32,.06)!important}
#app .sc-card:after{width:230px!important;height:230px!important;right:-115px!important;bottom:-120px!important;background:rgba(239,111,36,.13)!important}
#app .sc-card-top img{width:36px!important;height:36px!important}
#app .sc-card-top small{font-size:8px!important}
#app .sc-site{top:23px!important;right:25px!important;font-size:8px!important}
#app .sc-card-copy{padding:28px 0!important}
#app .sc-kicker{font-size:8px!important;color:var(--vx-orange)!important}
#app .sc-card blockquote{font-size:clamp(28px,5vw,45px)!important;line-height:1.02!important;max-width:17ch!important;margin:13px 0 15px!important}
#app .sc-card-copy>p{font-size:13px!important;line-height:1.48!important;max-width:54ch!important}
#app .sc-card footer small{font-size:7px!important}
#app .sc-card footer a{font-size:10px!important}
#app .sc-card button{padding:11px 15px!important;background:var(--vx-black)!important;color:#fff!important;border-radius:13px!important;font-size:9px!important}

/* ========================== PÁGINAS GENERALES ========================== */
#app :where(.breathing-page,.library-page,.recipes-page,.recipe-page,.community-page,.children-page,.pets-page,.life-page){background:var(--vx-bg)!important}
#app :where(.v-card,.card,.panel){box-shadow:none}

/* Dock inspirado en la referencia: un solo gesto, no cinco píldoras. */
#vitaliza-global-chrome{position:relative!important;z-index:1000!important}
#vitaliza-global-chrome .v-bottom-nav-vitaliza,.v-bottom-nav-vitaliza{
  position:fixed!important;left:50%!important;bottom:max(8px,env(safe-area-inset-bottom,0px))!important;transform:translateX(-50%)!important;
  display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;grid-template-rows:1fr!important;align-items:center!important;
  width:min(520px,calc(100vw - 18px))!important;height:66px!important;min-height:66px!important;max-height:66px!important;
  padding:6px 7px!important;border-radius:21px!important;background:rgba(32,31,29,.98)!important;border:1px solid rgba(255,255,255,.08)!important;
  box-shadow:0 14px 38px rgba(20,18,16,.23)!important;overflow:visible!important;backdrop-filter:blur(18px)!important;
}
#vitaliza-global-chrome .v-bottom-nav-vitaliza>a,.v-bottom-nav-vitaliza>a{grid-row:1!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important;min-width:0!important;min-height:48px!important;padding:4px 2px!important;border:0!important;border-radius:0!important;background:transparent!important;color:rgba(255,255,255,.54)!important;text-decoration:none!important;transform:none!important;position:relative!important}
#vitaliza-global-chrome .v-bottom-nav-vitaliza>a:nth-child(1){grid-column:1!important}
#vitaliza-global-chrome .v-bottom-nav-vitaliza>a:nth-child(2){grid-column:2!important}
#vitaliza-global-chrome .v-bottom-nav-vitaliza>a:nth-child(3){grid-column:3!important}
#vitaliza-global-chrome .v-bottom-nav-vitaliza>a:nth-child(4){grid-column:4!important}
#vitaliza-global-chrome .v-bottom-nav-vitaliza>a:nth-child(5){grid-column:5!important}
#vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-glyph,.v-bottom-nav-vitaliza .v-nav-glyph{width:20px!important;height:20px!important;min-height:20px!important;display:grid!important;place-items:center!important;background:transparent!important;border:0!important;border-radius:0!important}
#vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-glyph svg,.v-bottom-nav-vitaliza .v-nav-glyph svg{width:19px!important;height:19px!important;stroke:currentColor!important;fill:none!important;stroke-width:1.7!important}
#vitaliza-global-chrome .v-bottom-nav-vitaliza small,.v-bottom-nav-vitaliza small{font-size:7px!important;line-height:1!important;font-weight:650!important;letter-spacing:0!important;text-transform:none!important;white-space:nowrap!important}
#vitaliza-global-chrome .v-bottom-nav-vitaliza a.active,.v-bottom-nav-vitaliza a.active{color:#fff!important}
#vitaliza-global-chrome .v-bottom-nav-vitaliza a.active:not(.v-nav-primary):after,.v-bottom-nav-vitaliza a.active:not(.v-nav-primary):after{content:""!important;position:absolute!important;bottom:1px!important;width:4px!important;height:4px!important;border-radius:50%!important;background:var(--vx-orange)!important}
#vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-primary,.v-bottom-nav-vitaliza .v-nav-primary{transform:translateY(-10px)!important;color:#fff!important}
#vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-primary .v-nav-glyph,.v-bottom-nav-vitaliza .v-nav-primary .v-nav-glyph{width:50px!important;height:50px!important;min-height:50px!important;border-radius:50%!important;background:var(--vx-orange)!important;border:4px solid var(--vx-bg)!important;box-shadow:0 7px 18px rgba(239,111,36,.28)!important}
#vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-primary .v-nav-glyph svg,.v-bottom-nav-vitaliza .v-nav-primary .v-nav-glyph svg{width:21px!important;height:21px!important}
#vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-primary small,.v-bottom-nav-vitaliza .v-nav-primary small{margin-top:-2px!important;color:#fff!important}

/* Móvil: densidad de app real, no landing comprimida. */
@media(max-width:760px){
  #app :where(.vz13-wrap,.vx-resolve-shell,.cycle-premium>section,.cycle-premium>header,.hab-header,.hab-content,.jrn-header,.jrn-content,.pln-header,.pln-content,.notif-shell,.settings-head,.settings-panel,.pv>*,.osp>*,.sc-page>header,.sc-date,.sc-single){width:calc(100% - 18px)!important}
  #app .vz13-topbar{width:calc(100% - 18px)!important;padding:10px 0 4px!important;min-height:48px!important}
  #app .vz13-date,#app .vz13-share-shortcut em{display:none!important}
  #app .vz13-heading{padding-top:12px!important}
  #app .vz13-heading h1{font-size:29px!important}
  #app .vz149-overview{grid-template-columns:1fr!important;gap:12px!important;padding:16px!important;border-radius:24px!important}
  #app .vz149-orbit{width:164px!important;height:164px!important;margin:auto!important}
  #app .vz149-orbit strong{font-size:46px!important}
  #app .vz149-overview-copy{text-align:center!important}
  #app .vz149-overview-copy h1{font-size:29px!important}
  #app .vz149-overview-copy>p{font-size:12px!important;margin:auto!important}
  #app .vz149-chips,#app .vz149-overview-actions{justify-content:center!important}
  #app .vz149-dashboard .vz14-hero{grid-template-columns:1fr!important}
  #app .vz149-dashboard .vz14-hero-side{display:none!important}
  #app .vz149-dashboard .vz14-hero-main h2{font-size:23px!important;max-width:none!important}
  #app .vz149-dashboard .vz14-capture-line{grid-template-columns:minmax(0,1fr) 42px!important}
  #app .vz149-dashboard .vz14-capture-line button[type=submit]{grid-column:1/-1!important;width:100%!important}
  #app .vz149-dashboard .vz14-cards-grid{grid-template-columns:1fr!important}
  #app .vz149-dashboard .vz146-install-card{grid-template-columns:1fr auto!important}
  #app .vz149-dashboard .vz146-install-card p{display:none!important}
  #app .vx-resolve-head{grid-template-columns:1fr!important;align-items:start!important;gap:10px!important}
  #app .vx-resolve-head h1{font-size:31px!important;max-width:17ch!important}
  #app .vx-resolve-head p{font-size:11px!important}
  #app .vx-resolve-day{width:100%!important}
  #app .vx-resolve-input-row{grid-template-columns:minmax(0,1fr) 42px!important}
  #app .vx-resolve-submit{grid-column:1/-1!important;width:100%!important}
  #app .vx-context-rows article{grid-template-columns:1fr!important}
  #app .vx-context-actions{justify-content:flex-start!important}
  #app .vx-prepare-choices{grid-template-columns:1fr!important}
  #app .vx-resolve-memory>header{align-items:start!important}
  #app .vx-resolve-memory-row{grid-template-columns:1fr!important}
  #app .vx-resolve-row-actions{justify-content:flex-end!important}
  #app .vz148-kitchen-paths{grid-template-columns:1fr!important}
  #app .vz148-kitchen-paths button{min-height:58px!important}
  #app .vz14-recipe-list{grid-template-columns:1fr!important}
  #app .vz14-recipe-card{grid-template-columns:92px minmax(0,1fr)!important}
  #app .vz148-recipe-photo{width:92px!important;height:92px!important}
  #app .vz14-kitchen-context{grid-template-columns:1fr!important}
  #app .vz148-collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #app .cycle-phase{grid-template-columns:1fr!important;text-align:center!important}
  #app .cycle-day{margin:auto!important}
  #app .cycle-dots{margin:auto!important;width:145px!important;height:145px!important}
  #app .cycle-actions{grid-template-columns:1fr!important}
  #app .cycle-update-card form{grid-template-columns:1fr!important}
  #app .cycle-update-card form>*{grid-column:1!important}
  #app .hab-care-now{grid-template-columns:1fr!important}
  #app .vz14-life-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #app .set-grid,#app .notif-pref-grid,#app .vz14-plan-grid{grid-template-columns:1fr!important}
  #app .sc-card{min-height:480px!important;padding:24px!important;border-radius:24px!important}
  #app .sc-card blockquote{font-size:34px!important;max-width:15ch!important}
  #app .sc-card footer{flex-direction:column!important;align-items:stretch!important}
  #app .sc-card button{width:100%!important}
  #vitaliza-global-chrome .v-bottom-nav-vitaliza,.v-bottom-nav-vitaliza{width:calc(100vw - 14px)!important;height:64px!important;min-height:64px!important;bottom:max(6px,env(safe-area-inset-bottom,0px))!important}
}

@media(max-width:390px){
  #app .vz149-orbit{width:154px!important;height:154px!important}
  #app .vz149-overview-copy h1{font-size:27px!important}
  #app .vz14-recipe-card{grid-template-columns:78px minmax(0,1fr)!important}
  #app .vz148-recipe-photo{width:78px!important;height:78px!important}
  #app .vz14-life-grid{grid-template-columns:1fr!important}
}

@media(prefers-reduced-motion:reduce){#app *,#vitaliza-global-chrome *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Tarjetas compartibles: el tono oscuro conserva contraste y la marca no depende de una imagen externa. */
#app .sc-page-sun,#app .sc-card-sun{display:inline-grid!important;place-items:center!important;color:var(--vx-ink)!important;flex:0 0 auto!important}
#app .sc-page-sun{width:38px!important;height:38px!important;margin:14px 0 4px!important}
#app .sc-card-sun{width:36px!important;height:36px!important}
#app .sc-page-sun svg,#app .sc-card-sun svg{width:100%!important;height:100%!important;display:block!important}
#app .sc-card.sc-card-dark{background:var(--vx-black)!important;color:#fffaf3!important;border-color:rgba(255,255,255,.06)!important}
#app .sc-card.sc-card-dark :where(blockquote,.sc-card-top small){color:#fffaf3!important}
#app .sc-card.sc-card-dark .sc-card-copy>p{color:rgba(255,250,243,.72)!important}
#app .sc-card.sc-card-dark footer small{color:rgba(255,250,243,.58)!important}
#app .sc-card.sc-card-dark footer a{color:#fffaf3!important;border-color:rgba(255,250,243,.28)!important}
#app .sc-card.sc-card-dark .sc-site{color:rgba(255,250,243,.45)!important}
#app .sc-card.sc-card-dark .sc-card-sun{color:#fffaf3!important}
#app .sc-card.sc-card-light blockquote{color:var(--vx-ink)!important}

/* =====================================================================
   14.10.0 — POLISH FINAL DE PANTALLAS INTERNAS
   Cada módulo tiene una entrada visual reconocible sin convertirse en landing.
   ===================================================================== */
#app .vx-resolve-head{
  position:relative!important;overflow:hidden!important;padding:22px!important;
  border-radius:28px!important;background:var(--vx-pink)!important;border:0!important;
  box-shadow:none!important;align-items:center!important;
}
#app .vx-resolve-head:after{content:""!important;position:absolute!important;width:180px!important;height:180px!important;border-radius:50%!important;right:-92px!important;top:-96px!important;background:rgba(255,250,243,.28)!important;pointer-events:none!important}
#app .vx-resolve-head>*{position:relative!important;z-index:1!important}
#app .vx-resolve-head>div>small{color:#8e3d68!important}
#app .vx-resolve-head p{color:#5d4753!important}
#app .vx-resolve-day{background:rgba(255,250,243,.78)!important;border-color:rgba(31,30,27,.05)!important}

#app .vz148-kitchen-paths{padding:12px!important;border-radius:23px!important;background:var(--vx-yellow)!important;gap:7px!important}
#app .vz148-kitchen-paths button{background:rgba(255,250,243,.78)!important;border:0!important}
#app .vz148-kitchen-paths button.active{background:var(--vx-black)!important;color:#fff!important}
#app .vz148-kitchen-paths button.active span{color:rgba(255,255,255,.7)!important}
#app .vz14-page:has(.vz148-kitchen-paths) .vz14-kitchen-form{background:#fff7eb!important}
#app .vz14-page:has(.vz148-kitchen-paths) .vz148-collections{background:#fff7eb!important}

#app .vz14-page:has(.vz14-agenda-list) .vz14-agenda-summary{position:relative!important;overflow:hidden!important;padding:17px 18px!important;border-radius:22px!important}
#app .vz14-page:has(.vz14-agenda-list) .vz14-agenda-summary:after{content:""!important;position:absolute!important;width:110px!important;height:110px!important;border-radius:50%!important;right:-48px!important;top:-58px!important;background:rgba(255,250,243,.28)!important}
#app .vz14-page:has(.vz14-agenda-list) .vz14-agenda-summary>*{position:relative!important;z-index:1!important}

#app .hab-header{position:relative!important;overflow:hidden!important;padding:18px 19px!important;margin-top:5px!important;margin-bottom:12px!important;border-radius:25px!important;background:#eef3fb!important;border:1px solid rgba(31,30,27,.05)!important}
#app .hab-header:after{content:""!important;position:absolute!important;width:120px!important;height:120px!important;border-radius:50%!important;right:-52px!important;bottom:-74px!important;background:var(--vx-blue)!important;opacity:.55!important}
#app .hab-header>*{position:relative!important;z-index:1!important}

#app .jrn-header{padding:18px 19px!important;margin-top:5px!important;margin-bottom:12px!important;border-radius:25px!important;background:#edf2e0!important;border:1px solid rgba(31,30,27,.05)!important}
#app .pln-header{padding:18px 19px!important;margin-top:5px!important;margin-bottom:12px!important;border-radius:25px!important;background:#fff4cf!important;border:1px solid rgba(31,30,27,.05)!important}
#app .settings-head{padding:18px 19px!important;margin-top:5px!important;margin-bottom:12px!important;border-radius:25px!important;background:#fff0e4!important;border:1px solid rgba(31,30,27,.05)!important}
#app .notif-shell>header{padding:18px 19px!important;margin:5px 0 12px!important;border-radius:25px!important;background:#fce9f4!important;border:1px solid rgba(31,30,27,.05)!important}

#app .settings-service:nth-of-type(4n+1){background:#fff0e4!important}
#app .settings-service:nth-of-type(4n+2){background:#eef3fb!important}
#app .settings-service:nth-of-type(4n+3){background:#edf2e0!important}
#app .settings-service:nth-of-type(4n){background:#fce9f4!important}

@media(max-width:760px){
  #app .vx-resolve-head{padding:18px!important;border-radius:24px!important;margin-bottom:12px!important}
  #app .vx-resolve-head h1{font-size:30px!important;max-width:15ch!important}
  #app .vx-resolve-day{min-height:54px!important;height:auto!important}
  #app .vz148-kitchen-paths{padding:9px!important;border-radius:20px!important}
  #app .hab-header,#app .jrn-header,#app .pln-header,#app .settings-head,#app .notif-shell>header{padding:15px!important;border-radius:22px!important}
}


/* ===== src/styles/product-system-1500.css ===== */
/* =====================================================================
   VITALIZA 15.0 — PRODUCT UI
   Capa final. Prioriza información accionable y conserva la identidad
   crema/naranja. Menos landing, más aplicación.
   ===================================================================== */
:root{
  --v15-bg:#f3eee6;
  --v15-surface:#fffaf3;
  --v15-surface-2:#eee8df;
  --v15-ink:#1f1e1b;
  --v15-muted:#746d64;
  --v15-line:rgba(31,30,27,.085);
  --v15-orange:#ef6f24;
  --v15-orange-soft:#ffe8d5;
  --v15-pink:#eca5ce;
  --v15-yellow:#f5d45b;
  --v15-blue:#aec5e7;
  --v15-green:#a5b86f;
  --v15-radius:22px;
  --v15-font:"General Sans","DM Sans",Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
html,body,#app{background:var(--v15-bg)!important;color:var(--v15-ink)!important}
body,#app,#vitaliza-global-chrome{font-family:var(--v15-font)!important}
#app :where(h1,h2,h3,h4,p,a,button,input,textarea,select,label,small,strong,em,span){font-family:var(--v15-font)!important}
#app :where(h1,h2,h3){text-wrap:balance;letter-spacing:-.035em!important}
#app :where(input,textarea,select){font-size:16px!important}

/* Chrome más integrado: el contenido aprovecha el ancho de escritorio. */
#app .vz13-topbar{max-width:1080px!important;padding:18px 10px 8px!important}
#app .vz13-brand img{width:30px!important;height:30px!important}
#app .vz13-brand{font-size:12px!important;letter-spacing:.1em!important}
#app :where(.vz13-wrap,.vz14-wrap){max-width:1080px!important;width:min(100% - 28px,1080px)!important;margin-inline:auto!important;padding-bottom:112px!important}
@media (min-width:681px){#app :where(.vz13-wrap,.vz14-wrap){padding-bottom:168px!important}}

/* =============================== HOY =============================== */
#app .vz150-dashboard .vz14-wrap{max-width:1080px!important}
#app .vz150-home-hero{
  display:grid!important;grid-template-columns:270px minmax(0,1fr)!important;align-items:center!important;gap:38px!important;
  min-height:290px!important;padding:25px 32px!important;margin:10px 0 14px!important;border-radius:30px!important;
  background:var(--v15-surface)!important;border:1px solid var(--v15-line)!important;box-shadow:0 18px 60px rgba(54,45,35,.055)!important;
}
#app .vz150-wheel{position:relative!important;width:226px!important;height:226px!important;margin:auto!important}
#app .vz150-wheel-ring{position:absolute!important;inset:24px!important;border-radius:50%!important;background:conic-gradient(from -34deg,var(--v15-yellow) 0 18%,transparent 18% 25%,var(--v15-green) 25% 43%,transparent 43% 50%,var(--v15-pink) 50% 68%,transparent 68% 75%,var(--v15-blue) 75% 93%,transparent 93% 100%)!important;filter:none!important}
#app .vz150-wheel-ring:after{content:"";position:absolute;inset:19px;border-radius:50%;background:var(--v15-surface)}
#app .vz150-wheel-center{position:absolute!important;inset:66px!important;border-radius:50%!important;display:grid!important;place-items:center!important;align-content:center!important;background:var(--v15-surface)!important;z-index:2!important}
#app .vz150-wheel-center strong{font-size:48px!important;line-height:.9!important;font-weight:720!important;letter-spacing:-.06em!important}
#app .vz150-wheel-center span{margin-top:7px!important;font-size:8px!important;font-weight:850!important;text-transform:uppercase!important;letter-spacing:.12em!important;color:var(--v15-muted)!important}
#app .vz150-wheel-node{position:absolute!important;z-index:4!important;display:grid!important;place-items:center!important;gap:2px!important;width:58px!important;min-height:54px!important;padding:6px!important;border-radius:17px!important;text-decoration:none!important;color:var(--v15-ink)!important;border:1px solid rgba(31,30,27,.06)!important;box-shadow:0 7px 20px rgba(54,45,35,.06)!important;transition:transform .15s ease!important}
#app .vz150-wheel-node:hover{transform:translateY(-2px)!important}
#app .vz150-wheel-node span{font-size:18px!important;line-height:1!important}
#app .vz150-wheel-node small{font-size:7px!important;font-weight:850!important;line-height:1!important}
#app .vz150-wheel-node.node-cycle{top:0!important;left:84px!important;background:#f8d3e8!important}
#app .vz150-wheel-node.node-care{right:0!important;top:84px!important;background:#dce7c5!important}
#app .vz150-wheel-node.node-kitchen{bottom:0!important;left:84px!important;background:#fff0b8!important}
#app .vz150-wheel-node.node-agenda{left:0!important;top:84px!important;background:#dce7f7!important}
#app .vz150-home-copy>small{display:block!important;font-size:8px!important;letter-spacing:.16em!important;color:var(--v15-orange)!important;font-weight:900!important;text-transform:uppercase!important}
#app .vz150-home-copy h1{font-size:clamp(36px,4.2vw,52px)!important;line-height:.96!important;font-weight:760!important;margin:7px 0 9px!important}
#app .vz150-home-copy>p{font-size:17px!important;line-height:1.38!important;max-width:34ch!important;color:#49443f!important;font-weight:600!important;margin:0!important}
#app .vz150-home-meta{display:flex!important;flex-wrap:wrap!important;gap:7px!important;margin-top:18px!important}
#app .vz150-home-meta a{display:inline-flex!important;align-items:center!important;gap:7px!important;min-height:38px!important;padding:0 13px!important;border-radius:999px!important;background:var(--v15-surface-2)!important;color:var(--v15-ink)!important;text-decoration:none!important;font-size:10px!important;font-weight:800!important}
#app .vz150-home-meta a.cycle{background:#fff0e4!important}
#app .vz150-home-meta span{color:var(--v15-orange)!important}
#app .vz150-home-actions{display:flex!important;gap:8px!important;margin-top:10px!important}
#app .vz150-home-actions a{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:40px!important;padding:0 16px!important;border-radius:13px!important;background:#ece7df!important;color:var(--v15-ink)!important;text-decoration:none!important;font-size:10px!important;font-weight:850!important}
#app .vz150-home-actions a.primary{background:var(--v15-ink)!important;color:#fff!important}

/* Resolver directo de Inicio: el input es una superficie de producto, no una tarjeta más. */
#app .vz150-capture{position:relative!important;z-index:5!important;margin:12px 0!important;padding:16px 17px!important;border:1px solid var(--v15-line)!important;border-radius:20px!important;background:var(--v15-surface)!important;box-shadow:none!important}
#app .vz150-capture>label{font-size:17px!important;line-height:1.15!important;font-weight:760!important;margin:0 0 9px!important}
#app .vz150-capture .vz14-capture-line{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;gap:7px!important;position:relative!important;z-index:6!important}
#app .vz150-capture input{position:relative!important;z-index:7!important;pointer-events:auto!important;user-select:text!important;-webkit-user-select:text!important;min-height:48px!important;padding:0 15px!important;border:1px solid rgba(31,30,27,.09)!important;border-radius:14px!important;background:#f4efe8!important;color:var(--v15-ink)!important;outline:none!important}
#app .vz150-capture input:focus{border-color:rgba(239,111,36,.55)!important;box-shadow:0 0 0 4px rgba(239,111,36,.09)!important;background:#fffaf3!important}
#app .vz150-capture button[type=submit]{min-height:48px!important;padding:0 17px!important;border:0!important;border-radius:14px!important;background:var(--v15-orange)!important;color:#fff!important;font-size:10px!important;font-weight:850!important}
#app .vz150-capture .vz14-voice-button{min-width:48px!important;min-height:48px!important;border-radius:14px!important}

/* La prioridad solo aparece si existe algo real. Nunca una tarjeta enorme para decir “nada”. */
#app .vz150-dashboard .vz14-hero{margin:10px 0!important;border-radius:21px!important;background:var(--v15-surface)!important;border:1px solid var(--v15-line)!important;box-shadow:none!important}
#app .vz150-dashboard .vz14-hero-main{padding:16px 18px!important;background:transparent!important;border:0!important;box-shadow:none!important}
#app .vz150-dashboard .vz14-hero-main h2{font-size:24px!important;line-height:1.05!important;margin:5px 0 7px!important;max-width:28ch!important}
#app .vz150-dashboard .vz14-hero-main p{font-size:11px!important;line-height:1.45!important}
#app .vz150-dashboard .vz14-hero-side{width:138px!important;min-width:138px!important;background:#f5dbea!important;border:0!important}

/* Clima: nunca más “Ver aviso”. Estado compacto + acciones directas. */
#app .vz150-weather-strip{position:relative!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:14px!important;margin:10px 0!important;padding:11px 13px!important;border-radius:17px!important;background:#e8eef7!important;border:0!important;box-shadow:none!important}
#app .vz150-weather-strip>div:first-child{display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important}
#app .vz150-weather-icon{display:grid!important;place-items:center!important;width:34px!important;height:34px!important;border-radius:11px!important;background:rgba(255,250,243,.66)!important;font-size:17px!important}
#app .vz150-weather-strip small{display:block!important;font-size:7px!important;text-transform:uppercase!important;letter-spacing:.1em!important;color:#5c6674!important;font-weight:850!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:45ch!important}
#app .vz150-weather-strip strong{display:block!important;margin-top:2px!important;font-size:12px!important;line-height:1.2!important}
#app .vz150-weather-actions{display:flex!important;gap:5px!important}
#app .vz150-weather-actions button{min-height:34px!important;padding:0 10px!important;border:1px solid rgba(31,30,27,.08)!important;border-radius:11px!important;background:rgba(255,250,243,.68)!important;color:var(--v15-ink)!important;font-size:8px!important;font-weight:800!important;cursor:pointer!important}
#app .vz150-weather-strip[data-weather-kind=rain]{background:#dce8f7!important}
#app .vz150-weather-strip[data-weather-kind=wind]{background:#e4e9ef!important}
#app .vz150-weather-strip .vz146-weather-city-panel{grid-column:1/-1!important;margin-top:4px!important;padding-top:9px!important;border-top:1px solid rgba(31,30,27,.08)!important}

#app .vz150-dashboard .vz143-dashboard-care{margin:10px 0!important;padding:15px 16px!important;border-radius:20px!important;background:#edf2e0!important}
#app .vz150-dashboard .vz143-dashboard-care h2{font-size:20px!important;margin:4px 0!important}
#app .vz150-dashboard .vz143-dashboard-care p{font-size:10px!important}
#app .vz150-dashboard .vz14-cards-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin-top:10px!important}
#app .vz150-dashboard .vz14-card{min-height:118px!important;padding:14px!important;border-radius:18px!important;background:var(--v15-surface)!important;border:1px solid var(--v15-line)!important}
#app .vz150-dashboard .vz14-card h3{font-size:15px!important;margin:4px 0 7px!important}
#app .vz150-dashboard .vz14-card p{font-size:9px!important;line-height:1.4!important}
#app .vz150-dashboard .vz146-install-card{margin:14px 0 0!important;padding:9px 12px!important;border-radius:15px!important;background:transparent!important;border:1px dashed rgba(31,30,27,.12)!important}
#app .vz150-dashboard .vz146-install-card h2{font-size:12px!important}
#app .vz150-dashboard .vz146-install-card p{font-size:8px!important}
#app .vz150-dashboard .vz146-install-card button{min-height:32px!important;background:transparent!important;color:var(--v15-orange)!important;border:1px solid rgba(239,111,36,.25)!important}

/* ============================== CICLO ============================== */
#app .cycle-premium{padding:0 14px 118px!important;background:var(--v15-bg)!important}
#app .cycle-premium>.v-premium-head{max-width:1080px!important;margin:0 auto!important;padding:18px 0 10px!important}
#app .cycle-premium>.v-premium-head h1{font-size:14px!important;letter-spacing:0!important;font-weight:850!important}
#app .cycle-premium>.v-card,#app .vx15-cycle-hero,#app .vx15-cycle-main-grid,#app .vx15-cycle-guidance{max-width:1080px!important;margin-left:auto!important;margin-right:auto!important}
#app .vx15-cycle-hero{display:grid!important;grid-template-columns:minmax(0,1.5fr) 300px!important;gap:12px!important;margin-top:14px!important}
#app .vx15-cycle-now,#app .vx15-cycle-estimate{padding:24px!important;border-radius:26px!important;background:var(--v15-surface)!important;border:1px solid var(--v15-line)!important;box-shadow:none!important}
#app .vx15-cycle-now>.v-eyebrow,#app .vx15-cycle-estimate>small,#app .vx15-cycle-history .v-eyebrow,#app .vx15-cycle-guidance .v-eyebrow{font-size:8px!important;letter-spacing:.14em!important;color:var(--v15-orange)!important;font-weight:900!important;text-transform:uppercase!important}
#app .vx15-cycle-title{display:flex!important;align-items:baseline!important;gap:12px!important;margin:7px 0 4px!important}
#app .vx15-cycle-title strong{font-size:46px!important;line-height:.95!important;font-weight:760!important;letter-spacing:-.055em!important}
#app .vx15-cycle-title span{display:inline-flex!important;align-items:center!important;min-height:34px!important;padding:0 12px!important;border-radius:999px!important;background:#f6cfe5!important;font-size:12px!important;font-weight:850!important;color:#6e3756!important}
#app .vx15-cycle-now>p:not(.v-eyebrow){margin:0!important;font-size:11px!important;color:var(--v15-muted)!important}
#app .vx15-phase-track{display:grid!important;grid-template-columns:1fr 2.2fr .75fr 2.2fr!important;gap:5px!important;margin-top:20px!important}
#app .vx15-phase-track span{height:12px!important;border-radius:999px!important;opacity:.42!important;outline:2px solid transparent!important;outline-offset:2px!important}
#app .vx15-phase-track .menstrual{background:var(--v15-pink)!important}#app .vx15-phase-track .follicular{background:var(--v15-green)!important}#app .vx15-phase-track .ovulation{background:var(--v15-yellow)!important}#app .vx15-phase-track .luteal{background:var(--v15-blue)!important}
#app .vx15-phase-track span.active{opacity:1!important;outline-color:rgba(31,30,27,.18)!important}
#app .vx15-phase-labels{display:grid!important;grid-template-columns:1fr 2.2fr .75fr 2.2fr!important;gap:5px!important;margin-top:6px!important}
#app .vx15-phase-labels span{font-size:7px!important;color:var(--v15-muted)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#app .vx15-cycle-actions{display:flex!important;gap:7px!important;flex-wrap:wrap!important;margin-top:20px!important}
#app .vx15-cycle-actions button{min-height:38px!important;padding:0 13px!important;border-radius:12px!important;border:1px solid var(--v15-line)!important;background:#f0ebe3!important;color:var(--v15-ink)!important;font-size:9px!important;font-weight:850!important;cursor:pointer!important}
#app .vx15-cycle-actions button.primary{background:var(--v15-ink)!important;color:#fff!important;border-color:var(--v15-ink)!important}
#app .vx15-cycle-estimate{display:grid!important;align-content:center!important;background:#fff2c8!important;border-color:rgba(198,161,40,.18)!important}
#app .vx15-cycle-estimate strong{font-size:29px!important;line-height:1!important;margin:8px 0 5px!important}
#app .vx15-cycle-estimate>span{font-size:12px!important;font-weight:750!important;color:#6f6447!important}
#app .vx15-cycle-estimate p{font-size:9px!important;line-height:1.45!important;color:#7c7258!important;margin:14px 0 0!important}
#app .vx15-cycle-main-grid{display:grid!important;grid-template-columns:1.25fr .75fr!important;gap:12px!important;margin-top:12px!important}
#app .vx15-cycle-checkin,#app .vx15-cycle-history,#app .vx15-cycle-guidance{padding:20px!important;border-radius:24px!important;background:var(--v15-surface)!important;border:1px solid var(--v15-line)!important;box-shadow:none!important}
#app .vx15-cycle-checkin .cycle-checkin-head h3,#app .vx15-cycle-history h3,#app .vx15-cycle-guidance h3{font-size:21px!important;line-height:1.05!important;margin:5px 0!important;font-weight:760!important}
#app .vx15-cycle-checkin .cycle-checkin-head p,#app .vx15-cycle-guidance .cycle-guidance-summary{font-size:10px!important;line-height:1.45!important;color:var(--v15-muted)!important}
#app .vx15-cycle-checkin .cycle-energy{gap:5px!important}
#app .vx15-cycle-checkin .cycle-energy label>span{height:38px!important;border-radius:11px!important}
#app .vx15-cycle-checkin .cycle-symptoms{gap:5px!important}
#app .vx15-cycle-checkin .cycle-symptoms label>span{padding:7px 9px!important;font-size:9px!important}
#app .vx15-cycle-checkin #cycle-checkin-form>button{min-height:40px!important;border-radius:12px!important;font-size:9px!important}
#app .vx15-cycle-history-list{display:grid!important;gap:6px!important;margin-top:13px!important}
#app .vx15-cycle-history-list>div{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;padding:10px 11px!important;border-radius:13px!important;background:#f1ece4!important}
#app .vx15-cycle-history-list strong{font-size:11px!important}#app .vx15-cycle-history-list span{font-size:9px!important;color:var(--v15-muted)!important}
#app .vx15-pattern-summary{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;margin-top:9px!important}
#app .vx15-pattern-summary span{display:grid!important;gap:2px!important;padding:10px!important;border-radius:13px!important;background:#edf2e0!important;font-size:8px!important;color:#5f6a4a!important}
#app .vx15-pattern-summary b{font-size:20px!important;color:var(--v15-ink)!important}
#app .vx15-history-note{font-size:10px!important;line-height:1.45!important;color:var(--v15-muted)!important;margin-top:12px!important}
#app .vx15-cycle-guidance{margin-top:12px!important;display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;gap:18px!important;align-items:start!important}
#app .vx15-cycle-guidance .cycle-actions{display:grid!important;grid-template-columns:1fr!important;gap:6px!important;margin:0!important}
#app .vx15-cycle-guidance .cycle-actions a{padding:11px!important;border-radius:15px!important;background:#f3eee7!important;border:0!important;grid-template-columns:28px 1fr 15px!important}
#app .vx15-cycle-guidance .cycle-actions a.is-primary{background:#fff0e4!important;box-shadow:none!important}
#app .vx15-cycle-guidance .cycle-actions strong{font-size:11px!important}
#app .vx15-cycle-guidance .cycle-actions em{display:block!important;margin-top:2px!important;font-size:8px!important;line-height:1.3!important;color:var(--v15-muted)!important;font-style:normal!important}
#app .vx15-cycle-guidance .cycle-journal-bridge{grid-column:1/-1!important;margin:0!important;padding:10px 12px!important;border-radius:14px!important;background:#f1ece4!important}
#app .cycle-update-card{max-width:1080px!important;margin:12px auto 0!important;border-radius:19px!important;background:var(--v15-surface)!important;border:1px solid var(--v15-line)!important}
#app .cycle-update-card>summary{padding:13px 15px!important;font-size:10px!important}

/* ============================ RESOLVER ============================ */
#app .vx-resolve-shell{max-width:980px!important;margin:auto!important;padding:8px 14px 118px!important}
#app .vx-resolve-head{display:grid!important;grid-template-columns:minmax(0,1fr) 190px!important;gap:14px!important;align-items:center!important;margin:8px 0 10px!important;padding:20px 22px!important;border-radius:25px!important;background:var(--v15-surface)!important;border:1px solid var(--v15-line)!important;overflow:visible!important}
#app .vx-resolve-head:after{display:none!important}
#app .vx-resolve-head h1{font-size:31px!important;line-height:1!important;max-width:23ch!important;margin:5px 0 7px!important}
#app .vx-resolve-head p{font-size:10px!important;line-height:1.45!important;max-width:58ch!important;color:var(--v15-muted)!important}
#app .vx-resolve-day{height:58px!important;min-height:58px!important;border-radius:16px!important;background:#eef3fb!important;border:0!important}
#app .vx-resolve-capture{margin:10px 0!important;padding:18px!important;border-radius:21px!important;background:#fff8ed!important;border:1px solid rgba(239,111,36,.15)!important}
#app .vx-resolve-capture label{font-size:20px!important;font-weight:760!important}
#app .vx-resolve-input-row input{min-height:48px!important;background:#fffaf3!important;pointer-events:auto!important;user-select:text!important}
#app .vx-resolve-submit{background:var(--v15-ink)!important;color:#fff!important}
#app .vx-resolve-context{margin:10px 0!important;padding:15px!important;border-radius:20px!important;background:#edf2e0!important;border:0!important}
#app .vx-context-title h2{font-size:17px!important}
#app .vx-context-rows article{padding:10px 11px!important;border-radius:14px!important;background:rgba(255,250,243,.72)!important;border:0!important}
#app .vx-resolve-memory{margin-top:14px!important}
#app .vx-resolve-memory>header h2{font-size:22px!important}
#app .vx-resolve-memory-row{padding:11px 12px!important;border-radius:15px!important}

/* General: achicar sensación de landing en otras áreas sin romper estructura. */
#app :where(.vz13-page,.vz14-page,.v-premium-page,.kitchen-new,.ag-page,.habits-page,.journal-page,.settings-page,.notif-page){background:var(--v15-bg)!important}
#app :where(.vz14-card,.ag-item,.hab-card,.jrn-card,.settings-panel,.notif-card,.vz14-life-card,.vz14-plan-card){box-shadow:none!important}
#app :where(.vz13-heading h1,.kitchen-hero-copy h2,.ag-header h1,.hab-header h1,.jrn-header h1,.settings-head h1){font-size:clamp(28px,3.5vw,38px)!important;line-height:1!important}

/* Navegación: compacta, con Hoy elevado pero sin tapar contenido. */
#vitaliza-global-chrome .v-bottom-nav-vitaliza,.v-bottom-nav-vitaliza{width:min(560px,calc(100vw - 22px))!important;height:70px!important;min-height:70px!important;bottom:max(10px,env(safe-area-inset-bottom,0px))!important;border-radius:22px!important;background:rgba(31,30,27,.985)!important;box-shadow:0 14px 38px rgba(22,20,18,.23)!important;overflow:visible!important}
#vitaliza-global-chrome .v-bottom-nav-vitaliza a,.v-bottom-nav-vitaliza a{min-width:0!important}
#vitaliza-global-chrome .v-bottom-nav-vitaliza a small,.v-bottom-nav-vitaliza a small{font-size:7px!important}
#vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-primary .v-nav-glyph,.v-bottom-nav-vitaliza .v-nav-primary .v-nav-glyph{width:52px!important;height:52px!important;margin-top:-25px!important;border:4px solid var(--v15-bg)!important;background:var(--v15-orange)!important;box-shadow:0 8px 18px rgba(239,111,36,.25)!important}

@media(max-width:760px){
  #app .vz13-topbar{padding-left:12px!important;padding-right:12px!important}
  #app :where(.vz13-wrap,.vz14-wrap){width:min(100% - 18px,1080px)!important}
  #app .vz150-home-hero{grid-template-columns:1fr!important;gap:12px!important;padding:18px!important;min-height:0!important;border-radius:25px!important}
  #app .vz150-wheel{width:198px!important;height:198px!important}
  #app .vz150-wheel-ring{inset:22px!important}
  #app .vz150-wheel-center{inset:59px!important}
  #app .vz150-wheel-node{width:50px!important;min-height:48px!important;border-radius:15px!important}
  #app .vz150-wheel-node.node-cycle{left:74px!important}.vz150-wheel-node.node-kitchen{left:74px!important}
  #app .vz150-wheel-node.node-care{top:74px!important}.vz150-wheel-node.node-agenda{top:74px!important}
  #app .vz150-home-copy{text-align:center!important}
  #app .vz150-home-copy h1{font-size:31px!important}
  #app .vz150-home-copy>p{font-size:13px!important;margin:auto!important}
  #app .vz150-home-meta,#app .vz150-home-actions{justify-content:center!important}
  #app .vz150-capture .vz14-capture-line{grid-template-columns:minmax(0,1fr) 44px!important}
  #app .vz150-capture button[type=submit]{grid-column:1/-1!important;width:100%!important}
  #app .vz150-weather-strip{grid-template-columns:1fr!important}
  #app .vz150-weather-actions{justify-content:flex-start!important}
  #app .vz150-dashboard .vz14-cards-grid{grid-template-columns:1fr!important}
  #app .vx15-cycle-hero,#app .vx15-cycle-main-grid,#app .vx15-cycle-guidance{grid-template-columns:1fr!important}
  #app .vx15-cycle-now,#app .vx15-cycle-estimate{padding:18px!important;border-radius:22px!important}
  #app .vx15-cycle-title strong{font-size:39px!important}
  #app .vx15-cycle-title span{font-size:10px!important}
  #app .vx15-phase-labels span{font-size:6px!important}
  #app .vx15-cycle-guidance .cycle-journal-bridge{grid-column:1!important}
  #app .vx-resolve-head{grid-template-columns:1fr!important;padding:17px!important;border-radius:22px!important}
  #app .vx-resolve-head h1{font-size:28px!important}
  #app .vx-resolve-input-row{grid-template-columns:minmax(0,1fr) 42px!important}
  #app .vx-resolve-submit{grid-column:1/-1!important;width:100%!important}
}

/* Escritorio: el control global deja de flotar sobre el contenido.
   A partir de 1000 px se convierte en un riel compacto lateral; en móvil y
   tablet conserva el dock inferior. Así ninguna acción queda físicamente
   debajo de la navegación. */
@media (min-width:1000px){
  #vitaliza-global-chrome .v-bottom-nav-vitaliza,
  .v-bottom-nav-vitaliza{
    left:10px!important;
    right:auto!important;
    top:50%!important;
    bottom:auto!important;
    transform:translateY(-50%)!important;
    width:70px!important;
    max-width:70px!important;
    height:auto!important;
    min-height:0!important;
    padding:7px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:4px!important;
    border-radius:22px!important;
    overflow:visible!important;
  }
  #vitaliza-global-chrome .v-bottom-nav-vitaliza a,
  .v-bottom-nav-vitaliza a{
    flex:0 0 auto!important;
    width:56px!important;
    min-width:56px!important;
    min-height:54px!important;
    padding:6px 3px!important;
    transform:none!important;
    border-radius:16px!important;
  }
  #vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-primary,
  .v-bottom-nav-vitaliza .v-nav-primary{transform:none!important}
  #vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-primary .v-nav-glyph,
  .v-bottom-nav-vitaliza .v-nav-primary .v-nav-glyph{
    width:40px!important;
    height:40px!important;
    margin:0!important;
    border:2px solid rgba(255,255,255,.12)!important;
    box-shadow:none!important;
  }
  #vitaliza-global-chrome .v-bottom-nav-vitaliza small,
  .v-bottom-nav-vitaliza small{font-size:7px!important}
}

/* 15.0.2 — Ciclo: comida contextual visible, no escondida detrás de síntomas */
#app .vx15-cycle-meal{max-width:1080px!important;margin:12px auto 0!important;padding:20px!important;border-radius:24px!important;background:#fff7ec!important;border:1px solid rgba(236,116,41,.18)!important;box-shadow:none!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:18px!important;align-items:center!important}
#app .vx15-cycle-meal .v-eyebrow{font-size:8px!important;letter-spacing:.14em!important;color:var(--v15-orange)!important;font-weight:900!important;text-transform:uppercase!important;margin:0 0 5px!important}
#app .vx15-cycle-meal h3{font-size:13px!important;line-height:1.2!important;margin:0 0 8px!important;color:var(--v15-muted)!important;font-weight:750!important}
#app .vx15-cycle-meal strong{display:block!important;font-size:23px!important;line-height:1.05!important;letter-spacing:-.025em!important;color:var(--v15-ink)!important;margin-bottom:7px!important}
#app .vx15-cycle-meal p{font-size:10px!important;line-height:1.5!important;color:var(--v15-muted)!important;margin:0!important;max-width:720px!important}
#app .vx15-cycle-meal small{display:block!important;margin-top:8px!important;font-size:8px!important;line-height:1.35!important;color:#8b715f!important}
#app .vx15-cycle-meal-actions{display:flex!important;gap:7px!important;flex-wrap:wrap!important;justify-content:flex-end!important}
#app .vx15-cycle-meal-actions a{display:inline-flex!important;align-items:center!important;min-height:38px!important;padding:0 13px!important;border-radius:12px!important;background:#f0ebe3!important;color:var(--v15-ink)!important;font-size:9px!important;font-weight:850!important;text-decoration:none!important;white-space:nowrap!important}
#app .vx15-cycle-meal-actions a.primary{background:var(--v15-orange)!important;color:#fff!important}
@media(max-width:720px){#app .vx15-cycle-meal{grid-template-columns:1fr!important;padding:17px!important;border-radius:20px!important}#app .vx15-cycle-meal-actions{justify-content:flex-start!important}#app .vx15-cycle-meal strong{font-size:20px!important}}


/* ===== src/styles/product-system-1502.css ===== */
/* =====================================================================
   VITALIZA 15.0.2 — MOBILE REAL + MI DÍA + PERFORMANCE POLISH
   Última capa visual. No cambia lógica de negocio.
   ===================================================================== */

/* Evitar cualquier viaje lateral de la página completa. */
html,body,#app{max-width:100%;overflow-x:hidden}
#app *{box-sizing:border-box}

/* =========================== MI DÍA =========================== */
#app .vz150-agenda-page{background:var(--v15-bg)!important}
#app .vz150-agenda-shell{max-width:960px!important;margin-inline:auto!important}
#app .vz150-day-switch{
  display:inline-grid!important;grid-template-columns:1fr 1fr!important;gap:4px!important;
  padding:4px!important;margin:4px 0 12px!important;border-radius:15px!important;
  background:#e7e1d9!important;border:1px solid rgba(31,30,27,.04)!important;
}
#app .vz150-day-switch a{
  display:flex!important;align-items:center!important;justify-content:center!important;
  min-height:38px!important;padding:0 16px!important;border:0!important;border-radius:11px!important;
  color:var(--v15-muted)!important;text-decoration:none!important;font-size:11px!important;font-weight:800!important;
}
#app .vz150-day-switch a.active{background:var(--v15-surface)!important;color:var(--v15-ink)!important;box-shadow:0 1px 3px rgba(31,30,27,.06)!important}
#app .vz150-agenda-lead{max-width:62ch!important;font-size:14px!important;line-height:1.45!important;color:var(--v15-muted)!important;margin:0 0 14px!important}
#app .vz150-agenda-summary{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:18px!important;
  padding:20px!important;margin:0 0 12px!important;border-radius:24px!important;
  background:#dbe6f6!important;color:var(--v15-ink)!important;border:0!important;
}
#app .vz150-agenda-summary small{font-size:9px!important;letter-spacing:.13em!important;color:#5b6f8a!important}
#app .vz150-agenda-summary h2{font-family:var(--v15-font)!important;font-size:28px!important;line-height:1!important;color:var(--v15-ink)!important;margin:6px 0!important;font-weight:760!important}
#app .vz150-agenda-summary p{font-size:12px!important;line-height:1.4!important;color:#5d6876!important;margin:0!important}
#app .vz150-calendar-link{
  display:grid!important;gap:2px!important;min-width:132px!important;padding:12px 14px!important;border-radius:15px!important;
  background:rgba(255,250,243,.68)!important;color:var(--v15-ink)!important;text-decoration:none!important;
}
#app .vz150-calendar-link span{font-size:8px!important;letter-spacing:.12em!important;font-weight:850!important;color:#687587!important}
#app .vz150-calendar-link strong{font-size:12px!important;line-height:1.2!important;color:var(--v15-ink)!important}

#app .vz150-agenda-capture{margin:0 0 12px!important;padding:17px!important;border-radius:21px!important;background:#f5d968!important;border:0!important}
#app .vz150-agenda-capture label{font-family:var(--v15-font)!important;font-size:18px!important;line-height:1.15!important;font-weight:780!important;color:var(--v15-ink)!important;margin-bottom:9px!important}
#app .vz150-agenda-capture>div{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important}
#app .vz150-agenda-capture input{min-width:0!important;min-height:48px!important;border:0!important;border-radius:14px!important;background:rgba(255,250,243,.82)!important;padding:0 14px!important;font-size:16px!important;color:var(--v15-ink)!important}
#app .vz150-agenda-capture button{min-height:48px!important;border-radius:14px!important;padding:0 16px!important;background:var(--v15-ink)!important;color:#fff!important;font-size:11px!important;font-weight:850!important}
#app .vz150-agenda-capture .vz14-status{display:block!important;min-height:0!important;margin-top:7px!important;font-size:11px!important;line-height:1.3!important}

#app .vz150-agenda-tabs{
  display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:5px!important;
  width:100%!important;max-width:none!important;overflow:visible!important;margin:10px 0 12px!important;padding:4px!important;
  border-radius:15px!important;background:#e8e2da!important;
}
#app .vz150-agenda-tabs button{
  width:100%!important;min-width:0!important;min-height:38px!important;padding:0 8px!important;border:0!important;border-radius:11px!important;
  background:transparent!important;color:var(--v15-muted)!important;font-size:10px!important;font-weight:800!important;white-space:normal!important;
}
#app .vz150-agenda-tabs button.active{background:var(--v15-surface)!important;color:var(--v15-ink)!important;box-shadow:0 1px 3px rgba(31,30,27,.06)!important}

#app .vz150-agenda-page .vz14-agenda-list{display:grid!important;gap:8px!important;margin:0!important}
#app .vz150-agenda-page .vz14-agenda-row{
  display:grid!important;grid-template-columns:10px minmax(0,1fr)!important;gap:12px!important;align-items:start!important;
  width:100%!important;min-width:0!important;padding:15px!important;border-radius:19px!important;background:var(--v15-surface)!important;border:1px solid var(--v15-line)!important;
}
#app .vz150-agenda-page .vz14-agenda-marker{display:block!important;width:9px!important;height:9px!important;margin-top:5px!important;align-self:start!important}
#app .vz150-agenda-page .vz14-agenda-marker span{display:block!important;width:9px!important;height:9px!important}
#app .vz150-agenda-page .vz14-agenda-copy{min-width:0!important}
#app .vz150-agenda-page .vz14-agenda-copy small{font-size:9px!important;line-height:1.3!important;letter-spacing:.08em!important}
#app .vz150-agenda-page .vz14-agenda-copy h3{font-family:var(--v15-font)!important;font-size:17px!important;line-height:1.18!important;overflow-wrap:anywhere!important;margin:4px 0!important;font-weight:760!important}
#app .vz150-agenda-page .vz14-agenda-copy p{font-size:12px!important;line-height:1.4!important;overflow-wrap:anywhere!important;margin:5px 0 0!important}
#app .vz150-agenda-page .vz14-row-actions{
  grid-column:2!important;display:flex!important;flex-wrap:wrap!important;gap:6px!important;justify-content:flex-start!important;min-width:0!important;margin-top:5px!important;
}
#app .vz150-agenda-page .vz14-row-actions :where(a,button){
  flex:0 1 auto!important;min-height:38px!important;padding:0 11px!important;border-radius:11px!important;
  font-size:10px!important;line-height:1.15!important;white-space:normal!important;text-align:center!important;
}

/* =========================== MÓVIL =========================== */
@media(max-width:760px){
  html,body,#app{width:100%!important;min-width:0!important;overflow-x:hidden!important}
  #app :where(.vz13-page,.vz14-page,.v-premium-page,.kitchen-new,.ag-page,.habits-page,.journal-page,.settings-page,.notif-page){
    width:100%!important;max-width:100%!important;padding-left:0!important;padding-right:0!important;overflow-x:hidden!important;
  }
  /* Un solo margen de app. Antes se acumulaban padding de página + width -18. */
  #app :where(.vz13-wrap,.vz14-wrap,.vx-resolve-shell,.cycle-premium>section,.cycle-premium>header,.hab-header,.hab-content,.jrn-header,.jrn-content,.pln-header,.pln-content,.notif-shell,.settings-head,.settings-panel,.pv>*,.osp>*,.sc-page>header,.sc-date,.sc-single){
    width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;padding-left:12px!important;padding-right:12px!important;
  }
  #app .vz13-topbar{width:100%!important;max-width:none!important;padding:8px 12px 4px!important;margin:0!important}

  /* Tipografía de aplicación real: nada esencial a 7–10 px. */
  #app :where(.vz13-heading h1,.kitchen-hero-copy h2,.ag-header h1,.hab-header h1,.jrn-header h1,.settings-head h1){font-size:32px!important;line-height:1.02!important}
  #app :where(.vz14-lead,.vz14-card p,.vz14-section p,.hab-card p,.jrn-card p,.settings-panel p,.notif-card p){font-size:14px!important;line-height:1.45!important}

  #app .vz150-home-hero{width:100%!important;margin:8px 0 10px!important;padding:17px 14px!important;border-radius:22px!important}
  #app .vz150-home-copy h1{font-size:34px!important;line-height:.98!important}
  #app .vz150-home-copy>p{font-size:15px!important;line-height:1.42!important;max-width:30ch!important}
  #app .vz150-home-copy>small{font-size:10px!important}
  #app .vz150-home-meta a{font-size:12px!important;min-height:42px!important;padding:0 13px!important}
  #app .vz150-home-actions a{font-size:12px!important;min-height:44px!important;padding:0 15px!important}
  #app .vz150-wheel{width:min(208px,64vw)!important;height:min(208px,64vw)!important}
  #app .vz150-wheel-center strong{font-size:46px!important}
  #app .vz150-wheel-center span{font-size:9px!important}
  #app .vz150-wheel-node small{font-size:8px!important}

  #app .vz150-capture{width:100%!important;margin:10px 0!important;padding:15px 13px!important;border-radius:18px!important}
  #app .vz150-capture>label{font-size:19px!important}
  #app .vz150-capture input{font-size:16px!important;min-height:50px!important}
  #app .vz150-capture button[type=submit]{font-size:12px!important;min-height:48px!important}

  #app .vz150-weather-strip{width:100%!important;margin:9px 0!important;padding:13px!important;border-radius:18px!important}
  #app .vz150-weather-strip small{font-size:9px!important;white-space:normal!important;max-width:none!important}
  #app .vz150-weather-strip strong{font-size:15px!important;line-height:1.25!important}
  #app .vz150-weather-actions button{font-size:11px!important;min-height:38px!important}

  #app .vz150-dashboard .vz14-hero-main h2{font-size:25px!important;max-width:none!important}
  #app .vz150-dashboard .vz14-hero-main p{font-size:14px!important;line-height:1.45!important}
  #app .vz150-dashboard .vz14-cards-grid :where(h2,h3){font-size:22px!important}
  #app .vz150-dashboard .vz14-cards-grid :where(p,small){font-size:13px!important;line-height:1.4!important}

  /* Ciclo: ocupa el ancho y se puede leer sin zoom. */
  #app .cycle-premium{width:100%!important;max-width:100%!important;padding-left:0!important;padding-right:0!important}
  #app .cycle-premium>.v-premium-head,
  #app .cycle-premium>.v-card,
  #app .vx15-cycle-hero,#app .vx15-cycle-main-grid,#app .vx15-cycle-guidance,#app .vx15-cycle-meal,#app .cycle-update-card{
    width:calc(100% - 24px)!important;max-width:none!important;margin-left:12px!important;margin-right:12px!important;
  }
  #app .vx15-cycle-title strong{font-size:42px!important}
  #app .vx15-cycle-title span{font-size:12px!important}
  #app .vx15-phase-labels span{font-size:8px!important}
  #app .vx15-cycle-meal h3{font-size:14px!important}
  #app .vx15-cycle-meal strong{font-size:22px!important}
  #app .vx15-cycle-meal p{font-size:13px!important;line-height:1.45!important}
  #app .vx15-cycle-meal small{font-size:10px!important}
  #app .vx15-cycle-meal-actions a{font-size:11px!important;min-height:42px!important}

  /* Resolver: pantalla, no formulario angosto dentro de otra pantalla. */
  #app .vx-resolve-shell{width:100%!important;max-width:none!important;padding:8px 12px 112px!important}
  #app .vx-resolve-head{width:100%!important;padding:18px 15px!important;border-radius:21px!important}
  #app .vx-resolve-head h1{font-size:31px!important;max-width:none!important}
  #app .vx-resolve-head p{font-size:14px!important;line-height:1.42!important;max-width:none!important}
  #app .vx-resolve-input-row :where(input,textarea){font-size:16px!important}

  /* Mi día: sin scroll horizontal ni columnas microscópicas. */
  #app .vz150-agenda-shell{width:100%!important;padding:5px 10px 110px!important}
  #app .vz150-day-switch{display:grid!important;width:100%!important;grid-template-columns:1fr 1fr!important;margin:2px 0 10px!important}
  #app .vz150-day-switch a{font-size:13px!important;min-height:42px!important}
  #app .vz150-agenda-lead{font-size:14px!important;margin-bottom:11px!important}
  #app .vz150-agenda-summary{grid-template-columns:1fr!important;gap:11px!important;padding:17px!important;border-radius:20px!important}
  #app .vz150-agenda-summary h2{font-size:27px!important}
  #app .vz150-agenda-summary p{font-size:13px!important}
  #app .vz150-calendar-link{width:100%!important;min-width:0!important;display:flex!important;justify-content:space-between!important;align-items:center!important;padding:11px 12px!important}
  #app .vz150-calendar-link span{font-size:9px!important}
  #app .vz150-calendar-link strong{font-size:12px!important}
  #app .vz150-agenda-capture{padding:15px 12px!important;border-radius:18px!important}
  #app .vz150-agenda-capture label{font-size:19px!important}
  #app .vz150-agenda-capture>div{grid-template-columns:1fr!important}
  #app .vz150-agenda-capture button{width:100%!important;font-size:12px!important}
  #app .vz150-agenda-tabs{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important;width:100%!important;overflow:visible!important}
  #app .vz150-agenda-tabs button{font-size:11px!important;min-height:40px!important;padding:0 5px!important}
  #app .vz150-agenda-page .vz14-agenda-row{grid-template-columns:1fr!important;padding:14px 12px!important;gap:5px!important}
  #app .vz150-agenda-page .vz14-agenda-marker{display:none!important}
  #app .vz150-agenda-page .vz14-agenda-copy h3{font-size:18px!important;line-height:1.2!important}
  #app .vz150-agenda-page .vz14-agenda-copy small{font-size:10px!important}
  #app .vz150-agenda-page .vz14-agenda-copy p{font-size:13px!important}
  #app .vz150-agenda-page .vz14-row-actions{grid-column:1!important;width:100%!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;margin-top:8px!important}
  #app .vz150-agenda-page .vz14-row-actions :where(a,button){width:100%!important;min-width:0!important;min-height:42px!important;font-size:11px!important;padding:6px 8px!important;white-space:normal!important}

  /* Dock legible y casi de borde a borde. */
  #vitaliza-global-chrome .v-bottom-nav-vitaliza,.v-bottom-nav-vitaliza{
    width:calc(100vw - 12px)!important;left:6px!important;right:6px!important;transform:none!important;height:68px!important;min-height:68px!important;bottom:max(6px,env(safe-area-inset-bottom,0px))!important;border-radius:20px!important;
  }
  #vitaliza-global-chrome .v-bottom-nav-vitaliza small,.v-bottom-nav-vitaliza small{font-size:8px!important}
}

@media(max-width:390px){
  #app :where(.vz13-wrap,.vz14-wrap,.vx-resolve-shell){padding-left:9px!important;padding-right:9px!important}
  #app .vz150-agenda-shell{padding-left:8px!important;padding-right:8px!important}
  #app .vz150-home-copy h1{font-size:32px!important}
}


/* =====================================================================
   VITALIZA 15.7.0 — MÓVIL REAL
   Ajuste sobre captura física Honor: menos portada, más producto útil.
   Conserva una sola hoja crítica y no toca lógica ni integraciones.
   ===================================================================== */
@media (max-width:760px){
  :root{
    --v1503-edge:8px;
    --v1503-nav-h:66px;
  }

  html,body,#app{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }
  body{overscroll-behavior-x:none!important}

  /* Chrome: una sola línea compacta; la app empieza enseguida. */
  #app .vz13-page,
  #app .vz14-page{
    padding-left:0!important;
    padding-right:0!important;
  }
  #app .vz13-topbar{
    width:100%!important;
    max-width:none!important;
    min-height:50px!important;
    padding:8px 10px 4px!important;
    margin:0!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
  }
  #app .vz13-brandline{min-width:0!important}
  #app .vz13-brand{gap:7px!important;font-size:11px!important;letter-spacing:.085em!important}
  #app .vz13-brand .vz149-brand-sun{width:29px!important;height:29px!important}
  #app .vz13-topmeta{gap:5px!important;justify-content:flex-end!important;min-width:0!important}
  #app .vz13-date{display:none!important}
  #app .vz13-share-shortcut,
  #app .vz13-tier,
  #app .vz13-profile{
    min-height:36px!important;
    height:36px!important;
    border-radius:18px!important;
  }
  #app .vz13-share-shortcut{width:36px!important;padding:0!important;display:grid!important;place-items:center!important}
  #app .vz13-share-shortcut em{display:none!important}
  #app .vz13-tier{padding:0 12px!important;font-size:9px!important;display:flex!important;align-items:center!important}
  #app .vz13-profile{width:36px!important;font-size:16px!important}

  /* Un único margen físico pequeño; no “web dentro del teléfono”. */
  #app :where(.vz13-wrap,.vz14-wrap){
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:4px var(--v1503-edge) calc(var(--v1503-nav-h) + 36px + env(safe-area-inset-bottom,0px))!important;
  }

  /* HOY: la rueda sigue siendo funcional, pero deja de ser una portada. */
  #app .vz150-home-hero{
    width:100%!important;
    min-height:0!important;
    margin:4px 0 8px!important;
    padding:12px!important;
    border-radius:21px!important;
    grid-template-columns:128px minmax(0,1fr)!important;
    gap:12px!important;
    align-items:center!important;
    box-shadow:0 8px 24px rgba(54,45,35,.04)!important;
  }
  #app .vz150-wheel{
    width:124px!important;
    height:124px!important;
    margin:0!important;
    align-self:center!important;
  }
  #app .vz150-wheel-ring{inset:14px!important}
  #app .vz150-wheel-ring:after{inset:11px!important}
  #app .vz150-wheel-center{inset:38px!important}
  #app .vz150-wheel-center strong{font-size:31px!important;line-height:.9!important}
  #app .vz150-wheel-center span{font-size:6.5px!important;margin-top:4px!important;letter-spacing:.08em!important}
  #app .vz150-wheel-node{
    width:44px!important;
    min-width:44px!important;
    height:42px!important;
    min-height:42px!important;
    padding:4px 3px!important;
    border-radius:13px!important;
    gap:1px!important;
    box-shadow:0 4px 12px rgba(54,45,35,.05)!important;
  }
  #app .vz150-wheel-node span{font-size:15px!important}
  #app .vz150-wheel-node small{font-size:6.5px!important;line-height:1.05!important;letter-spacing:0!important}
  #app .vz150-wheel-node.node-cycle{top:0!important;left:40px!important}
  #app .vz150-wheel-node.node-care{right:0!important;top:41px!important}
  #app .vz150-wheel-node.node-kitchen{bottom:0!important;left:40px!important}
  #app .vz150-wheel-node.node-agenda{left:0!important;top:41px!important}

  #app .vz150-home-copy{text-align:left!important;min-width:0!important}
  #app .vz150-home-copy>small{font-size:9px!important;letter-spacing:.13em!important}
  #app .vz150-home-copy h1{
    font-size:29px!important;
    line-height:.96!important;
    margin:4px 0 5px!important;
    white-space:nowrap!important;
  }
  #app .vz150-home-copy>p{
    font-size:12.5px!important;
    line-height:1.32!important;
    max-width:none!important;
    margin:0!important;
    font-weight:600!important;
  }
  #app .vz150-home-meta{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:5px!important;
    margin-top:9px!important;
  }
  #app .vz150-home-meta a{
    min-width:0!important;
    min-height:34px!important;
    height:auto!important;
    padding:6px 8px!important;
    border-radius:11px!important;
    font-size:9.5px!important;
    line-height:1.1!important;
    white-space:normal!important;
  }
  #app .vz150-home-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
    margin-top:6px!important;
  }
  #app .vz150-home-actions a{
    width:100%!important;
    min-height:38px!important;
    padding:0 8px!important;
    border-radius:11px!important;
    font-size:10.5px!important;
    white-space:nowrap!important;
  }

  /* Resolver de Inicio: útil en el primer viewport, sin campo recortado. */
  #app .vz150-capture{
    width:100%!important;
    margin:8px 0!important;
    padding:12px!important;
    border-radius:18px!important;
  }
  #app .vz150-capture>label{
    margin:0 0 8px!important;
    font-size:18px!important;
    line-height:1.12!important;
  }
  #app .vz150-capture .vz14-capture-line{
    grid-template-columns:minmax(0,1fr) 44px!important;
    gap:6px!important;
  }
  #app .vz150-capture input{
    min-width:0!important;
    min-height:48px!important;
    padding:0 12px!important;
    font-size:16px!important;
    border-radius:13px!important;
  }
  #app .vz150-capture .vz14-voice-button{
    width:44px!important;
    min-width:44px!important;
    min-height:48px!important;
    padding:0!important;
    border-radius:13px!important;
  }
  #app .vz150-capture .vz14-voice-button small{display:none!important}
  #app .vz150-capture button[type=submit]{
    grid-column:1/-1!important;
    width:100%!important;
    min-height:46px!important;
    font-size:12px!important;
    border-radius:13px!important;
  }

  /* El resto del dashboard también usa el borde real de la app. */
  #app .vz150-dashboard :where(.vz14-hero,.vz143-dashboard-care,.vz150-weather-strip,.vz14-section,.vz14-cards-grid,.vz146-install-card){
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  /* Mi día: bloque lineal y claramente móvil, sin sensación de HTML lateral. */
  #app .vz150-agenda-shell{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:4px var(--v1503-edge) calc(var(--v1503-nav-h) + 34px + env(safe-area-inset-bottom,0px))!important;
    overflow-x:hidden!important;
  }
  #app .vz150-agenda-page :where(.vz150-agenda-summary,.vz150-agenda-capture,.vz150-agenda-tabs,.vz14-agenda-list){
    width:100%!important;
    max-width:none!important;
  }
  #app .vz150-agenda-page .vz14-agenda-row{
    width:100%!important;
    grid-template-columns:1fr!important;
    padding:13px!important;
    border-radius:16px!important;
    overflow:hidden!important;
  }
  #app .vz150-agenda-page .vz14-agenda-copy{width:100%!important;min-width:0!important}
  #app .vz150-agenda-page .vz14-agenda-copy h3,
  #app .vz150-agenda-page .vz14-agenda-copy p{overflow-wrap:anywhere!important;word-break:normal!important}
  #app .vz150-agenda-page .vz14-row-actions{
    width:100%!important;
    grid-column:1!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  /* Tab bar integrada: ya no una gran pastilla flotando sobre la interfaz. */
  #vitaliza-global-chrome .v-bottom-nav-vitaliza,
  .v-bottom-nav-vitaliza{
    left:0!important;
    right:0!important;
    bottom:0!important;
    transform:none!important;
    width:100vw!important;
    max-width:100vw!important;
    height:var(--v1503-nav-h)!important;
    min-height:var(--v1503-nav-h)!important;
    padding:7px 5px max(6px,env(safe-area-inset-bottom,0px))!important;
    border-left:0!important;
    border-right:0!important;
    border-bottom:0!important;
    border-radius:18px 18px 0 0!important;
    box-shadow:0 -8px 28px rgba(22,20,18,.14)!important;
  }
  #vitaliza-global-chrome .v-bottom-nav-vitaliza a,
  .v-bottom-nav-vitaliza a{
    min-height:52px!important;
    padding:5px 2px 4px!important;
    gap:4px!important;
  }
  #vitaliza-global-chrome .v-bottom-nav-vitaliza small,
  .v-bottom-nav-vitaliza small{font-size:8.5px!important}
  #vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-primary,
  .v-bottom-nav-vitaliza .v-nav-primary{transform:none!important}
  #vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-primary .v-nav-glyph,
  .v-bottom-nav-vitaliza .v-nav-primary .v-nav-glyph{
    width:46px!important;
    height:46px!important;
    min-height:46px!important;
    margin-top:-18px!important;
    border-width:3px!important;
  }

  #app,
  #app > main,
  #app > .screen,
  #app [id$="-screen"],
  #app main[class*="-page"]{
    scroll-padding-bottom:calc(var(--v1503-nav-h) + 22px + env(safe-area-inset-bottom,0px))!important;
  }
}

@media (max-width:360px){
  :root{--v1503-edge:6px}
  #app .vz150-home-hero{grid-template-columns:116px minmax(0,1fr)!important;gap:9px!important;padding:10px!important}
  #app .vz150-wheel{width:112px!important;height:112px!important}
  #app .vz150-wheel-ring{inset:13px!important}
  #app .vz150-wheel-center{inset:35px!important}
  #app .vz150-wheel-node{width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important}
  #app .vz150-wheel-node.node-cycle{left:36px!important}
  #app .vz150-wheel-node.node-care{top:36px!important}
  #app .vz150-wheel-node.node-kitchen{left:36px!important}
  #app .vz150-wheel-node.node-agenda{top:36px!important}
  #app .vz150-home-copy h1{font-size:27px!important}
  #app .vz150-home-copy>p{font-size:11.5px!important}
  #app .vz150-home-meta a{font-size:9px!important;padding:5px 6px!important}
  #app .vz150-home-actions a{font-size:10px!important}
}

/* ========================================================================
   VITALIZA 15.7.0 — ARQUITECTURA DEFINITIVA DE HOY + MI DÍA
   Una sola jerarquía. Sin recorridos circulares ni controles duplicados.
   ======================================================================== */
:root{
  --vz151-edge:clamp(12px,3.6vw,22px);
  --vz151-max:1180px;
  --vz151-paper:#f7f1e8;
  --vz151-surface:#fffaf4;
  --vz151-ink:#201e1b;
  --vz151-muted:#6f675f;
  --vz151-line:rgba(47,39,32,.11);
  --vz151-orange:#ee6e22;
  --vz151-blue:#aec4e7;
  --vz151-pink:#efacd2;
  --vz151-green:#b8c98f;
  --vz151-yellow:#f4d764;
  --vz151-nav-h:72px;
}

html,body{overflow-x:hidden!important}
body{background:var(--vz151-paper)!important;color:var(--vz151-ink)!important}
#app{width:100%!important;max-width:none!important;overflow-x:clip!important;font-size:16px!important}
#app .vz151-route-shell{min-height:100dvh!important;background:var(--vz151-paper)!important}

/* Chrome: ocupa el teléfono, no parece una web dentro de otra web. */
#app .vz13-topbar{
  width:min(var(--vz151-max),calc(100% - (var(--vz151-edge) * 2)))!important;
  max-width:var(--vz151-max)!important;
  margin:0 auto!important;
  padding:18px 0 10px!important;
  box-sizing:border-box!important;
}
#app .vz13-brand{font-size:16px!important;gap:9px!important}
#app .vz149-brand-sun{width:28px!important;height:28px!important}
#app .vz13-topmeta{gap:8px!important}
#app .vz13-date{font-size:12px!important}
#app .vz13-share-shortcut,#app .vz13-tier,#app .vz13-profile{min-height:38px!important;font-size:11px!important}

/* ------------------------------ HOY ----------------------------------- */
#app .vz151-dashboard-shell{
  width:min(var(--vz151-max),calc(100% - (var(--vz151-edge) * 2)))!important;
  max-width:var(--vz151-max)!important;
  margin:0 auto!important;
  padding:4px 0 calc(var(--vz151-nav-h) + 34px + env(safe-area-inset-bottom,0px))!important;
  display:grid!important;
  gap:14px!important;
  box-sizing:border-box!important;
}
#app .vz151-home-hero{
  width:100%!important;
  margin:0!important;
  padding:24px 28px!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:240px minmax(0,1fr)!important;
  align-items:center!important;
  gap:34px!important;
  border:1px solid var(--vz151-line)!important;
  border-radius:30px!important;
  background:var(--vz151-surface)!important;
  box-shadow:0 12px 34px rgba(48,37,25,.06)!important;
  min-height:0!important;
}
#app .vz151-wheel{
  width:220px!important;height:220px!important;min-width:220px!important;
  margin:auto!important;position:relative!important;
}
#app .vz151-wheel-ring{inset:28px!important}
#app .vz151-wheel-center{inset:72px!important}
#app .vz151-wheel-center strong{font-size:45px!important;line-height:.95!important}
#app .vz151-wheel-center span{font-size:10px!important;letter-spacing:.08em!important}
#app .vz151-wheel .vz150-wheel-node{
  width:64px!important;height:64px!important;min-width:64px!important;min-height:64px!important;
  border-radius:20px!important;padding:7px!important;box-sizing:border-box!important;
  box-shadow:0 7px 20px rgba(43,35,29,.08)!important;
}
#app .vz151-wheel .vz150-wheel-node span{font-size:22px!important}
#app .vz151-wheel .vz150-wheel-node small{font-size:9px!important;line-height:1!important}
#app .vz151-wheel .node-cycle{left:78px!important;top:0!important}
#app .vz151-wheel .node-care{right:0!important;top:78px!important}
#app .vz151-wheel .node-kitchen{left:78px!important;bottom:0!important}
#app .vz151-wheel .node-agenda{left:0!important;top:78px!important}
#app .vz151-home-copy{min-width:0!important;align-self:center!important}
#app .vz151-home-copy>small{font-size:11px!important;letter-spacing:.12em!important;color:var(--vz151-orange)!important;font-weight:900!important}
#app .vz151-home-copy h1{margin:5px 0 8px!important;font-size:clamp(34px,4vw,52px)!important;line-height:1!important;letter-spacing:-.04em!important}
#app .vz151-home-copy>p{margin:0!important;font-size:17px!important;line-height:1.45!important;color:var(--vz151-muted)!important;max-width:48ch!important}
#app .vz151-home-meta{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-top:16px!important}
#app .vz151-home-meta a{min-height:38px!important;padding:8px 12px!important;border-radius:999px!important;font-size:12px!important;font-weight:850!important;text-decoration:none!important}
#app .vz151-home-actions{display:flex!important;gap:9px!important;margin-top:14px!important}
#app .vz151-home-actions a{min-height:46px!important;padding:0 18px!important;border-radius:14px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:14px!important;font-weight:850!important;text-decoration:none!important}

/* Lo primero después de la lectura del día es el pendiente REAL. */
#app .vz151-priority{
  width:100%!important;box-sizing:border-box!important;padding:18px!important;
  border-radius:24px!important;border:1px solid rgba(79,105,151,.16)!important;
  background:#dfe8f6!important;box-shadow:none!important;
}
#app .vz151-priority header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin-bottom:7px!important}
#app .vz151-priority header small{font-size:10px!important;font-weight:900!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:#4e6587!important}
#app .vz151-priority header a{font-size:12px!important;font-weight:850!important;color:#263852!important;text-decoration:none!important}
#app .vz151-priority-main{
  width:100%!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;
  border:0!important;background:transparent!important;color:inherit!important;text-align:left!important;padding:0!important;cursor:pointer!important;
}
#app .vz151-priority-main span{min-width:0!important}
#app .vz151-priority-main h2{margin:0!important;font-size:clamp(23px,3vw,32px)!important;line-height:1.08!important;letter-spacing:-.025em!important}
#app .vz151-priority-main p{margin:7px 0 0!important;max-width:68ch!important;font-size:14px!important;line-height:1.45!important;color:#526176!important}
#app .vz151-priority-main>b{font-size:24px!important;flex:0 0 auto!important}
#app .vz151-priority-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-top:14px!important}
#app .vz151-priority-actions button{min-height:40px!important;border:1px solid rgba(31,44,63,.12)!important;border-radius:12px!important;background:#fff!important;color:#263852!important;padding:0 13px!important;font-size:12px!important;font-weight:850!important}
#app .vz151-priority-actions .quiet{background:transparent!important}

/* Una sola entrada global. */
#app .vz151-capture{
  width:100%!important;margin:0!important;padding:18px!important;box-sizing:border-box!important;
  border:1px solid var(--vz151-line)!important;border-radius:24px!important;background:var(--vz151-surface)!important;box-shadow:none!important;
}
#app .vz151-capture>label{display:block!important;margin:0 0 10px!important;font-size:18px!important;line-height:1.2!important;font-weight:850!important;letter-spacing:-.02em!important}
#app .vz151-capture .vz14-capture-line{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;gap:8px!important;align-items:stretch!important}
#app .vz151-capture input{width:100%!important;min-width:0!important;height:50px!important;border-radius:14px!important;padding:0 14px!important;font-size:16px!important;box-sizing:border-box!important}
#app .vz151-capture button[type="submit"]{min-width:148px!important;border-radius:14px!important;font-size:13px!important;font-weight:900!important}
#app .vz151-capture .vz14-voice-button{width:50px!important;min-width:50px!important;height:50px!important;border-radius:14px!important;padding:0!important}
#app .vz151-capture .vz14-voice-button small{display:none!important}

/* Una sola recomendación contextual. */
#app .vz151-recommendation{
  width:100%!important;box-sizing:border-box!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:18px!important;align-items:center!important;
  padding:18px!important;border-radius:24px!important;background:#f6e6ef!important;border:1px solid rgba(167,90,132,.12)!important;
}
#app .vz151-recommendation small{font-size:10px!important;letter-spacing:.1em!important;font-weight:900!important;color:#995371!important}
#app .vz151-recommendation h2{margin:4px 0 4px!important;font-size:22px!important;line-height:1.12!important}
#app .vz151-recommendation p{margin:0!important;max-width:66ch!important;color:#6f5965!important;font-size:14px!important;line-height:1.45!important}
#app .vz151-recommendation-actions{display:flex!important;gap:7px!important;align-items:center!important;flex-wrap:wrap!important;justify-content:flex-end!important}
#app .vz151-recommendation-actions a,#app .vz151-recommendation-actions button{min-height:40px!important;border-radius:12px!important;padding:0 12px!important;font-size:12px!important;font-weight:850!important;text-decoration:none!important;display:inline-flex!important;align-items:center!important;border:0!important}
#app .vz151-recommendation-actions a{background:#292420!important;color:#fff!important}
#app .vz151-recommendation-actions button{background:rgba(255,255,255,.58)!important;color:#6d4f5d!important}

/* Clima solo aparece cuando requiere algo o necesita configuración. */
#app .vz151-weather-strip,#app .vz150-weather-setup{margin:0!important;border-radius:18px!important;padding:12px 14px!important;font-size:13px!important}

/* ----------------------------- MI DÍA --------------------------------- */
#app .vz151-agenda-shell{
  width:min(var(--vz151-max),calc(100% - (var(--vz151-edge) * 2)))!important;
  max-width:var(--vz151-max)!important;margin:0 auto!important;padding:6px 0 calc(var(--vz151-nav-h) + 34px + env(safe-area-inset-bottom,0px))!important;
  box-sizing:border-box!important;display:grid!important;gap:14px!important;
}
#app .vz151-agenda-head{
  width:100%!important;box-sizing:border-box!important;display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:18px!important;
  padding:20px!important;border-radius:25px!important;background:var(--vz151-surface)!important;border:1px solid var(--vz151-line)!important;
}
#app .vz151-agenda-head small{font-size:10px!important;color:var(--vz151-orange)!important;letter-spacing:.12em!important;font-weight:900!important}
#app .vz151-agenda-head h1{margin:5px 0 4px!important;font-size:clamp(30px,4vw,44px)!important;line-height:1!important;letter-spacing:-.035em!important}
#app .vz151-agenda-head p{margin:0!important;color:var(--vz151-muted)!important;font-size:14px!important}
#app .vz151-agenda-head nav{display:flex!important;gap:8px!important;flex-wrap:wrap!important;justify-content:flex-end!important}
#app .vz151-agenda-head nav a{display:inline-flex!important;align-items:center!important;min-height:40px!important;padding:0 12px!important;border:1px solid var(--vz151-line)!important;border-radius:12px!important;background:#fff!important;color:inherit!important;font-size:12px!important;font-weight:850!important;text-decoration:none!important}
#app .vz151-agenda-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr)) auto!important;gap:7px!important;width:100%!important}
#app .vz151-agenda-tabs>button,#app .vz151-agenda-tabs>details>summary{min-height:44px!important;border:1px solid var(--vz151-line)!important;border-radius:13px!important;background:var(--vz151-surface)!important;color:var(--vz151-muted)!important;font-size:13px!important;font-weight:850!important;display:flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;list-style:none!important}
#app .vz151-agenda-tabs>button.active{background:#24211e!important;color:#fff!important;border-color:#24211e!important}
#app .vz151-agenda-tabs details{position:relative!important}
#app .vz151-agenda-tabs details>div{position:absolute!important;right:0!important;top:50px!important;z-index:9!important;display:grid!important;gap:5px!important;min-width:180px!important;padding:7px!important;border-radius:14px!important;background:#fff!important;box-shadow:0 14px 34px rgba(34,28,23,.16)!important}
#app .vz151-agenda-tabs details>div button{min-height:38px!important;border:0!important;border-radius:10px!important;background:transparent!important;text-align:left!important;padding:0 10px!important;font-size:12px!important;font-weight:800!important}
#app .vz151-agenda-tabs details>div button.active{background:#f0e9df!important}
#app .vz151-agenda-list{display:grid!important;gap:9px!important;width:100%!important}
#app .vz151-agenda-row{width:100%!important;display:block!important;padding:0!important;border-radius:20px!important;border:1px solid var(--vz151-line)!important;background:var(--vz151-surface)!important;overflow:hidden!important;box-shadow:none!important}
#app .vz151-agenda-main{width:100%!important;display:grid!important;grid-template-columns:34px minmax(0,1fr) 20px!important;gap:11px!important;align-items:center!important;padding:15px!important;border:0!important;background:transparent!important;text-align:left!important;color:inherit!important;cursor:pointer!important}
#app .vz151-agenda-check{width:31px!important;height:31px!important;border-radius:50%!important;background:#f2e9de!important;display:grid!important;place-items:center!important;font-size:17px!important;color:#8d5f3f!important}
#app .vz151-agenda-copy{display:grid!important;gap:3px!important;min-width:0!important}
#app .vz151-agenda-copy small{font-size:10px!important;line-height:1.25!important;color:var(--vz151-muted)!important;text-transform:uppercase!important;letter-spacing:.05em!important}
#app .vz151-agenda-copy strong{font-size:18px!important;line-height:1.25!important;overflow-wrap:anywhere!important}
#app .vz151-agenda-main>b{font-size:16px!important;color:#8d8177!important}
#app .vz151-agenda-detail{padding:0 15px 15px 60px!important;border-top:1px solid rgba(47,39,32,.07)!important}
#app .vz151-agenda-detail>p{margin:11px 0!important;color:var(--vz151-muted)!important;font-size:13px!important;line-height:1.45!important}
#app .vz151-agenda-actions{display:flex!important;flex-wrap:wrap!important;gap:7px!important;margin-top:11px!important}
#app .vz151-agenda-actions a,#app .vz151-agenda-actions button{min-height:39px!important;padding:0 11px!important;border:1px solid var(--vz151-line)!important;border-radius:11px!important;background:#fff!important;color:inherit!important;font-size:12px!important;font-weight:850!important;text-decoration:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
#app .vz151-agenda-actions .primary{background:#22201d!important;color:#fff!important;border-color:#22201d!important}
#app .vz151-agenda-actions .quiet{background:transparent!important}
#app .vz151-agenda-actions .danger{color:#9c3d35!important}
#app .vz151-agenda-empty{width:100%!important;box-sizing:border-box!important;display:grid!important;place-items:center!important;gap:8px!important;min-height:160px!important;padding:22px!important;border:1px dashed rgba(47,39,32,.16)!important;border-radius:20px!important;background:rgba(255,250,244,.55)!important;color:var(--vz151-muted)!important;text-align:center!important}
#app .vz151-agenda-empty span{font-size:25px!important}
#app .vz151-agenda-empty p{margin:0!important;font-size:15px!important}

/* Agenda completa = calendario real, no otro asistente paralelo. */
#app .ag-clean-calendar{width:min(var(--vz151-max),calc(100% - (var(--vz151-edge) * 2)))!important;max-width:var(--vz151-max)!important;margin:0 auto!important;padding:18px 0 calc(var(--vz151-nav-h) + 34px + env(safe-area-inset-bottom,0px))!important;box-sizing:border-box!important;background:transparent!important}
#app .ag-clean-header{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;gap:14px!important;padding:0 0 16px!important}
#app .ag-clean-header h1{font-size:34px!important;line-height:1!important;margin:3px 0 5px!important}
#app .ag-clean-header span{font-size:13px!important;color:var(--vz151-muted)!important}
#app .ag-new-event{min-height:42px!important;border:0!important;border-radius:13px!important;background:#24211e!important;color:#fff!important;padding:0 14px!important;font-size:12px!important;font-weight:850!important}
#app .ag-clean-calendar .ag-summary,#app .ag-clean-calendar .ag-capture{display:none!important}
#app .ag-clean-calendar .ag-tabs{margin:0 0 14px!important}
#app .ag-clean-calendar .ag-list{gap:10px!important}
#app .ag-clean-calendar .ag-item{background:var(--vz151-surface)!important;border-radius:17px!important}

/* ------------------------------ MÓVIL --------------------------------- */
@media(max-width:700px){
  :root{--vz151-edge:10px;--vz151-nav-h:68px}
  #app .vz13-topbar{width:calc(100% - 20px)!important;padding:12px 0 7px!important}
  #app .vz13-brand{font-size:15px!important}
  #app .vz149-brand-sun{width:26px!important;height:26px!important}
  #app .vz13-date{display:none!important}
  #app .vz13-share-shortcut em{display:none!important}
  #app .vz13-share-shortcut,#app .vz13-tier,#app .vz13-profile{min-width:38px!important;min-height:36px!important;padding:0 9px!important}

  #app .vz151-dashboard-shell,#app .vz151-agenda-shell{width:calc(100% - 20px)!important;gap:10px!important}
  #app .vz151-home-hero{
    grid-template-columns:1fr!important;justify-items:center!important;text-align:center!important;
    gap:13px!important;padding:17px 14px 16px!important;border-radius:24px!important;
  }
  #app .vz151-wheel{width:176px!important;height:176px!important;min-width:176px!important}
  #app .vz151-wheel-ring{inset:23px!important}
  #app .vz151-wheel-center{inset:58px!important}
  #app .vz151-wheel-center strong{font-size:38px!important}
  #app .vz151-wheel .vz150-wheel-node{width:54px!important;height:54px!important;min-width:54px!important;min-height:54px!important;border-radius:17px!important;padding:6px!important}
  #app .vz151-wheel .vz150-wheel-node span{font-size:19px!important}
  #app .vz151-wheel .vz150-wheel-node small{font-size:8px!important}
  #app .vz151-wheel .node-cycle{left:61px!important;top:0!important}
  #app .vz151-wheel .node-care{right:0!important;top:61px!important}
  #app .vz151-wheel .node-kitchen{left:61px!important;bottom:0!important}
  #app .vz151-wheel .node-agenda{left:0!important;top:61px!important}
  #app .vz151-home-copy{width:100%!important}
  #app .vz151-home-copy h1{font-size:34px!important;margin:4px 0 6px!important}
  #app .vz151-home-copy>p{font-size:16px!important;margin:auto!important;max-width:30ch!important}
  #app .vz151-home-meta{justify-content:center!important;margin-top:11px!important}
  #app .vz151-home-meta a{font-size:11px!important;min-height:34px!important;padding:7px 10px!important}
  #app .vz151-home-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important;margin-top:11px!important}
  #app .vz151-home-actions a{min-height:46px!important;font-size:14px!important;padding:0 10px!important}

  #app .vz151-priority{padding:15px!important;border-radius:20px!important}
  #app .vz151-priority-main h2{font-size:24px!important}
  #app .vz151-priority-main p{font-size:13px!important}
  #app .vz151-priority-actions button{flex:1 1 auto!important;min-height:42px!important;font-size:12px!important}

  #app .vz151-capture{padding:15px!important;border-radius:20px!important}
  #app .vz151-capture>label{font-size:17px!important}
  #app .vz151-capture .vz14-capture-line{grid-template-columns:minmax(0,1fr) 48px!important}
  #app .vz151-capture input{height:50px!important;font-size:16px!important}
  #app .vz151-capture button[type="submit"]{grid-column:1/-1!important;width:100%!important;min-width:0!important;min-height:46px!important;font-size:14px!important}
  #app .vz151-capture .vz14-voice-button{width:48px!important;min-width:48px!important;height:50px!important}

  #app .vz151-recommendation{grid-template-columns:1fr!important;gap:12px!important;padding:15px!important;border-radius:20px!important;text-align:left!important}
  #app .vz151-recommendation h2{font-size:21px!important}
  #app .vz151-recommendation p{font-size:13.5px!important}
  #app .vz151-recommendation-actions{justify-content:flex-start!important}

  #app .vz151-agenda-head{display:block!important;padding:16px!important;border-radius:20px!important}
  #app .vz151-agenda-head h1{font-size:30px!important}
  #app .vz151-agenda-head p{font-size:13.5px!important}
  #app .vz151-agenda-head nav{justify-content:flex-start!important;margin-top:12px!important}
  #app .vz151-agenda-head nav a{flex:1!important;justify-content:center!important;min-height:42px!important;font-size:12px!important}
  #app .vz151-agenda-tabs{grid-template-columns:repeat(3,minmax(0,1fr)) 44px!important}
  #app .vz151-agenda-tabs>button,#app .vz151-agenda-tabs>details>summary{min-height:43px!important;font-size:12px!important}
  #app .vz151-agenda-main{grid-template-columns:32px minmax(0,1fr) 18px!important;padding:14px 12px!important;gap:9px!important}
  #app .vz151-agenda-copy strong{font-size:17px!important}
  #app .vz151-agenda-detail{padding:0 12px 13px 53px!important}
  #app .vz151-agenda-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #app .vz151-agenda-actions a,#app .vz151-agenda-actions button{width:100%!important;min-height:42px!important;font-size:11.5px!important;padding:0 8px!important}

  #app .ag-clean-calendar{width:calc(100% - 20px)!important;padding-top:10px!important}
  #app .ag-clean-header{grid-template-columns:38px minmax(0,1fr)!important;gap:9px!important}
  #app .ag-clean-header .ag-new-event{grid-column:1/-1!important;width:100%!important}
  #app .ag-clean-header h1{font-size:30px!important}
  #app .ag-clean-header span{font-size:12.5px!important}

  /* Tab bar: integrada y con espacio reservado real. */
  #vitaliza-global-chrome .v-bottom-nav-vitaliza,.v-bottom-nav-vitaliza{
    width:100%!important;max-width:none!important;left:0!important;right:0!important;bottom:0!important;transform:none!important;
    min-height:var(--vz151-nav-h)!important;height:var(--vz151-nav-h)!important;border-radius:16px 16px 0 0!important;
    padding:6px 5px max(6px,env(safe-area-inset-bottom,0px))!important;
  }
  #vitaliza-global-chrome .v-bottom-nav-vitaliza a,.v-bottom-nav-vitaliza a{min-height:52px!important;padding:4px 2px!important}
  #vitaliza-global-chrome .v-bottom-nav-vitaliza small,.v-bottom-nav-vitaliza small{font-size:9px!important}
  #vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-primary .v-nav-glyph,.v-bottom-nav-vitaliza .v-nav-primary .v-nav-glyph{width:44px!important;height:44px!important;min-height:44px!important;margin-top:-16px!important}
}

@media(max-width:360px){
  :root{--vz151-edge:7px}
  #app .vz13-topbar,#app .vz151-dashboard-shell,#app .vz151-agenda-shell,#app .ag-clean-calendar{width:calc(100% - 14px)!important}
  #app .vz151-wheel{width:164px!important;height:164px!important;min-width:164px!important}
  #app .vz151-wheel .vz150-wheel-node{width:50px!important;height:50px!important;min-width:50px!important;min-height:50px!important}
  #app .vz151-wheel .node-cycle{left:57px!important}.vz151-wheel .node-care{top:57px!important}.vz151-wheel .node-kitchen{left:57px!important}.vz151-wheel .node-agenda{top:57px!important}
  #app .vz151-home-copy h1{font-size:31px!important}
}

/* 15.7.0 — en móvil el contenido termina ANTES de la tab bar: nunca queda debajo. */
@media(max-width:700px){
  #app>main.vz151-dashboard,
  #app>main.vz151-agenda-page,
  #app>main.ag-clean-calendar{
    height:calc(100dvh - var(--vz151-nav-h))!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior-y:contain!important;
    scrollbar-gutter:stable both-edges;
  }
  #app>main.vz151-dashboard .vz151-dashboard-shell,
  #app>main.vz151-agenda-page .vz151-agenda-shell{
    padding-bottom:28px!important;
  }
  #app>main.ag-clean-calendar{
    padding-bottom:28px!important;
  }
}


/* VITALIZA 15.7.0 — órbita premium sin superposición */
#app .vz151-wheel{
  width:260px!important;height:260px!important;min-width:260px!important;
  margin-inline:auto!important;position:relative!important;
}
#app .vz151-wheel-ring{inset:74px!important}
#app .vz151-wheel .vz150-wheel-center{inset:98px!important}
#app .vz151-wheel .vz150-wheel-center strong{font-size:38px!important;line-height:.95!important}
#app .vz151-wheel .vz150-wheel-center span{font-size:9px!important;letter-spacing:.09em!important}
#app .vz151-wheel .vz150-wheel-node{
  width:68px!important;height:68px!important;min-width:68px!important;min-height:68px!important;
  padding:7px!important;border-radius:22px!important;
  box-shadow:0 10px 28px rgba(49,42,33,.10)!important;
  border:1px solid rgba(31,30,27,.08)!important;
}
#app .vz151-wheel .vz150-wheel-node span{font-size:23px!important}
#app .vz151-wheel .vz150-wheel-node small{font-size:9.5px!important;line-height:1.05!important;letter-spacing:.01em!important}
#app .vz151-wheel .node-cycle{left:96px!important;top:0!important}
#app .vz151-wheel .node-care{right:0!important;top:96px!important}
#app .vz151-wheel .node-kitchen{left:96px!important;bottom:0!important}
#app .vz151-wheel .node-agenda{left:0!important;top:96px!important}

@media (max-width: 767px){
  #app .vz151-home-hero{padding:20px 16px 18px!important;gap:16px!important}
  #app .vz151-wheel{
    width:220px!important;height:220px!important;min-width:220px!important;
    margin:0 auto!important;
  }
  #app .vz151-wheel-ring{inset:68px!important}
  #app .vz151-wheel .vz150-wheel-center{inset:82px!important}
  #app .vz151-wheel .vz150-wheel-center strong{font-size:35px!important}
  #app .vz151-wheel .vz150-wheel-center span{font-size:8.5px!important}
  #app .vz151-wheel .vz150-wheel-node{
    width:62px!important;height:62px!important;min-width:62px!important;min-height:62px!important;
    border-radius:20px!important;padding:6px!important;
  }
  #app .vz151-wheel .vz150-wheel-node span{font-size:21px!important}
  #app .vz151-wheel .vz150-wheel-node small{font-size:9px!important}
  #app .vz151-wheel .node-cycle{left:79px!important;top:0!important}
  #app .vz151-wheel .node-care{right:0!important;top:79px!important}
  #app .vz151-wheel .node-kitchen{left:79px!important;bottom:0!important}
  #app .vz151-wheel .node-agenda{left:0!important;top:79px!important}
  #app .vz151-home-copy h1{font-size:clamp(34px,11vw,46px)!important;line-height:.98!important}
  #app .vz151-home-copy>p{font-size:17px!important;line-height:1.35!important}
  #app .vz151-home-meta{gap:8px!important}
  #app .vz151-home-meta a{font-size:13px!important;min-height:42px!important;padding:10px 12px!important}
  #app .vz151-home-actions{gap:8px!important}
  #app .vz151-home-actions a{font-size:15px!important;min-height:50px!important;padding:14px 16px!important}
}
@media (max-width: 360px){
  #app .vz151-home-hero{padding-inline:12px!important}
  #app .vz151-wheel{width:212px!important;height:212px!important;min-width:212px!important}
  #app .vz151-wheel-ring{inset:66px!important}
  #app .vz151-wheel .vz150-wheel-center{inset:80px!important}
  #app .vz151-wheel .vz150-wheel-node{
    width:60px!important;height:60px!important;min-width:60px!important;min-height:60px!important;
  }
  #app .vz151-wheel .node-cycle{left:76px!important;top:0!important}
  #app .vz151-wheel .node-care{right:0!important;top:76px!important}
  #app .vz151-wheel .node-kitchen{left:76px!important;bottom:0!important}
  #app .vz151-wheel .node-agenda{left:0!important;top:76px!important}
}

/* 15.7.0 — el aro queda visible como núcleo, separado físicamente de los accesos. */
#app .vz151-wheel .vz151-wheel-ring{
  display:block!important;opacity:1!important;z-index:1!important;
  background:conic-gradient(from -34deg,
    #f5d45b 0 18%,transparent 18% 25%,
    #a5b86f 25% 43%,transparent 43% 50%,
    #eca5ce 50% 68%,transparent 68% 75%,
    #aec5e7 75% 93%,transparent 93% 100%)!important;
}
#app .vz151-wheel .vz151-wheel-ring::after{
  content:""!important;position:absolute!important;inset:12px!important;border-radius:50%!important;
  background:var(--v15-surface)!important;
}
#app .vz151-wheel .vz150-wheel-center{z-index:3!important}

/* 15.7.0 — aro central estable: visible en todos los navegadores, sin tocar los accesos. */
#app .vz151-wheel .vz151-wheel-ring{
  background:transparent!important;
  border:7px solid #ece4d9!important;
  box-sizing:border-box!important;
  box-shadow:0 4px 16px rgba(48,39,30,.04)!important;
}
#app .vz151-wheel .vz151-wheel-ring::after{display:none!important}

/* 15.7.0 — Dashboard/Mi día tienen un único scroll interno; el footer público no duplica el lienzo móvil. */
@media(max-width:700px){
  body:has(#app > main.vz151-dashboard) .vitaliza-public-footer,
  body:has(#app > main.vz151-agenda-page) .vitaliza-public-footer{display:none!important}
  body:has(#app > main.vz151-dashboard),
  body:has(#app > main.vz151-agenda-page){height:100dvh!important;overflow-y:hidden!important}
}

/* ======================================================================
   VITALIZA FINAL — HOY / ÓRBITA
   Fuente visual única para la cabecera final. Clases nuevas para no heredar
   geometrías de las ruedas históricas 14.x/15.x.
   ====================================================================== */
#app .vzf-hero{
  width:100%;
  box-sizing:border-box;
  display:grid;
  grid-template-columns:minmax(260px,300px) minmax(0,1fr);
  align-items:center;
  gap:clamp(26px,4vw,54px);
  padding:clamp(22px,3vw,34px);
  border:1px solid rgba(40,34,29,.08);
  border-radius:30px;
  background:#fffaf4;
  box-shadow:0 16px 50px rgba(50,40,30,.055);
}
#app .vzf-orbit{
  --orbit-node:68px;
  position:relative;
  width:min(278px,100%);
  aspect-ratio:1;
  margin-inline:auto;
  flex:0 0 auto;
}
#app .vzf-orbit-svg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
}
#app .vzf-orbit-base,
#app .vzf-orbit-arc{
  fill:none;
  vector-effect:non-scaling-stroke;
}
#app .vzf-orbit-base{stroke:#e9e0d5;stroke-width:9}
#app .vzf-orbit-arc{
  stroke-width:13;
  stroke-linecap:round;
}
#app .vzf-orbit-arc.arc-cycle{stroke:#eda7d0}
#app .vzf-orbit-arc.arc-care{stroke:#a8ba72}
#app .vzf-orbit-arc.arc-kitchen{stroke:#f4d35d}
#app .vzf-orbit-arc.arc-day{stroke:#aec5e8}
#app .vzf-orbit-node{
  position:absolute;
  z-index:3;
  width:var(--orbit-node);
  height:var(--orbit-node);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  box-sizing:border-box;
  border:1px solid rgba(31,30,27,.08);
  border-radius:22px;
  color:#24211e;
  text-decoration:none;
  box-shadow:0 10px 26px rgba(55,45,34,.075);
  transition:transform .16s ease,box-shadow .16s ease;
}
#app .vzf-orbit-node:active{transform:scale(.97)}
#app .vzf-orbit-node span{font-size:24px;line-height:1;font-weight:500}
#app .vzf-orbit-node small{
  font-size:10px;
  line-height:1;
  font-weight:900;
  letter-spacing:.035em;
  text-transform:uppercase;
  white-space:nowrap;
}
#app .vzf-orbit-node.node-cycle{top:0;left:50%;transform:translateX(-50%);background:#f7d4e8}
#app .vzf-orbit-node.node-day{left:0;top:50%;transform:translateY(-50%);background:#dbe7f7}
#app .vzf-orbit-node.node-care{right:0;top:50%;transform:translateY(-50%);background:#dce8c6}
#app .vzf-orbit-node.node-kitchen{bottom:0;left:50%;transform:translateX(-50%);background:#fff0b6}
#app .vzf-orbit-node.node-cycle:active,#app .vzf-orbit-node.node-kitchen:active{transform:translateX(-50%) scale(.97)}
#app .vzf-orbit-node.node-day:active,#app .vzf-orbit-node.node-care:active{transform:translateY(-50%) scale(.97)}
#app .vzf-orbit-center{
  position:absolute;
  z-index:2;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:92px;
  height:92px;
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:#24211e;
  text-decoration:none;
  background:#fffaf4;
}
#app .vzf-orbit-center strong{font-size:46px;line-height:.88;letter-spacing:-.055em;font-weight:760}
#app .vzf-orbit-center span{margin-top:9px;font-size:9px;line-height:1;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#716a62}
#app .vzf-hero-copy{min-width:0;text-align:left}
#app .vzf-hero-copy>small{display:block;color:#e86e27;font-size:11px;font-weight:900;letter-spacing:.13em}
#app .vzf-hero-copy h1{margin:5px 0 8px;font-size:clamp(40px,5vw,60px);line-height:.94;letter-spacing:-.05em}
#app .vzf-hero-copy>p{margin:0;color:#6b655e;font-size:17px;line-height:1.38;max-width:34ch}
#app .vzf-cycle-chip{
  width:max-content;
  max-width:100%;
  min-height:38px;
  margin-top:15px;
  padding:8px 12px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  border-radius:999px;
  background:#fff1e5;
  color:#28231f;
  text-decoration:none;
  font-size:12px;
  font-weight:850;
}
#app .vzf-cycle-chip span{color:#df6927}
#app .vzf-hero-actions{display:flex;gap:9px;margin-top:15px}
#app .vzf-hero-actions a{
  min-height:48px;
  padding:0 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  background:#ede8e0;
  color:#211f1c;
  text-decoration:none;
  font-size:14px;
  font-weight:900;
}
#app .vzf-hero-actions a.primary{background:#211f1c;color:#fff}

/* Pendiente principal: objeto real, no otro portal de navegación. */
#app .vzf-priority{padding:17px 18px;border-radius:22px}
#app .vzf-priority header{margin-bottom:6px}
#app .vzf-priority-main h2{font-size:clamp(23px,3vw,30px)}
#app .vzf-priority-actions{margin-top:13px}

@media(max-width:700px){
  #app .vzf-hero{
    grid-template-columns:1fr;
    justify-items:center;
    gap:12px;
    padding:16px 14px 17px;
    border-radius:24px;
  }
  #app .vzf-orbit{
    --orbit-node:64px;
    width:clamp(242px,72vw,268px);
  }
  #app .vzf-orbit-node{border-radius:20px}
  #app .vzf-orbit-node span{font-size:22px}
  #app .vzf-orbit-node small{font-size:9.5px}
  #app .vzf-orbit-center{width:88px;height:88px}
  #app .vzf-orbit-center strong{font-size:43px}
  #app .vzf-hero-copy{width:100%;text-align:left}
  #app .vzf-hero-copy h1{font-size:clamp(36px,11vw,46px);margin-top:4px}
  #app .vzf-hero-copy>p{font-size:16.5px;max-width:none}
  #app .vzf-cycle-chip{margin-top:12px;min-height:36px;font-size:12px}
  #app .vzf-hero-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;margin-top:12px}
  #app .vzf-hero-actions a{min-height:50px;padding:0 10px;font-size:15px}
  #app .vzf-priority{padding:15px 14px}
  #app .vzf-priority-main h2{font-size:24px}
  #app .vzf-priority-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  #app .vzf-priority-actions button{min-width:0;padding:0 7px;font-size:11.5px}
}
@media(max-width:360px){
  #app .vzf-hero{padding-inline:11px}
  #app .vzf-orbit{--orbit-node:58px;width:236px}
  #app .vzf-orbit-node{border-radius:18px}
  #app .vzf-orbit-node span{font-size:20px}
  #app .vzf-orbit-node small{font-size:8.7px}
  #app .vzf-orbit-center{width:80px;height:80px}
  #app .vzf-orbit-center strong{font-size:38px}
  #app .vzf-orbit-center span{font-size:8px;margin-top:7px}
  #app .vzf-hero-copy h1{font-size:35px}
  #app .vzf-hero-actions a{font-size:14px}
}

/* VITALIZA 15.7.0 — escritorio: navegación lateral compacta que nunca tapa
   formularios ni botones. El contenido permanece centrado; el rail es global. */
@media (min-width:1000px){
  #vitaliza-global-chrome .v-bottom-nav-vitaliza,
  .v-bottom-nav-vitaliza{
    left:14px!important;right:auto!important;top:50%!important;bottom:auto!important;
    transform:translateY(-50%)!important;width:78px!important;max-width:78px!important;
    height:auto!important;min-height:0!important;padding:9px 7px!important;
    display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:5px!important;
    border-radius:24px!important;background:rgba(31,30,27,.985)!important;
    box-shadow:0 14px 38px rgba(22,20,18,.20)!important;
  }
  #vitaliza-global-chrome .v-bottom-nav-vitaliza a,
  .v-bottom-nav-vitaliza a{
    width:64px!important;min-width:64px!important;min-height:58px!important;padding:7px 3px!important;
    transform:none!important;border-radius:17px!important;color:rgba(255,255,255,.64)!important;
  }
  #vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-primary,
  .v-bottom-nav-vitaliza .v-nav-primary{transform:none!important;color:#fff!important}
  #vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-primary .v-nav-glyph,
  .v-bottom-nav-vitaliza .v-nav-primary .v-nav-glyph{
    width:42px!important;height:42px!important;min-height:42px!important;margin:0!important;
    border:2px solid rgba(255,255,255,.18)!important;background:var(--v15-orange)!important;box-shadow:none!important;
  }
  #vitaliza-global-chrome .v-bottom-nav-vitaliza small,
  .v-bottom-nav-vitaliza small{font-size:9px!important;color:inherit!important}
  #app > main,#app > .screen,#app main[class*="-page"]{padding-bottom:44px!important;scroll-padding-bottom:44px!important}
}

/* Mi día final: neutraliza la antigua grilla de .vz14-agenda-row en escritorio.
   Sin esto el botón completo caía dentro de la columna heredada de 10px. */
#app .vz150-agenda-page .vz151-agenda-row{
  display:block!important;
  grid-template-columns:none!important;
  gap:0!important;
  padding:0!important;
}

/* ======================================================================
   VITALIZA 15.7.0 — cierre visual mobile-first
   Un solo sistema: la órbita es un control circular, no cuatro tarjetas.
   ====================================================================== */
#app .vzf-hero{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  padding:12px 4px 18px!important;
}
#app .vzf-orbit{
  width:252px!important;
  max-width:100%!important;
}
#app .vzf-orbit-base{stroke:#e6ddd1!important;stroke-width:7!important}
#app .vzf-orbit-arc{stroke-width:15!important;filter:none!important}
#app .vzf-orbit-node{
  width:78px!important;height:64px!important;
  border:0!important;background:transparent!important;box-shadow:none!important;
  border-radius:0!important;gap:5px!important;
  color:#23201d!important;
}
#app .vzf-orbit-node span{
  width:40px!important;height:40px!important;border-radius:50%!important;
  display:grid!important;place-items:center!important;
  font-size:20px!important;line-height:1!important;
  border:1px solid rgba(40,34,29,.07)!important;
  box-shadow:0 6px 18px rgba(48,39,30,.06)!important;
}
#app .vzf-orbit-node small{
  font-size:10.5px!important;letter-spacing:.01em!important;text-transform:none!important;
  font-weight:800!important;
}
#app .vzf-orbit-node.node-cycle{top:-3px!important;left:50%!important;background:transparent!important}
#app .vzf-orbit-node.node-cycle span{background:#f7d4e8!important}
#app .vzf-orbit-node.node-day{left:-7px!important;top:50%!important;background:transparent!important}
#app .vzf-orbit-node.node-day span{background:#dbe7f7!important}
#app .vzf-orbit-node.node-care{right:-7px!important;top:50%!important;background:transparent!important}
#app .vzf-orbit-node.node-care span{background:#dce8c6!important}
#app .vzf-orbit-node.node-kitchen{bottom:-3px!important;left:50%!important;background:transparent!important}
#app .vzf-orbit-node.node-kitchen span{background:#fff0b6!important}
#app .vzf-orbit-center{
  width:108px!important;height:108px!important;
  background:#fffaf4!important;
  border:1px solid rgba(40,34,29,.075)!important;
  box-shadow:0 9px 26px rgba(48,39,30,.045)!important;
}
#app .vzf-orbit-center strong{font-size:50px!important;font-weight:740!important}
#app .vzf-orbit-center span{font-size:9px!important;margin-top:8px!important;color:#6c655e!important}

#app .vzf-hero-copy>small{font-size:12px!important}
#app .vzf-hero-copy h1{font-size:clamp(42px,5vw,58px)!important}
#app .vzf-hero-copy>p{font-size:17px!important;color:#625d56!important}
#app .vzf-cycle-chip{
  background:transparent!important;border:1px solid rgba(232,110,39,.18)!important;
  border-radius:12px!important;padding:8px 10px!important;
}
#app .vzf-hero-actions a{border-radius:15px!important;box-shadow:none!important}

/* Pendiente principal: superficie sobria con acento, no una tarjeta azul gigante. */
#app .vz151-priority.vzf-priority{
  background:#fffaf4!important;
  border:1px solid rgba(41,35,30,.08)!important;
  border-left:4px solid #aec5e8!important;
  box-shadow:0 12px 34px rgba(48,39,30,.045)!important;
  border-radius:20px!important;
}
#app .vzf-priority header small{color:#5e7696!important;letter-spacing:.09em!important}
#app .vzf-priority-main{background:transparent!important;border:0!important;padding:0!important;text-align:left!important}
#app .vzf-priority-main h2{font-weight:760!important;letter-spacing:-.035em!important}
#app .vzf-priority-main b{font-size:28px!important}
#app .vzf-priority-actions button{
  border-radius:12px!important;border:1px solid rgba(37,32,28,.10)!important;
  background:#fff!important;color:#27231f!important;box-shadow:none!important;
}
#app .vzf-priority-actions button[data-primary-done]{background:#25221f!important;color:#fff!important;border-color:#25221f!important}
#app .vzf-priority-actions button[data-primary-dismiss]{background:transparent!important;color:#7d4d46!important}

/* Captura más nativa, menos bloque dentro de bloque. */
#app .vz151-capture{
  background:transparent!important;border:0!important;box-shadow:none!important;
  padding:8px 2px 4px!important;border-radius:0!important;
}
#app .vz151-capture>label{font-size:18px!important;letter-spacing:-.015em!important}
#app .vz151-capture input{background:#fffaf4!important;border-color:rgba(41,35,30,.10)!important}
#app .vz151-capture button[type="submit"]{border-radius:14px!important}

/* Recomendación única, menos ruido visual. */
#app .vz151-recommendation{
  background:#f7f2ea!important;border:0!important;box-shadow:none!important;border-radius:18px!important;
}

@media(max-width:700px){
  :root{--vz151-edge:8px}
  #app .vz13-topbar,#app .vz151-dashboard-shell,#app .vz151-agenda-shell,#app .ag-clean-calendar{width:calc(100% - 16px)!important}
  #app .vz151-dashboard-shell{gap:14px!important}
  #app .vzf-hero{
    display:flex!important;flex-direction:column!important;align-items:stretch!important;
    gap:14px!important;padding:7px 2px 12px!important;text-align:left!important;
  }
  #app .vzf-hero-copy{order:1!important;text-align:left!important;width:100%!important;padding:0 5px!important;box-sizing:border-box!important}
  #app .vzf-orbit{order:2!important;width:244px!important;margin:2px auto 0!important}
  #app .vzf-hero-copy h1{font-size:clamp(40px,12vw,50px)!important;margin:4px 0 6px!important}
  #app .vzf-hero-copy>p{font-size:17px!important;line-height:1.3!important}
  #app .vzf-hero-actions{margin-top:13px!important;gap:8px!important}
  #app .vzf-hero-actions a{min-height:50px!important;font-size:15px!important}
  #app .vzf-cycle-chip{margin-top:11px!important;font-size:12.5px!important}
  #app .vzf-orbit-node{width:74px!important;height:62px!important}
  #app .vzf-orbit-node span{width:38px!important;height:38px!important;font-size:19px!important}
  #app .vzf-orbit-node small{font-size:10px!important}
  #app .vzf-orbit-center{width:104px!important;height:104px!important}
  #app .vzf-orbit-center strong{font-size:47px!important}
  #app .vz151-priority.vzf-priority{padding:16px 14px!important}
  #app .vzf-priority-main h2{font-size:26px!important}
  #app .vzf-priority-actions{grid-template-columns:1fr 1fr auto!important}
  #app .vzf-priority-actions button{min-height:44px!important;font-size:12.5px!important;padding-inline:12px!important}
  #app .vz151-capture{padding-inline:2px!important}
}
@media(max-width:360px){
  #app .vzf-orbit{width:228px!important}
  #app .vzf-orbit-node{width:68px!important;height:58px!important}
  #app .vzf-orbit-node span{width:36px!important;height:36px!important}
  #app .vzf-orbit-center{width:98px!important;height:98px!important}
  #app .vzf-orbit-center strong{font-size:44px!important}
  #app .vzf-priority-actions{grid-template-columns:1fr 1fr 1fr!important}
  #app .vzf-priority-actions button{padding-inline:7px!important;font-size:11.5px!important}
}

/* 15.7.0 — teléfonos bajos/estrechos: primera pantalla útil, sin quedar debajo del dock. */
@media (max-width:340px), (max-width:700px) and (max-height:680px){
  #app .vz13-topbar{padding-top:8px!important;padding-bottom:4px!important}
  #app .vzf-hero{gap:8px!important;padding-top:4px!important;padding-bottom:8px!important}
  #app .vzf-hero-copy h1{font-size:36px!important;margin:2px 0 3px!important}
  #app .vzf-hero-copy>p{font-size:15px!important}
  #app .vzf-cycle-chip{min-height:30px!important;margin-top:7px!important;padding:5px 8px!important;font-size:10.5px!important;border-radius:9px!important}
  #app .vzf-hero-actions{margin-top:8px!important}
  #app .vzf-hero-actions a{min-height:44px!important;font-size:13px!important}
  #app .vzf-orbit{width:198px!important;margin-top:0!important}
  #app .vzf-orbit-node{width:60px!important;height:50px!important;gap:3px!important}
  #app .vzf-orbit-node span{width:32px!important;height:32px!important;font-size:16px!important}
  #app .vzf-orbit-node small{font-size:8.5px!important}
  #app .vzf-orbit-center{width:84px!important;height:84px!important}
  #app .vzf-orbit-center strong{font-size:38px!important}
  #app .vzf-orbit-center span{font-size:7px!important;margin-top:5px!important}
  #app .vz151-dashboard-shell{gap:9px!important}
}

/* ======================================================================
   VITALIZA 15.7.0 — PREMIUM PASS
   Capa visual final sobre 15.7.0. No cambia datos, rutas ni integraciones.
   Objetivo: menos "tarjetas web", más jerarquía, aire y precisión móvil.
   ====================================================================== */
:root{
  --vz155-canvas:#f6f0e8;
  --vz155-surface:#fffaf4;
  --vz155-surface-strong:#fffdf9;
  --vz155-ink:#24211e;
  --vz155-muted:#746d65;
  --vz155-line:rgba(42,35,30,.095);
  --vz155-line-strong:rgba(42,35,30,.14);
  --vz155-orange:#ef7429;
  --vz155-orange-soft:#f9e5d5;
  --vz155-shadow:0 10px 30px rgba(48,39,30,.045);
}
html,body{background:var(--vz155-canvas)!important}
#app .vz151-dashboard,#app .vz151-agenda-page{background:var(--vz155-canvas)!important;color:var(--vz155-ink)!important}

/* Chrome: menos cápsulas, mejor alineación y contraste. */
#app .vz13-topbar{max-width:900px!important}
#app .vz13-brand{letter-spacing:.105em!important;font-weight:900!important}
#app .vz13-topmeta{gap:7px!important}
#app .vz13-share-shortcut,#app .vz13-profile{
  width:38px!important;min-width:38px!important;height:38px!important;min-height:38px!important;
  padding:0!important;border-radius:50%!important;background:rgba(255,250,244,.72)!important;
  border:1px solid var(--vz155-line)!important;box-shadow:none!important;
}
#app .vz13-tier{
  min-height:38px!important;padding:0 12px!important;border-radius:999px!important;
  background:rgba(255,250,244,.78)!important;border:1px solid var(--vz155-line)!important;
  box-shadow:none!important;font-size:11px!important;letter-spacing:.04em!important;
}
#app .vz13-share-shortcut b{color:var(--vz155-orange)!important;font-size:15px!important}

/* HOY: un hero editorial, sin contenedor decorativo. */
#app .vz151-dashboard-shell{max-width:820px!important}
#app .vzf-hero{
  padding:10px 2px 16px!important;gap:24px!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
}
#app .vzf-hero-copy>small{
  color:var(--vz155-orange)!important;font-size:11px!important;line-height:1!important;
  letter-spacing:.14em!important;font-weight:900!important;
}
#app .vzf-hero-copy h1{
  margin:6px 0 6px!important;font-size:clamp(40px,5vw,54px)!important;line-height:.98!important;
  letter-spacing:-.052em!important;font-weight:770!important;color:var(--vz155-ink)!important;
}
#app .vzf-hero-copy>p{
  color:var(--vz155-muted)!important;font-size:16px!important;line-height:1.36!important;font-weight:450!important;
}
#app .vzf-cycle-chip{
  min-height:34px!important;margin-top:12px!important;padding:6px 9px!important;
  border:1px solid rgba(239,116,41,.17)!important;border-radius:10px!important;
  background:rgba(255,250,244,.48)!important;color:#4d4540!important;
  box-shadow:none!important;font-size:11.5px!important;font-weight:800!important;
}
#app .vzf-cycle-chip span{color:var(--vz155-orange)!important}

/* Órbita: el círculo se conserva como núcleo, pero deja de parecer un juguete. */
#app .vzf-orbit{width:248px!important;max-width:100%!important}
#app .vzf-orbit-base{stroke:#e5ddd2!important;stroke-width:5!important}
#app .vzf-orbit-arc{stroke-width:9!important;stroke-linecap:round!important}
#app .vzf-orbit-arc.arc-cycle{stroke:#e7a7ca!important}
#app .vzf-orbit-arc.arc-care{stroke:#a9b879!important}
#app .vzf-orbit-arc.arc-kitchen{stroke:#efcc59!important}
#app .vzf-orbit-arc.arc-day{stroke:#a9bfdf!important}
#app .vzf-orbit-node{
  width:68px!important;height:54px!important;gap:4px!important;
  color:#332e2a!important;background:transparent!important;border:0!important;box-shadow:none!important;
}
#app .vzf-orbit-node span{
  width:35px!important;height:35px!important;border-radius:50%!important;
  border:1px solid rgba(45,38,32,.075)!important;box-shadow:none!important;
  font-size:17px!important;font-weight:650!important;color:#292521!important;
}
#app .vzf-orbit-node small{
  color:#3e3934!important;font-size:9.5px!important;line-height:1!important;
  font-weight:800!important;letter-spacing:0!important;text-transform:none!important;
}
#app .vzf-orbit-node.node-cycle{top:1px!important}
#app .vzf-orbit-node.node-day{left:-8px!important}
#app .vzf-orbit-node.node-care{right:-8px!important}
#app .vzf-orbit-node.node-kitchen{bottom:1px!important}
#app .vzf-orbit-node.node-cycle span{background:#f5d9e8!important}
#app .vzf-orbit-node.node-day span{background:#e1e9f5!important}
#app .vzf-orbit-node.node-care span{background:#e2ead3!important}
#app .vzf-orbit-node.node-kitchen span{background:#fbefc2!important}
#app .vzf-orbit-center{
  width:96px!important;height:96px!important;background:var(--vz155-surface-strong)!important;
  border:1px solid rgba(44,37,31,.08)!important;
  box-shadow:0 0 0 7px rgba(255,250,244,.62)!important;
}
#app .vzf-orbit-center strong{
  color:var(--vz155-ink)!important;font-size:45px!important;line-height:.86!important;font-weight:730!important;
}
#app .vzf-orbit-center span{
  margin-top:8px!important;color:#746d65!important;font-size:8px!important;letter-spacing:.095em!important;font-weight:900!important;
}

#app .vzf-hero-actions{gap:8px!important;margin-top:13px!important}
#app .vzf-hero-actions a{
  min-height:46px!important;border-radius:13px!important;padding:0 16px!important;
  border:1px solid var(--vz155-line)!important;background:rgba(255,250,244,.72)!important;
  color:var(--vz155-ink)!important;box-shadow:none!important;font-size:14px!important;font-weight:850!important;
}
#app .vzf-hero-actions a.primary{
  background:var(--vz155-ink)!important;color:#fff!important;border-color:var(--vz155-ink)!important;
}

/* Pendiente principal: una superficie de trabajo, no una tarjeta promocional. */
#app .vz151-priority.vzf-priority{
  padding:16px 16px 15px!important;border:1px solid var(--vz155-line)!important;border-left:1px solid var(--vz155-line)!important;
  border-radius:18px!important;background:var(--vz155-surface)!important;box-shadow:var(--vz155-shadow)!important;
}
#app .vzf-priority header{margin-bottom:5px!important}
#app .vzf-priority header small{
  color:#6f7f95!important;font-size:9.5px!important;letter-spacing:.105em!important;font-weight:900!important;
}
#app .vzf-priority-main{min-height:44px!important}
#app .vzf-priority-main h2{
  font-size:clamp(22px,3vw,28px)!important;line-height:1.08!important;letter-spacing:-.036em!important;font-weight:760!important;
}
#app .vzf-priority-main b{font-size:25px!important;font-weight:500!important}
#app .vzf-priority-actions{gap:7px!important;margin-top:12px!important}
#app .vzf-priority-actions button{
  min-height:42px!important;border-radius:11px!important;border:1px solid var(--vz155-line)!important;
  background:#fffdf9!important;color:#302b27!important;font-size:12px!important;font-weight:820!important;box-shadow:none!important;
}
#app .vzf-priority-actions button[data-primary-done]{background:var(--vz155-ink)!important;color:#fff!important;border-color:var(--vz155-ink)!important}
#app .vzf-priority-actions button[data-primary-later]{background:#f8f4ee!important}
#app .vzf-priority-actions button[data-primary-dismiss]{background:transparent!important;border-color:transparent!important;color:#8b5149!important}

/* Captura: una entrada nativa, sin "tarjeta dentro de tarjeta". */
#app .vz151-capture{padding:9px 1px 3px!important}
#app .vz151-capture>label{margin-bottom:9px!important;font-size:17px!important;font-weight:760!important;color:#37322e!important}
#app .vz151-capture input{
  background:var(--vz155-surface)!important;border:1px solid var(--vz155-line-strong)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72)!important;
}
#app .vz151-capture button[type="submit"]{background:var(--vz155-ink)!important;color:#fff!important;border:0!important;box-shadow:none!important}

/* MI DÍA: el encabezado deja de ser otra tarjeta y pasa a ser estructura. */
#app .vz151-agenda-shell{max-width:820px!important;gap:12px!important}
#app .vz151-agenda-head{
  padding:14px 4px 10px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
}
#app .vz151-agenda-head small{font-size:10px!important;color:var(--vz155-orange)!important;letter-spacing:.13em!important}
#app .vz151-agenda-head h1{
  margin:5px 0 5px!important;font-size:clamp(31px,4vw,42px)!important;line-height:.98!important;letter-spacing:-.04em!important;font-weight:760!important;
}
#app .vz151-agenda-head p{font-size:13.5px!important;color:var(--vz155-muted)!important}
#app .vz151-agenda-head nav{gap:7px!important}
#app .vz151-agenda-head nav a{
  min-height:38px!important;padding:0 12px!important;border-radius:11px!important;
  background:rgba(255,250,244,.66)!important;border:1px solid var(--vz155-line)!important;
  font-size:11.5px!important;font-weight:820!important;box-shadow:none!important;
}
#app .vz151-agenda-tabs{
  gap:4px!important;padding:4px!important;border-radius:15px!important;
  background:#eae2d8!important;border:0!important;
}
#app .vz151-agenda-tabs>button,#app .vz151-agenda-tabs>details>summary{
  min-height:39px!important;border:0!important;border-radius:11px!important;
  background:transparent!important;color:#746d65!important;font-size:12px!important;font-weight:820!important;
}
#app .vz151-agenda-tabs>button.active{
  background:var(--vz155-surface-strong)!important;color:var(--vz155-ink)!important;
  border:0!important;box-shadow:0 1px 4px rgba(45,37,31,.075)!important;
}
#app .vz151-agenda-list{gap:8px!important}
#app .vz151-agenda-row{
  border:1px solid var(--vz155-line)!important;border-radius:16px!important;
  background:rgba(255,250,244,.78)!important;box-shadow:none!important;overflow:hidden!important;
}
#app .vz151-agenda-main{min-height:64px!important}
#app .vz151-agenda-check{
  width:28px!important;height:28px!important;border-radius:50%!important;
  background:#f2e8dc!important;color:#9a7354!important;font-size:15px!important;
  display:grid!important;place-items:center!important;
}
#app .vz151-agenda-copy small{
  color:#817970!important;font-size:9px!important;letter-spacing:.055em!important;font-weight:850!important;
}
#app .vz151-agenda-copy strong{
  color:var(--vz155-ink)!important;font-size:17px!important;line-height:1.24!important;letter-spacing:-.018em!important;font-weight:750!important;
}
#app .vz151-agenda-main>b{color:#8b837a!important;font-size:15px!important}
#app .vz151-agenda-detail{border-color:rgba(42,35,30,.065)!important}
#app .vz151-agenda-actions a,#app .vz151-agenda-actions button{
  border-radius:10px!important;border-color:var(--vz155-line)!important;background:#fffdf9!important;box-shadow:none!important;
}

/* Dock móvil: integrado al sistema, menos bloque negro protagonista. */
@media(max-width:700px){
  :root{--vz151-nav-h:66px}
  #app .vz13-topbar{width:calc(100% - 24px)!important;padding:11px 0 5px!important}
  #app .vz13-brand{font-size:13px!important}
  #app .vz149-brand-sun{width:24px!important;height:24px!important}
  #app .vz13-share-shortcut,#app .vz13-profile{width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important}
  #app .vz13-tier{min-height:36px!important;padding:0 11px!important}

  #app .vz151-dashboard-shell,#app .vz151-agenda-shell{width:calc(100% - 28px)!important;gap:11px!important}
  #app .vzf-hero{gap:11px!important;padding:6px 0 10px!important}
  #app .vzf-hero-copy{padding:0!important}
  #app .vzf-hero-copy h1{font-size:clamp(38px,11vw,44px)!important;margin:4px 0 4px!important}
  #app .vzf-hero-copy>p{font-size:15.5px!important;line-height:1.32!important}
  #app .vzf-cycle-chip{margin-top:9px!important;min-height:32px!important;font-size:11px!important}
  #app .vzf-hero-actions{margin-top:10px!important}
  #app .vzf-hero-actions a{min-height:44px!important;font-size:13.5px!important}
  #app .vzf-orbit{width:224px!important;margin:2px auto 1px!important}
  #app .vzf-orbit-node{width:62px!important;height:50px!important}
  #app .vzf-orbit-node span{width:34px!important;height:34px!important;font-size:16px!important}
  #app .vzf-orbit-node small{font-size:9px!important}
  #app .vzf-orbit-node.node-day{left:-5px!important}
  #app .vzf-orbit-node.node-care{right:-5px!important}
  #app .vzf-orbit-center{width:90px!important;height:90px!important;box-shadow:0 0 0 6px rgba(255,250,244,.58)!important}
  #app .vzf-orbit-center strong{font-size:42px!important}
  #app .vzf-orbit-center span{font-size:7.5px!important;margin-top:6px!important}

  #app .vz151-priority.vzf-priority{padding:14px 13px 13px!important;border-radius:17px!important}
  #app .vzf-priority-main h2{font-size:23px!important}
  #app .vzf-priority-actions{grid-template-columns:1fr 1fr auto!important}
  #app .vzf-priority-actions button{min-height:40px!important;font-size:11.5px!important;padding-inline:10px!important}
  #app .vzf-priority-actions button[data-primary-dismiss]{padding-inline:7px!important}

  #app .vz151-agenda-head{padding:10px 1px 7px!important}
  #app .vz151-agenda-head h1{font-size:31px!important}
  #app .vz151-agenda-head nav{margin-top:10px!important}
  #app .vz151-agenda-head nav a{min-height:39px!important;background:transparent!important}
  #app .vz151-agenda-tabs{grid-template-columns:repeat(3,minmax(0,1fr)) 40px!important}
  #app .vz151-agenda-tabs>button,#app .vz151-agenda-tabs>details>summary{min-height:38px!important}
  #app .vz151-agenda-main{padding:13px 11px!important;grid-template-columns:30px minmax(0,1fr) 16px!important;gap:9px!important}
  #app .vz151-agenda-copy strong{font-size:16px!important}
  #app .vz151-agenda-detail{padding:0 11px 12px 50px!important}

  #vitaliza-global-chrome .v-bottom-nav-vitaliza,.v-bottom-nav-vitaliza{
    min-height:var(--vz151-nav-h)!important;height:var(--vz151-nav-h)!important;
    border-radius:15px 15px 0 0!important;background:rgba(31,29,27,.985)!important;
    box-shadow:0 -7px 22px rgba(25,22,20,.095)!important;
  }
  #vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-primary .v-nav-glyph,.v-bottom-nav-vitaliza .v-nav-primary .v-nav-glyph{
    width:42px!important;height:42px!important;min-height:42px!important;margin-top:-14px!important;
    border-width:2px!important;box-shadow:0 4px 12px rgba(0,0,0,.12)!important;
  }
}

@media(max-width:360px){
  #app .vz151-dashboard-shell,#app .vz151-agenda-shell{width:calc(100% - 22px)!important}
  #app .vzf-hero-copy h1{font-size:35px!important}
  #app .vzf-hero-copy>p{font-size:14.5px!important}
  #app .vzf-orbit{width:196px!important}
  #app .vzf-orbit-node{width:58px!important;height:46px!important}
  #app .vzf-orbit-node span{width:31px!important;height:31px!important;font-size:15px!important}
  #app .vzf-orbit-node small{font-size:8px!important}
  #app .vzf-orbit-center{width:80px!important;height:80px!important}
  #app .vzf-orbit-center strong{font-size:37px!important}
  #app .vzf-hero-actions a{min-height:42px!important;font-size:12.5px!important}
  #app .vzf-priority-main h2{font-size:21px!important}
}

@media (max-width:340px), (max-width:700px) and (max-height:680px){
  #app .vzf-hero{gap:7px!important;padding-top:2px!important;padding-bottom:7px!important}
  #app .vzf-hero-copy h1{font-size:33px!important}
  #app .vzf-cycle-chip{margin-top:6px!important}
  #app .vzf-hero-actions{margin-top:7px!important}
  #app .vzf-orbit{width:172px!important}
  #app .vzf-orbit-node{width:52px!important;height:42px!important}
  #app .vzf-orbit-node span{width:28px!important;height:28px!important;font-size:13px!important}
  #app .vzf-orbit-node small{font-size:7.4px!important}
  #app .vzf-orbit-center{width:70px!important;height:70px!important}
  #app .vzf-orbit-center strong{font-size:32px!important}
  #app .vzf-orbit-center span{font-size:6.4px!important;margin-top:4px!important}
  #app .vz151-dashboard-shell{gap:8px!important}
}

/* 15.6 · Cocina: muchas ideas sin saturar el primer pantallazo móvil. */
#app .vz148-more-ideas{
  width:100%;margin:12px 0 4px;padding:14px 18px;border:1px solid var(--vx-line,#ded7cd);
  border-radius:16px;background:transparent;color:var(--vx-ink,#24211d);font:700 13px/1.2 inherit;
  cursor:pointer;min-height:46px
}
#app .vz148-more-ideas:active{transform:translateY(1px)}

/* ========================================================================
   VITALIZA 15.7 · HOY OFICIAL — círculo primero, dock claro, móvil premium
   Regla de producto: la funcionalidad se adapta a esta jerarquía, no al revés.
   ======================================================================== */
:root{
  --vz157-cream:#f6f0e8;
  --vz157-surface:#fffaf4;
  --vz157-ink:#292521;
  --vz157-muted:#756e67;
  --vz157-line:rgba(54,45,38,.105);
  --vz157-blue:#dbe7f7;
  --vz157-pink:#f5d9e8;
  --vz157-green:#dfe9cf;
  --vz157-yellow:#fff0b6;
  --vz157-rose:#f2dfd9;
  --vz157-orange:#ef7429;
}

/* El aro vuelve a tener peso y precisión. */
#app .vzf-orbit{width:272px!important;max-width:min(100%,272px)!important}
#app .vzf-orbit-base{stroke:#dfd5ca!important;stroke-width:8!important}
#app .vzf-orbit-arc{stroke-width:15!important;stroke-linecap:round!important}
#app .vzf-orbit-arc.arc-cycle{stroke:#eaa6cc!important}
#app .vzf-orbit-arc.arc-care{stroke:#aabd77!important}
#app .vzf-orbit-arc.arc-kitchen{stroke:#edc94f!important}
#app .vzf-orbit-arc.arc-day{stroke:#a9c0e2!important}
#app .vzf-orbit-node{width:72px!important;height:58px!important;gap:4px!important}
#app .vzf-orbit-node span{
  width:39px!important;height:39px!important;border:1px solid rgba(48,40,34,.075)!important;
  box-shadow:0 3px 10px rgba(61,49,39,.055)!important;font-size:18px!important;
}
#app .vzf-orbit-node small{font-size:9.7px!important;font-weight:820!important;color:#48413b!important}
#app .vzf-orbit-node.node-cycle{top:-2px!important}
#app .vzf-orbit-node.node-day{left:-9px!important}
#app .vzf-orbit-node.node-care{right:-9px!important}
#app .vzf-orbit-node.node-kitchen{bottom:-2px!important}
#app .vzf-orbit-node.node-cycle span{background:var(--vz157-pink)!important}
#app .vzf-orbit-node.node-day span{background:var(--vz157-blue)!important}
#app .vzf-orbit-node.node-care span{background:var(--vz157-green)!important}
#app .vzf-orbit-node.node-kitchen span{background:var(--vz157-yellow)!important}
#app .vzf-orbit-center{
  width:106px!important;height:106px!important;background:rgba(255,252,247,.98)!important;
  border:1px solid rgba(50,41,34,.09)!important;
  box-shadow:0 0 0 8px rgba(255,250,244,.82),0 7px 20px rgba(55,45,37,.08)!important;
}
#app .vzf-orbit-center strong{font-size:48px!important;color:var(--vz157-ink)!important}
#app .vzf-orbit-center span{font-size:8px!important;letter-spacing:.09em!important;color:#6f6861!important}

/* No hay CTAs duplicados arriba del círculo. El círculo y el dock ya navegan. */
#app .vzf-hero-actions{display:none!important}

@media(max-width:700px){
  /* Header móvil deliberadamente mínimo: marca y nada compitiendo con Hoy. */
  #app .vz13-topbar{width:calc(100% - 28px)!important;padding:10px 0 4px!important;min-height:38px!important}
  #app .vz13-topmeta{display:none!important}
  #app .vz13-brand{font-size:13px!important;letter-spacing:.015em!important}
  #app .vz149-brand-sun{width:25px!important;height:25px!important}

  /* Círculo primero. Saludo, estado y ciclo después. */
  #app .vzf-hero{
    display:flex!important;flex-direction:column!important;align-items:stretch!important;
    gap:13px!important;padding:4px 0 12px!important;
  }
  #app .vzf-orbit{order:1!important;width:258px!important;max-width:258px!important;margin:0 auto 2px!important}
  #app .vzf-hero-copy{order:2!important;width:100%!important;padding:0 3px!important;text-align:left!important}
  #app .vzf-hero-copy>small{font-size:10px!important;letter-spacing:.135em!important}
  #app .vzf-hero-copy h1{font-size:clamp(35px,10.5vw,42px)!important;margin:4px 0 4px!important;line-height:.98!important}
  #app .vzf-hero-copy>p{font-size:14.5px!important;line-height:1.32!important;color:var(--vz157-muted)!important}
  #app .vzf-cycle-chip{
    display:inline-flex!important;width:auto!important;max-width:100%!important;min-height:31px!important;
    margin-top:8px!important;padding:5px 9px!important;border-radius:999px!important;
    background:rgba(255,250,244,.72)!important;border:1px solid rgba(239,116,41,.14)!important;
  }
  #app .vzf-orbit-node{width:69px!important;height:56px!important}
  #app .vzf-orbit-node span{width:38px!important;height:38px!important;font-size:17px!important}
  #app .vzf-orbit-node small{font-size:9.4px!important}
  #app .vzf-orbit-center{width:102px!important;height:102px!important;box-shadow:0 0 0 7px rgba(255,250,244,.86),0 6px 17px rgba(55,45,37,.075)!important}
  #app .vzf-orbit-center strong{font-size:46px!important}

  /* Dock: crema cálido y cinco acentos de la misma familia del círculo. */
  #vitaliza-global-chrome .v-bottom-nav-vitaliza,.v-bottom-nav-vitaliza{
    width:calc(100vw - 18px)!important;height:70px!important;min-height:70px!important;
    bottom:max(7px,env(safe-area-inset-bottom,0px))!important;padding:7px 6px 6px!important;
    border:1px solid rgba(57,47,39,.105)!important;border-radius:22px!important;
    background:rgba(255,250,244,.965)!important;
    box-shadow:0 10px 34px rgba(48,39,32,.12),0 1px 0 rgba(255,255,255,.9) inset!important;
    backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important;
  }
  #vitaliza-global-chrome .v-bottom-nav-vitaliza>a,.v-bottom-nav-vitaliza>a{
    min-height:52px!important;padding:3px 1px!important;gap:4px!important;
    color:#655e57!important;background:transparent!important;border:0!important;transform:none!important;
  }
  #vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-glyph,.v-bottom-nav-vitaliza .v-nav-glyph{
    width:34px!important;height:34px!important;min-height:34px!important;border-radius:50%!important;
    border:1px solid rgba(51,43,36,.06)!important;box-shadow:none!important;
  }
  #vitaliza-global-chrome .v-bottom-nav-vitaliza a[data-nav-key="resolve"] .v-nav-glyph,.v-bottom-nav-vitaliza a[data-nav-key="resolve"] .v-nav-glyph{background:var(--vz157-blue)!important}
  #vitaliza-global-chrome .v-bottom-nav-vitaliza a[data-nav-key="kitchen"] .v-nav-glyph,.v-bottom-nav-vitaliza a[data-nav-key="kitchen"] .v-nav-glyph{background:var(--vz157-yellow)!important}
  #vitaliza-global-chrome .v-bottom-nav-vitaliza a[data-nav-key="today"] .v-nav-glyph,.v-bottom-nav-vitaliza a[data-nav-key="today"] .v-nav-glyph{background:var(--vz157-orange)!important}
  #vitaliza-global-chrome .v-bottom-nav-vitaliza a[data-nav-key="care"] .v-nav-glyph,.v-bottom-nav-vitaliza a[data-nav-key="care"] .v-nav-glyph{background:var(--vz157-green)!important}
  #vitaliza-global-chrome .v-bottom-nav-vitaliza a[data-nav-key="life"] .v-nav-glyph,.v-bottom-nav-vitaliza a[data-nav-key="life"] .v-nav-glyph{background:var(--vz157-rose)!important}
  #vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-glyph svg,.v-bottom-nav-vitaliza .v-nav-glyph svg{
    width:18px!important;height:18px!important;stroke:#48413b!important;stroke-width:1.75!important;
  }
  #vitaliza-global-chrome .v-bottom-nav-vitaliza a[data-nav-key="today"] .v-nav-glyph svg,.v-bottom-nav-vitaliza a[data-nav-key="today"] .v-nav-glyph svg{stroke:#fff!important}
  #vitaliza-global-chrome .v-bottom-nav-vitaliza small,.v-bottom-nav-vitaliza small{
    font-size:8px!important;line-height:1!important;font-weight:760!important;color:#6b645d!important;
  }
  #vitaliza-global-chrome .v-bottom-nav-vitaliza a.active,.v-bottom-nav-vitaliza a.active{color:var(--vz157-ink)!important}
  #vitaliza-global-chrome .v-bottom-nav-vitaliza a.active small,.v-bottom-nav-vitaliza a.active small{color:var(--vz157-ink)!important;font-weight:900!important}
  #vitaliza-global-chrome .v-bottom-nav-vitaliza a.active:not(.v-nav-primary):after,.v-bottom-nav-vitaliza a.active:not(.v-nav-primary):after{display:none!important}
  #vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-primary,.v-bottom-nav-vitaliza .v-nav-primary{transform:none!important;color:var(--vz157-ink)!important}
  #vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-primary .v-nav-glyph,.v-bottom-nav-vitaliza .v-nav-primary .v-nav-glyph{
    width:39px!important;height:39px!important;min-height:39px!important;margin:0!important;
    border:0!important;box-shadow:0 5px 13px rgba(239,116,41,.22)!important;
  }
  #vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-primary small,.v-bottom-nav-vitaliza .v-nav-primary small{margin:0!important;color:var(--vz157-ink)!important}

  /* La captura es secundaria: liviana, clara, tocable. */
  #app .vz151-capture{padding:7px 0 2px!important}
  #app .vz151-capture>label{font-size:15.5px!important;margin-bottom:7px!important}
  #app .vz151-capture input{min-height:47px!important;border-radius:14px!important}
  #app .vz151-capture button[type="submit"]{min-height:43px!important;border-radius:13px!important}
}

@media(max-width:360px){
  #app .vzf-orbit{width:232px!important;max-width:232px!important}
  #app .vzf-orbit-node{width:63px!important;height:51px!important}
  #app .vzf-orbit-node span{width:34px!important;height:34px!important;font-size:16px!important}
  #app .vzf-orbit-node small{font-size:8.6px!important}
  #app .vzf-orbit-center{width:92px!important;height:92px!important}
  #app .vzf-orbit-center strong{font-size:42px!important}
  #app .vzf-hero-copy h1{font-size:34px!important}
}

@media (max-width:340px), (max-width:700px) and (max-height:680px){
  #app .vzf-orbit{width:210px!important;max-width:210px!important}
  #app .vzf-orbit-node{width:58px!important;height:47px!important}
  #app .vzf-orbit-node span{width:32px!important;height:32px!important;font-size:15px!important}
  #app .vzf-orbit-center{width:84px!important;height:84px!important}
  #app .vzf-orbit-center strong{font-size:38px!important}
  #app .vzf-hero{gap:8px!important}
}

/* ========================================================================
   VITALIZA 16.0.0 — CIERRE VISUAL PREMIUM MÓVIL
   Dirección fija: marca + saludo + contexto → círculo protagonista → acción.
   Menos "burbujas wellness"; más producto sobrio, cálido y editorial.
   ======================================================================== */
:root{
  --vz158-bg:#f5efe6;
  --vz158-paper:#fffaf3;
  --vz158-paper-2:#fbf6ee;
  --vz158-ink:#25211d;
  --vz158-muted:#756d64;
  --vz158-soft:#a79d92;
  --vz158-line:rgba(51,42,34,.105);
  --vz158-line-strong:rgba(51,42,34,.16);
  --vz158-orange:#ee7126;
  --vz158-blue:#8eafd8;
  --vz158-pink:#dd8fbb;
  --vz158-green:#93aa5d;
  --vz158-yellow:#dfb82f;
  --vz158-rose:#b98d82;
}

#app .vz149-dashboard,
#app .vz150-dashboard,
#app .vz151-dashboard{background:var(--vz158-bg)!important}

/* Hero: el saludo vuelve arriba. El círculo viene inmediatamente después. */
#app .vzf-hero{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:18px!important;
  padding:7px 0 18px!important;
  background:transparent!important;
}
#app .vzf-hero-copy{
  order:1!important;
  width:100%!important;
  text-align:left!important;
  padding:0 2px!important;
}
#app .vzf-orbit{
  order:2!important;
  width:264px!important;
  max-width:264px!important;
  margin:2px auto 5px!important;
  filter:drop-shadow(0 14px 28px rgba(55,44,34,.045));
}
#app .vzf-hero-copy>small{
  display:block!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.16em!important;
  color:var(--vz158-orange)!important;
}
#app .vzf-hero-copy h1{
  margin:8px 0 5px!important;
  font-size:clamp(38px,10.5vw,44px)!important;
  line-height:.96!important;
  font-weight:790!important;
  letter-spacing:-.052em!important;
  color:var(--vz158-ink)!important;
}
#app .vzf-hero-copy>p{
  margin:0!important;
  max-width:30rem!important;
  font-size:14.5px!important;
  line-height:1.36!important;
  font-weight:470!important;
  color:var(--vz158-muted)!important;
}
#app .vzf-cycle-chip{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  width:auto!important;
  max-width:100%!important;
  min-height:29px!important;
  margin-top:10px!important;
  padding:5px 9px!important;
  border:1px solid rgba(221,143,187,.28)!important;
  border-radius:999px!important;
  background:rgba(255,250,243,.50)!important;
  box-shadow:none!important;
  color:#4b433c!important;
  font-size:11px!important;
  font-weight:760!important;
}
#app .vzf-cycle-chip span{
  color:var(--vz158-pink)!important;
  font-size:12px!important;
}

/* Órbita: una sola pieza, no cuatro botones pastel. */
#app .vzf-orbit-svg{overflow:visible!important}
#app .vzf-orbit-base{
  stroke:#ded4c8!important;
  stroke-width:12!important;
  opacity:.82!important;
}
#app .vzf-orbit-arc{
  stroke-width:17!important;
  stroke-linecap:round!important;
  filter:none!important;
}
#app .vzf-orbit-arc.arc-cycle{stroke:var(--vz158-pink)!important}
#app .vzf-orbit-arc.arc-care{stroke:var(--vz158-green)!important}
#app .vzf-orbit-arc.arc-kitchen{stroke:var(--vz158-yellow)!important}
#app .vzf-orbit-arc.arc-day{stroke:var(--vz158-blue)!important}

#app .vzf-orbit-node{
  width:70px!important;
  height:52px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  gap:3px!important;
  color:var(--vz158-ink)!important;
}
#app .vzf-orbit-node span{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:var(--vz158-paper)!important;
  border:1px solid var(--vz158-line-strong)!important;
  box-shadow:0 5px 14px rgba(48,38,30,.07)!important;
  color:var(--vz158-ink)!important;
  font-size:16px!important;
  font-weight:620!important;
}
#app .vzf-orbit-node small{
  color:#544c44!important;
  font-size:8.9px!important;
  line-height:1!important;
  letter-spacing:0!important;
  text-transform:none!important;
  font-weight:790!important;
}
#app .vzf-orbit-node.node-cycle{top:-4px!important}
#app .vzf-orbit-node.node-day{left:-3px!important}
#app .vzf-orbit-node.node-care{right:-3px!important}
#app .vzf-orbit-node.node-kitchen{bottom:-4px!important}
#app .vzf-orbit-node.node-cycle span{border-color:rgba(221,143,187,.52)!important}
#app .vzf-orbit-node.node-day span{border-color:rgba(142,175,216,.58)!important}
#app .vzf-orbit-node.node-care span{border-color:rgba(147,170,93,.58)!important}
#app .vzf-orbit-node.node-kitchen span{border-color:rgba(223,184,47,.58)!important}

#app .vzf-orbit-center{
  width:116px!important;
  height:116px!important;
  border:1px solid rgba(53,43,35,.085)!important;
  background:radial-gradient(circle at 50% 38%,#fffdf9 0%,#fffaf3 72%,#f9f2e8 100%)!important;
  box-shadow:
    0 0 0 8px rgba(255,250,243,.82),
    0 9px 26px rgba(54,43,34,.07)!important;
}
#app .vzf-orbit-center strong{
  font-size:50px!important;
  line-height:.82!important;
  font-weight:720!important;
  letter-spacing:-.055em!important;
  color:var(--vz158-ink)!important;
}
#app .vzf-orbit-center span{
  margin-top:10px!important;
  color:#766e65!important;
  font-size:7.8px!important;
  line-height:1!important;
  font-weight:880!important;
  letter-spacing:.13em!important;
}
#app .vzf-hero-actions{display:none!important}

/* Pendiente principal: editorial, sin código de color ajeno a la marca. */
#app .vz151-priority.vzf-priority{
  padding:17px 16px 15px!important;
  border:1px solid var(--vz158-line)!important;
  border-left:1px solid var(--vz158-line)!important;
  border-radius:24px!important;
  background:rgba(255,250,243,.92)!important;
  box-shadow:0 12px 34px rgba(49,39,31,.055)!important;
}
#app .vzf-priority header{margin-bottom:5px!important}
#app .vzf-priority header small{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  color:#81776d!important;
  font-size:9px!important;
  font-weight:860!important;
  letter-spacing:.12em!important;
}
#app .vzf-priority header small:before{
  content:'';
  width:6px;height:6px;border-radius:50%;background:var(--vz158-orange);
  box-shadow:0 0 0 3px rgba(238,113,38,.10);
}
#app .vzf-priority-main{
  min-height:48px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#app .vzf-priority-main h2{
  margin:0!important;
  font-size:24px!important;
  line-height:1.05!important;
  font-weight:760!important;
  letter-spacing:-.038em!important;
  color:var(--vz158-ink)!important;
}
#app .vzf-priority-main p{color:var(--vz158-muted)!important;font-size:12.5px!important}
#app .vzf-priority-main b{font-size:24px!important;font-weight:450!important;color:#514941!important}
#app .vzf-priority-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr auto!important;
  align-items:center!important;
  gap:8px!important;
  margin-top:12px!important;
}
#app .vzf-priority-actions button{
  min-height:40px!important;
  padding:8px 12px!important;
  border:1px solid var(--vz158-line)!important;
  border-radius:12px!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#514941!important;
  font-size:11.5px!important;
  font-weight:760!important;
}
#app .vzf-priority-actions button[data-primary-done]{
  border-color:var(--vz158-ink)!important;
  background:var(--vz158-ink)!important;
  color:#fffaf3!important;
}
#app .vzf-priority-actions button[data-primary-dismiss]{
  min-width:auto!important;
  padding-inline:6px!important;
  border-color:transparent!important;
  color:#85776d!important;
  font-weight:680!important;
}

/* Captura: una herramienta integrada, no otra tarjeta compitiendo. */
#app .vz151-capture{
  margin-top:1px!important;
  padding:16px!important;
  border:1px solid var(--vz158-line)!important;
  border-radius:24px!important;
  background:rgba(255,250,243,.72)!important;
  box-shadow:none!important;
}
#app .vz151-capture>label{
  margin:0 0 10px!important;
  color:var(--vz158-ink)!important;
  font-size:17px!important;
  line-height:1.15!important;
  font-weight:740!important;
  letter-spacing:-.025em!important;
}
#app .vz151-capture input{
  min-height:48px!important;
  padding:11px 13px!important;
  border:1px solid var(--vz158-line)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.58)!important;
  box-shadow:none!important;
  font-size:14px!important;
}
#app .vz151-capture input::placeholder{color:#a49a90!important}
#app .vz151-capture .vz14-capture-line{gap:8px!important}
#app .vz151-capture button[type="submit"]{
  min-height:44px!important;
  border:0!important;
  border-radius:13px!important;
  background:var(--vz158-orange)!important;
  box-shadow:0 7px 18px rgba(238,113,38,.18)!important;
  color:white!important;
  font-size:12px!important;
  font-weight:820!important;
}
#app .vz151-capture .vz14-voice-button{
  border-color:var(--vz158-line)!important;
  background:#f2e6d7!important;
  box-shadow:none!important;
}

/* Recomendaciones secundarias muy silenciosas. */
#app .vz151-recommendation{
  border:1px solid rgba(51,42,34,.07)!important;
  border-radius:22px!important;
  background:rgba(251,246,238,.76)!important;
  box-shadow:none!important;
}

/* Dock: colores del círculo como acentos, no cinco burbujas pastel. */
@media(max-width:700px){
  #app .vz13-topbar{
    width:calc(100% - 32px)!important;
    min-height:46px!important;
    padding:13px 0 5px!important;
  }
  #app .vz13-topmeta{display:none!important}
  #app .vz13-brand{font-size:12px!important;letter-spacing:.055em!important;font-weight:860!important}
  #app .vz149-brand-sun{width:24px!important;height:24px!important}
  #app .vz151-dashboard-shell{width:calc(100% - 30px)!important;gap:13px!important}
  #app .vzf-hero{gap:17px!important;padding-top:5px!important;padding-bottom:14px!important}
  #app .vzf-orbit{width:258px!important;max-width:258px!important}

  #vitaliza-global-chrome .v-bottom-nav-vitaliza,.v-bottom-nav-vitaliza{
    width:calc(100vw - 22px)!important;
    height:68px!important;
    min-height:68px!important;
    bottom:max(8px,env(safe-area-inset-bottom,0px))!important;
    padding:7px 8px 6px!important;
    border:1px solid rgba(52,43,35,.095)!important;
    border-radius:22px!important;
    background:rgba(255,251,245,.965)!important;
    box-shadow:0 12px 32px rgba(45,35,28,.105)!important;
    backdrop-filter:blur(20px)!important;
    -webkit-backdrop-filter:blur(20px)!important;
  }
  #vitaliza-global-chrome .v-bottom-nav-vitaliza>a,.v-bottom-nav-vitaliza>a{
    min-height:50px!important;
    padding:2px 1px!important;
    gap:4px!important;
    border:0!important;
    background:transparent!important;
    color:#6e665e!important;
  }
  #vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-glyph,.v-bottom-nav-vitaliza .v-nav-glyph{
    width:30px!important;
    height:30px!important;
    min-height:30px!important;
    border:0!important;
    border-radius:50%!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  #vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-glyph svg,.v-bottom-nav-vitaliza .v-nav-glyph svg{
    width:19px!important;height:19px!important;stroke-width:1.8!important;
  }
  #vitaliza-global-chrome .v-bottom-nav-vitaliza a[data-nav-key="resolve"] .v-nav-glyph svg,.v-bottom-nav-vitaliza a[data-nav-key="resolve"] .v-nav-glyph svg{stroke:var(--vz158-blue)!important}
  #vitaliza-global-chrome .v-bottom-nav-vitaliza a[data-nav-key="kitchen"] .v-nav-glyph svg,.v-bottom-nav-vitaliza a[data-nav-key="kitchen"] .v-nav-glyph svg{stroke:var(--vz158-yellow)!important}
  #vitaliza-global-chrome .v-bottom-nav-vitaliza a[data-nav-key="care"] .v-nav-glyph svg,.v-bottom-nav-vitaliza a[data-nav-key="care"] .v-nav-glyph svg{stroke:var(--vz158-green)!important}
  #vitaliza-global-chrome .v-bottom-nav-vitaliza a[data-nav-key="life"] .v-nav-glyph svg,.v-bottom-nav-vitaliza a[data-nav-key="life"] .v-nav-glyph svg{stroke:var(--vz158-rose)!important}
  #vitaliza-global-chrome .v-bottom-nav-vitaliza a[data-nav-key="today"] .v-nav-glyph,.v-bottom-nav-vitaliza a[data-nav-key="today"] .v-nav-glyph{
    width:39px!important;height:39px!important;min-height:39px!important;
    background:var(--vz158-orange)!important;
    box-shadow:0 6px 14px rgba(238,113,38,.20)!important;
  }
  #vitaliza-global-chrome .v-bottom-nav-vitaliza a[data-nav-key="today"] .v-nav-glyph svg,.v-bottom-nav-vitaliza a[data-nav-key="today"] .v-nav-glyph svg{stroke:#fff!important}
  #vitaliza-global-chrome .v-bottom-nav-vitaliza small,.v-bottom-nav-vitaliza small{
    color:#665f58!important;
    font-size:7.7px!important;
    line-height:1!important;
    font-weight:730!important;
  }
  #vitaliza-global-chrome .v-bottom-nav-vitaliza a.active small,.v-bottom-nav-vitaliza a.active small{
    color:var(--vz158-ink)!important;font-weight:900!important;
  }
  #vitaliza-global-chrome .v-bottom-nav-vitaliza a.active:not(.v-nav-primary):after,.v-bottom-nav-vitaliza a.active:not(.v-nav-primary):after{
    content:''!important;display:block!important;position:absolute!important;bottom:1px!important;
    width:4px!important;height:4px!important;border-radius:50%!important;background:currentColor!important;
  }
}

@media(max-width:360px){
  #app .vz151-dashboard-shell{width:calc(100% - 24px)!important}
  #app .vzf-hero-copy h1{font-size:35px!important}
  #app .vzf-orbit{width:236px!important;max-width:236px!important}
  #app .vzf-orbit-node{width:64px!important;height:49px!important}
  #app .vzf-orbit-node span{width:31px!important;height:31px!important;min-width:31px!important;font-size:15px!important}
  #app .vzf-orbit-node small{font-size:8.2px!important}
  #app .vzf-orbit-center{width:104px!important;height:104px!important}
  #app .vzf-orbit-center strong{font-size:46px!important}
  #app .vzf-priority-main h2{font-size:21px!important}
}

@media (max-width:340px), (max-width:700px) and (max-height:680px){
  #app .vz13-topbar{min-height:40px!important;padding-top:8px!important}
  #app .vzf-hero{gap:10px!important;padding-top:1px!important;padding-bottom:9px!important}
  #app .vzf-hero-copy h1{font-size:32px!important;margin-top:5px!important}
  #app .vzf-hero-copy>p{font-size:13px!important}
  #app .vzf-cycle-chip{margin-top:7px!important;min-height:26px!important;font-size:9.5px!important}
  #app .vzf-orbit{width:204px!important;max-width:204px!important;margin-top:0!important}
  #app .vzf-orbit-node{width:57px!important;height:44px!important;gap:2px!important}
  #app .vzf-orbit-node span{width:29px!important;height:29px!important;min-width:29px!important;font-size:13px!important}
  #app .vzf-orbit-node small{font-size:7.5px!important}
  #app .vzf-orbit-center{width:88px!important;height:88px!important;box-shadow:0 0 0 6px rgba(255,250,243,.78),0 7px 20px rgba(54,43,34,.06)!important}
  #app .vzf-orbit-center strong{font-size:39px!important}
  #app .vzf-orbit-center span{font-size:6.7px!important;margin-top:6px!important}
  #app .vz151-dashboard-shell{gap:8px!important}
}

/* 16.0.0 — neutralización final de residuos pastel heredados de 15.7. */
@media(max-width:700px){
  #vitaliza-global-chrome .v-bottom-nav-vitaliza a[data-nav-key="resolve"] .v-nav-glyph,
  .v-bottom-nav-vitaliza a[data-nav-key="resolve"] .v-nav-glyph,
  #vitaliza-global-chrome .v-bottom-nav-vitaliza a[data-nav-key="kitchen"] .v-nav-glyph,
  .v-bottom-nav-vitaliza a[data-nav-key="kitchen"] .v-nav-glyph,
  #vitaliza-global-chrome .v-bottom-nav-vitaliza a[data-nav-key="care"] .v-nav-glyph,
  .v-bottom-nav-vitaliza a[data-nav-key="care"] .v-nav-glyph,
  #vitaliza-global-chrome .v-bottom-nav-vitaliza a[data-nav-key="life"] .v-nav-glyph,
  .v-bottom-nav-vitaliza a[data-nav-key="life"] .v-nav-glyph{
    background:transparent!important;
    border:0!important;
  }
  #vitaliza-global-chrome .v-bottom-nav-vitaliza a[data-nav-key="today"] .v-nav-glyph,
  .v-bottom-nav-vitaliza a[data-nav-key="today"] .v-nav-glyph{background:var(--vz158-orange)!important}
}

/* Clima e instalación: información útil sin grandes bloques de color. */
#app .vz150-weather-strip,
#app .vz151-weather-strip,
#app .vz150-weather-setup{
  background:rgba(255,250,243,.70)!important;
  border:1px solid var(--vz158-line)!important;
  border-radius:20px!important;
  box-shadow:none!important;
  color:var(--vz158-ink)!important;
}
#app .vz150-weather-strip:before,
#app .vz151-weather-strip:before{
  background:var(--vz158-blue)!important;
  opacity:.72!important;
}
#app .vz150-weather-icon{
  background:transparent!important;
  color:var(--vz158-blue)!important;
  border:0!important;
}
#app .vz150-weather-strip small,
#app .vz151-weather-strip small{color:#7d746b!important}
#app .vz150-weather-actions button,
#app .vz151-weather-strip button{
  background:transparent!important;
  border:1px solid var(--vz158-line)!important;
  box-shadow:none!important;
  color:#4e4740!important;
}
#app .vz146-install-card{
  background:transparent!important;
  border:1px solid rgba(51,42,34,.10)!important;
  border-radius:18px!important;
  box-shadow:none!important;
}
#app .vz146-install-card small{color:var(--vz158-orange)!important}
#app .vz146-install-card button{
  background:transparent!important;
  border:1px solid rgba(238,113,38,.32)!important;
  color:var(--vz158-orange)!important;
  box-shadow:none!important;
}


/* ========================================================================
   VITALIZA 16.0.0 — ACABADO PREMIUM REAL
   Una pieza central de marca, superficies editoriales y navegación silenciosa.
   ======================================================================== */
:root{
  --vz159-bg:#f4eee5;
  --vz159-paper:#fffaf4;
  --vz159-ink:#29241f;
  --vz159-muted:#746c63;
  --vz159-hairline:rgba(55,45,36,.105);
  --vz159-orange:#d96b31;
  --vz159-orange-soft:#f1c2a4;
  --vz159-blue:#789fc9;
  --vz159-pink:#d785b2;
  --vz159-green:#849d54;
  --vz159-yellow:#d6aa1d;
  --vz159-rose:#a8796d;
}

#app .vz149-dashboard,#app .vz150-dashboard,#app .vz151-dashboard{
  background:
    radial-gradient(110% 55% at 50% -9%,rgba(255,255,255,.82) 0%,rgba(255,255,255,0) 60%),
    var(--vz159-bg)!important;
}
#app .vz151-dashboard-shell{gap:18px!important}

/* Cabecera de marca: mínima y firme. */
#app .vz13-topbar{background:transparent!important;border:0!important;box-shadow:none!important}
#app .vz13-brand{color:var(--vz159-ink)!important;letter-spacing:.075em!important;font-weight:900!important}
#app .vz149-brand-sun{width:25px!important;height:25px!important;color:var(--vz159-ink)!important}

/* Saludo editorial. */
#app .vzf-hero{gap:24px!important;padding:12px 0 24px!important}
#app .vzf-hero-copy{padding:0!important}
#app .vzf-hero-copy>small{font-size:9.5px!important;letter-spacing:.19em!important;color:var(--vz159-orange)!important}
#app .vzf-hero-copy h1{
  margin:9px 0 7px!important;
  color:var(--vz159-ink)!important;
  font-size:clamp(39px,10.7vw,46px)!important;
  line-height:.96!important;
  font-weight:760!important;
  letter-spacing:-.058em!important;
}
#app .vzf-hero-copy>p{font-size:14.5px!important;line-height:1.42!important;color:var(--vz159-muted)!important}
#app .vzf-cycle-chip{
  min-height:auto!important;margin-top:11px!important;padding:0!important;
  border:0!important;border-radius:0!important;background:transparent!important;
  color:#615950!important;font-size:10.5px!important;font-weight:760!important;gap:7px!important;
}
#app .vzf-cycle-chip span{
  width:7px!important;height:7px!important;overflow:hidden!important;border-radius:50%!important;
  background:var(--vz159-pink)!important;color:transparent!important;box-shadow:0 0 0 4px rgba(215,133,178,.11)!important;
}

/* Círculo: instrumento de marca, no widget de hábitos. */
#app .vzf-orbit{
  width:282px!important;max-width:282px!important;margin:0 auto 2px!important;
  filter:drop-shadow(0 18px 34px rgba(53,43,34,.055))!important;
}
#app .vzf-orbit-base{stroke:#ddd3c6!important;stroke-width:10!important;opacity:.9!important}
#app .vzf-orbit-arc{stroke-width:13!important;stroke-linecap:round!important}
#app .vzf-orbit-arc.arc-cycle{stroke:var(--vz159-pink)!important}
#app .vzf-orbit-arc.arc-day{stroke:var(--vz159-blue)!important}
#app .vzf-orbit-arc.arc-care{stroke:var(--vz159-green)!important}
#app .vzf-orbit-arc.arc-kitchen{stroke:var(--vz159-yellow)!important}
#app .vzf-orbit-node{
  width:72px!important;height:49px!important;gap:4px!important;
  border:0!important;background:transparent!important;box-shadow:none!important;color:var(--vz159-ink)!important;
}
#app .vzf-orbit-node span{
  width:29px!important;height:29px!important;min-width:29px!important;
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
  display:grid!important;place-items:center!important;color:var(--vz159-ink)!important;
}
#app .vzf-orbit-node span svg{width:22px!important;height:22px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.75!important;stroke-linecap:round!important;stroke-linejoin:round!important}
#app .vzf-orbit-node small{font-size:8.6px!important;line-height:1!important;font-weight:760!important;color:#5f574f!important}
#app .vzf-orbit-node.node-cycle{top:-5px!important}
#app .vzf-orbit-node.node-day{left:-8px!important}
#app .vzf-orbit-node.node-care{right:-8px!important}
#app .vzf-orbit-node.node-kitchen{bottom:-5px!important}
#app .vzf-orbit-node.node-cycle span{color:var(--vz159-pink)!important}
#app .vzf-orbit-node.node-day span{color:var(--vz159-blue)!important}
#app .vzf-orbit-node.node-care span{color:var(--vz159-green)!important}
#app .vzf-orbit-node.node-kitchen span{color:#b48900!important}
#app .vzf-orbit-center{
  width:128px!important;height:128px!important;
  border:1px solid rgba(55,45,36,.095)!important;
  background:linear-gradient(155deg,#fffdf9 0%,#fffaf3 58%,#f8efe3 100%)!important;
  box-shadow:
    0 0 0 7px rgba(255,250,244,.86),
    inset 0 1px 0 rgba(255,255,255,.9),
    0 12px 30px rgba(53,43,34,.075)!important;
}
#app .vzf-orbit-center:after{
  content:'';position:absolute;inset:9px;border:1px solid rgba(55,45,36,.055);border-radius:50%;pointer-events:none;
}
#app .vzf-orbit-center strong{font-size:54px!important;line-height:.82!important;font-weight:690!important;letter-spacing:-.065em!important;color:var(--vz159-ink)!important}
#app .vzf-orbit-center span{margin-top:11px!important;font-size:7.2px!important;letter-spacing:.15em!important;color:#766e66!important;font-weight:860!important}

/* Pendiente principal: una sola superficie con profundidad mínima. */
#app .vz151-priority.vzf-priority{
  border:1px solid var(--vz159-hairline)!important;border-radius:22px!important;
  background:rgba(255,250,244,.84)!important;box-shadow:0 16px 36px rgba(53,43,34,.045)!important;
  padding:18px 17px 16px!important;
}
#app .vzf-priority header small{color:#7d746b!important;letter-spacing:.11em!important}
#app .vzf-priority header small:before{width:5px!important;height:5px!important;background:var(--vz159-orange)!important;box-shadow:none!important}
#app .vzf-priority-main h2{font-size:23px!important;font-weight:720!important;letter-spacing:-.038em!important}
#app .vzf-priority-actions button{border-radius:11px!important}
#app .vzf-priority-actions button[data-primary-done]{background:var(--vz159-ink)!important;border-color:var(--vz159-ink)!important}

/* Captura: no más tarjeta de formulario. Se siente parte de la página. */
#app .vz151-capture{
  margin-top:2px!important;padding:19px 0 4px!important;
  border:0!important;border-top:1px solid var(--vz159-hairline)!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;
}
#app .vz159-capture-head{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:12px!important;margin-bottom:12px!important}
#app .vz159-capture-head label{margin:0!important;color:var(--vz159-ink)!important;font-size:18px!important;line-height:1.08!important;font-weight:730!important;letter-spacing:-.035em!important}
#app .vz159-capture-head small{max-width:120px!important;text-align:right!important;color:#978d83!important;font-size:9.5px!important;line-height:1.25!important;font-weight:560!important}
#app .vz151-capture .vz14-capture-line{
  display:grid!important;grid-template-columns:minmax(0,1fr) 44px 48px!important;gap:7px!important;align-items:center!important;
  padding:5px!important;border:1px solid rgba(55,45,36,.12)!important;border-radius:17px!important;
  background:rgba(255,252,247,.78)!important;box-shadow:0 8px 22px rgba(53,43,34,.035)!important;
}
#app .vz151-capture input{
  height:46px!important;min-height:46px!important;padding:0 10px!important;border:0!important;border-radius:12px!important;
  background:transparent!important;box-shadow:none!important;font-size:14px!important;color:var(--vz159-ink)!important;
}
#app .vz151-capture input:focus{outline:none!important;box-shadow:none!important}
#app .vz151-capture .vz14-voice-button{
  width:42px!important;min-width:42px!important;height:42px!important;border:0!important;border-radius:12px!important;
  background:#f1e7da!important;color:#685f56!important;box-shadow:none!important;
}
#app .vz151-capture button[type="submit"]{
  grid-column:auto!important;width:44px!important;min-width:44px!important;height:42px!important;min-height:42px!important;padding:0!important;
  border:0!important;border-radius:12px!important;background:var(--vz159-orange)!important;
  box-shadow:none!important;color:#fff!important;display:grid!important;place-items:center!important;
}
#app .vz159-submit-label{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
#app .vz159-submit-arrow{font-size:20px!important;line-height:1!important;font-weight:500!important;transform:translateY(-1px)!important}
#app .vz14-voice-status{margin-top:8px!important;color:#776e65!important;font-size:10.5px!important}

/* Recomendación secundaria: sin tarjeta decorativa. */
#app .vz151-recommendation{
  border:0!important;border-top:1px solid var(--vz159-hairline)!important;border-radius:0!important;
  background:transparent!important;padding:18px 1px!important;box-shadow:none!important;
}

/* Clima e instalación como tiras editoriales, no cards. */
#app .vz150-weather-strip,#app .vz151-weather-strip,#app .vz150-weather-setup{
  border:0!important;border-top:1px solid var(--vz159-hairline)!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;
}
#app .vz146-install-card{border:0!important;border-top:1px solid var(--vz159-hairline)!important;border-radius:0!important;background:transparent!important}

/* Dock premium: una barra del sistema, no una tarjeta flotante. */
@media(max-width:700px){
  #app .vz13-topbar{width:calc(100% - 34px)!important;min-height:48px!important;padding:15px 0 5px!important}
  #app .vz151-dashboard-shell{width:calc(100% - 34px)!important;max-width:430px!important;padding-bottom:94px!important}
  #app .vzf-hero{gap:22px!important;padding-top:8px!important}
  #app .vzf-orbit{width:274px!important;max-width:274px!important}
  #vitaliza-global-chrome .v-bottom-nav-vitaliza,.v-bottom-nav-vitaliza{
    width:100vw!important;left:50%!important;bottom:0!important;height:74px!important;min-height:74px!important;
    padding:8px 14px calc(8px + env(safe-area-inset-bottom,0px))!important;
    border:0!important;border-top:1px solid rgba(55,45,36,.10)!important;border-radius:0!important;
    background:rgba(250,246,239,.955)!important;box-shadow:0 -10px 34px rgba(49,39,31,.055)!important;
    backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;
  }
  #vitaliza-global-chrome .v-bottom-nav-vitaliza>a,.v-bottom-nav-vitaliza>a{min-height:52px!important;gap:4px!important;color:#766e66!important}
  #vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-glyph,.v-bottom-nav-vitaliza .v-nav-glyph{
    width:28px!important;height:28px!important;min-height:28px!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
  }
  #vitaliza-global-chrome .v-bottom-nav-vitaliza .v-nav-glyph svg,.v-bottom-nav-vitaliza .v-nav-glyph svg{width:19px!important;height:19px!important;stroke-width:1.65!important}
  #vitaliza-global-chrome .v-bottom-nav-vitaliza a[data-nav-key="today"] .v-nav-glyph,.v-bottom-nav-vitaliza a[data-nav-key="today"] .v-nav-glyph{
    width:30px!important;height:30px!important;min-height:30px!important;background:transparent!important;box-shadow:none!important;
  }
  #vitaliza-global-chrome .v-bottom-nav-vitaliza a[data-nav-key="today"] .v-nav-glyph svg,.v-bottom-nav-vitaliza a[data-nav-key="today"] .v-nav-glyph svg{stroke:var(--vz159-orange)!important;stroke-width:1.9!important}
  #vitaliza-global-chrome .v-bottom-nav-vitaliza small,.v-bottom-nav-vitaliza small{font-size:7.7px!important;color:#766e66!important;font-weight:690!important}
  #vitaliza-global-chrome .v-bottom-nav-vitaliza a.active small,.v-bottom-nav-vitaliza a.active small{color:var(--vz159-ink)!important;font-weight:850!important}
  #vitaliza-global-chrome .v-bottom-nav-vitaliza a.active:not(.v-nav-primary):after,.v-bottom-nav-vitaliza a.active:not(.v-nav-primary):after{display:none!important}
  #vitaliza-global-chrome .v-bottom-nav-vitaliza a.v-nav-primary:before,.v-bottom-nav-vitaliza a.v-nav-primary:before{
    content:'';position:absolute;top:-9px;width:28px;height:2px;border-radius:99px;background:var(--vz159-orange);
  }
}

@media(max-width:360px){
  #app .vz151-dashboard-shell{width:calc(100% - 26px)!important}
  #app .vzf-hero-copy h1{font-size:35px!important}
  #app .vzf-orbit{width:246px!important;max-width:246px!important}
  #app .vzf-orbit-center{width:112px!important;height:112px!important}
  #app .vzf-orbit-center strong{font-size:48px!important}
  #app .vzf-orbit-node{width:63px!important;height:46px!important}
  #app .vzf-orbit-node span{width:27px!important;height:27px!important;min-width:27px!important}
  #app .vzf-orbit-node span svg{width:20px!important;height:20px!important}
  #app .vzf-orbit-node small{font-size:8px!important}
  #app .vz159-capture-head{display:block!important}
  #app .vz159-capture-head small{display:block!important;max-width:none!important;text-align:left!important;margin-top:4px!important}
}

/* 16.0.0 — cierre de especificidad móvil contra capas históricas. */
#app .vz149-dashboard .vzf-orbit-node.node-cycle span,
#app .vz149-dashboard .vzf-orbit-node.node-day span,
#app .vz149-dashboard .vzf-orbit-node.node-care span,
#app .vz149-dashboard .vzf-orbit-node.node-kitchen span{
  background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;
}
#app .vz149-dashboard form.vz149-capture.vz150-capture.vz151-capture{
  width:100%!important;margin:2px 0 0!important;padding:19px 0 4px!important;
  border:0!important;border-top:1px solid var(--vz159-hairline)!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;
}
#app .vz149-dashboard form.vz149-capture.vz150-capture.vz151-capture .vz159-capture-head{
  display:block!important;margin-bottom:12px!important;
}
#app .vz149-dashboard form.vz149-capture.vz150-capture.vz151-capture .vz159-capture-head label{
  display:block!important;margin:0!important;font-size:18.5px!important;line-height:1.08!important;font-weight:735!important;
  letter-spacing:-.035em!important;text-transform:none!important;color:var(--vz159-ink)!important;
}
#app .vz149-dashboard form.vz149-capture.vz150-capture.vz151-capture .vz159-capture-head small{
  display:block!important;max-width:none!important;margin-top:5px!important;text-align:left!important;
  color:#93897f!important;font-size:10px!important;line-height:1.3!important;font-weight:560!important;
  letter-spacing:0!important;text-transform:none!important;
}
#app .vz149-dashboard form.vz149-capture.vz150-capture.vz151-capture .vz14-capture-line{
  display:grid!important;grid-template-columns:minmax(0,1fr) 42px 44px!important;grid-auto-flow:row!important;
  gap:6px!important;align-items:center!important;padding:5px!important;
  border:1px solid rgba(55,45,36,.12)!important;border-radius:17px!important;
  background:rgba(255,252,247,.82)!important;box-shadow:0 8px 22px rgba(53,43,34,.035)!important;
}
#app .vz149-dashboard form.vz149-capture.vz150-capture.vz151-capture input{
  grid-column:1!important;grid-row:1!important;width:100%!important;min-width:0!important;height:44px!important;min-height:44px!important;
  padding:0 9px!important;border:0!important;border-radius:11px!important;background:transparent!important;box-shadow:none!important;
  font-size:14px!important;color:var(--vz159-ink)!important;
}
#app .vz149-dashboard form.vz149-capture.vz150-capture.vz151-capture .vz14-voice-button{
  grid-column:2!important;grid-row:1!important;width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important;
  padding:0!important;border:0!important;border-radius:11px!important;background:#efe4d6!important;box-shadow:none!important;
}
#app .vz149-dashboard form.vz149-capture.vz150-capture.vz151-capture button[type="submit"]{
  grid-column:3!important;grid-row:1!important;width:42px!important;min-width:42px!important;height:40px!important;min-height:40px!important;
  padding:0!important;border:0!important;border-radius:11px!important;background:var(--vz159-orange)!important;box-shadow:none!important;
  display:grid!important;place-items:center!important;
}
@media(max-width:700px){
  #vitaliza-global-chrome .v-bottom-nav-vitaliza,
  .vitaliza-global-chrome .v-bottom-nav-vitaliza,
  body .v-bottom-nav-vitaliza{
    position:fixed!important;left:0!important;right:0!important;bottom:0!important;transform:none!important;
    width:100%!important;max-width:none!important;height:74px!important;min-height:74px!important;
    padding:8px 14px calc(8px + env(safe-area-inset-bottom,0px))!important;
    border:0!important;border-top:1px solid rgba(55,45,36,.10)!important;border-radius:0!important;
    background:rgba(250,246,239,.965)!important;box-shadow:0 -10px 34px rgba(49,39,31,.055)!important;
  }
}
/* 16.0.0 — simplificación final del centro: una sola lectura visual. */
#app .vz149-dashboard .vzf-orbit-center{
  width:126px!important;height:126px!important;border:1px solid rgba(55,45,36,.09)!important;
  box-shadow:0 0 0 5px rgba(255,250,244,.88),0 13px 30px rgba(53,43,34,.07)!important;
}
#app .vz149-dashboard .vzf-orbit-center:after{display:none!important}


/* ========================================================================
   VITALIZA 16.0.0 — SISTEMA VISUAL INTEGRAL MÓVIL
   Una sola gramática: crema + tinta + naranja de marca; colores funcionales
   aparecen como acentos, nunca como grandes bloques decorativos.
   ======================================================================== */
:root{
  --vz160-bg:#f6f0e7;
  --vz160-paper:#fffaf3;
  --vz160-paper-2:#fbf6ee;
  --vz160-ink:#25211d;
  --vz160-muted:#746b62;
  --vz160-line:rgba(53,43,35,.11);
  --vz160-orange:#e96f2a;
  --vz160-orange-soft:#f9e7d8;
  --vz160-pink:#d98db8;
  --vz160-blue:#8daed5;
  --vz160-green:#93aa67;
  --vz160-yellow:#d9b544;
}
#app :where(.vz13-page,.vz14-page,.cycle-premium,.settings-page,.notif-page,.br-page,.lib-page){background:var(--vz160-bg)!important;color:var(--vz160-ink)!important}

/* HOY: contexto útil visible antes del círculo. */
#app .vz160-hero-context{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin-top:13px!important;max-width:430px!important}
#app .vz160-context-item{min-width:0!important;min-height:50px!important;padding:8px 10px!important;border:1px solid var(--vz160-line)!important;border-radius:15px!important;background:rgba(255,250,243,.72)!important;box-shadow:none!important;text-align:left!important;text-decoration:none!important;color:var(--vz160-ink)!important;display:grid!important;grid-template-columns:1fr auto!important;grid-template-areas:'label meta' 'value meta'!important;align-items:center!important;gap:2px 8px!important;font:inherit!important;cursor:pointer!important}
#app .vz160-context-item>span{grid-area:label!important;font-size:8px!important;font-weight:900!important;letter-spacing:.12em!important;color:var(--vz160-muted)!important;text-transform:uppercase!important}
#app .vz160-context-item>strong{grid-area:value!important;font-size:13px!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#app .vz160-context-item>small{grid-area:meta!important;font-size:8.5px!important;color:#8b8177!important;max-width:90px!important;text-align:right!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
#app .vz160-context-item.is-cycle{border-color:rgba(217,141,184,.28)!important}
#app .vz160-context-item.is-cycle>strong{color:#744c63!important}
#app .vz160-context-item.is-weather{border-color:rgba(141,174,213,.28)!important}
#app .vzf-orbit-node.node-cycle small{max-width:72px!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;font-size:8.4px!important}

/* Cocina: ruta compacta y adulta, CTA en el primer pantallazo. */
#app .vz160-kitchen-cycle{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;margin:9px 0 10px!important;padding:10px 12px!important;border:1px solid rgba(217,141,184,.26)!important;border-radius:15px!important;background:rgba(255,250,243,.72)!important}
#app .vz160-kitchen-cycle>span{font-size:8px!important;letter-spacing:.12em!important;font-weight:900!important;color:#8a667b!important}
#app .vz160-kitchen-cycle>strong{font-size:14px!important}
#app .vz160-kitchen-cycle>small{font-size:10px!important;color:var(--vz160-muted)!important}
#app .vz160-kitchen-cycle>a{margin-left:auto!important;color:#8a5a3f!important;font-size:10px!important;font-weight:850!important;text-decoration:none!important}
#app .vz148-kitchen-paths{padding:0!important;background:transparent!important;border-radius:0!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;margin:8px 0 10px!important}
#app .vz148-kitchen-paths button{min-height:48px!important;padding:9px 10px!important;border:1px solid var(--vz160-line)!important;border-radius:14px!important;background:rgba(255,250,243,.72)!important;color:var(--vz160-ink)!important;box-shadow:none!important}
#app .vz148-kitchen-paths button.active{background:var(--vz160-ink)!important;border-color:var(--vz160-ink)!important;color:#fff!important}
#app .vz148-kitchen-paths button.active span{color:rgba(255,255,255,.68)!important}
#app .vz148-kitchen-paths strong{font-size:11px!important;margin:0!important}
#app .vz148-kitchen-paths span{font-size:8.5px!important;line-height:1.25!important}
#app .vz14-page:has(.vz148-kitchen-paths) .vz14-kitchen-form{padding:14px!important;border:1px solid var(--vz160-line)!important;border-radius:18px!important;background:rgba(255,250,243,.84)!important;box-shadow:none!important;gap:11px!important}
#app .vz14-page:has(.vz148-kitchen-paths) .vz14-kitchen-form textarea{min-height:62px!important}
#app .vz14-page:has(.vz148-kitchen-paths) .vz14-kitchen-form fieldset{margin:7px 0!important}
#app .vz14-page:has(.vz148-kitchen-paths) .vz14-choice-row{gap:5px!important;flex-wrap:nowrap!important;overflow-x:auto!important;padding-bottom:2px!important}
#app .vz14-page:has(.vz148-kitchen-paths) .vz14-choice-row button{min-width:50px!important;min-height:34px!important;padding:0 8px!important;border-radius:10px!important;font-size:9px!important}
#app .vz14-page:has(.vz148-kitchen-paths) .vz14-kitchen-form>button{width:100%!important;min-height:44px!important;border-radius:13px!important;background:var(--vz160-ink)!important;font-size:11px!important}

/* Compras / heladera / freezer: se elimina el gran bloque negro. */
#app .vz14-shopping-summary{padding:16px!important;margin-bottom:12px!important;border:1px solid var(--vz160-line)!important;border-radius:20px!important;background:rgba(255,250,243,.88)!important;color:var(--vz160-ink)!important;box-shadow:none!important}
#app .vz14-shopping-summary small{color:var(--vz160-orange)!important}
#app .vz14-shopping-summary h2{margin:4px 0!important;color:var(--vz160-ink)!important;font-family:inherit!important;font-size:26px!important;font-weight:760!important}
#app .vz14-shopping-summary p{color:var(--vz160-muted)!important}
#app .vz14-shopping-summary a{color:#8a5a3f!important}
#app .vz1473-tabs{background:transparent!important;border:1px solid var(--vz160-line)!important;border-radius:15px!important;padding:4px!important}
#app .vz1473-tabs a{border-radius:11px!important;background:transparent!important;color:var(--vz160-muted)!important}
#app .vz1473-tabs a.active{background:var(--vz160-ink)!important;color:#fff!important}
#app .vz1473-inventory-form{padding:14px!important;border:1px solid var(--vz160-line)!important;border-radius:18px!important;background:rgba(255,250,243,.75)!important}
#app .vz1473-inventory-card{background:rgba(255,250,243,.86)!important;border-color:var(--vz160-line)!important}

/* Agenda vacía: útil sin llenar el espacio de ruido. */
#app .vz160-agenda-empty{min-height:190px!important;border-style:solid!important;background:rgba(255,250,243,.58)!important}
#app .vz160-agenda-empty strong{font-size:17px!important;color:var(--vz160-ink)!important}
#app .vz160-agenda-empty p{max-width:34ch!important;font-size:12px!important;color:var(--vz160-muted)!important}
#app .vz160-agenda-empty>div{display:flex!important;gap:8px!important;flex-wrap:wrap!important;justify-content:center!important;margin-top:4px!important}
#app .vz160-agenda-empty a{display:inline-flex!important;align-items:center!important;min-height:36px!important;padding:0 11px!important;border:1px solid var(--vz160-line)!important;border-radius:11px!important;color:var(--vz160-ink)!important;text-decoration:none!important;font-size:10px!important;font-weight:850!important;background:#fffaf3!important}

/* Notificaciones: un único centro, sin cabecera rosa ni campana gigante. */
#app .notif-page{padding:10px 0 112px!important}
#app .notif-shell{width:min(calc(100% - 30px),760px)!important}
#app .notif-shell>header{padding:8px 1px 12px!important;margin:0 0 10px!important;border:0!important;border-radius:0!important;background:transparent!important;text-align:left!important}
#app .notif-shell>header>a{font-size:11px!important}
#app .notif-bell{display:none!important}
#app .notif-shell>header>p{margin:16px 0 5px!important;color:var(--vz160-orange)!important;font-size:9px!important}
#app .notif-shell h1{font-family:inherit!important;font-size:clamp(30px,8vw,38px)!important;font-weight:770!important;line-height:1!important;text-align:left!important}
#app .notif-lead{margin:8px 0 14px!important;max-width:48ch!important;font-size:12px!important;line-height:1.45!important;text-align:left!important}
#app .notif-permission,#app .notif-preferences,#app .notif-basic-card,#app .notif-card,#app .notif-empty{border:1px solid var(--vz160-line)!important;background:rgba(255,250,243,.86)!important;box-shadow:none!important}
#app .notif-permission{border-radius:18px!important;padding:14px!important}
#app .notif-preferences{border-radius:20px!important;padding:16px!important;margin-top:12px!important}
#app .notif-pref{border-color:var(--vz160-line)!important;background:var(--vz160-paper-2)!important;border-radius:15px!important;padding:12px!important}
#app .notif-pref>span{background:transparent!important;color:var(--vz160-orange)!important;border:1px solid var(--vz160-line)!important;border-radius:11px!important}
#app .notif-pref input:checked+i{background:var(--vz160-orange)!important}
#app .notif-card{border-radius:17px!important;padding:14px!important}

/* Ajustes: Notificaciones se gestiona en un solo sitio. */
#app .settings-panel,#app .settings-service{background:rgba(255,250,243,.86)!important;border-color:var(--vz160-line)!important;box-shadow:none!important;border-radius:20px!important}
#app .settings-service button,#app .set-primary{background:var(--vz160-ink)!important;color:#fff!important;box-shadow:none!important}
#app .set-notification-center{display:inline-flex!important;align-items:center!important;min-height:42px!important;padding:0 13px!important;border-radius:12px!important;background:var(--vz160-ink)!important;color:#fff!important;text-decoration:none!important;font-size:11px!important;font-weight:850!important}

/* Ciclo: nombres de fase completos y tarjetas dentro del mismo lenguaje. */
#app .vx15-phase-labels{grid-template-columns:1fr 1.35fr 1.25fr 1fr!important;gap:4px!important}
#app .vx15-phase-labels span{font-size:8px!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;text-align:center!important;line-height:1.1!important}
#app .vx15-cycle-estimate{background:rgba(255,250,243,.86)!important;border-color:var(--vz160-line)!important}
#app .vx15-cycle-title span{background:rgba(217,141,184,.18)!important;color:#6f4a61!important}
#app .vx15-cycle-meal{background:rgba(255,250,243,.86)!important;border-color:var(--vz160-line)!important}

/* Biblioteca y respiración: superficies coherentes; el color queda en detalles. */
#app .lib-page .lib-card,#app .lib-page .lib-hero,#app .br-page .br-tech,#app .br-page .br-intro,#app .br-page .br-safety{background:rgba(255,250,243,.86)!important;border-color:var(--vz160-line)!important;box-shadow:none!important}

@media(max-width:700px){
  #app .vz160-hero-context{grid-template-columns:1fr 1fr!important}
  #app .vz148-kitchen-paths button span{display:none!important}
  #app .vz148-kitchen-paths button{min-height:42px!important;text-align:center!important;padding:7px 5px!important}
  #app .vz14-page:has(.vz148-kitchen-paths) .vz13-heading h1{font-size:32px!important}
  #app .vz14-page:has(.vz148-kitchen-paths) .vz14-lead{margin-bottom:8px!important}
  #app .vz14-shopping-summary{align-items:flex-start!important;gap:9px!important}
  #app .notif-pref-grid{grid-template-columns:1fr!important}
}
@media(max-width:360px){
  #app .vz160-hero-context{grid-template-columns:1fr!important}
  #app .vz160-context-item{min-height:46px!important}
  #app .vx15-phase-labels span{font-size:7.3px!important}
}


/* 16.0.0 — cierre de coherencia: clima siempre presente y módulos secundarios sin bloques decorativos. */
#app .vz160-context-item.is-weather-empty>strong{color:#526b82!important}
#app .settings-toggle{background:rgba(255,250,243,.78)!important;border:1px solid var(--vz160-line)!important}
#app .settings-toggle.is-plan-disabled{background:var(--vz160-paper-2)!important}
#app .settings-head>p,#app .settings-service small{color:var(--vz160-orange)!important}
#app .set-link span{background:var(--vz160-orange-soft)!important;color:#9b542d!important}
#app .lib-page .lib-profile-bar{background:rgba(255,250,243,.86)!important;border-color:var(--vz160-line)!important;box-shadow:none!important}
#app .lib-page .lib-hero{background:rgba(255,250,243,.88)!important;border-color:var(--vz160-line)!important}
#app .lib-page .lib-hero-emoji,#app .lib-page .lib-card-emoji{background:var(--vz160-orange-soft)!important;color:var(--vz160-orange)!important;box-shadow:inset 0 0 0 1px rgba(233,111,42,.12)!important}
#app .lib-page .lib-card:hover,#app .lib-page .lib-hero:hover{transform:none!important;box-shadow:none!important}

/* 16.0.0 — cierre visual de Ajustes y Biblioteca. */
#app .settings-head{background:transparent!important;border:0!important;border-radius:0!important;padding:10px 0 5px!important;margin-bottom:8px!important}
#app .settings-page .settings-service:nth-of-type(n){background:rgba(255,250,243,.86)!important;border:1px solid var(--vz160-line)!important}
#app .lib-page .lib-card-main.no-emoji{grid-template-columns:minmax(0,1fr)!important;padding-left:16px!important}

#app .lib-page .lib-hero.no-emoji{grid-template-columns:minmax(0,1fr)!important}
