
html,body{min-height:100%}
#zalLegacyApp{display:none!important;visibility:hidden!important;pointer-events:none!important}
#zalV2AppRoot{display:block!important;min-height:100dvh;visibility:visible!important}
#zalV2Boot[hidden],#zalV2TodayRoot[hidden],#zalV2Hub[hidden],#zalV2AuthRoot[hidden],#zalV2ModuleHost[hidden]{display:none!important}
body.zal-v2-clean-boot #zalV2Hub,body.zal-v2-clean-boot #zalV2ModuleHost{display:none!important}
body.zal-v2-clean-boot:not(.zal-v2-early-ready) #zalV2TodayRoot{display:none!important}
body.zal-v2-clean-boot:not(.zal-v2-early-auth) #zalV2AuthRoot{display:none!important}
body.zal-v2-clean-ready #zalV2AuthRoot{display:none!important}
body.zal-v2-clean-auth #zalV2TodayRoot,body.zal-v2-clean-auth #zalV2Hub,body.zal-v2-clean-auth #zalV2ModuleHost,body.zal-v2-clean-auth #zalV2BottomNav{display:none!important}
body.zal-v2-clean-auth #zalV2AuthRoot{display:block!important}
body.zal-v2-clean-ready{min-height:100dvh!important;background:#08142f!important}
body.zal-v2-clean-ready #zalV2AppRoot{min-height:100dvh!important}
body.zal-v2-clean-boot #zalV2Boot{position:fixed!important;inset:0!important;z-index:2147480000!important;display:flex!important}
/* El loader tapa una interfaz 2.0 ya compuesta. Si el JS pesado tarda, al desvanecerse no aparece nunca el shell legacy ni una página a medias. */
.zal-v2-auth-root{width:min(560px,100%);margin:0 auto;padding:8px 0 104px}
.zal-v2-auth-host{display:grid;gap:12px}
.zal-v2-auth-root #connectionCard{display:block!important;width:100%!important;margin:0!important;padding:16px!important;border-radius:26px!important;border:1px solid rgba(145,101,255,.22)!important;background:linear-gradient(150deg,rgba(23,49,96,.72),rgba(8,24,55,.82))!important;box-shadow:0 18px 50px rgba(0,7,28,.32),inset 0 1px 0 rgba(255,255,255,.055)!important;backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important}
.zal-v2-auth-root #connectionCard>.eyebrow,.zal-v2-auth-root #connectionCard>h3,.zal-v2-auth-root #connectionCard>.online-status{display:none!important}
.zal-v2-auth-root #authBox,.zal-v2-auth-root #sessionBox{margin:0!important}
.zal-v2-auth-root .zalu-start-guide{margin:0!important}
body.zal-v2-clean-ready #miniZaluLauncher,body.zal-v2-clean-ready [data-mini-zalu]{z-index:10000220!important}
body.zal-v2-clean-ready #miniZaluPanel,body.zal-v2-clean-ready #miniZaluSheet{z-index:var(--zal-z-mini-sheet)!important}
body.zal-v2-clean-ready.mini-zalu-open #zalV2BottomNav{z-index:var(--zal-z-nav-under-overlay)!important;filter:saturate(.55) brightness(.68) blur(1px);opacity:.38;pointer-events:none}



/* Barra principal: destinos frecuentes a la vista; utilidades dentro de Más. */
body.zal-v2-clean-ready .zal-v2-clean-nav{
  width:min(670px,calc(100% - 16px))!important;
  gap:4px!important;padding:6px!important;border-radius:28px!important;
  border:1px solid rgba(132,112,255,.34)!important;
  background:linear-gradient(155deg,rgba(18,39,80,.94),rgba(7,20,48,.97))!important;
  box-shadow:0 18px 44px rgba(0,7,28,.52),0 0 24px rgba(111,96,255,.10),inset 0 1px 0 rgba(255,255,255,.07)!important;
  backdrop-filter:blur(24px) saturate(1.22)!important;-webkit-backdrop-filter:blur(24px) saturate(1.22)!important;
}

/* Tanda 3 · Lista UX: jerarquía de fila y continuidad tras finalizar Demo. */
html body.zal-v2-clean-ready[data-zal-v2-module="list"] #listView .itemname b,
html body.zal-v2-clean-ready[data-zal-v2-module="list"] #listView .item-name b{
  font-size:15px!important;line-height:1.18!important;font-weight:900!important;
}
html body.zal-v2-clean-ready[data-zal-v2-module="list"] #listView .list-item-meta{
  gap:6px!important;margin-top:5px!important;align-items:center!important;
}
html body.zal-v2-clean-ready[data-zal-v2-module="list"] #listView .list-item-meta .muted.small,
html body.zal-v2-clean-ready[data-zal-v2-module="list"] #listView .shopping-recipe-origin,
html body.zal-v2-clean-ready[data-zal-v2-module="list"] #listView .shopping-predictive-origin{
  font-size:9px!important;line-height:1.25!important;opacity:.68!important;
}
html body.zal-v2-clean-ready[data-zal-v2-module="list"] #listView .shopping-qty-trigger{
  min-height:26px!important;padding:4px 7px!important;font-size:9.5px!important;font-weight:850!important;
}
html body.zal-v2-clean-ready[data-zal-v2-module="list"] #listView .shopping-post-finish{
  display:grid;gap:9px;margin:12px 0 4px;padding:13px 12px;border-radius:16px;
  border:1px solid rgba(106,232,255,.20);background:rgba(106,232,255,.045);color:#eafcff;
}
html body.zal-v2-clean-ready[data-zal-v2-module="list"] #listView .shopping-post-finish b{font-size:12px}
html body.zal-v2-clean-ready[data-zal-v2-module="list"] #listView .shopping-ticket-btn{
  min-height:44px;border:1px solid rgba(106,232,255,.28);border-radius:13px;
  background:linear-gradient(145deg,rgba(106,232,255,.14),rgba(145,101,255,.12));color:#f4ffff;
  font:inherit;font-size:11px;font-weight:900;cursor:pointer;
}
html body.zal-v2-clean-ready[data-zal-v2-module="list"] #listView .shopping-bought-group{margin-top:15px!important}
@media(max-width:620px){
  html body.zal-v2-clean-ready[data-zal-v2-module="list"] #sharedList .shared-item,
  html body.zal-v2-clean-ready[data-zal-v2-module="list"] #sharedList .online-item-v2{
    margin-right:64px!important;
  }
}
body.zal-v2-clean-ready .zal-v2-clean-nav button{
  min-height:58px!important;border-radius:20px!important;gap:5px!important;padding:5px 2px!important;
  color:#95a2bc!important;font-size:9.5px!important;font-weight:900!important;letter-spacing:.01em!important;
  transition:transform .16s ease,background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease!important;
}
body.zal-v2-clean-ready .zal-v2-clean-nav button:active{transform:scale(.96)!important}
body.zal-v2-clean-ready .zal-v2-clean-nav .i{width:25px;height:25px;display:grid!important;place-items:center!important;font-size:0!important}
body.zal-v2-clean-ready .zal-v2-clean-nav .i svg{width:22px;height:22px;display:block;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
body.zal-v2-clean-ready .zal-v2-clean-nav button.is-active{
  color:#f1ecff!important;border-color:rgba(148,116,255,.42)!important;
  background:radial-gradient(circle at 50% 15%,rgba(113,237,255,.10),transparent 38%),linear-gradient(145deg,rgba(132,96,255,.25),rgba(70,54,150,.17))!important;
  box-shadow:0 7px 20px rgba(0,0,0,.23),0 0 19px rgba(132,96,255,.16),inset 0 1px 0 rgba(255,255,255,.10)!important;
}
body.zal-v2-clean-ready .zal-v2-clean-nav button.is-active .i{filter:drop-shadow(0 0 7px rgba(141,126,255,.38))}
body.zal-v2-clean-ready .zal-v2-clean-nav button[data-v2-nav="buy"].is-active{color:#dffcff!important;border-color:rgba(82,225,244,.34)!important;background:linear-gradient(145deg,rgba(61,211,229,.18),rgba(110,79,229,.11))!important}
body.zal-v2-clean-ready .zal-v2-clean-nav button[data-v2-nav="meals"].is-active{color:#e9fff1!important;border-color:rgba(94,220,164,.32)!important;background:linear-gradient(145deg,rgba(76,203,145,.17),rgba(110,79,229,.10))!important}
body.zal-v2-clean-ready .zal-v2-clean-nav button[data-v2-nav="plans"].is-active{color:#f3eaff!important;border-color:rgba(176,118,255,.38)!important;background:linear-gradient(145deg,rgba(153,93,244,.22),rgba(65,218,235,.08))!important}
@media(max-width:390px){body.zal-v2-clean-ready .zal-v2-clean-nav button{font-size:9px!important}body.zal-v2-clean-ready .zal-v2-clean-nav .i svg{width:21px;height:21px}}



:root{--zal-z-shell-nav:10000110;--zal-z-overlay-backdrop:10000210;--zal-z-mini-sheet:10000240;--zal-z-mini-launcher:10000260;--zal-z-nav-under-overlay:9999970;--z2-purple:#9165ff;--z2-cyan:#6ae8ff;--z2-green:#61dba1;--z2-coral:#ff7aa8;--z2-ink:#f7f8ff;--z2-muted:#b7c1d7;--z2-deep:#09152f;--z2-panel:#112650;--z2-panel2:#0d1d3f}
body.zal-v2-clean-ready{margin:0;padding-bottom:98px!important;background:#08142f!important;color:var(--z2-ink)!important}
/* Mini-Zalu 2.0: capa modal claramente separada, sin perder el contexto. */
body.zal-v2-clean-ready.mini-zalu-open:before{content:"";position:fixed;inset:0;z-index:var(--zal-z-overlay-backdrop);background:rgba(3,9,28,.54);backdrop-filter:blur(7px) saturate(.82);-webkit-backdrop-filter:blur(7px) saturate(.82);pointer-events:none}
body.zal-v2-clean-ready #miniZaluPanel,body.zal-v2-clean-ready #miniZaluSheet{z-index:var(--zal-z-mini-sheet)!important;background:linear-gradient(180deg,rgba(13,31,70,.985),rgba(8,20,48,.992))!important;box-shadow:0 24px 70px rgba(0,0,0,.52),0 0 34px rgba(145,101,255,.16),inset 0 1px 0 rgba(255,255,255,.08)!important;backdrop-filter:blur(22px) saturate(1.12)!important;-webkit-backdrop-filter:blur(22px) saturate(1.12)!important}
body.zal-v2-clean-ready #miniZaluLauncher{z-index:var(--zal-z-mini-launcher)!important;touch-action:none!important}
body.zal-v2-clean-ready #miniZaluLauncher,body.zal-v2-clean-ready #miniZaluLauncher *{-webkit-user-select:none!important;user-select:none!important;-webkit-user-drag:none!important}
body.zal-v2-clean-ready #miniZaluLauncher *{pointer-events:none!important}
body.zal-v2-clean-ready #miniZaluLauncher.is-dragging{transform:scale(1.055)!important;filter:drop-shadow(0 12px 24px rgba(0,0,0,.38)) drop-shadow(0 0 16px rgba(145,101,255,.26))!important;opacity:.96!important}
body.zal-v2-clean-ready.mini-zalu-open #miniZaluLauncher{visibility:hidden!important;pointer-events:none!important}
#miniZaluAlertsList.zal-v2-alerts-collapsed>.zal-v2-history-item{display:none!important}
#miniZaluAlertsList.zal-v2-alerts-expanded>*{display:block!important}
.zal-v2-alert-history-toggle{width:100%;margin:8px 0 2px;min-height:42px;border-radius:16px;border:1px solid rgba(145,101,255,.28);background:rgba(145,101,255,.07);color:#e8e0ff;font:inherit;font-size:10px;font-weight:900}

body.zal-v2-clean-ready #homeView{display:none!important;visibility:hidden!important;pointer-events:none!important}
.zal-v2-clean-app{min-height:100dvh;padding:14px 20px 118px;box-sizing:border-box;background:radial-gradient(circle at 7% 4%,rgba(64,218,231,.15),transparent 27%),radial-gradient(circle at 94% 10%,rgba(145,101,255,.18),transparent 29%),radial-gradient(circle at 91% 55%,rgba(255,105,184,.07),transparent 25%),linear-gradient(180deg,#102957 0%,#0d2149 44%,#091831 100%);color:var(--z2-ink)}
.zal-v2-clean-brand{max-width:760px;margin:0 auto 25px;padding:6px 2px}.zal-v2-clean-tagline{margin-top:18px;font-size:15px;font-weight:900;color:#e5e9f6}.zal-v2-clean-beta{display:inline-flex;margin-top:9px;padding:6px 11px;border-radius:999px;border:1px solid rgba(106,232,255,.20);background:rgba(106,232,255,.06);box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 0 20px rgba(106,232,255,.05);font-size:9px;font-weight:900;color:#dffaff}
.zal-v2-clean-main{max-width:760px;margin:0 auto}.zal-v2-clean-bootcard{min-height:52vh;display:grid;place-items:center;align-content:center;gap:11px;text-align:center;color:#aeb9d0}.zal-v2-clean-bootcard b{font-size:18px;color:#f5f7ff}.zal-v2-clean-bootcard span{font-size:11px}
.zal-v2-today-head{position:relative;margin:0 0 16px;padding:22px 20px 19px;border:1.5px solid rgba(145,101,255,.34);border-radius:31px;background:radial-gradient(circle at 92% 16%,rgba(145,101,255,.20),transparent 31%),radial-gradient(circle at 8% 102%,rgba(106,232,255,.13),transparent 35%),linear-gradient(145deg,rgba(27,54,105,.96),rgba(13,31,69,.98));box-shadow:0 18px 42px rgba(1,7,24,.36),0 0 24px rgba(145,101,255,.10),inset 0 1px 0 rgba(255,255,255,.08),inset 0 -1px 0 rgba(0,0,0,.20);overflow:hidden}.zal-v2-today-head:before{content:"";position:absolute;inset:auto 20px -17px 20px;height:31px;border-radius:50%;background:rgba(106,232,255,.09);filter:blur(20px)}.zal-v2-today-head:after{display:none!important}.zal-v2-clock{font-size:clamp(50px,13vw,68px);line-height:.95;font-weight:950;letter-spacing:-.058em;color:#fff;text-shadow:0 0 20px rgba(145,101,255,.11)}.zal-v2-date{margin-top:11px;color:#f6f7ff;font-size:16.5px;font-weight:950}.zal-v2-dayline{margin-top:5px;color:#aeb9d0;font-size:10.8px;font-weight:780}
.zal-v2-today-grid{display:grid;gap:15px}.zal-v2-section{--a:145,101,255;position:relative;padding:17px 17px 17px 19px;border-radius:27px;border:1.5px solid rgba(var(--a),.30);background:linear-gradient(145deg,rgba(36,61,110,.58),rgba(11,29,64,.64));box-shadow:0 18px 42px rgba(2,8,26,.30),0 0 24px rgba(var(--a),.08),inset 0 1px 0 rgba(255,255,255,.10),inset 0 -1px 0 rgba(0,0,0,.16);backdrop-filter:blur(18px) saturate(1.16);-webkit-backdrop-filter:blur(18px) saturate(1.16);overflow:hidden;transform:translateZ(0)}.zal-v2-section:before{content:"";position:absolute;left:0;top:15px;bottom:15px;width:5px;border-radius:0 99px 99px 0;background:linear-gradient(180deg,rgba(var(--a),1),rgba(var(--a),.56));box-shadow:0 0 18px rgba(var(--a),.36)}.zal-v2-section:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.055),transparent 24%,transparent 72%,rgba(var(--a),.035));opacity:.72}.zal-v2-section.is-cyan{--a:106,232,255}.zal-v2-section.is-coral{--a:255,122,168}.zal-v2-section.is-green{--a:97,219,161}.zal-v2-section.is-purple{--a:145,101,255}.zal-v2-section-head{display:flex;align-items:center;justify-content:space-between;gap:11px;margin-bottom:11px;position:relative;z-index:1}.zal-v2-section-title{text-transform:uppercase;letter-spacing:.095em;color:#c4cbe0;font-size:10.5px;font-weight:950}.zal-v2-section-main{position:relative;z-index:1;color:#fff;font-size:18.5px;line-height:1.26;font-weight:950}.zal-v2-section-sub{position:relative;z-index:1;margin-top:6px;color:#aeb9d0;font-size:10.7px;line-height:1.46}.zal-v2-section-action{position:relative;z-index:1;min-height:38px;border:1px solid rgba(var(--a),.34);border-radius:999px;background:linear-gradient(145deg,rgba(var(--a),.16),rgba(255,255,255,.025));box-shadow:0 7px 16px rgba(0,0,0,.17),0 0 16px rgba(var(--a),.08),inset 0 1px 0 rgba(255,255,255,.07);color:rgb(var(--a));font:inherit;font-size:10px;font-weight:950;padding:8px 12px}.zal-v2-section-action:active{transform:translateY(1px)}.zal-v2-attention-badge{min-width:25px;height:25px;padding:0 7px;border-radius:999px;display:grid;place-items:center;border:1px solid rgba(255,122,168,.40);background:rgba(255,122,168,.08);color:#ffd9e6;font-size:9px;font-weight:950;box-shadow:0 0 16px rgba(255,122,168,.08)}
.zal-v2-clean-nav{position:fixed;left:50%;bottom:max(10px,env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:var(--zal-z-shell-nav);width:min(680px,calc(100% - 18px));display:grid;grid-template-columns:repeat(5,1fr);gap:5px;padding:7px;border:1px solid rgba(145,101,255,.30);border-radius:30px;background:linear-gradient(155deg,rgba(22,42,83,.97),rgba(10,24,54,.97));box-shadow:0 20px 42px rgba(1,7,24,.46),0 0 26px rgba(145,101,255,.09),inset 0 1px 0 rgba(255,255,255,.07),inset 0 -1px 0 rgba(0,0,0,.22);backdrop-filter:blur(22px) saturate(1.16);-webkit-backdrop-filter:blur(22px) saturate(1.16)}.zal-v2-clean-nav button{appearance:none;min-width:0;min-height:62px;border:1px solid transparent;border-radius:21px;background:transparent;color:#9aa6bf!important;opacity:1!important;display:grid;place-items:center;align-content:center;gap:4px;font:inherit;font-size:10px!important;line-height:1;font-weight:950!important;text-shadow:none!important}.zal-v2-clean-nav button span{opacity:1!important;filter:none!important}.zal-v2-clean-nav .i{font-size:21px!important;line-height:1;opacity:.94!important}.zal-v2-clean-nav button.is-active{color:#e5deff!important;border-color:rgba(145,101,255,.32);background:linear-gradient(145deg,rgba(145,101,255,.20),rgba(106,232,255,.055));box-shadow:0 7px 18px rgba(0,0,0,.18),0 0 17px rgba(145,101,255,.11),inset 0 1px 0 rgba(255,255,255,.08)}.zal-v2-clean-nav button[data-v2-nav="buy"].is-active{color:#dffbff!important;border-color:rgba(106,232,255,.28);background:linear-gradient(145deg,rgba(106,232,255,.15),rgba(145,101,255,.07))}.zal-v2-clean-nav button[data-v2-nav="meals"].is-active{color:#e9ffe8!important;border-color:rgba(97,219,161,.28);background:linear-gradient(145deg,rgba(97,219,161,.15),rgba(145,101,255,.07))}.zal-v2-clean-nav button[data-v2-nav="home"].is-active{color:#eee8ff!important}.zal-v2-clean-nav button[data-v2-nav="more"].is-active{color:#e3e8f6!important}
.zal-v2-clean-module-host{color:var(--text,#f7f8ff)!important;background:transparent!important;min-height:calc(100dvh - 165px);padding-bottom:10px}.zal-v2-clean-module-host>.view{display:block!important;opacity:1!important;visibility:visible!important;width:100%!important;max-width:none!important;margin:0!important;color:var(--text,#f7f8ff)!important;background:transparent!important}.zal-v2-clean-module-host .muted,.zal-v2-clean-module-host .small,.zal-v2-clean-module-host small{color:#b9c2d7!important;opacity:1!important}.zal-v2-clean-module-host .viewhead h2,.zal-v2-clean-module-host h1,.zal-v2-clean-module-host h2,.zal-v2-clean-module-host h3{color:#fff!important}.zal-v2-clean-module-host input,.zal-v2-clean-module-host textarea,.zal-v2-clean-module-host select{color:#f7f8ff!important}.zal-v2-clean-module-host input::placeholder,.zal-v2-clean-module-host textarea::placeholder{color:#9faac1!important;opacity:1!important}
.zal-v2-clean-hub{display:grid;gap:13px}.zal-v2-clean-hub h2{margin:0 0 3px;font-size:30px;color:#fff}.zal-v2-clean-hub>p{margin:0 0 10px;color:#aeb9d0;font-size:12px}.zal-v2-hub-grid{display:grid;gap:11px}.zal-v2-hub-btn{width:100%;display:grid;grid-template-columns:44px minmax(0,1fr) 18px;gap:11px;align-items:center;text-align:left;padding:15px 14px;border-radius:23px;border:1px solid rgba(145,101,255,.27);background:radial-gradient(circle at 100% 0%,rgba(145,101,255,.10),transparent 37%),linear-gradient(145deg,rgba(28,50,95,.96),rgba(12,28,62,.98));color:#f7f8ff;box-shadow:0 14px 30px rgba(1,8,27,.28),0 0 18px rgba(145,101,255,.06),inset 0 1px 0 rgba(255,255,255,.06);font:inherit}.zal-v2-hub-btn:disabled{opacity:.58}.zal-v2-hub-icon{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(145,101,255,.16),rgba(106,232,255,.08));box-shadow:inset 0 0 0 1px rgba(145,101,255,.18);font-size:18px}.zal-v2-hub-copy b{display:block;font-size:14px;color:#fff}.zal-v2-hub-copy small{display:block;margin-top:3px;color:#aab5cc!important;font-size:10px}.zal-v2-hub-chevron{font-size:22px;color:#baa7ff}.zal-v2-plan-empty{padding:18px;border:1px dashed rgba(106,232,255,.22);border-radius:22px;background:rgba(106,232,255,.035);color:#cdd6e7}.zal-v2-plan-empty b{display:block;color:#fff;font-size:15px}.zal-v2-plan-empty small{display:block;margin-top:5px;color:#aeb9d0;font-size:10px;line-height:1.45}.zal-v2-plan-pill{display:inline-flex;margin-top:12px;padding:7px 10px;border-radius:999px;border:1px solid rgba(145,101,255,.25);background:rgba(145,101,255,.08);color:#e7ddff;font-size:9px;font-weight:900}
@media(min-width:620px){.zal-v2-today-grid{grid-template-columns:1fr 1fr}.zal-v2-wide{grid-column:1/-1}.zal-v2-hub-grid{grid-template-columns:1fr 1fr}}@media(max-width:390px){.zal-v2-clean-app{padding-left:15px;padding-right:15px}.zal-v2-today-head{padding:19px 16px 17px}.zal-v2-section{padding:16px 14px 16px 17px}.zal-v2-clean-nav{width:calc(100% - 14px);gap:3px;padding:6px}.zal-v2-clean-nav button{font-size:9.5px!important;min-height:60px}}
.zal-v2-today-head{background:linear-gradient(145deg,rgba(27,52,101,.64),rgba(12,28,63,.74))!important;backdrop-filter:blur(18px) saturate(1.18);-webkit-backdrop-filter:blur(18px) saturate(1.18);box-shadow:0 18px 46px rgba(1,7,24,.30),0 0 24px rgba(145,101,255,.07),inset 0 1px 0 rgba(255,255,255,.09)!important}.zal-v2-today-head:after{display:none!important}.zal-v2-today-head:before{height:1px!important;left:26px!important;right:26px!important;bottom:auto!important;top:0!important;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent)!important;filter:none!important}
.zal-v2-section{background:linear-gradient(145deg,rgba(27,49,94,.62),rgba(11,25,56,.72))!important;backdrop-filter:blur(18px) saturate(1.15);-webkit-backdrop-filter:blur(18px) saturate(1.15);box-shadow:0 14px 36px rgba(2,8,26,.25),0 0 20px rgba(var(--a),.055),inset 0 1px 0 rgba(255,255,255,.075)!important}.zal-v2-section:after{right:18px!important;left:18px!important;top:0!important;bottom:auto!important;width:auto!important;height:1px!important;border-radius:99px!important;background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent)!important;filter:none!important}.zal-v2-section-main{letter-spacing:-.015em}.zal-v2-section-sub{color:#bac5d9!important}
.zal-v2-hub-btn{background:linear-gradient(145deg,rgba(28,50,95,.60),rgba(12,28,62,.72))!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
/* Mini-Zalu abierto: capa real y separada */
body.mini-zalu-open::after{z-index:10000200!important;background:rgba(3,7,21,.60)!important;backdrop-filter:blur(7px) saturate(.76)!important;-webkit-backdrop-filter:blur(7px) saturate(.76)!important;pointer-events:auto!important}.mini-zalu-panel{z-index:var(--zal-z-mini-sheet)!important;background:radial-gradient(circle at 88% 0%,rgba(137,79,255,.20),transparent 34%),linear-gradient(165deg,rgba(20,28,65,.995),rgba(8,15,36,.995))!important;border-color:rgba(165,138,255,.66)!important;box-shadow:0 32px 90px rgba(0,0,0,.62),0 0 34px rgba(118,88,255,.19),inset 0 1px 0 rgba(255,255,255,.08)!important}.mini-zalu-response,.mini-zalu-alert{background:rgba(7,15,39,.92)!important}.mini-zalu-history-toggle{margin:5px 0 0;border:1px solid rgba(145,101,255,.22);border-radius:16px;background:rgba(145,101,255,.045);overflow:hidden}.mini-zalu-history-toggle>summary{list-style:none;cursor:pointer;padding:11px 12px;color:#c9d1e5;font-size:10.5px;font-weight:900}.mini-zalu-history-toggle>summary::-webkit-details-marker{display:none}.mini-zalu-history-toggle>summary:after{content:'＋';float:right;color:#9f87ff}.mini-zalu-history-toggle[open]>summary:after{content:'−'}.mini-zalu-history-items{display:flex;flex-direction:column;gap:7px;padding:0 7px 7px}.mini-zalu-history-items .mini-zalu-alert{opacity:.78}
/* Tareas 2.0: superficie operativa, no panel administrativo */
.zal-v2-clean-module-host #tasksView .module-intro,.zal-v2-clean-module-host #tasksView .tasks-summary,.zal-v2-clean-module-host #tasksView .tasks-calendar-note,.zal-v2-clean-module-host #tasksView .zal-tasks-context-note{display:none!important}.zal-v2-clean-module-host #tasksView .viewhead{margin-bottom:10px!important}.zal-v2-clean-module-host #tasksView .tasks-toolbar{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important;margin-bottom:12px!important}.zal-v2-clean-module-host #tasksView .tasks-toolbar .btn{min-height:47px!important;border-radius:18px!important}.zal-v2-clean-module-host #tasksCompactBoard{display:grid!important;gap:12px!important}.zal-v2-clean-module-host #tasksCompactBoard .tasks-family-strip{margin:0 -2px!important;padding:2px 2px 7px!important;gap:9px!important}.zal-v2-clean-module-host #tasksCompactBoard .tasks-family-person{min-width:118px!important;padding:12px 10px!important;border-radius:20px!important;background:linear-gradient(145deg,rgba(145,101,255,.10),rgba(255,255,255,.022))!important;border:1px solid rgba(145,101,255,.20)!important;box-shadow:none!important}.zal-v2-clean-module-host #tasksCompactBoard .tasks-family-person.active{border-color:rgba(145,101,255,.48)!important;background:linear-gradient(145deg,rgba(145,101,255,.18),rgba(106,232,255,.04))!important}.zal-v2-clean-module-host #tasksCompactBoard .tasks-now,.zal-v2-clean-module-host #tasksCompactBoard .tasks-before,.zal-v2-clean-module-host #tasksCompactBoard .tasks-after,.zal-v2-clean-module-host #tasksCompactBoard .tasks-routines{border-radius:23px!important;background:linear-gradient(145deg,rgba(23,44,88,.56),rgba(9,23,53,.68))!important;border:1px solid rgba(145,101,255,.18)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important;padding:14px!important}.zal-v2-clean-module-host #tasksView .tasks-contextual-explainer{display:none!important}
/* Agenda compacta y consistente */
.zal-v2-clean-module-host #agendaView .module-intro,.zal-v2-clean-module-host #agendaView .agenda-connect-card{display:none!important}.zal-v2-clean-module-host #agendaView .calendar-shell{background:linear-gradient(145deg,rgba(26,48,92,.56),rgba(10,25,58,.70))!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:inset 0 1px 0 rgba(255,255,255,.055)!important}.zal-v2-clean-module-host #agendaView .day.today:not(.selected){box-shadow:inset 0 0 0 2px rgba(145,101,255,.38)!important}.zal-v2-clean-module-host #agendaView .day.selected{box-shadow:0 0 0 2px rgba(145,101,255,.70),0 0 16px rgba(145,101,255,.15)!important}
/* Subvistas nativas de Hogar */
.zal-v2-native-page{display:grid;gap:13px}.zal-v2-native-head{display:flex;align-items:center;gap:11px}.zal-v2-native-back{width:42px;height:42px;border-radius:16px;border:1px solid rgba(145,101,255,.28);background:rgba(145,101,255,.08);color:#fff;font-size:20px}.zal-v2-native-title{font-size:27px;font-weight:950;color:#fff}.zal-v2-member-list,.zal-v2-vault-grid{display:grid;gap:10px}.zal-v2-member-card,.zal-v2-vault-card{padding:14px;border:1px solid rgba(145,101,255,.20);border-radius:21px;background:linear-gradient(145deg,rgba(28,50,95,.58),rgba(11,26,58,.70));box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}.zal-v2-member-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center}.zal-v2-member-avatar{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(145,101,255,.22),rgba(106,232,255,.08));font-weight:950;color:#fff}.zal-v2-member-card b,.zal-v2-vault-card b{display:block;color:#fff}.zal-v2-member-card small,.zal-v2-vault-card small{display:block;margin-top:3px;color:#aeb9d0}.zal-v2-native-note{padding:12px 13px;border:1px solid rgba(106,232,255,.17);border-radius:17px;background:rgba(106,232,255,.035);color:#bfc9dc;font-size:10.5px;line-height:1.45}.zal-v2-native-action{min-height:40px;border-radius:15px;border:1px solid rgba(145,101,255,.25);background:rgba(145,101,255,.08);color:#e9e3ff;font-weight:900;padding:8px 11px}.zal-v2-vault-grid{grid-template-columns:1fr 1fr}.zal-v2-vault-card{min-height:105px}.zal-v2-vault-card span{font-size:22px}.zal-v2-privacy-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.zal-v2-privacy-chip{padding:7px 9px;border-radius:999px;border:1px solid rgba(145,101,255,.20);background:rgba(145,101,255,.055);color:#d9d1ff;font-size:9px;font-weight:850}
@media(max-width:390px){.zal-v2-vault-grid{grid-template-columns:1fr}.zal-v2-clean-module-host #tasksView .tasks-toolbar{grid-template-columns:1fr!important}}


/* === FASE 1 PROFUNDA · BASE + HOGAR === */
/* Tareas 2.0: menos panel de administración, más ejecución contextual. */
body.zal-v2-clean-ready .zal-v2-clean-module-host #tasksView{color:#f7f8ff!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host #tasksView .tasks-summary,
body.zal-v2-clean-ready .zal-v2-clean-module-host #tasksView .module-intro,
body.zal-v2-clean-ready .zal-v2-clean-module-host #tasksView .tasks-contextual-explainer,
body.zal-v2-clean-ready .zal-v2-clean-module-host #tasksView .zal-tasks-context-note{display:none!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host #tasksView .viewhead{margin-bottom:10px!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host #tasksView .tasks-toolbar{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important;margin:0 0 12px!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host #tasksView .tasks-toolbar .btn{min-height:44px!important;border-radius:18px!important;padding:9px 11px!important;font-size:11px!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host #tasksCompactBoard{display:grid!important;gap:11px!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host #tasksCompactBoard .tasks-family-strip{display:flex!important;gap:8px!important;overflow-x:auto!important;padding:1px 1px 6px!important;scrollbar-width:none!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host #tasksCompactBoard .tasks-family-strip::-webkit-scrollbar{display:none!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host #tasksCompactBoard .tasks-family-person{flex:0 0 96px!important;min-width:96px!important;padding:10px 8px!important;border-radius:19px!important;border:1px solid rgba(145,101,255,.22)!important;background:linear-gradient(145deg,rgba(35,57,103,.62),rgba(11,27,61,.72))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host #tasksCompactBoard .tasks-family-person.active{border-color:rgba(145,101,255,.52)!important;background:linear-gradient(145deg,rgba(145,101,255,.18),rgba(26,52,94,.70))!important;box-shadow:0 0 18px rgba(145,101,255,.10),inset 0 1px 0 rgba(255,255,255,.07)!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host #tasksCompactBoard :is(.tasks-now,.tasks-before,.tasks-after,.tasks-routines,.tasks-today-section,.tasks-routine-library){border-radius:24px!important;border:1px solid rgba(145,101,255,.20)!important;background:linear-gradient(145deg,rgba(31,54,99,.56),rgba(10,25,57,.70))!important;box-shadow:0 12px 28px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.055)!important;backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host #tasksCompactBoard .tasks-compact-row{border-color:rgba(255,255,255,.07)!important;background:rgba(6,14,35,.34)!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host #tasksCompactBoard .tasks-compact-copy b{color:#fff!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host #tasksCompactBoard .tasks-compact-copy small,
body.zal-v2-clean-ready .zal-v2-clean-module-host #tasksCompactBoard .muted{color:#aeb9d0!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host #tasksCompactBoard .zal-v2-routines-collapsed .tasks-routine-library-list,
body.zal-v2-clean-ready .zal-v2-clean-module-host #tasksCompactBoard .zal-v2-routines-collapsed .tasks-routine-list{display:none!important}
.zal-v2-routines-toggle{width:100%;min-height:42px;border:1px solid rgba(145,101,255,.24);border-radius:15px;background:rgba(145,101,255,.055);color:#e7e1ff;font:inherit;font-size:10px;font-weight:900;margin-top:8px}
/* Agenda 2.0: calendario primero, estado legible y carga sin saltos. */
body.zal-v2-clean-ready .zal-v2-clean-module-host #agendaView{color:#f7f8ff!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host #agendaView .module-intro,
body.zal-v2-clean-ready .zal-v2-clean-module-host #agendaView .agenda-connect-card{display:none!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host #agendaView .calendar-shell,
body.zal-v2-clean-ready .zal-v2-clean-module-host #agendaView .selected-day-card,
body.zal-v2-clean-ready .zal-v2-clean-module-host #agendaView .agenda-day-detail{background:linear-gradient(145deg,rgba(31,54,99,.58),rgba(10,25,57,.72))!important;border-color:rgba(145,101,255,.22)!important;box-shadow:0 14px 32px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.06)!important;backdrop-filter:blur(15px)!important;-webkit-backdrop-filter:blur(15px)!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host #agendaView .day,
body.zal-v2-clean-ready .zal-v2-clean-module-host #agendaView .calendar-day{color:#f6f7ff!important;background:rgba(12,27,64,.46)!important;border-color:rgba(145,101,255,.20)!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host #agendaView .day.today:not(.selected),
body.zal-v2-clean-ready .zal-v2-clean-module-host #agendaView .calendar-day.today:not(.selected){background:linear-gradient(145deg,rgba(119,78,218,.48),rgba(54,49,126,.38))!important;box-shadow:inset 0 0 0 2px rgba(188,157,255,.72)!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host #agendaView .day.selected,
body.zal-v2-clean-ready .zal-v2-clean-module-host #agendaView .calendar-day.selected{background:linear-gradient(145deg,rgba(116,78,210,.30),rgba(57,47,128,.24))!important;box-shadow:inset 0 0 0 2px rgba(188,157,255,.88),0 0 16px rgba(145,101,255,.12)!important}
body.zal-v2-agenda-loading .zal-v2-clean-module-host #agendaView .calendar-shell{opacity:.76!important}
body.zal-v2-agenda-loading .zal-v2-clean-module-host #agendaView .calendar-shell:after{content:'Actualizando Agenda…';display:block;text-align:center;padding:8px 0 2px;color:#9eabc3;font-size:9.5px;font-weight:800}
/* Hogar nativo: mismo glassmorphism que Hoy. */
.zal-v2-hub-btn,.zal-v2-member-card,.zal-v2-vault-card,.zal-v2-plan-empty{background:linear-gradient(145deg,rgba(34,59,106,.56),rgba(10,25,57,.72))!important;border-color:rgba(145,101,255,.22)!important;box-shadow:0 12px 30px rgba(0,0,0,.17),inset 0 1px 0 rgba(255,255,255,.06)!important;backdrop-filter:blur(15px)!important;-webkit-backdrop-filter:blur(15px)!important}
.zal-v2-hub-copy small,.zal-v2-member-card small,.zal-v2-vault-card small{color:#aeb9d0!important}
/* Mini-Zalu: separar capa y mantener visible el control de historial. */
body.zal-v2-clean-ready.mini-zalu-open:before{background:rgba(3,8,26,.62)!important;backdrop-filter:blur(9px) saturate(.76)!important;-webkit-backdrop-filter:blur(9px) saturate(.76)!important}
body.zal-v2-clean-ready #miniZaluPanel,body.zal-v2-clean-ready #miniZaluSheet{border-color:rgba(157,126,255,.62)!important;background:radial-gradient(circle at 90% 0%,rgba(145,101,255,.18),transparent 30%),linear-gradient(180deg,rgba(14,31,70,.992),rgba(7,18,43,.995))!important}
#miniZaluAlertsList.zal-v2-alerts-collapsed>.zal-v2-history-item{display:none!important}
#miniZaluAlertsList .zal-v2-alert-history-toggle{display:block!important}
@media(max-width:390px){body.zal-v2-clean-ready .zal-v2-clean-module-host #tasksView .tasks-toolbar{grid-template-columns:1fr!important}}


/* === FASE 1 · REMATE HOGAR / AGENDA / TAREAS / MINI-ZALU === */
body.zal-v2-clean-ready .zal-v2-clean-module-host #tasksView>.module-intro,
body.zal-v2-clean-ready .zal-v2-clean-module-host #tasksView>.notice,
body.zal-v2-clean-ready .zal-v2-clean-module-host #tasksView .tasks-contextual-explainer,
body.zal-v2-clean-ready .zal-v2-clean-module-host #tasksView .tasks-collab-note{display:none!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host #tasksView #tasksCompactBoard{margin-top:4px!important;gap:11px!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host #tasksView .tasks-family-strip{padding:1px 1px 6px!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host #tasksView .tasks-family-person{background:linear-gradient(145deg,rgba(34,59,106,.48),rgba(10,25,57,.58))!important;border-color:rgba(145,101,255,.16)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.055)!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host #tasksView .tasks-family-person.active{border-color:rgba(145,101,255,.55)!important;background:linear-gradient(145deg,rgba(145,101,255,.17),rgba(106,232,255,.055))!important;box-shadow:0 0 18px rgba(145,101,255,.09),inset 0 1px 0 rgba(255,255,255,.07)!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host #tasksView .tasks-compact-section{border-radius:23px!important;border-color:rgba(145,101,255,.16)!important;background:linear-gradient(145deg,rgba(31,54,99,.46),rgba(9,23,53,.60))!important;box-shadow:0 12px 28px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.055)!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host #tasksView .tasks-compact-row{background:rgba(7,16,38,.35)!important;border-color:rgba(255,255,255,.055)!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host #tasksView .tasks-routine-library-list{max-height:42vh;overflow:auto}
body.zal-v2-clean-ready .zal-v2-clean-module-host #agendaView .calendar-shell{position:relative;overflow:hidden}
body.zal-v2-clean-ready.zal-v2-agenda-loading .zal-v2-clean-module-host #agendaView .calendar-shell:before{content:'';position:absolute;inset:0;z-index:5;background:linear-gradient(110deg,rgba(17,38,80,.70) 20%,rgba(42,69,120,.82) 38%,rgba(17,38,80,.70) 56%);background-size:220% 100%;animation:z2AgendaShimmer 1.1s linear infinite;pointer-events:none}
@keyframes z2AgendaShimmer{to{background-position:-220% 0}}
body.zal-v2-clean-ready .zal-v2-clean-module-host #agendaView .calendar-grid :is(.day,.calendar-day).today{position:relative}
body.zal-v2-clean-ready .zal-v2-clean-module-host #agendaView .calendar-grid :is(.day,.calendar-day).today:after{content:'';position:absolute;left:50%;bottom:4px;width:5px;height:5px;border-radius:50%;transform:translateX(-50%);background:#bda6ff;box-shadow:0 0 8px rgba(189,166,255,.65)}
body.zal-v2-clean-ready .zal-v2-clean-module-host #agendaView .calendar-grid :is(.day,.calendar-day):not(.today).selected:after{display:none!important}
body.zal-v2-clean-ready #miniZaluPanel,body.zal-v2-clean-ready #miniZaluSheet,body.zal-v2-clean-ready .mini-zalu-panel{max-height:min(84dvh,780px)!important;border-radius:30px 30px 22px 22px!important;border:1.5px solid rgba(164,137,255,.60)!important;background:radial-gradient(circle at 90% 0%,rgba(145,101,255,.18),transparent 34%),linear-gradient(165deg,rgba(20,39,82,.995),rgba(7,18,44,.995))!important;box-shadow:0 28px 86px rgba(0,0,0,.58),0 0 38px rgba(145,101,255,.15),inset 0 1px 0 rgba(255,255,255,.09)!important}
body.zal-v2-clean-ready .mini-zalu-tabs button{min-height:40px;border-radius:14px!important;color:#c8d1e6!important}
body.zal-v2-clean-ready .mini-zalu-tabs button.active,body.zal-v2-clean-ready .mini-zalu-tabs button[aria-selected='true']{color:#fff!important;background:linear-gradient(145deg,rgba(145,101,255,.20),rgba(106,232,255,.07))!important;border-color:rgba(145,101,255,.35)!important}
.zal-v2-member-card .zal-v2-member-role{display:inline-flex;margin-top:4px;padding:3px 7px;border-radius:999px;border:1px solid rgba(145,101,255,.16);background:rgba(145,101,255,.045);color:#cfc6ff;font-size:8px;font-weight:900}
.zal-v2-plan-preview{display:grid;gap:10px}.zal-v2-plan-template-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.zal-v2-plan-template{min-height:92px;text-align:left;padding:13px;border-radius:20px;border:1px solid rgba(145,101,255,.18);background:linear-gradient(145deg,rgba(34,59,106,.50),rgba(10,25,57,.65));color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.055)}.zal-v2-plan-template span{display:block;font-size:21px;margin-bottom:7px}.zal-v2-plan-template b{display:block;font-size:12px}.zal-v2-plan-template small{display:block;margin-top:4px;color:#aeb9d0;font-size:8.8px;line-height:1.35}
@media(max-width:390px){.zal-v2-plan-template-grid{grid-template-columns:1fr}}

/* FASE 1 · endurecimiento final */
body.zal-v2-clean-ready .zal-v2-section[hidden]{display:none!important}
body.zal-v2-clean-ready #miniZaluAlertsList>.mini-zalu-history-toggle{margin-top:8px!important;border:1px solid rgba(145,101,255,.24)!important;border-radius:17px!important;background:rgba(145,101,255,.045)!important;overflow:hidden!important}
body.zal-v2-clean-ready #miniZaluAlertsList>.mini-zalu-history-toggle>summary{padding:11px 12px!important;color:#cbd3e6!important;font-size:10px!important;font-weight:900!important}
body.zal-v2-clean-ready #miniZaluAlertsList>.mini-zalu-history-toggle[open]{background:rgba(11,22,51,.64)!important}
body.zal-v2-clean-ready .zal-v2-native-page{padding-bottom:16px}
body.zal-v2-clean-ready .zal-v2-native-note{background:linear-gradient(145deg,rgba(32,56,101,.45),rgba(9,23,54,.58))!important;border-color:rgba(106,232,255,.13)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important}
/* FASE 1 · cierre de carcasa */
body.zal-v2-clean-ready .zal-v2-clean-module-host>.view>.viewhead .back{display:none!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host>.view>.viewhead{padding-top:2px!important;margin-bottom:12px!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host>.view>.viewhead h2{font-size:24px!important;letter-spacing:-.025em!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host>.view>.notice.module-intro{display:none!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host>.view{padding-bottom:24px!important}
body.zal-v2-clean-ready .zal-v2-section.is-green{--a:97,219,161}
body.zal-v2-clean-ready #zalV2PlanCard{border-color:rgba(145,101,255,.33)!important}
body.zal-v2-clean-ready #miniZaluLauncher.is-dragging{transition:none!important}
body.zal-v2-clean-ready #miniZaluLauncher:not(.is-dragging){transition:left .16s ease,top .16s ease,transform .16s ease!important}
body.zal-v2-clean-ready .zal-v2-clean-hub>h2{margin-bottom:4px!important;font-size:26px!important}
body.zal-v2-clean-ready .zal-v2-clean-hub>p{margin-top:0!important;color:#aeb9d0!important;font-size:11px!important;line-height:1.5!important}

/* === FASE 2 · COMPRA + COMIDAS · SISTEMA VISUAL UNIFICADO === */
/* Un único lenguaje Zalunia para todas las categorías: misma geometría, mismo cristal,
   mismo contraste. Los acentos de color quedan reservados a estados y acciones. */
body.zal-v2-clean-ready .zal-v2-clean-module-host{
  --v2-glass:linear-gradient(145deg,rgba(31,54,99,.50),rgba(9,23,53,.64));
  --v2-glass-soft:linear-gradient(145deg,rgba(35,58,105,.34),rgba(8,21,49,.48));
  --v2-line:rgba(164,137,255,.18);
  --v2-line-soft:rgba(255,255,255,.065);
  --v2-text:#f7f9ff;
  --v2-muted:#aeb9d0;
  --v2-primary:#9165ff;
  --v2-cyan:#6ae8ff;
  --v2-shadow:0 14px 32px rgba(1,8,27,.20),inset 0 1px 0 rgba(255,255,255,.055);
}
.zal-v2-hub-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:2px 0 5px}
.zal-v2-hub-stat{padding:13px 14px;border-radius:21px;border:1px solid var(--v2-line,rgba(164,137,255,.18));background:var(--v2-glass,linear-gradient(145deg,rgba(31,54,99,.50),rgba(9,23,53,.64)));box-shadow:var(--v2-shadow);backdrop-filter:blur(15px) saturate(1.08);-webkit-backdrop-filter:blur(15px) saturate(1.08)}
.zal-v2-hub-stat small{display:block;color:#9facc3;font-size:8.5px;font-weight:900;letter-spacing:.075em;text-transform:uppercase}
.zal-v2-hub-stat b{display:block;margin-top:5px;color:#fff;font-size:15px;line-height:1.25}
.zal-v2-hub-stat span{display:block;margin-top:3px;color:#aeb9d0;font-size:9px;line-height:1.35}
.zal-v2-hub-stat.is-cyan,.zal-v2-hub-stat.is-green{border-color:rgba(164,137,255,.23)!important}
.zal-v2-hub-btn .zal-v2-hub-icon{background:linear-gradient(145deg,rgba(145,101,255,.14),rgba(106,232,255,.055))!important;border:1px solid rgba(164,137,255,.14)!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host :is(#listView,#pantryView,#ticketsView,#recipesView,#mealsView){color:var(--v2-text)!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host :is(#listView,#pantryView,#ticketsView,#recipesView,#mealsView)>.panel,
body.zal-v2-clean-ready .zal-v2-clean-module-host :is(#listView,#pantryView,#ticketsView,#recipesView,#mealsView) .panel{
  border-radius:24px!important;
  border:1px solid var(--v2-line)!important;
  background:var(--v2-glass)!important;
  box-shadow:var(--v2-shadow)!important;
  backdrop-filter:blur(16px) saturate(1.08)!important;
  -webkit-backdrop-filter:blur(16px) saturate(1.08)!important;
}
body.zal-v2-clean-ready .zal-v2-clean-module-host :is(#listView,#pantryView,#ticketsView,#recipesView,#mealsView) :is(.card,.item,.row,.shopping-item,.pantry-zone-card,.pantry-card,.recipe-card,.meal-day,.meal-slot,.receipt-card,.ticket-card){
  border-color:var(--v2-line-soft)!important;
  background:var(--v2-glass-soft)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
}
body.zal-v2-clean-ready .zal-v2-clean-module-host :is(#listView,#pantryView,#ticketsView,#recipesView,#mealsView) :is(.muted,.small,small,.hint,.note,.shopping-quantity-natural-note,.list-manual-head small){color:var(--v2-muted)!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host :is(#listView,#pantryView,#ticketsView,#recipesView,#mealsView) :is(input,textarea,select){
  color:#f7f9ff!important;background:rgba(6,17,42,.58)!important;border:1px solid rgba(164,137,255,.18)!important;border-radius:16px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important
}
body.zal-v2-clean-ready .zal-v2-clean-module-host :is(#listView,#pantryView,#ticketsView,#recipesView,#mealsView) :is(input,textarea)::placeholder{color:#7f8da8!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host :is(#listView,#pantryView,#ticketsView,#recipesView,#mealsView) :is(.btn,button:not(.back):not(.day):not(.calendar-day)){
  border-radius:16px!important;border-color:rgba(164,137,255,.18)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.045)!important
}
body.zal-v2-clean-ready .zal-v2-clean-module-host :is(#listView,#pantryView,#ticketsView,#recipesView,#mealsView) :is(.btn.primary,.primary,.btn-main,.cta){
  color:#fff!important;background:linear-gradient(145deg,rgba(145,101,255,.92),rgba(118,87,231,.88))!important;border-color:rgba(190,170,255,.42)!important;box-shadow:0 10px 24px rgba(74,47,160,.18),inset 0 1px 0 rgba(255,255,255,.16)!important
}
body.zal-v2-clean-ready .zal-v2-clean-module-host :is(#listView,#pantryView,#ticketsView,#recipesView,#mealsView) :is(.chip,.pill,.tag,.badge){
  border-color:rgba(164,137,255,.16)!important;background:rgba(145,101,255,.055)!important;color:#d8d1f7!important
}
/* Acciones destructivas conservan semántica roja; no contaminan el resto del módulo. */
body.zal-v2-clean-ready .zal-v2-clean-module-host :is(#listView,#pantryView,#ticketsView,#recipesView,#mealsView) :is(.danger,.delete,.destructive){color:#ffb8c1!important;border-color:rgba(255,107,124,.26)!important;background:rgba(255,107,124,.055)!important}
/* Ajustes específicos, solo de densidad, no de estilo. */
body.zal-v2-clean-ready .zal-v2-clean-module-host #listView>.shopping-mode-entry{margin-top:0!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host #pantryView :is(.pantry-zone-card,.pantry-card){box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host #recipesView .recipes-proto-note{display:none!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host #recipesView .recipe-personalize-block{border-radius:22px!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host #recipesView .recipe-grid{gap:11px!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host #mealsView .meal-grid{gap:10px!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host #ticketsView .receipt-month-folder-actions .danger{opacity:.82}
@media(max-width:390px){.zal-v2-hub-summary{grid-template-columns:1fr}}


/* FASE 2 · pasada profunda: misma Zalunia, menos administración visible */
body.zal-v2-clean-ready .zal-v2-clean-module-host :is(#listView,#pantryView,#ticketsView,#recipesView,#mealsView)>.viewhead{
  display:flex!important;align-items:flex-end!important;min-height:44px!important;margin-bottom:10px!important;padding:0 1px 7px!important;border-bottom:1px solid rgba(164,137,255,.10)!important
}
body.zal-v2-clean-ready .zal-v2-clean-module-host :is(#listView,#pantryView,#ticketsView,#recipesView,#mealsView)>.viewhead h2{
  margin:0!important;font-size:25px!important;font-weight:950!important;letter-spacing:-.035em!important;color:#fff!important
}
/* Lista: priorizar añadir y comprar; sincronización queda como estado discreto. */
body.zal-v2-clean-ready #listView .shopping-mode-entry{
  min-height:64px!important;padding:10px 11px!important;border-radius:21px!important;border:1px solid rgba(164,137,255,.16)!important;background:var(--v2-glass-soft)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.045)!important
}
body.zal-v2-clean-ready #listView .shopping-mode-entry-copy small{font-size:9px!important;line-height:1.35!important;color:#9facc3!important}
body.zal-v2-clean-ready #listView .shopping-mode-toggle{min-height:40px!important;padding:8px 12px!important;border-radius:14px!important}
body.zal-v2-clean-ready #listView>.panel{padding:11px!important}
body.zal-v2-clean-ready #listView .list-sync-strip{
  min-height:34px!important;margin:0 0 9px!important;padding:7px 9px!important;border-radius:13px!important;background:rgba(106,232,255,.025)!important
}
body.zal-v2-clean-ready #listView .list-sync-strip .muted.small{font-size:8px!important}
body.zal-v2-clean-ready #listView .list-manual-head{margin:1px 0 6px!important}
body.zal-v2-clean-ready #listView .list-manual-head small{display:none!important}
body.zal-v2-clean-ready #listView .shopping-quantity-natural-note{margin:6px 1px 10px!important;font-size:8.5px!important;line-height:1.35!important;color:#8f9bb2!important}
body.zal-v2-clean-ready #listView .shopping-category-group{
  margin:0 0 11px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important
}
body.zal-v2-clean-ready #listView .shopping-category-head{
  min-height:36px!important;margin:0 2px 5px!important;padding:5px 7px!important;border:0!important;background:transparent!important
}
body.zal-v2-clean-ready #listView .shopping-category-title b{font-size:12px!important;color:#dfe5f3!important}
body.zal-v2-clean-ready #listView .shopping-category-count{height:23px!important;min-width:25px!important;font-size:9px!important;background:rgba(145,101,255,.07)!important;border-color:rgba(164,137,255,.13)!important}
body.zal-v2-clean-ready #listView .online-item-v2,
body.zal-v2-clean-ready #listView .shared-item{
  min-height:58px!important;margin:0 0 6px!important;padding:9px 9px!important;border-radius:17px!important;background:linear-gradient(145deg,rgba(31,54,99,.28),rgba(8,21,49,.38))!important
}
body.zal-v2-clean-ready #listView .itemname b{font-size:14.5px!important;line-height:1.18!important}
body.zal-v2-clean-ready #listView .shopping-qty-trigger{min-height:27px!important;padding:4px 7px!important;font-size:9px!important;border-radius:10px!important}
body.zal-v2-clean-ready #listView .list-item-meta>.muted.small{font-size:8px!important;opacity:.76!important}
body.zal-v2-clean-ready #listView .list-row-actions .btn{width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;padding:0!important}
/* Despensa: zonas primero, fichas compactas; profundidad sin tarjeta dentro de tarjeta. */
body.zal-v2-clean-ready #pantryView>.panel{padding:11px!important}
body.zal-v2-clean-ready #pantryView .category-block{
  margin:0 0 14px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important
}
body.zal-v2-clean-ready #pantryView .category-head{min-height:36px!important;margin-bottom:6px!important;padding:2px 3px!important}
body.zal-v2-clean-ready #pantryView .category-head h3{font-size:14px!important;color:#eef2ff!important}
body.zal-v2-clean-ready #pantryView .pantry-zone-grid{gap:8px!important}
body.zal-v2-clean-ready #pantryView .pantry-zone-card{min-height:84px!important;padding:11px!important;border-radius:18px!important}
body.zal-v2-clean-ready #pantryView .pantry-zone-card .pantry-zone-icon{font-size:20px!important}
body.zal-v2-clean-ready #pantryView .pantry-card{min-height:66px!important;padding:10px 11px!important;border-radius:18px!important;gap:9px!important}
body.zal-v2-clean-ready #pantryView .pantry-card b{font-size:14px!important;line-height:1.2!important;color:#fff!important}
body.zal-v2-clean-ready #pantryView .pantry-card .muted.small{font-size:8.5px!important}
body.zal-v2-clean-ready #pantryView .pantry-card .level-label{margin-top:4px!important;font-size:9px!important;font-weight:900!important;color:#cfc6ff!important}
body.zal-v2-clean-ready #pantryView .pantry-card .vial{transform:scale(.82)!important;transform-origin:center right!important;opacity:.78!important}
/* Historial/Tickets: escáner protagonista; archivo y administración más tranquilos. */
body.zal-v2-clean-ready #ticketsView .ticket-add-row{gap:8px!important;margin-bottom:10px!important}
body.zal-v2-clean-ready #ticketsView .ticket-add-btn{min-height:46px!important;border-radius:16px!important;font-size:11px!important;font-weight:950!important}
body.zal-v2-clean-ready #ticketsView>.panel{margin-bottom:10px!important;padding:12px!important}
body.zal-v2-clean-ready #ticketsView .receipt-month-wrap{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important}
body.zal-v2-clean-ready #ticketsView .receipt-month-folder-actions :is(.danger,.delete,.destructive){opacity:.62!important}
body.zal-v2-clean-ready #ticketsView .receipt-month-folder-actions :is(.danger,.delete,.destructive):focus,
body.zal-v2-clean-ready #ticketsView .receipt-month-folder-actions :is(.danger,.delete,.destructive):active{opacity:1!important}
/* Recetas: inspiración primero; configuración deja de ocupar media pantalla. */
body.zal-v2-clean-ready #recipesView .recipes-toolbar-panel{padding:10px!important;margin-bottom:9px!important}
body.zal-v2-clean-ready #recipesView .recipes-search-row{gap:7px!important}
body.zal-v2-clean-ready #recipesView .recipes-search-btn{min-height:42px!important;padding-inline:12px!important}
body.zal-v2-clean-ready #recipesView .recipe-personalize-block{margin:0 0 12px!important;padding:10px!important;background:var(--v2-glass-soft)!important;border:1px solid rgba(164,137,255,.12)!important;box-shadow:none!important}
body.zal-v2-clean-ready #recipesView .recipe-personalize-copy .eyebrow{font-size:8px!important}
body.zal-v2-clean-ready #recipesView .recipe-personalize-copy .muted.small{font-size:8.5px!important}
body.zal-v2-clean-ready #recipesView .recipe-personalize-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;margin-top:7px!important}
body.zal-v2-clean-ready #recipesView .recipe-personalize-action{min-height:52px!important;padding:7px!important;border-radius:14px!important}
body.zal-v2-clean-ready #recipesView .recipe-personalize-action small{display:none!important}
body.zal-v2-clean-ready #recipesView .recipe-personalize-action b{font-size:8.5px!important;line-height:1.1!important}
body.zal-v2-clean-ready #recipesView .recipe-personalize-icon{font-size:15px!important}
body.zal-v2-clean-ready #recipesView .recipe-section-head{margin:10px 1px 7px!important}
body.zal-v2-clean-ready #recipesView .recipe-section-head h3{margin:2px 0 0!important;font-size:17px!important}
body.zal-v2-clean-ready #recipesView .recipe-card{padding:12px!important;border-radius:19px!important}
body.zal-v2-clean-ready #recipesView .recipe-card h3{font-size:15px!important;line-height:1.22!important;margin:3px 0!important}
body.zal-v2-clean-ready #recipesView .recipe-source{font-size:8px!important;opacity:.72!important}
body.zal-v2-clean-ready #recipesView .recipe-meta{gap:5px!important;margin-top:7px!important}
body.zal-v2-clean-ready #recipesView .recipe-pill{font-size:8px!important;padding:3px 6px!important}
body.zal-v2-clean-ready #recipesView .recipe-why{margin-top:7px!important;font-size:9px!important;line-height:1.35!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
body.zal-v2-clean-ready #recipesView .recipe-card-actions{gap:7px!important;margin-top:9px!important}
body.zal-v2-clean-ready #recipesView .recipe-card-actions .btn{min-height:38px!important;padding:7px 9px!important;font-size:9.5px!important;border-radius:13px!important}
/* Plan: semana legible, huecos vacíos discretos y platos reales con prioridad visual. */
body.zal-v2-clean-ready #mealsView>.panel{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body.zal-v2-clean-ready #mealsView #mealGrid{gap:9px!important}
body.zal-v2-clean-ready #mealsView :is(.zal-final-day,.meal-day-card,.zal-day-card){padding:10px!important;border-radius:19px!important;border:1px solid rgba(164,137,255,.13)!important;background:var(--v2-glass)!important;box-shadow:var(--v2-shadow)!important}
body.zal-v2-clean-ready #mealsView :is(.zal-final-slot,.meal-plan-row,.meal-slot){min-height:42px!important;border-radius:13px!important}
body.zal-v2-clean-ready #mealsView :is(.zal-final-slot,.meal-plan-row,.meal-slot):not(.filled){opacity:.70!important;background:rgba(255,255,255,.018)!important;border-color:rgba(255,255,255,.045)!important;box-shadow:none!important}
body.zal-v2-clean-ready #mealsView :is(.zal-final-slot,.meal-plan-row,.meal-slot).filled{opacity:1!important;background:linear-gradient(145deg,rgba(49,65,118,.48),rgba(38,26,78,.38))!important;border-color:rgba(164,137,255,.18)!important}
body.zal-v2-clean-ready #mealsView .zal-final-status{font-size:8px!important;padding:3px 6px!important}
@media(max-width:390px){
 body.zal-v2-clean-ready #recipesView .recipe-personalize-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body.zal-v2-clean-ready #listView .list-add-row{grid-template-columns:minmax(0,1fr)!important}
 body.zal-v2-clean-ready #listView #addItemBtn{width:100%!important}
}
/* Fase 2 · cierre: Compra y Comidas comparten el mismo lenguaje visual y jerarquía. */
body.zal-v2-clean-ready :is(#listView,#pantryView,#ticketsView,#recipesView,#mealsView) .viewhead{margin-bottom:10px!important}
body.zal-v2-clean-ready :is(#listView,#pantryView,#ticketsView,#recipesView,#mealsView) .viewhead h2{font-size:23px!important;letter-spacing:-.02em!important}
body.zal-v2-clean-ready :is(#listView,#pantryView,#ticketsView,#recipesView,#mealsView) :is(.panel,.card,.notice,.ticket-category,.recipe-card,.pantry-card,.meal-day-card,.zal-final-day){border-color:rgba(164,137,255,.16)!important}
body.zal-v2-clean-ready :is(#listView,#pantryView,#ticketsView,#recipesView,#mealsView) :is(.muted,.small,small){color:#aeb9d0}
body.zal-v2-clean-ready #mealsView #mealWeekNav{border:1px solid rgba(164,137,255,.18)!important;background:linear-gradient(145deg,rgba(34,59,106,.48),rgba(10,25,57,.62))!important;box-shadow:0 12px 28px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.055)!important;backdrop-filter:blur(15px)!important;-webkit-backdrop-filter:blur(15px)!important}
body.zal-v2-clean-ready #mealsView #mealWeekNav.is-loading{opacity:.72!important}
body.zal-v2-clean-ready #listView .shopping-finish-btn{box-shadow:0 12px 30px rgba(0,0,0,.20),0 0 20px rgba(118,88,255,.10)!important}

/* === FASE 3 · PLANES + ONBOARDING + CIERRE === */
.zal-v2-plan-list{display:grid;gap:10px;margin-bottom:12px}.zal-v2-plan-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border-radius:22px;border:1px solid rgba(145,101,255,.22);background:linear-gradient(145deg,rgba(29,52,97,.58),rgba(10,24,56,.72));box-shadow:0 12px 28px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.055)}.zal-v2-plan-card b{display:block;color:#fff;font-size:14px}.zal-v2-plan-card small{display:block;color:#aeb9d0;margin-top:4px;line-height:1.35}.zal-v2-plan-status{display:inline-flex;margin-top:7px;padding:5px 8px;border-radius:999px;border:1px solid rgba(106,232,255,.18);background:rgba(106,232,255,.05);color:#d8fbff;font-size:8.5px;font-weight:900}.zal-v2-plan-open{min-height:40px;padding:8px 11px;border-radius:14px;border:1px solid rgba(145,101,255,.28);background:rgba(145,101,255,.08);color:#efeaff;font-weight:900}.zal-v2-plan-create{display:grid;gap:11px}.zal-v2-plan-create label{display:grid;gap:5px;color:#c8d0e1;font-size:10px;font-weight:850}.zal-v2-plan-create input,.zal-v2-plan-create select{min-height:46px;border-radius:16px;border:1px solid rgba(145,101,255,.24);background:rgba(7,18,43,.70);color:#fff;padding:0 12px;font:inherit}.zal-v2-plan-create-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.zal-v2-plan-create-actions button{min-height:46px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);color:#fff;font-weight:900}.zal-v2-plan-create-actions .primary{border-color:rgba(145,101,255,.48);background:linear-gradient(145deg,rgba(145,101,255,.86),rgba(92,70,210,.92))}.zal-v2-plan-detail-grid{display:grid;gap:10px;grid-template-columns:1fr 1fr}.zal-v2-plan-detail-card{padding:13px;border-radius:19px;border:1px solid rgba(145,101,255,.18);background:rgba(17,37,78,.48)}.zal-v2-plan-detail-card b{display:block;color:#fff}.zal-v2-plan-detail-card small{display:block;color:#aeb9d0;margin-top:4px;font-size:9px;line-height:1.35}
.zal-v2-onboard{position:fixed;inset:0;z-index:10000320;display:none;place-items:end center;padding:12px;background:rgba(3,8,26,.72);backdrop-filter:blur(10px) saturate(.8);-webkit-backdrop-filter:blur(10px) saturate(.8)}.zal-v2-onboard.open{display:grid}.zal-v2-onboard-sheet{width:min(560px,100%);max-height:min(86dvh,760px);overflow:auto;border-radius:30px 30px 22px 22px;border:1.5px solid rgba(145,101,255,.42);background:radial-gradient(circle at 10% 0%,rgba(106,232,255,.10),transparent 30%),radial-gradient(circle at 90% 0%,rgba(145,101,255,.18),transparent 34%),linear-gradient(180deg,#142d61,#091832);box-shadow:0 -26px 80px rgba(0,0,0,.52),0 0 34px rgba(145,101,255,.10);padding:18px}.zal-v2-onboard-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.zal-v2-onboard-head h3{margin:0;color:#fff;font-size:25px}.zal-v2-onboard-head p{margin:5px 0 0;color:#b7c1d6;font-size:11px;line-height:1.45}.zal-v2-onboard-close{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);color:#fff;font-size:21px}.zal-v2-onboard-choices{display:grid;gap:9px;margin-top:14px}.zal-v2-onboard-choice{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;text-align:left;padding:12px;border-radius:18px;border:1px solid rgba(145,101,255,.18);background:rgba(255,255,255,.028);color:#fff;font:inherit}.zal-v2-onboard-choice span:first-child{width:36px;height:36px;border-radius:13px;display:grid;place-items:center;background:rgba(145,101,255,.09)}.zal-v2-onboard-choice b{display:block}.zal-v2-onboard-choice small{display:block;margin-top:2px;color:#aeb9d0;font-size:9.5px}.zal-v2-onboard-foot{display:flex;justify-content:space-between;gap:9px;margin-top:14px}.zal-v2-onboard-foot button{min-height:44px;padding:8px 12px;border-radius:15px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#fff;font-weight:900}.zal-v2-onboard-foot .primary{border-color:rgba(145,101,255,.42);background:linear-gradient(145deg,rgba(145,101,255,.82),rgba(91,70,208,.90))}.zal-v2-onboard-dots{display:flex;gap:5px;align-items:center}.zal-v2-onboard-dots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.18)}.zal-v2-onboard-dots i.active{background:#9a76ff;box-shadow:0 0 10px rgba(145,101,255,.38)}
@media(max-width:390px){.zal-v2-plan-detail-grid,.zal-v2-plan-create-actions{grid-template-columns:1fr}}
/* Friend-test pass · primera impresión, claridad y colaboración sin ruido */
body.zal-v2-clean-auth #authBox .zalu-start-guide{max-width:520px;margin-inline:auto;border-radius:28px!important;border:1px solid rgba(145,101,255,.24)!important;background:radial-gradient(circle at 12% 0%,rgba(106,232,255,.08),transparent 34%),linear-gradient(165deg,rgba(23,44,88,.92),rgba(8,19,45,.96))!important;box-shadow:0 24px 70px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.06)!important;padding:18px!important}
body.zal-v2-clean-auth #authBox .public-entry-copy h2{font-size:clamp(28px,8vw,38px)!important;letter-spacing:-.035em!important;margin:4px 0 7px!important}
body.zal-v2-clean-auth #authBox .public-entry-copy p{max-width:43ch;margin:0 auto 14px!important;line-height:1.48!important;color:#bcc7db!important}
body.zal-v2-clean-auth #authBox .onboarding-progress{opacity:.78}
body.zal-v2-clean-auth #authBox .onboarding-tabs{background:rgba(255,255,255,.035)!important;border-color:rgba(145,101,255,.18)!important}
body.zal-v2-clean-auth #authBox :is(.field,input,select){min-height:48px!important;border-radius:15px!important}
body.zal-v2-clean-auth #authBox :is(.onboarding-primary,.google-auth-btn){min-height:48px!important;border-radius:15px!important}
body.zal-v2-clean-auth #authBox .public-demo-btn{opacity:.86}
body.zal-v2-clean-auth #authBox .guest-ai-note{border-radius:16px!important}
body.zal-v2-clean-ready #familySetupBox .first-use-home-grid{gap:10px!important}
body.zal-v2-clean-ready #familySetupBox .first-use-home-card{border-radius:20px!important;border:1px solid rgba(145,101,255,.18)!important;background:linear-gradient(145deg,rgba(28,51,95,.48),rgba(9,22,52,.58))!important}
.zal-v2-onboard-choice[data-v2-onboard-target]{cursor:pointer;transition:transform .14s ease,border-color .14s ease,background .14s ease}
.zal-v2-onboard-choice[data-v2-onboard-target]:active{transform:scale(.985);background:rgba(145,101,255,.08);border-color:rgba(145,101,255,.36)}
.zal-v2-plan-collab{display:grid;gap:10px;margin:12px 0}.zal-v2-plan-collab-card{padding:14px;border-radius:20px;border:1px solid rgba(145,101,255,.18);background:linear-gradient(145deg,rgba(29,52,97,.44),rgba(10,24,56,.54))}.zal-v2-plan-collab-card b{display:block;color:#fff}.zal-v2-plan-collab-card small{display:block;margin-top:4px;color:#aeb9d0;line-height:1.4}.zal-v2-share-grid{display:grid;gap:9px}.zal-v2-share-grid label{display:grid;gap:6px;color:#c8d0e1;font-size:10px;font-weight:850}.zal-v2-share-grid select{min-height:46px;border-radius:15px;border:1px solid rgba(145,101,255,.24);background:rgba(7,18,43,.7);color:#fff;padding:0 12px}.zal-v2-share-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px}.zal-v2-share-check{display:flex!important;align-items:center;gap:8px!important;min-height:44px;padding:9px 10px;border-radius:14px;border:1px solid rgba(145,101,255,.14);background:rgba(255,255,255,.025);font-size:10px!important}.zal-v2-share-check input{accent-color:#9165ff}.zal-v2-share-summary{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.zal-v2-share-pill{padding:5px 8px;border-radius:999px;border:1px solid rgba(106,232,255,.16);background:rgba(106,232,255,.04);color:#d8fbff;font-size:8.5px;font-weight:850}@media(max-width:390px){.zal-v2-share-checks{grid-template-columns:1fr}}


/* Planes · colaboración familiar y lista compartida */
.zal-v2-role-help{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.zal-v2-role-help article{padding:10px;border-radius:14px;border:1px solid rgba(145,101,255,.14);background:rgba(255,255,255,.022)}.zal-v2-role-help b{display:block;color:#fff;font-size:10px}.zal-v2-role-help small{display:block;color:#9eabc2;font-size:8.5px;line-height:1.35;margin-top:3px}.zal-v2-invite-drafts{display:grid;gap:8px}.zal-v2-invite-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;border-radius:17px;border:1px solid rgba(145,101,255,.16);background:rgba(255,255,255,.025)}.zal-v2-invite-row b{display:block;color:#fff}.zal-v2-invite-row small{display:block;color:#aeb9d0;font-size:9px;margin-top:3px}.zal-v2-invite-row button{min-height:36px;border-radius:12px;border:1px solid rgba(255,127,145,.18);background:rgba(255,127,145,.05);color:#ffd7de;font-weight:850}.zal-v2-plan-feature{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;padding:14px;margin:10px 0;border-radius:20px;border:1px solid rgba(145,101,255,.22);background:linear-gradient(145deg,rgba(37,65,118,.55),rgba(12,29,67,.66));color:#fff}.zal-v2-plan-feature>span:first-child{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:rgba(106,232,255,.07)}.zal-v2-plan-feature b{display:block}.zal-v2-plan-feature small{display:block;color:#afbad0;font-size:9px;line-height:1.35;margin-top:3px}.zal-v2-plan-feature>i{font-style:normal;font-size:22px;color:#a88aff}.zal-v2-plan-people{display:grid;gap:7px;margin-top:10px}.zal-v2-plan-people>span{display:grid;grid-template-columns:32px minmax(0,1fr);gap:9px;align-items:center}.zal-v2-plan-people>span>i{width:32px;height:32px;display:grid;place-items:center;border-radius:11px;background:rgba(145,101,255,.1);border:1px solid rgba(145,101,255,.16);font-style:normal;font-size:9px;font-weight:950;color:#fff}.zal-v2-plan-people b{font-size:10px}.zal-v2-plan-people small{font-size:8.5px}.zal-v2-plan-list-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0 11px}.zal-v2-plan-list-summary>span{padding:10px;border-radius:16px;border:1px solid rgba(145,101,255,.14);background:rgba(255,255,255,.022)}.zal-v2-plan-list-summary small{display:block;color:#9eabc2;font-size:8px}.zal-v2-plan-list-summary b{display:block;color:#fff;font-size:18px;margin-top:2px}.zal-v2-plan-item-create{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(72px,.55fr) minmax(105px,.8fr) auto;gap:7px;margin-bottom:9px}.zal-v2-plan-item-create input,.zal-v2-plan-item-create select{min-height:43px;border-radius:14px;border:1px solid rgba(145,101,255,.17);background:rgba(7,18,43,.68);color:#fff;padding:0 10px;min-width:0}.zal-v2-plan-item-create button{min-height:43px;border-radius:14px;border:1px solid rgba(145,101,255,.36);background:linear-gradient(145deg,rgba(145,101,255,.75),rgba(88,67,202,.88));color:#fff;font-weight:900}.zal-v2-plan-policy{padding:10px 11px;margin-bottom:9px;border-radius:14px;border:1px solid rgba(106,232,255,.12);background:rgba(106,232,255,.025);color:#aeb9d0;font-size:8.8px;line-height:1.4}.zal-v2-plan-policy b{color:#e9faff}.zal-v2-plan-items{display:grid;gap:8px;margin-bottom:11px}.zal-v2-plan-item{padding:12px;border-radius:18px;border:1px solid rgba(145,101,255,.15);background:linear-gradient(145deg,rgba(27,49,92,.42),rgba(10,24,56,.50))}.zal-v2-plan-item.is-ready{opacity:.72}.zal-v2-plan-item-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start}.zal-v2-plan-item-main b{display:block;color:#fff}.zal-v2-plan-item-main small{display:block;color:#aab5ca;font-size:9px;margin-top:3px}.zal-v2-plan-item-state{font-style:normal;font-size:8px;font-weight:900;padding:5px 7px;border-radius:999px;border:1px solid rgba(255,255,255,.1)}.zal-v2-plan-item-state.is-free{color:#ffd69d;background:rgba(255,174,72,.05);border-color:rgba(255,174,72,.16)}.zal-v2-plan-item-state.is-assigned{color:#d8fbff;background:rgba(106,232,255,.04);border-color:rgba(106,232,255,.14)}.zal-v2-plan-item-state.is-ready{color:#d8ffe6;background:rgba(104,236,151,.04);border-color:rgba(104,236,151,.15)}.zal-v2-plan-item-actions{display:grid;grid-template-columns:auto minmax(105px,1fr) auto;gap:6px;margin-top:9px}.zal-v2-plan-item-actions button,.zal-v2-plan-item-actions select{min-height:38px;border-radius:12px;border:1px solid rgba(145,101,255,.16);background:rgba(255,255,255,.025);color:#fff;padding:0 9px;font-size:9px;font-weight:850;min-width:0}.zal-v2-plan-item-actions button.is-done{border-color:rgba(104,236,151,.22);background:rgba(104,236,151,.06);color:#d8ffe6}
@media(max-width:560px){.zal-v2-role-help{grid-template-columns:1fr}.zal-v2-plan-item-create{grid-template-columns:1fr 1fr}.zal-v2-plan-item-create input:first-child{grid-column:1/-1}.zal-v2-plan-item-create button{width:100%}.zal-v2-plan-item-actions{grid-template-columns:1fr 1fr}.zal-v2-plan-item-actions select{grid-column:1/-1}.zal-v2-plan-list-summary{grid-template-columns:repeat(3,1fr)}}

/* Planes colaborativos · código + documentos por ámbito */
.zal-v2-plan-codebox{display:grid;gap:8px;padding:14px;border-radius:20px;border:1px solid rgba(106,232,255,.22);background:linear-gradient(145deg,rgba(20,57,101,.48),rgba(16,30,70,.62));box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.zal-v2-plan-codebox small{color:#aeb9d0}.zal-v2-plan-code{font-size:22px;font-weight:950;letter-spacing:.14em;color:#f4fbff;word-break:break-all}.zal-v2-plan-code-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.zal-v2-plan-code-actions button,.zal-v2-join-form button{min-height:44px;border-radius:15px;border:1px solid rgba(145,101,255,.28);background:rgba(145,101,255,.09);color:#fff;font-weight:900}.zal-v2-join-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:12px 0}.zal-v2-join-form input{min-height:46px;border-radius:16px;border:1px solid rgba(145,101,255,.22);background:rgba(7,18,43,.72);color:#fff;padding:0 12px;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.zal-v2-doc-spaces{display:grid;grid-template-columns:1fr 1fr;gap:10px}.zal-v2-doc-space{padding:14px;border-radius:21px;border:1px solid rgba(145,101,255,.18);background:var(--v2-glass);box-shadow:var(--v2-shadow);text-align:left;color:#fff}.zal-v2-doc-space b,.zal-v2-doc-space small{display:block}.zal-v2-doc-space small{margin-top:4px;color:#aeb9d0;line-height:1.4}.zal-v2-doc-space.is-shared{border-color:rgba(106,232,255,.25)}.zal-v2-doc-space.is-family{border-color:rgba(145,101,255,.28)}.zal-v2-doc-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.zal-v2-doc-tabs button{min-height:42px;border-radius:14px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.03);color:#b9c4d9;font-weight:900}.zal-v2-doc-tabs button.active{color:#fff;border-color:rgba(145,101,255,.38);background:rgba(145,101,255,.11)}.zal-v2-doc-upload{display:grid;gap:8px;padding:12px;border-radius:18px;border:1px dashed rgba(145,101,255,.28);background:rgba(255,255,255,.02)}.zal-v2-doc-upload input{color:#cbd5e8}.zal-v2-doc-upload button{min-height:42px;border-radius:14px;border:1px solid rgba(145,101,255,.28);background:rgba(145,101,255,.10);color:#fff;font-weight:900}.zal-v2-doc-list{display:grid;gap:8px;margin-top:10px}.zal-v2-doc-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 12px;border-radius:16px;border:1px solid rgba(255,255,255,.075);background:rgba(255,255,255,.025)}.zal-v2-doc-row b,.zal-v2-doc-row small{display:block}.zal-v2-doc-row small{margin-top:3px;color:#9eabc3}.zal-v2-doc-badge{display:inline-flex!important;margin-top:5px!important;width:max-content;padding:4px 7px;border-radius:999px;border:1px solid rgba(106,232,255,.18);font-size:8px!important}.zal-v2-doc-row button{min-height:36px;border-radius:12px;border:1px solid rgba(145,101,255,.22);background:rgba(145,101,255,.08);color:#fff;font-weight:850}@media(max-width:390px){.zal-v2-doc-spaces,.zal-v2-plan-code-actions{grid-template-columns:1fr}.zal-v2-join-form{grid-template-columns:1fr}}



/* Zalunia 2.0 · Fase 1 · capa final de carcasa visual */
body.zal-v2-clean-ready>#zalLegacyApp,
body.zal-v2-clean-ready>#homeView,
body.zal-v2-clean-ready>.topbar,
body.zal-v2-clean-ready>.app{display:none!important;visibility:hidden!important;pointer-events:none!important}
body.zal-v2-clean-ready>#zalV2AppRoot{display:block!important;visibility:visible!important;opacity:1!important}
body.zal-v2-clean-ready{padding-bottom:0!important;overflow-x:hidden!important}
body.zal-v2-clean-ready .zal-v2-clean-app{min-height:100dvh;padding:10px 16px calc(var(--zal-v2-nav-height,72px) + max(10px,env(safe-area-inset-bottom,0px)) + 18px)!important;background:linear-gradient(180deg,#102957 0%,#0d2149 46%,#091831 100%)!important}
body.zal-v2-clean-ready .zal-v2-clean-brand{max-width:760px;margin:0 auto 13px!important;padding:2px 0!important}
body.zal-v2-clean-ready .zal-v2-clean-tagline{margin-top:5px!important;font-size:11px!important;line-height:1.2!important;font-weight:760!important;color:#c9d4e8!important}
body.zal-v2-clean-ready .zal-v2-clean-beta{margin-top:4px!important;padding:3px 8px!important;font-size:8px!important;line-height:1.1!important;border-color:rgba(106,232,255,.14)!important;background:rgba(106,232,255,.035)!important;box-shadow:none!important;color:#b9e7ee!important}
body.zal-v2-clean-ready .zal-v2-today-head{margin:0 0 12px!important;padding:14px 16px 13px!important;border-radius:23px!important;background:linear-gradient(145deg,rgba(27,52,101,.58),rgba(12,28,63,.70))!important;box-shadow:0 12px 28px rgba(1,7,24,.24),inset 0 1px 0 rgba(255,255,255,.08)!important}
body.zal-v2-clean-ready .zal-v2-clock{font-size:clamp(44px,12vw,48px)!important;line-height:.96!important;letter-spacing:-.055em!important}
body.zal-v2-clean-ready .zal-v2-date{margin-top:7px!important;font-size:14px!important}
body.zal-v2-clean-ready .zal-v2-dayline{margin-top:3px!important;font-size:10px!important}
body.zal-v2-clean-ready .zal-v2-today-grid{gap:11px!important}
body.zal-v2-clean-ready .zal-v2-section{padding:14px 14px 14px 16px!important;border-radius:22px!important;box-shadow:0 10px 24px rgba(2,8,26,.20),inset 0 1px 0 rgba(255,255,255,.07)!important}
body.zal-v2-clean-ready .zal-v2-section:before{top:13px!important;bottom:13px!important;width:4px!important;box-shadow:none!important}
body.zal-v2-clean-ready .zal-v2-section-head{margin-bottom:8px!important}
body.zal-v2-clean-ready .zal-v2-section-title{font-size:9.5px!important}
body.zal-v2-clean-ready .zal-v2-section-main{font-size:16px!important}
body.zal-v2-clean-ready .zal-v2-section-sub{margin-top:4px!important;font-size:10px!important}
body.zal-v2-clean-ready .zal-v2-section-action{min-height:32px!important;padding:6px 10px!important;font-size:9px!important}
body.zal-v2-clean-ready .zal-v2-clean-nav{bottom:max(5px,env(safe-area-inset-bottom,0px))!important;width:min(680px,calc(100% - 16px))!important;gap:2px!important;padding:4px!important;border-radius:23px!important;box-shadow:0 12px 28px rgba(1,7,24,.38),inset 0 1px 0 rgba(255,255,255,.07)!important}
body.zal-v2-clean-ready .zal-v2-clean-nav button{min-height:54px!important;border-radius:16px!important;gap:3px!important;font-size:9px!important}
body.zal-v2-clean-ready .zal-v2-clean-nav .i{font-size:18px!important}
body.zal-v2-clean-ready #miniZaluLauncher{width:58px!important;height:58px!important;right:14px!important;bottom:calc(76px + env(safe-area-inset-bottom,0px))!important}
body.zal-v2-clean-ready #miniZaluLauncher img{width:58px!important;height:58px!important}
body.zal-v2-clean-ready #miniZaluPanel,body.zal-v2-clean-ready #miniZaluSheet,body.zal-v2-clean-ready .mini-zalu-panel{max-height:min(82dvh,760px)!important}
@media(max-width:390px){body.zal-v2-clean-ready .zal-v2-clean-app{padding-left:13px!important;padding-right:13px!important}body.zal-v2-clean-ready .zal-v2-clean-brand{margin-bottom:11px!important}body.zal-v2-clean-ready .zal-v2-clean-nav button{font-size:8.5px!important}}
@media(min-width:760px){body.zal-v2-clean-ready .zal-v2-clean-app{padding-left:28px!important;padding-right:28px!important}body.zal-v2-clean-ready .zal-v2-clean-brand,body.zal-v2-clean-ready .zal-v2-clean-main{max-width:980px!important}body.zal-v2-clean-ready .zal-v2-today-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.zal-v2-clean-ready .zal-v2-wide{grid-column:1/-1!important}}
@media(min-width:1100px){body.zal-v2-clean-ready .zal-v2-clean-app{padding-left:48px!important;padding-right:48px!important}body.zal-v2-clean-ready .zal-v2-clean-brand,body.zal-v2-clean-ready .zal-v2-clean-main{max-width:1080px!important}body.zal-v2-clean-ready .zal-v2-clean-nav{width:760px!important}}



/* El shell visual no puede intervenir durante boot, auth ni fallback. */
body.zal-v2-clean-boot>#zalV2AppRoot,
body.zal-v2-clean-auth>#zalV2AppRoot{display:block!important;visibility:visible!important;opacity:1!important}
body.zal-v2-clean-boot #zalV2Boot{display:flex!important;visibility:visible!important;opacity:1!important}
body.zal-v2-clean-auth #zalV2AuthRoot{display:block!important;visibility:visible!important;opacity:1!important}
body.zal-v2-clean-boot #zalV2AuthRoot,
body.zal-v2-clean-auth #zalV2Boot{display:none!important;visibility:hidden!important}
body.zal-v2-clean-boot .zal-v2-clean-brand,
body.zal-v2-clean-boot .zal-v2-clean-nav,
body.zal-v2-clean-auth .zal-v2-clean-brand,
body.zal-v2-clean-auth .zal-v2-clean-nav{display:none!important;visibility:hidden!important}
body.zal-v2-clean-ready.zal-v2-clean-auth #zalV2AuthRoot{display:block!important;visibility:visible!important;opacity:1!important}



/* Cierre visual móvil de Fase 1: solo cuando la carcasa limpia está activa. */
body.zal-v2-clean-ready .zal-v2-clean-brand{overflow:visible!important}
/* El CTA demo conserva texto y acción, pero no crea un segundo avatar flotante. */
body.zal-v2-clean-ready #zaluniaDemoSignup .zalunia-demo-signup-avatar,
body.zal-v2-clean-ready .zalunia-tour-avatar{display:none!important;visibility:hidden!important}
body.zal-v2-clean-ready #zaluniaDemoSignup .zalunia-demo-signup-title{margin-left:0!important}
body.zal-v2-clean-ready.zalunia-demo-explorer #miniZaluLauncher{
 display:flex!important;visibility:visible!important;opacity:1!important;
 width:58px!important;height:58px!important;right:14px!important;left:auto!important;
 bottom:calc(76px + env(safe-area-inset-bottom,0px))!important
}
body.zal-v2-clean-ready.zalunia-demo-explorer #miniZaluLauncher img{width:58px!important;height:58px!important}
body.zal-v2-clean-ready.zalunia-demo-explorer #zaluniaDemoSignup{
 bottom:calc(150px + env(safe-area-inset-bottom,0px))!important;max-width:calc(100vw - 20px)!important
}
@media(max-width:430px){
 body.zal-v2-clean-ready .zal-v2-clean-brand{max-width:none!important;width:100%!important}
 body.zal-v2-clean-ready .zal-v2-clean-tagline{font-size:10.5px!important}
 body.zal-v2-clean-ready #zaluniaDemoSignup{right:10px!important;left:10px!important;width:auto!important}
}


/* The shell mounts Zalunia's existing brand node; this only positions that node. */
body.zal-v2-clean-ready .zal-v2-clean-brand{display:flex;flex-direction:column;align-items:flex-start;gap:4px;overflow:visible}
body.zal-v2-clean-ready #zalV2BrandMount{display:block;width:100%;min-width:0}
body.zal-v2-clean-ready #zalV2BrandMount .zalunia-brand{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}


/* Fase 1 · Demo explorer CTA: never stretch into a transparent click shield. */
body.zal-v2-clean-ready.zalunia-demo-explorer #zaluniaDemoSignup{
  bottom:auto!important;
  height:auto!important;
  max-height:calc(100dvh - 112px - env(safe-area-inset-bottom,0px))!important;
  overflow:auto!important;
}
/* Minimizar Demo cierra el CTA por completo: el avatar está oculto en el shell 2.0,
   así que conservar el contenedor dejaba una cápsula morada vacía y un hit target. */
/* A minimized CTA is removed visually regardless of shell/body state. */
#zaluniaDemoSignup.minimized,
body.zal-v2-clean-ready #zaluniaDemoSignup.minimized,
body.zal-v2-clean-ready.zalunia-demo-explorer #zaluniaDemoSignup.minimized{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  width:0!important;height:0!important;min-width:0!important;min-height:0!important;
  max-width:0!important;max-height:0!important;margin:0!important;padding:0!important;
  border:0!important;background:transparent!important;box-shadow:none!important;transform:none!important;
}


/* Demo badge stays in its existing position and is the persistent exit after minimize. */
body.zal-v2-clean-ready.zalunia-demo-explorer #zaluniaDemoExplorerBadge{
 pointer-events:auto!important;cursor:pointer!important;touch-action:manipulation!important;
}

/* Fase 2 · Home/Hoy: resumen derivado, filas compactas y estado tranquilo sin relleno. */
body.zal-v2-clean-ready .zal-v2-today-grid.zal-v2-home-layout{
 display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;
 width:100%;max-width:640px;margin:0 auto;padding-bottom:calc(18px + env(safe-area-inset-bottom,0px))
}
body.zal-v2-clean-ready .zal-v2-home-card{
 --home-accent:106,232,255;position:relative;min-width:0;padding:17px 18px 16px!important;
 border:1px solid rgba(164,193,236,.14)!important;border-radius:22px!important;
 background:linear-gradient(145deg,rgba(24,47,88,.69),rgba(10,25,55,.78))!important;
 box-shadow:0 10px 26px rgba(1,8,25,.20),inset 0 1px 0 rgba(255,255,255,.055)!important;
 backdrop-filter:blur(12px) saturate(1.08);-webkit-backdrop-filter:blur(12px) saturate(1.08);
 overflow:hidden;transform:none!important
}
body.zal-v2-clean-ready .zal-v2-home-card[hidden]{display:none!important}
body.zal-v2-clean-ready .zal-v2-home-card:before{
 content:"";position:absolute;left:0;top:18px;bottom:18px;width:3px;border-radius:0 8px 8px 0;
 background:rgba(var(--home-accent),.84);box-shadow:0 0 9px rgba(var(--home-accent),.16)
}
body.zal-v2-clean-ready .zal-v2-home-card:after{
 content:"";position:absolute;pointer-events:none;left:24px;right:24px;top:0;height:1px;
 background:linear-gradient(90deg,transparent,rgba(255,255,255,.13),transparent)
}
body.zal-v2-clean-ready .zal-v2-home-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 11px;position:relative;z-index:1}
body.zal-v2-clean-ready .zal-v2-home-card-head h2{margin:0;color:#c6d3e9;font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
body.zal-v2-clean-ready .zal-v2-home-meta{color:#a7eaf1;font-size:12px;font-weight:850}
body.zal-v2-clean-ready .zal-v2-home-primary{position:relative;z-index:1;margin:0;color:#f6f8ff;font-size:19px;line-height:1.28;font-weight:850;letter-spacing:-.015em;overflow-wrap:anywhere}
body.zal-v2-clean-ready .zal-v2-home-secondary{position:relative;z-index:1;margin:6px 0 0;color:#b4c1d8;font-size:13px;line-height:1.42}
body.zal-v2-clean-ready .zal-v2-home-now{min-height:132px;display:flex;flex-direction:column;justify-content:center}
body.zal-v2-clean-ready .zal-v2-home-now:not(.has-action){background:linear-gradient(145deg,rgba(20,43,82,.56),rgba(9,22,49,.62))!important}
body.zal-v2-clean-ready .zal-v2-home-now .zal-v2-home-card-head{margin-bottom:9px}
body.zal-v2-clean-ready .zal-v2-home-action{
 position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;min-height:44px;
 margin:12px 0 0;padding:8px 14px;border:1px solid rgba(145,101,255,.34);border-radius:15px;
 background:rgba(121,88,214,.16);color:#e5dcff;font:inherit;font-size:12px;font-weight:850;
 touch-action:manipulation
}
body.zal-v2-clean-ready .zal-v2-home-action[hidden]{display:none!important}
body.zal-v2-clean-ready .zal-v2-home-attention{--home-accent:232,180,81}
body.zal-v2-clean-ready .zal-v2-home-today{--home-accent:106,232,255}
body.zal-v2-clean-ready .zal-v2-home-next{--home-accent:160,145,228}
body.zal-v2-clean-ready .zal-v2-home-rows{position:relative;z-index:1;display:grid}
body.zal-v2-clean-ready .zal-v2-home-row{
 display:grid;grid-template-columns:minmax(0,1fr) 24px;gap:10px;align-items:center;width:100%;
 min-height:54px;padding:8px 2px;border:0;border-top:1px solid rgba(223,234,251,.085);
 background:transparent;color:#f2f6ff;text-align:left;font:inherit;touch-action:manipulation
}
body.zal-v2-clean-ready .zal-v2-home-row:first-child{border-top:0}
body.zal-v2-clean-ready .zal-v2-home-row-copy{display:grid;gap:3px;min-width:0}
body.zal-v2-clean-ready .zal-v2-home-row-label{color:#9feaf0;font-size:11px;font-weight:800}
body.zal-v2-clean-ready .zal-v2-home-row-copy b{color:#f3f6fd;font-size:14px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}
body.zal-v2-clean-ready .zal-v2-home-row-arrow{display:grid;place-items:center;width:25px;height:25px;border:1px solid rgba(145,101,255,.23);border-radius:50%;color:#c5b4ff;font-size:18px}
body.zal-v2-clean-ready .zal-v2-home-row:focus-visible,.zal-v2-home-action:focus-visible{outline:2px solid rgba(106,232,255,.78);outline-offset:2px}
body.zal-v2-clean-ready .zal-v2-home-attention-row{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:10px;position:relative;z-index:1}
body.zal-v2-clean-ready .zal-v2-home-attention-mark{width:7px;height:7px;border-radius:50%;background:rgb(var(--home-accent));box-shadow:0 0 8px rgba(var(--home-accent),.22)}
body.zal-v2-clean-ready .zal-v2-home-attention-row b{display:block;color:#f3f6fd;font-size:14px}
body.zal-v2-clean-ready .zal-v2-home-attention-row small{display:block;margin-top:3px;color:#bac5d8;font-size:12px;line-height:1.35}
body.zal-v2-clean-ready .zal-v2-home-attention-row .zal-v2-home-action{margin:0;white-space:nowrap;padding:8px 11px}
@media(max-width:360px){
 body.zal-v2-clean-ready .zal-v2-home-card{padding:15px 15px 14px!important;border-radius:20px!important}
 body.zal-v2-clean-ready .zal-v2-home-attention-row{grid-template-columns:7px minmax(0,1fr);gap:8px}
 body.zal-v2-clean-ready .zal-v2-home-attention-row .zal-v2-home-action{grid-column:2;justify-self:start}
 body.zal-v2-clean-ready .zal-v2-home-primary{font-size:18px}
}


/* Espacio final compartido: altura medida de navegación + safe area + separación táctil. */
body.zal-v2-clean-ready .zal-v2-clean-app{padding-bottom:calc(var(--zal-v2-nav-height,72px) + max(10px,env(safe-area-inset-bottom,0px)) + 18px)!important}
/* La insignia se añade al logo legacy y se monta dentro del shell; se conserva la insignia del shell una sola vez. */
body.zal-v2-clean-ready #zalV2BrandMount #zalBetaChip20260909{display:none!important}
body.zal-v2-clean-ready .zal-v2-clean-brand{margin-bottom:10px!important}
@media(max-width:430px){body.zal-v2-clean-ready .zal-v2-clean-brand{margin-bottom:8px!important}}

/* Tanda 2 QA follow-up: clearance tracks the fixed nav's actual viewport position. */
body.zal-v2-clean-ready .zal-v2-clean-app{padding-bottom:var(--zal-v2-content-clearance,104px)!important}
body.zal-v2-clean-ready.zal-v2-module-open .zal-v2-clean-app{padding-bottom:0!important}
body.zal-v2-clean-ready.zal-v2-module-open .zal-v2-clean-module-host{min-height:0!important;padding-bottom:var(--zal-v2-content-clearance,104px)!important}
body.zal-v2-clean-ready.zal-v2-module-open .zal-v2-clean-module-host>.view{padding-bottom:0!important}
/* Home / Hoy: compact hierarchy aligned with the approved activity-vs-calm reference. */
body.zal-v2-clean-ready .zal-v2-today-head{min-height:0!important;margin:0 0 10px!important;padding:0 2px 2px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body.zal-v2-clean-ready .zal-v2-clock,body.zal-v2-clean-ready .zal-v2-dayline{display:none!important}
body.zal-v2-clean-ready .zal-v2-date{margin:0!important;color:#aebbd2!important;font-size:10px!important;line-height:1.3!important;font-weight:800!important;letter-spacing:.09em!important;text-transform:uppercase!important}
body.zal-v2-clean-ready .zal-v2-today-grid{gap:8px!important}
body.zal-v2-clean-ready .zal-v2-home-card{padding:12px 14px!important;border:1px solid rgba(164,193,236,.11)!important;border-radius:18px!important;background:linear-gradient(145deg,rgba(24,47,88,.48),rgba(10,25,55,.60))!important;box-shadow:0 7px 18px rgba(1,8,25,.15),inset 0 1px 0 rgba(255,255,255,.04)!important;backdrop-filter:blur(10px) saturate(1.04)!important;-webkit-backdrop-filter:blur(10px) saturate(1.04)!important}
body.zal-v2-clean-ready .zal-v2-home-card:before{top:13px!important;bottom:13px!important;width:2px!important;background:rgba(var(--home-accent),.72)!important;box-shadow:none!important}
body.zal-v2-clean-ready .zal-v2-home-card:after{display:none!important}
body.zal-v2-clean-ready .zal-v2-home-card-head{margin-bottom:6px!important}
body.zal-v2-clean-ready .zal-v2-home-card-head h2{color:#aebbd2!important;font-size:9px!important;letter-spacing:.11em!important}
body.zal-v2-clean-ready .zal-v2-home-primary{font-size:16px!important;line-height:1.3!important}
body.zal-v2-clean-ready .zal-v2-home-secondary{margin-top:3px!important;font-size:11px!important;line-height:1.35!important}
body.zal-v2-clean-ready .zal-v2-home-now{min-height:0!important;padding-top:11px!important;padding-bottom:11px!important;justify-content:center!important;background:linear-gradient(145deg,rgba(20,43,82,.40),rgba(9,22,49,.52))!important}
body.zal-v2-clean-ready .zal-v2-home-now .zal-v2-home-card-head{margin-bottom:5px!important}
body.zal-v2-clean-ready .zal-v2-home-meta{font-size:10px!important}
body.zal-v2-clean-ready .zal-v2-home-row{min-height:46px!important;padding:6px 1px!important}
body.zal-v2-clean-ready .zal-v2-home-row-label{font-size:10px!important}
body.zal-v2-clean-ready .zal-v2-home-row-copy b{font-size:13px!important;line-height:1.3!important}
body.zal-v2-clean-ready .zal-v2-home-row-arrow{width:22px!important;height:22px!important;font-size:16px!important}
body.zal-v2-clean-ready .zal-v2-home-attention-row{gap:8px!important}
body.zal-v2-clean-ready .zal-v2-home-attention-row b{font-size:13px!important}
body.zal-v2-clean-ready .zal-v2-home-attention-row small{font-size:11px!important}
body.zal-v2-clean-ready #miniZaluLauncher{bottom:calc(var(--zal-v2-nav-height,72px) + max(10px,env(safe-area-inset-bottom,0px)) + 10px)!important}
@media(max-width:360px){body.zal-v2-clean-ready .zal-v2-home-card{padding:11px 12px!important;border-radius:16px!important}body.zal-v2-clean-ready .zal-v2-home-primary{font-size:15px!important}}

/* Tanda 2 QA · el body es el scroll owner (overflow:auto en el shell base). */
body.zal-v2-clean-ready{padding-bottom:var(--zal-v2-content-clearance,104px)!important}
body.zal-v2-clean-ready .zal-v2-clean-app{padding-bottom:0!important}
body.zal-v2-clean-ready.zal-v2-module-open .zal-v2-clean-module-host{padding-bottom:0!important}
body.zal-v2-clean-ready .zal-v2-clean-module-host>.view{padding-bottom:0!important}

/* Home/Hoy · composición compacta según home-hoy_activity-vs-calm_reference.jpg. */
body.zal-v2-clean-ready.zal-v2-today-open #zalV2BrandHeader{
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:1px!important;
  max-width:760px!important;margin:0 auto 8px!important;padding:0 2px!important;text-align:left!important;
}
body.zal-v2-clean-ready.zal-v2-today-open #zalV2BrandMount{width:auto!important;max-width:100%!important}
body.zal-v2-clean-ready.zal-v2-today-open #zalV2BrandMount .zalunia-brand{
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;
  gap:0!important;width:auto!important;margin:0!important;text-align:left!important;
}
body.zal-v2-clean-ready.zal-v2-today-open #zalV2BrandMount .zalunia-wordmark{
  justify-content:flex-start!important;font-size:25px!important;line-height:.96!important;
}
body.zal-v2-clean-ready.zal-v2-today-open #zalV2BrandMount .zalunia-tagline{
  display:block!important;margin:2px 0 0!important;color:#b8c5da!important;
  font-size:10px!important;line-height:1.25!important;font-weight:700!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-clean-beta{
  display:inline-flex!important;align-self:flex-start!important;margin:4px 0 0!important;padding:3px 7px!important;
  border-color:rgba(106,232,255,.12)!important;background:rgba(106,232,255,.025)!important;
  box-shadow:none!important;font-size:8px!important;line-height:1.1!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-today-head{
  min-height:0!important;margin:0 0 8px!important;padding:0 2px 1px!important;
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-clock,
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-dayline{display:none!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-date{
  margin:0!important;color:#aebbd2!important;font-size:9px!important;line-height:1.3!important;
  font-weight:800!important;letter-spacing:.09em!important;text-transform:uppercase!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-today-grid{gap:7px!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-card{
  padding:10px 12px!important;border:1px solid rgba(164,193,236,.10)!important;border-radius:16px!important;
  background:linear-gradient(145deg,rgba(24,47,88,.40),rgba(10,25,55,.50))!important;
  box-shadow:0 5px 14px rgba(1,8,25,.12),inset 0 1px 0 rgba(255,255,255,.035)!important;
  backdrop-filter:blur(8px) saturate(1.02)!important;-webkit-backdrop-filter:blur(8px) saturate(1.02)!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-card:before{
  top:11px!important;bottom:11px!important;width:2px!important;box-shadow:none!important;opacity:.78!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-card:after{display:none!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-card-head{margin:0 0 4px!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-card-head h2{
  color:#aebbd2!important;font-size:8.5px!important;letter-spacing:.11em!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-primary{font-size:15px!important;line-height:1.28!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-secondary{margin:2px 0 0!important;font-size:10px!important;line-height:1.3!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-now{
  min-height:0!important;padding:9px 12px!important;justify-content:center!important;
  background:linear-gradient(145deg,rgba(20,43,82,.34),rgba(9,22,49,.44))!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-now .zal-v2-home-card-head{margin-bottom:3px!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-meta{font-size:9px!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-row{min-height:48px!important;padding:5px 1px!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-row-label{font-size:9px!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-row-copy b{font-size:12px!important;line-height:1.3!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-row-arrow{width:21px!important;height:21px!important;font-size:15px!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-attention-row{gap:7px!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-attention-row b{font-size:12px!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-attention-row small{font-size:10px!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-action{min-height:44px!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-clean-nav{
  gap:2px!important;padding:3px!important;border:1px solid rgba(132,112,255,.19)!important;
  border-radius:19px!important;background:linear-gradient(155deg,rgba(18,39,80,.92),rgba(7,20,48,.95))!important;
  box-shadow:0 8px 22px rgba(0,7,28,.30),inset 0 1px 0 rgba(255,255,255,.05)!important;
  backdrop-filter:blur(18px) saturate(1.1)!important;-webkit-backdrop-filter:blur(18px) saturate(1.1)!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-clean-nav button{
  min-height:46px!important;border-radius:14px!important;gap:2px!important;padding:3px 1px!important;
  font-size:8px!important;box-shadow:none!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-clean-nav .i{width:21px!important;height:21px!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-clean-nav .i svg{width:19px!important;height:19px!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-clean-nav button.is-active{
  border-color:rgba(148,116,255,.30)!important;background:rgba(121,88,214,.16)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07)!important;
}
body.zal-v2-clean-ready.zal-v2-today-open #miniZaluLauncher{
  width:50px!important;height:50px!important;right:12px!important;
  bottom:calc(var(--zal-v2-content-clearance,104px) - 6px)!important;
}
body.zal-v2-clean-ready.zal-v2-today-open #miniZaluLauncher img{width:50px!important;height:50px!important}
@media(max-width:360px){
  body.zal-v2-clean-ready.zal-v2-today-open #zalV2BrandHeader{margin-bottom:6px!important}
  body.zal-v2-clean-ready.zal-v2-today-open #zalV2BrandMount .zalunia-wordmark{font-size:23px!important}
  body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-card{padding:9px 10px!important;border-radius:15px!important}
}

/* Ajuste posterior al QA móvil: recuperar escala de Hoy y reservar espacio en el scroller real. */
body.zal-v2-clean-ready{padding-bottom:0!important}
body.zal-v2-clean-ready.zal-v2-today-open #zalV2BrandHeader{margin-bottom:13px!important;overflow:visible!important}
body.zal-v2-clean-ready.zal-v2-today-open #zalV2BrandMount,
body.zal-v2-clean-ready.zal-v2-today-open #zalV2BrandMount .zalunia-brand{overflow:visible!important}
body.zal-v2-clean-ready.zal-v2-today-open #zalV2BrandMount .zalunia-wordmark{font-size:31px!important;line-height:1.08!important;min-height:1.08em!important}
body.zal-v2-clean-ready.zal-v2-today-open #zalV2BrandMount .zalunia-tagline{margin-top:4px!important;font-size:12px!important;line-height:1.35!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-clean-beta{margin-top:6px!important;padding:4px 8px!important;font-size:9px!important;line-height:1.2!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-date{font-size:10.5px!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-card{padding:13px 15px!important;border-radius:18px!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-card-head h2{font-size:10px!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-primary{font-size:17px!important;line-height:1.32!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-secondary{font-size:12px!important;line-height:1.4!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-now{padding:12px 15px!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-row{min-height:52px!important;padding:7px 2px!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-row-label{font-size:10px!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-row-copy b{font-size:13.5px!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-clean-nav{gap:3px!important;padding:5px!important;border-radius:22px!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-clean-nav button{min-height:52px!important;gap:3px!important;padding:4px 1px!important;font-size:9px!important;border-radius:16px!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-clean-nav .i svg{width:20px!important;height:20px!important}
body.zal-v2-clean-ready.zal-v2-today-open #miniZaluLauncher{width:54px!important;height:54px!important}
body.zal-v2-clean-ready.zal-v2-today-open #miniZaluLauncher img{width:54px!important;height:54px!important}
body.zal-v2-clean-ready.zalunia-demo-explorer #zaluniaDemoExplorerBadge{
 position:fixed!important;top:calc(env(safe-area-inset-top,0px) + 8px)!important;
 right:max(12px,env(safe-area-inset-right,0px) + 8px)!important;left:auto!important;
 bottom:auto!important;transform:none!important;margin:0!important;z-index:10000300!important;
 max-width:42vw!important;padding:7px 10px!important;border-radius:999px!important;
 font-size:10px!important;line-height:1.2!important
}
@media(max-width:360px){
 body.zal-v2-clean-ready.zal-v2-today-open #zalV2BrandMount .zalunia-wordmark{font-size:29px!important}
 body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-primary{font-size:16px!important}
}

/* Home/Hoy · recomposición Tanda 2 desde la referencia aprobada. */
body.zal-v2-clean-ready.zal-v2-today-open #zalV2AppRoot{
  background:
    radial-gradient(ellipse at 50% 3%,rgba(32,93,151,.20),transparent 38%),
    linear-gradient(180deg,#10294f 0%,#0b1d3c 58%,#07152f 100%)!important;
}
body.zal-v2-clean-ready.zal-v2-today-open #zalV2BrandHeader{
  margin:0 auto 16px!important;padding:calc(env(safe-area-inset-top,0px) + 12px) 20px 0!important;
  max-width:760px!important;overflow:visible!important;
}
body.zal-v2-clean-ready.zal-v2-today-open #zalV2BrandMount .zalunia-wordmark{
  font-size:34px!important;line-height:1.12!important;min-height:0!important;
  letter-spacing:-.045em!important;
}
body.zal-v2-clean-ready.zal-v2-today-open #zalV2BrandMount .zalunia-tagline{
  margin-top:5px!important;font-size:13px!important;line-height:1.35!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-clean-beta{
  margin-top:7px!important;padding:4px 10px!important;font-size:10px!important;
}
body.zal-v2-clean-ready.zal-v2-today-open #zalV2TodayRoot{
  width:min(760px,100%)!important;margin:0 auto!important;padding:0 20px!important;
  box-sizing:border-box!important;min-height:calc(100dvh - 208px)!important;
  display:flex!important;flex-direction:column!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-today-head{
  margin:0 0 13px!important;padding:0 2px!important;min-height:0!important;
  border:0!important;background:none!important;box-shadow:none!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-date{
  color:#b9c7df!important;font-size:11px!important;letter-spacing:.11em!important;
  line-height:1.35!important;font-weight:800!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-dayline{
  display:block!important;margin-top:4px!important;color:#7f94b8!important;
  font-size:12px!important;line-height:1.35!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-today-grid.zal-v2-home-layout{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;
  width:100%!important;max-width:none!important;margin:0!important;padding:0 0 24px!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-card{
  --home-accent:94,221,239;position:relative!important;min-width:0!important;
  padding:16px 18px!important;border:1px solid rgba(126,174,226,.20)!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,rgba(22,49,88,.92),rgba(11,29,58,.92))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045)!important;
  backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-now{
  display:grid!important;grid-template-columns:46px minmax(0,1fr)!important;align-items:center!important;
  gap:14px!important;padding:17px 18px!important;border-color:rgba(77,222,237,.34)!important;
  background:linear-gradient(115deg,rgba(27,69,111,.96),rgba(14,38,74,.96))!important;
  box-shadow:inset 3px 0 0 rgba(77,222,237,.78),0 9px 24px rgba(2,12,31,.16)!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-glyph{
  width:42px!important;height:42px!important;display:grid!important;place-items:center!important;
  border-radius:15px!important;background:rgba(75,219,235,.12)!important;
  border:1px solid rgba(94,225,238,.24)!important;color:#69e1ec!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-glyph svg{
  width:23px!important;height:23px!important;fill:none!important;stroke:currentColor!important;
  stroke-width:1.7!important;stroke-linecap:round!important;stroke-linejoin:round!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-card-head{
  display:flex!important;align-items:center!important;gap:10px!important;margin:0 0 5px!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-card-head h2{
  margin:0!important;color:#9eeaf0!important;font-size:10px!important;line-height:1.3!important;
  font-weight:850!important;letter-spacing:.14em!important;text-transform:uppercase!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-primary{
  margin:0!important;color:#f7f9ff!important;font-size:20px!important;line-height:1.22!important;
  font-weight:780!important;letter-spacing:-.025em!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-secondary{
  margin:5px 0 0!important;color:#b8c7df!important;font-size:13px!important;line-height:1.4!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-meta{
  margin-left:auto!important;padding:4px 9px!important;border-radius:999px!important;
  color:#b8a5ff!important;background:rgba(141,105,255,.14)!important;
  font-size:12px!important;font-weight:800!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-attention{
  --home-accent:249,187,91;border-color:rgba(249,187,91,.25)!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-attention .zal-v2-home-card-head h2{color:#ffd28d!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-attention .zal-v2-home-glyph{
  color:#ffd28d!important;background:rgba(249,187,91,.10)!important;border-color:rgba(249,187,91,.22)!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-today{--home-accent:101,222,239}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-next{
  --home-accent:167,134,255;border-color:rgba(157,126,255,.26)!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-next .zal-v2-home-card-head h2{color:#c3b1ff!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-next .zal-v2-home-glyph{
  color:#beaaff!important;background:rgba(148,111,255,.12)!important;border-color:rgba(148,111,255,.24)!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-rows{display:grid!important;gap:0!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-row{
  min-height:56px!important;display:flex!important;align-items:center!important;
  padding:9px 2px!important;border-top:1px solid rgba(161,188,227,.12)!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-row-label{
  min-width:76px!important;color:#83dce9!important;font-size:11px!important;font-weight:750!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-row-copy b{
  color:#f3f6fc!important;font-size:14px!important;line-height:1.32!important;font-weight:650!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-row-copy small{
  margin-top:2px!important;color:#afbdd4!important;font-size:12px!important;line-height:1.35!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-row-arrow{
  color:#b69cff!important;font-size:22px!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-action{
  min-height:38px!important;margin-top:9px!important;padding:0 14px!important;
  border:1px solid rgba(158,124,255,.38)!important;border-radius:13px!important;
  color:#eee8ff!important;background:linear-gradient(120deg,#7955e9,#5541ba)!important;
  font-size:12px!important;font-weight:750!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-clean-nav{
  width:min(600px,calc(100% - 24px))!important;gap:4px!important;padding:5px!important;
  border:1px solid rgba(130,163,210,.22)!important;border-radius:25px!important;
  background:rgba(9,25,52,.94)!important;
  box-shadow:0 9px 28px rgba(1,8,25,.30)!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-clean-nav button{
  min-height:62px!important;border:1px solid transparent!important;border-radius:18px!important;
  color:#a5b5d1!important;font-size:10px!important;font-weight:700!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-clean-nav button.is-active{
  color:#66dfec!important;background:rgba(42,105,145,.24)!important;
  border-color:rgba(90,218,235,.26)!important;box-shadow:none!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-clean-nav .i svg{width:22px!important;height:22px!important}
body.zal-v2-clean-ready.zal-v2-today-open #miniZaluLauncher{
  bottom:auto!important;z-index:10000220!important;filter:drop-shadow(0 3px 8px rgba(0,8,28,.3))!important;
}
@media(max-width:390px){
 body.zal-v2-clean-ready.zal-v2-today-open #zalV2BrandHeader{padding-left:17px!important;padding-right:17px!important}
 body.zal-v2-clean-ready.zal-v2-today-open #zalV2TodayRoot{padding-left:17px!important;padding-right:17px!important}
 body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-primary{font-size:19px!important}
 body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-now{grid-template-columns:42px minmax(0,1fr)!important;gap:12px!important}
 body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-glyph{width:40px!important;height:40px!important}
 body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-clean-nav button{min-height:58px!important}
}

/* Tanda 2 · primera experiencia y sistema compartido */
body.zal-v2-clean-auth{
  min-height:100dvh!important;overflow-x:hidden!important;overflow-y:auto!important;
  background:
    radial-gradient(ellipse at 50% 2%,rgba(36,118,174,.20),transparent 36%),
    linear-gradient(180deg,#10294e 0%,#0b1d3a 58%,#08162f 100%)!important;
  color:#f4f7ff!important;
}
body.zal-v2-clean-auth #zalV2AppRoot{
  min-height:100dvh!important;display:flex!important;flex-direction:column!important;
  padding-bottom:env(safe-area-inset-bottom,0px)!important;
}
body.zal-v2-clean-auth .zal-v2-clean-brand{
  display:block!important;visibility:visible!important;position:relative!important;
  width:min(560px,calc(100% - 36px))!important;margin:0 auto 9px!important;
  padding:calc(env(safe-area-inset-top,0px) + 17px) 0 0!important;overflow:visible!important;
}
body.zal-v2-clean-auth #zalV2BrandMount,
body.zal-v2-clean-auth #zalV2BrandMount .zalunia-brand{
  display:flex!important;align-items:flex-start!important;justify-content:flex-start!important;
  width:100%!important;overflow:visible!important;text-align:left!important;
}
body.zal-v2-clean-auth #zalV2BrandMount .zalunia-wordmark{
  font-size:35px!important;line-height:1.05!important;letter-spacing:-.055em!important;
}
body.zal-v2-clean-auth #zalV2BrandMount .zalunia-tagline{
  margin-top:4px!important;font-size:12px!important;line-height:1.3!important;
}
body.zal-v2-clean-auth .zal-v2-clean-beta{display:none!important}
body.zal-v2-clean-auth #zalV2Main{
  flex:1 0 auto!important;width:100%!important;max-width:none!important;
  margin:0 auto!important;padding:0!important;overflow:visible!important;
}
body.zal-v2-clean-auth #zalV2AuthRoot{
  display:block!important;visibility:visible!important;opacity:1!important;
  width:min(560px,100%)!important;max-width:560px!important;margin:0 auto!important;
  padding:6px 18px calc(28px + env(safe-area-inset-bottom,0px))!important;
  box-sizing:border-box!important;
}
body.zal-v2-clean-auth #zalV2AuthHost{display:block!important;width:100%!important}
body.zal-v2-clean-auth #connectionCard{
  display:block!important;width:100%!important;max-width:none!important;margin:0!important;
  padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;
  box-shadow:none!important;overflow:visible!important;backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body.zal-v2-clean-auth #connectionCard>.eyebrow,
body.zal-v2-clean-auth #connectionCard>h3,
body.zal-v2-clean-auth #connectionCard>.online-status{display:none!important}
body.zal-v2-clean-auth #authBox,
body.zal-v2-clean-auth #sessionBox{margin:0!important}
body.zal-v2-clean-auth #authBox .zalu-start-guide{
  display:grid!important;gap:16px!important;width:100%!important;max-width:none!important;
  margin:0!important;padding:21px!important;box-sizing:border-box!important;
  border:1px solid rgba(117,164,218,.24)!important;border-radius:24px!important;
  background:linear-gradient(145deg,rgba(22,50,91,.88),rgba(10,27,56,.94))!important;
  box-shadow:0 14px 34px rgba(1,9,28,.22),inset 0 1px 0 rgba(255,255,255,.055)!important;
  backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important;
}
body.zal-v2-clean-auth #authBox .zalu-start-guide>.eyebrow{
  margin:0!important;color:#70dfea!important;font-size:10px!important;
  line-height:1.25!important;font-weight:850!important;letter-spacing:.15em!important;
  text-transform:uppercase!important;
}
body.zal-v2-clean-auth #authBox .onboarding-progress{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:7px!important;margin:0!important;padding:0!important;opacity:1!important;
}
body.zal-v2-clean-auth #authBox .onboarding-progress span{
  display:flex!important;min-width:0!important;min-height:44px!important;align-items:center!important;
  justify-content:center!important;gap:5px!important;padding:6px 4px!important;
  border:1px solid rgba(153,181,221,.15)!important;border-radius:13px!important;
  background:rgba(255,255,255,.035)!important;color:#aabbd6!important;
  font-size:10px!important;line-height:1.1!important;font-weight:700!important;
}
body.zal-v2-clean-auth #authBox .onboarding-progress span b{
  width:21px!important;height:21px!important;flex:0 0 21px!important;
  display:grid!important;place-items:center!important;border-radius:50%!important;
  color:#b9c8df!important;background:rgba(153,178,214,.13)!important;font-size:10px!important;
}
body.zal-v2-clean-auth #authBox .onboarding-progress span.active{
  border-color:rgba(94,224,236,.34)!important;color:#eafcff!important;
  background:rgba(59,187,203,.10)!important;
}
body.zal-v2-clean-auth #authBox .onboarding-progress span.active b{
  color:#061d39!important;background:#62dce7!important;
}
body.zal-v2-clean-auth #authBox .public-entry-copy{
  max-width:440px!important;margin:0!important;text-align:left!important;
}
body.zal-v2-clean-auth #authBox .public-entry-copy .eyebrow{
  margin:0 0 7px!important;color:#b5a1ff!important;font-size:10px!important;
  line-height:1.3!important;font-weight:850!important;letter-spacing:.15em!important;
}
body.zal-v2-clean-auth #authBox .public-entry-copy h2{
  max-width:14ch!important;margin:0!important;color:#f6f8ff!important;
  font-size:clamp(30px,8vw,38px)!important;line-height:1.06!important;
  letter-spacing:-.045em!important;font-weight:790!important;text-wrap:balance!important;
}
body.zal-v2-clean-auth #authBox .public-entry-copy p{
  max-width:39ch!important;margin:10px 0 0!important;color:#b9c8df!important;
  font-size:14px!important;line-height:1.48!important;
}
body.zal-v2-clean-auth #authBox .public-entry-invite{
  margin-top:12px!important;padding:12px 14px!important;border-radius:15px!important;
  border:1px solid rgba(100,219,231,.22)!important;background:rgba(53,169,190,.08)!important;
}
body.zal-v2-clean-auth #authBox .onboarding-tabs{
  display:grid!important;grid-template-columns:1fr 1fr!important;gap:4px!important;
  margin:0!important;padding:4px!important;border:1px solid rgba(146,174,216,.18)!important;
  border-radius:16px!important;background:rgba(5,18,40,.48)!important;
}
body.zal-v2-clean-auth #authBox .onboarding-tab{
  min-height:44px!important;padding:8px 10px!important;border:1px solid transparent!important;
  border-radius:12px!important;background:transparent!important;color:#aebdd5!important;
  font-size:13px!important;font-weight:720!important;
}
body.zal-v2-clean-auth #authBox .onboarding-tab.active{
  color:#fff!important;border-color:rgba(165,133,255,.3)!important;
  background:linear-gradient(120deg,#7855df,#5945b5)!important;
  box-shadow:0 4px 12px rgba(56,39,130,.18)!important;
}
body.zal-v2-clean-auth #authBox .onboarding-title{
  margin:0!important;color:#f4f7ff!important;font-size:20px!important;
  line-height:1.2!important;letter-spacing:-.025em!important;font-weight:760!important;
}
body.zal-v2-clean-auth #authBox .onboarding-copy{
  margin:5px 0 0!important;color:#acbdd5!important;font-size:13px!important;line-height:1.42!important;
}
body.zal-v2-clean-auth #authBox .auth-grid{
  display:grid!important;gap:10px!important;margin-top:14px!important;
}
body.zal-v2-clean-auth #authBox :is(.field,input,select){
  width:100%!important;min-height:50px!important;padding:0 15px!important;box-sizing:border-box!important;
  border:1px solid rgba(135,166,213,.29)!important;border-radius:14px!important;
  background:rgba(5,21,47,.42)!important;color:#f4f7ff!important;
  font-size:15px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
body.zal-v2-clean-auth #authBox :is(.field,input)::placeholder{color:#aab9d0!important;opacity:.9!important}
body.zal-v2-clean-auth #authBox .auth-password-wrap{position:relative!important}
body.zal-v2-clean-auth #authBox .auth-password-wrap .field{padding-right:78px!important}
body.zal-v2-clean-auth #authBox .auth-password-toggle{
  min-width:56px!important;min-height:38px!important;right:8px!important;top:50%!important;
  transform:translateY(-50%)!important;border-radius:11px!important;
  border:1px solid rgba(156,127,255,.28)!important;background:rgba(126,91,224,.13)!important;
  color:#e8e0ff!important;font-size:12px!important;font-weight:700!important;
}
body.zal-v2-clean-auth #authBox :is(.onboarding-primary,#loginBtn,#signupBtn){
  display:flex!important;width:100%!important;min-height:52px!important;align-items:center!important;
  justify-content:center!important;margin:12px 0 0!important;padding:12px 16px!important;
  border:1px solid rgba(187,158,255,.32)!important;border-radius:15px!important;
  background:linear-gradient(115deg,#855ee9,#6149c8)!important;color:#fff!important;
  box-shadow:0 8px 18px rgba(50,32,119,.22)!important;font-size:15px!important;font-weight:780!important;
}
body.zal-v2-clean-auth #authBox .auth-inline-state{margin-top:8px!important;color:#becce0!important;font-size:12px!important}
body.zal-v2-clean-auth #authBox .auth-separator{
  display:flex!important;align-items:center!important;gap:12px!important;margin:12px 0!important;
  color:#92a4c1!important;font-size:12px!important;
}
body.zal-v2-clean-auth #authBox .auth-separator:before,
body.zal-v2-clean-auth #authBox .auth-separator:after{content:"";height:1px;flex:1;background:rgba(151,177,216,.18)}
body.zal-v2-clean-auth #authBox .google-auth-btn{
  display:flex!important;width:100%!important;min-height:48px!important;align-items:center!important;
  justify-content:center!important;gap:10px!important;margin:0!important;padding:10px 14px!important;
  border:1px solid rgba(151,177,216,.23)!important;border-radius:14px!important;
  background:rgba(255,255,255,.04)!important;color:#e9effa!important;
  font-size:14px!important;font-weight:680!important;box-shadow:none!important;
}
body.zal-v2-clean-auth #authBox #forgotPasswordBtn{
  min-height:42px!important;margin:4px 0 0!important;padding:8px!important;
  border:0!important;background:transparent!important;color:#aebdd5!important;
  font-size:12px!important;font-weight:620!important;box-shadow:none!important;
}
body.zal-v2-clean-auth #authBox .public-auth-switch{display:none!important}
body.zal-v2-clean-auth #authBox .demo-entry{margin:0!important}
body.zal-v2-clean-auth #authBox .public-demo-btn{
  min-height:44px!important;margin:0!important;padding:9px 14px!important;
  border:1px solid rgba(91,218,231,.28)!important;border-radius:14px!important;
  background:rgba(43,160,183,.08)!important;color:#8ceaf0!important;
  font-size:13px!important;font-weight:720!important;opacity:1!important;box-shadow:none!important;
}
body.zal-v2-clean-auth #authBox .guest-ai-note{
  display:flex!important;gap:4px!important;padding:10px 12px!important;border-radius:13px!important;
  border:1px solid rgba(136,163,204,.12)!important;background:rgba(255,255,255,.025)!important;
  color:#b8c6dd!important;font-size:12px!important;line-height:1.35!important;
}
body.zal-v2-clean-auth #authBox .public-demo-exit{
  top:calc(env(safe-area-inset-top,0px) + 11px)!important;right:12px!important;
  max-width:98px!important;min-height:34px!important;padding:6px 10px!important;
  border-color:rgba(168,143,255,.24)!important;background:rgba(8,23,49,.84)!important;
  color:#e2dcf3!important;font-size:10px!important;box-shadow:none!important;
}
body.zal-v2-clean-auth .zal-v2-clean-nav{display:none!important}
body.zal-v2-clean-auth #miniZaluLauncher{display:none!important}
body.zal-v2-clean-auth .onboarding-shell:has(#showLoginBtn.active)>.onboarding-progress,
body.zal-v2-clean-auth .onboarding-shell:has(#showLoginBtn.active)>.eyebrow:first-child{display:none!important}
body.zal-v2-clean-auth .onboarding-shell:has(#showSignupBtn.active)>.onboarding-progress{display:grid!important}
body.zal-v2-clean-ready .zalunia-wordmark .zalunia-wordmark-i .zalunia-live-dot,
body.zal-v2-clean-auth .zalunia-wordmark .zalunia-wordmark-i .zalunia-live-dot{
  top:-.055em!important;width:.105em!important;height:.105em!important;
  min-width:5px!important;min-height:5px!important;
}
body.zal-v2-clean-ready .zal-v2-clean-nav{
  gap:4px!important;padding:5px!important;border:1px solid rgba(124,165,211,.22)!important;
  border-radius:23px!important;background:rgba(8,24,50,.94)!important;
  box-shadow:0 10px 28px rgba(0,7,24,.34)!important;
  backdrop-filter:blur(18px) saturate(1.06)!important;-webkit-backdrop-filter:blur(18px) saturate(1.06)!important;
}
body.zal-v2-clean-ready .zal-v2-clean-nav button{
  min-height:58px!important;border:1px solid transparent!important;border-radius:16px!important;
  color:#aebbd1!important;background:transparent!important;font-size:10px!important;
}
body.zal-v2-clean-ready .zal-v2-clean-nav button.is-active{
  color:#e6e0ff!important;border-color:rgba(157,126,255,.25)!important;
  background:rgba(120,91,220,.18)!important;box-shadow:none!important;
}
body.zal-v2-clean-ready.zalunia-demo-explorer #zalV2BrandHeader{padding-right:118px!important}
body.zal-v2-clean-ready.zalunia-demo-explorer #zaluniaDemoExplorerBadge{
  top:calc(env(safe-area-inset-top,0px) + 12px)!important;
  right:max(12px,env(safe-area-inset-right,0px) + 8px)!important;
  max-width:98px!important;min-height:34px!important;padding:6px 9px!important;
  border:1px solid rgba(161,139,239,.23)!important;border-radius:999px!important;
  background:rgba(8,23,49,.84)!important;color:#e2dcf3!important;
  box-shadow:none!important;font-size:10px!important;line-height:1.2!important;
  font-weight:700!important;white-space:nowrap!important;
}
@media(max-width:390px){
 body.zal-v2-clean-auth .zal-v2-clean-brand{width:calc(100% - 34px)!important;padding-top:calc(env(safe-area-inset-top,0px) + 14px)!important}
 body.zal-v2-clean-auth #zalV2AuthRoot{padding-left:17px!important;padding-right:17px!important}
 body.zal-v2-clean-auth #authBox .zalu-start-guide{padding:18px!important;gap:14px!important}
 body.zal-v2-clean-auth #authBox .public-entry-copy h2{font-size:clamp(29px,8vw,34px)!important}
 body.zal-v2-clean-ready.zalunia-demo-explorer #zalV2BrandHeader{padding-right:108px!important}
}
@media(max-width:340px){
 body.zal-v2-clean-auth #authBox .onboarding-progress{gap:4px!important}
 body.zal-v2-clean-auth #authBox .onboarding-progress span{flex-direction:column!important;gap:2px!important;min-height:48px!important}
 body.zal-v2-clean-auth #authBox .onboarding-progress span b{width:18px!important;height:18px!important;flex-basis:18px!important}
}

/* QA funcional móvil: documento desplazable para login/alta, sin viewport bloqueado. */
html:has(body.zal-v2-clean-auth){
  height:auto!important;min-height:100%!important;max-height:none!important;
  overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:auto!important;
}
body.zal-v2-clean-auth{
  position:static!important;height:auto!important;max-height:none!important;
  min-height:100dvh!important;overflow-x:hidden!important;overflow-y:auto!important;
  overscroll-behavior-y:auto!important;touch-action:pan-y!important;
}
body.zal-v2-clean-auth #zalV2AppRoot{
  display:block!important;height:auto!important;max-height:none!important;min-height:100dvh!important;
  overflow:visible!important;overscroll-behavior:initial!important;
}
body.zal-v2-clean-auth #zalV2Main{
  display:block!important;height:auto!important;max-height:none!important;min-height:0!important;
  flex:none!important;overflow:visible!important;
}
body.zal-v2-clean-auth #zalV2AuthRoot,
body.zal-v2-clean-auth #zalV2AuthHost,
body.zal-v2-clean-auth #connectionCard,
body.zal-v2-clean-auth #authBox,
body.zal-v2-clean-auth #sessionBox{
  position:static!important;height:auto!important;max-height:none!important;min-height:0!important;
  overflow:visible!important;touch-action:pan-y!important;
}
body.zal-v2-clean-auth #zalV2AuthRoot{
  padding-bottom:calc(32px + env(safe-area-inset-bottom,0px))!important;
}

/* El stepper ocupa dos columnas en móvil: cada paso conserva número y etiqueta legibles. */
@media(max-width:520px){
  body.zal-v2-clean-auth #authBox .onboarding-progress{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;
  }
  body.zal-v2-clean-auth #authBox .onboarding-progress span{
    box-sizing:border-box!important;min-width:0!important;min-height:48px!important;
    flex-direction:row!important;justify-content:flex-start!important;gap:8px!important;
    padding:8px 10px!important;text-align:left!important;white-space:normal!important;
    font-size:11px!important;line-height:1.2!important;overflow-wrap:anywhere!important;
  }
  body.zal-v2-clean-auth #authBox .onboarding-progress span b{
    width:22px!important;height:22px!important;min-width:22px!important;flex:0 0 22px!important;
  }
}

/* QA real: portada auth integrada, sin un panel continuo alrededor del flujo completo. */
body.zal-v2-clean-auth #authBox .zalu-start-guide{
  padding:0!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}

/* Compra hub: un solo scroller nativo entre cabecera y navegación fija. */
html.zal-v2-buy-hub-open,
body.zal-v2-clean-ready.zal-v2-buy-hub-open{
  height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;
  overflow:hidden!important;overscroll-behavior:none!important;
}
body.zal-v2-clean-ready.zal-v2-buy-hub-open #zalV2AppRoot{
  display:flex!important;flex-direction:column!important;align-items:stretch!important;
  width:100%!important;height:100dvh!important;min-height:0!important;max-height:100dvh!important;
  box-sizing:border-box!important;overflow:hidden!important;position:static!important;
  inset:auto!important;transform:none!important;contain:none!important;
  padding-bottom:0!important;
}
body.zal-v2-clean-ready.zal-v2-buy-hub-open #zalV2BrandHeader{
  flex:0 0 auto!important;position:static!important;inset:auto!important;
  transform:none!important;contain:none!important;
}
body.zal-v2-clean-ready.zal-v2-buy-hub-open #zalV2Main{
  display:flex!important;flex:1 1 0%!important;flex-direction:column!important;
  width:100%!important;min-width:0!important;min-height:0!important;height:auto!important;max-height:none!important;
  margin:0 auto!important;padding:0!important;overflow:hidden!important;
  position:static!important;inset:auto!important;transform:none!important;contain:none!important;
}
body.zal-v2-clean-ready.zal-v2-buy-hub-open #zalV2Hub{
  display:grid!important;flex:1 1 0%!important;align-content:start!important;grid-auto-rows:max-content!important;
  width:100%!important;min-width:0!important;min-height:0!important;height:auto!important;max-height:none!important;
  box-sizing:border-box!important;overflow-x:hidden!important;overflow-y:auto!important;
  overscroll-behavior-y:contain!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important;
  padding-bottom:var(--zal-v2-content-clearance,calc(var(--zal-v2-nav-height,72px) + env(safe-area-inset-bottom,0px) + 20px))!important;
  scroll-padding-bottom:16px!important;
  position:static!important;inset:auto!important;transform:none!important;contain:none!important;
}

/* Login y Home/Hoy · composición Tanda 2 alineada con referencias y Manifiesto UX. */
body.zal-v2-clean-auth #zalV2AppRoot{
  min-height:100dvh!important;
  background:
    radial-gradient(ellipse at 7% 4%,rgba(34,126,171,.24),transparent 34%),
    radial-gradient(ellipse at 96% 12%,rgba(89,63,177,.15),transparent 32%),
    linear-gradient(180deg,#102c55 0%,#0b1d3c 52%,#08162f 100%)!important;
}
body.zal-v2-clean-auth #zalV2BrandHeader{
  display:flex!important;align-items:flex-start!important;justify-content:flex-start!important;
  width:min(760px,100%)!important;max-width:760px!important;margin:0 auto 18px!important;
  padding:calc(env(safe-area-inset-top,0px) + 15px) 22px 0!important;box-sizing:border-box!important;
  overflow:visible!important;
}
body.zal-v2-clean-auth #zalV2BrandMount .zalunia-brand{
  display:flex!important;align-items:flex-start!important;justify-content:flex-start!important;
  width:auto!important;margin:0!important;text-align:left!important;
}
body.zal-v2-clean-auth #zalV2BrandMount .zalunia-wordmark{
  justify-content:flex-start!important;font-size:32px!important;line-height:1.08!important;
  letter-spacing:-.045em!important;min-height:1.1em!important;overflow:visible!important;
}
body.zal-v2-clean-auth #zalV2BrandMount .zalunia-tagline{
  display:block!important;margin:3px 0 0!important;color:#b8c8e1!important;
  font-size:13px!important;line-height:1.35!important;font-weight:680!important;
}
body.zal-v2-clean-auth .zal-v2-clean-beta{display:none!important}
body.zal-v2-clean-auth #zalV2Main{
  display:block!important;width:100%!important;max-width:none!important;margin:0 auto!important;
  padding:0!important;overflow:visible!important;
}
body.zal-v2-clean-auth #zalV2AuthRoot{
  width:min(560px,100%)!important;max-width:560px!important;margin:0 auto!important;
  padding:0 22px calc(36px + env(safe-area-inset-bottom,0px))!important;box-sizing:border-box!important;
}
body.zal-v2-clean-auth #zalV2AuthHost,
body.zal-v2-clean-auth #connectionCard,
body.zal-v2-clean-auth #authBox,
body.zal-v2-clean-auth #sessionBox{
  display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
  overflow:visible!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
body.zal-v2-clean-auth #connectionCard>.eyebrow,
body.zal-v2-clean-auth #connectionCard>h3,
body.zal-v2-clean-auth #connectionCard>.online-status{display:none!important}
body.zal-v2-clean-auth #authBox .zalu-start-guide{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:20px!important;
  width:100%!important;max-width:none!important;margin:0!important;padding:0!important;
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
  overflow:visible!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
body.zal-v2-clean-auth #authBox .zalu-start-guide>.eyebrow,
body.zal-v2-clean-auth #authBox .public-entry-copy .eyebrow{
  margin:0 0 8px!important;color:#a99af7!important;font-size:11px!important;line-height:1.3!important;
  font-weight:850!important;letter-spacing:.16em!important;text-transform:uppercase!important;
}
body.zal-v2-clean-auth #authBox .public-entry-copy{
  width:100%!important;max-width:460px!important;margin:0!important;text-align:left!important;
}
body.zal-v2-clean-auth #authBox .public-entry-copy h2{
  max-width:13ch!important;margin:0!important;color:#f6f8ff!important;
  font-size:clamp(34px,8.4vw,42px)!important;line-height:1.04!important;
  letter-spacing:-.047em!important;font-weight:790!important;text-wrap:balance!important;
}
body.zal-v2-clean-auth #authBox .public-entry-copy p{
  max-width:39ch!important;margin:13px 0 0!important;color:#c0cee2!important;
  font-size:16px!important;line-height:1.5!important;
}
body.zal-v2-clean-auth #authBox .public-entry-invite{
  margin-top:15px!important;padding:13px 15px!important;border-radius:16px!important;
  border:1px solid rgba(91,220,234,.22)!important;
  background:linear-gradient(120deg,rgba(52,179,199,.09),rgba(22,53,93,.18))!important;
}
body.zal-v2-clean-auth #authBox .onboarding-progress{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;
  opacity:1!important;
}
body.zal-v2-clean-auth #authBox .onboarding-progress span{
  display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;
  min-width:0!important;min-height:44px!important;padding:8px 10px!important;box-sizing:border-box!important;
  border:1px solid rgba(151,180,219,.18)!important;border-radius:14px!important;
  background:rgba(18,42,78,.48)!important;color:#c0cee2!important;
  text-align:left!important;white-space:normal!important;font-size:12px!important;line-height:1.25!important;
  overflow-wrap:anywhere!important;
}
body.zal-v2-clean-auth #authBox .onboarding-progress span b{
  display:grid!important;place-items:center!important;flex:0 0 24px!important;width:24px!important;height:24px!important;
  border-radius:50%!important;background:rgba(106,232,255,.13)!important;color:#83e9ef!important;font-size:11px!important;
}
body.zal-v2-clean-auth #authBox .onboarding-progress span.active{
  border-color:rgba(106,232,255,.36)!important;background:rgba(56,174,193,.12)!important;color:#f0fdff!important;
}
body.zal-v2-clean-auth #authBox .onboarding-progress span.active b{background:#66dce7!important;color:#062344!important}
body.zal-v2-clean-auth #authBox .onboarding-tabs{
  display:grid!important;grid-template-columns:1fr 1fr!important;gap:4px!important;
  margin:0!important;padding:4px!important;border:1px solid rgba(143,172,214,.21)!important;
  border-radius:17px!important;background:rgba(5,18,40,.52)!important;
}
body.zal-v2-clean-auth #authBox .onboarding-tab{
  min-width:0!important;min-height:48px!important;padding:9px 10px!important;border:1px solid transparent!important;
  border-radius:13px!important;background:transparent!important;color:#b8c6dd!important;
  font-size:14px!important;font-weight:730!important;white-space:normal!important;
}
body.zal-v2-clean-auth #authBox .onboarding-tab.active{
  color:#fff!important;border-color:rgba(177,148,255,.4)!important;
  background:linear-gradient(120deg,#855de8,#604bc2)!important;
  box-shadow:0 6px 16px rgba(50,32,119,.2)!important;
}
body.zal-v2-clean-auth #authBox .onboarding-title{
  margin:0!important;color:#f4f7ff!important;font-size:23px!important;line-height:1.2!important;
  letter-spacing:-.025em!important;font-weight:760!important;
}
body.zal-v2-clean-auth #authBox .onboarding-copy{
  margin:6px 0 0!important;color:#b8c7dd!important;font-size:15px!important;line-height:1.45!important;
}
body.zal-v2-clean-auth #authBox .auth-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;margin-top:16px!important}
body.zal-v2-clean-auth #authBox :is(.field,input,select){
  width:100%!important;min-height:54px!important;padding:0 16px!important;box-sizing:border-box!important;
  border:1px solid rgba(127,167,216,.34)!important;border-radius:16px!important;
  background:rgba(5,21,47,.47)!important;color:#f4f7ff!important;font-size:16px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
}
body.zal-v2-clean-auth #authBox :is(.field,input)::placeholder{color:#b2c1d8!important;opacity:.95!important}
body.zal-v2-clean-auth #authBox .auth-password-wrap{position:relative!important}
body.zal-v2-clean-auth #authBox .auth-password-wrap .field{padding-right:84px!important}
body.zal-v2-clean-auth #authBox .auth-password-toggle{
  min-width:60px!important;min-height:40px!important;right:8px!important;top:50%!important;transform:translateY(-50%)!important;
  border-radius:12px!important;border:1px solid rgba(156,127,255,.30)!important;
  background:rgba(126,91,224,.15)!important;color:#e8e0ff!important;font-size:13px!important;font-weight:720!important;
}
body.zal-v2-clean-auth #authBox :is(.onboarding-primary,#loginBtn,#signupBtn){
  display:flex!important;width:100%!important;min-height:54px!important;align-items:center!important;justify-content:center!important;
  margin:14px 0 0!important;padding:12px 17px!important;border:1px solid rgba(187,158,255,.36)!important;
  border-radius:16px!important;background:linear-gradient(115deg,#855ee9,#6249c9)!important;color:#fff!important;
  box-shadow:0 9px 22px rgba(50,32,119,.24)!important;font-size:16px!important;font-weight:790!important;
}
body.zal-v2-clean-auth #authBox .auth-inline-state{margin-top:8px!important;color:#becce0!important;font-size:13px!important}
body.zal-v2-clean-auth #authBox .auth-separator{
  display:flex!important;align-items:center!important;gap:12px!important;margin:16px 0!important;
  color:#9aacc8!important;font-size:13px!important;
}
body.zal-v2-clean-auth #authBox .auth-separator:before,
body.zal-v2-clean-auth #authBox .auth-separator:after{content:"";height:1px;flex:1;background:rgba(151,177,216,.2)}
body.zal-v2-clean-auth #authBox .google-auth-btn{
  display:flex!important;width:100%!important;min-height:52px!important;align-items:center!important;justify-content:center!important;
  gap:10px!important;margin:0!important;padding:11px 15px!important;border:1px solid rgba(151,177,216,.27)!important;
  border-radius:15px!important;background:rgba(255,255,255,.045)!important;color:#edf3fc!important;
  font-size:15px!important;font-weight:700!important;box-shadow:none!important;
}
body.zal-v2-clean-auth #authBox #forgotPasswordBtn{
  min-height:44px!important;margin:4px 0 0!important;padding:9px!important;border:0!important;
  background:transparent!important;color:#b5c5dc!important;font-size:13px!important;font-weight:650!important;box-shadow:none!important;
}
body.zal-v2-clean-auth #authBox .public-auth-switch{display:none!important}
body.zal-v2-clean-auth #authBox .demo-entry{margin:0!important}
body.zal-v2-clean-auth #authBox .public-demo-btn{
  min-height:46px!important;margin:0!important;padding:10px 15px!important;border:1px solid rgba(91,218,231,.3)!important;
  border-radius:15px!important;background:rgba(43,160,183,.1)!important;color:#8ceaf0!important;
  font-size:14px!important;font-weight:730!important;opacity:1!important;box-shadow:none!important;
}
body.zal-v2-clean-auth #authBox .guest-ai-note{
  display:flex!important;gap:5px!important;padding:11px 13px!important;border-radius:14px!important;
  border:1px solid rgba(136,163,204,.14)!important;background:rgba(255,255,255,.03)!important;
  color:#bdcbe0!important;font-size:13px!important;line-height:1.4!important;
}
body.zal-v2-clean-auth #authBox .public-demo-exit{
  top:calc(env(safe-area-inset-top,0px) + 12px)!important;right:13px!important;
  max-width:90px!important;min-height:34px!important;padding:6px 9px!important;
  border-color:rgba(168,143,255,.24)!important;background:rgba(8,23,49,.78)!important;
  color:#ded8f0!important;font-size:10px!important;box-shadow:none!important;
}
body.zal-v2-clean-auth #zalV2BottomNav,
body.zal-v2-clean-auth #miniZaluLauncher{display:none!important}
body.zal-v2-clean-auth .onboarding-shell:has(#showLoginBtn.active)>.onboarding-progress,
body.zal-v2-clean-auth .onboarding-shell:has(#showLoginBtn.active)>.eyebrow:first-child{display:none!important}
body.zal-v2-clean-auth .onboarding-shell:has(#showSignupBtn.active)>.onboarding-progress{display:grid!important}

/* El punto tipográfico se alinea con el trazo original del wordmark; se conserva el activo existente. */
body.zal-v2-clean-auth .zalunia-wordmark .zalunia-wordmark-i .zalunia-live-dot,
body.zal-v2-clean-ready.zal-v2-today-open .zalunia-wordmark .zalunia-wordmark-i .zalunia-live-dot{
  top:.005em!important;left:-.025em!important;width:.105em!important;height:.105em!important;
  min-width:5px!important;min-height:5px!important;
}

body.zal-v2-clean-ready.zal-v2-today-open #zalV2AppRoot{
  background:
    radial-gradient(ellipse at 50% 0%,rgba(39,97,154,.19),transparent 36%),
    linear-gradient(180deg,#112d56 0%,#0c2042 55%,#08172f 100%)!important;
}
body.zal-v2-clean-ready.zal-v2-today-open #zalV2BrandHeader{
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:0!important;
  width:min(760px,100%)!important;max-width:760px!important;margin:0 auto 13px!important;
  padding:calc(env(safe-area-inset-top,0px) + 12px) 20px 0!important;box-sizing:border-box!important;
  text-align:left!important;overflow:visible!important;
}
body.zal-v2-clean-ready.zal-v2-today-open #zalV2BrandMount,
body.zal-v2-clean-ready.zal-v2-today-open #zalV2BrandMount .zalunia-brand{width:auto!important;max-width:100%!important;margin:0!important;text-align:left!important}
body.zal-v2-clean-ready.zal-v2-today-open #zalV2BrandMount .zalunia-brand{
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:0!important;
}
body.zal-v2-clean-ready.zal-v2-today-open #zalV2BrandMount .zalunia-wordmark{
  justify-content:flex-start!important;font-size:31px!important;line-height:1.08!important;min-height:1.1em!important;
  letter-spacing:-.045em!important;overflow:visible!important;
}
body.zal-v2-clean-ready.zal-v2-today-open #zalV2BrandMount .zalunia-tagline{
  display:block!important;margin:3px 0 0!important;color:#bccbe0!important;font-size:13px!important;
  line-height:1.35!important;font-weight:680!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-clean-beta{
  display:inline-flex!important;align-self:flex-start!important;margin:6px 0 0!important;padding:4px 9px!important;
  border:1px solid rgba(102,220,232,.16)!important;border-radius:999px!important;
  background:rgba(48,160,183,.06)!important;color:#aee8eb!important;box-shadow:none!important;
  font-size:10px!important;line-height:1.2!important;font-weight:730!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-today-head{
  min-height:0!important;margin:0 0 10px!important;padding:0 1px!important;
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-clock{display:none!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-date{
  display:block!important;margin:0!important;color:#bac9e0!important;font-size:12px!important;line-height:1.35!important;
  font-weight:820!important;letter-spacing:.105em!important;text-transform:uppercase!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-dayline{
  display:block!important;margin:4px 0 0!important;color:#90a5c6!important;font-size:13px!important;line-height:1.35!important;
}
body.zal-v2-clean-ready.zal-v2-today-open #zalV2TodayRoot{
  width:min(760px,100%)!important;margin:0 auto!important;padding:0 20px calc(18px + env(safe-area-inset-bottom,0px))!important;
  box-sizing:border-box!important;min-height:calc(100dvh - 212px)!important;display:flex!important;flex-direction:column!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-today-grid.zal-v2-home-layout{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;
  width:100%!important;max-width:none!important;margin:0!important;padding:0 0 18px!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-card{
  --home-accent:91,219,231;position:relative!important;min-width:0!important;padding:13px 15px!important;
  border:1px solid rgba(143,178,222,.20)!important;border-radius:19px!important;
  background:linear-gradient(135deg,rgba(23,51,91,.78),rgba(10,27,56,.82))!important;
  box-shadow:0 8px 20px rgba(1,9,27,.15),inset 0 1px 0 rgba(255,255,255,.045)!important;
  backdrop-filter:blur(12px) saturate(1.06)!important;-webkit-backdrop-filter:blur(12px) saturate(1.06)!important;
  overflow:hidden!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-card:before{
  content:""!important;position:absolute!important;left:0!important;top:13px!important;bottom:13px!important;width:3px!important;
  border-radius:0 6px 6px 0!important;background:rgba(var(--home-accent),.78)!important;box-shadow:none!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-card:after{display:none!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-card-head{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:9px!important;
  margin:0 0 7px!important;position:relative!important;z-index:1!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-card-head h2{
  margin:0!important;color:#a9c0dc!important;font-size:12px!important;line-height:1.3!important;
  font-weight:850!important;letter-spacing:.095em!important;text-transform:uppercase!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-glyph{
  display:grid!important;place-items:center!important;width:44px!important;height:44px!important;flex:0 0 44px!important;
  border:1px solid rgba(94,225,238,.25)!important;border-radius:15px!important;background:rgba(75,219,235,.105)!important;
  color:#70e2ed!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-glyph svg{width:23px!important;height:23px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-content{position:relative!important;z-index:1!important;min-width:0!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-now{
  display:grid!important;grid-template-columns:44px minmax(0,1fr)!important;align-items:center!important;
  gap:12px!important;min-height:94px!important;padding:14px 16px!important;
  border-color:rgba(83,219,234,.34)!important;border-radius:22px!important;
  background:linear-gradient(120deg,rgba(27,69,111,.94),rgba(14,38,74,.95))!important;
  box-shadow:inset 3px 0 0 rgba(77,222,237,.78),0 9px 24px rgba(2,12,31,.16)!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-now:before{top:14px!important;bottom:14px!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-now .zal-v2-home-card-head{margin-bottom:5px!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-now .zal-v2-home-glyph{grid-row:1;grid-column:1}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-primary{
  position:relative!important;z-index:1!important;margin:0!important;color:#f5f8ff!important;
  font-size:18px!important;line-height:1.27!important;font-weight:800!important;letter-spacing:-.025em!important;overflow-wrap:anywhere!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-secondary{
  position:relative!important;z-index:1!important;margin:5px 0 0!important;color:#c0cde1!important;font-size:14px!important;line-height:1.4!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-meta{color:#a8f0f2!important;font-size:13px!important;font-weight:820!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-now.has-action{padding-bottom:16px!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-attention{--home-accent:232,180,81}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-today{--home-accent:91,219,231}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-next{--home-accent:157,131,255}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-rows{position:relative!important;z-index:1!important;display:grid!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-row{
  display:grid!important;grid-template-columns:minmax(0,1fr) 26px!important;gap:10px!important;align-items:center!important;
  width:100%!important;min-height:48px!important;padding:7px 1px!important;border:0!important;
  border-top:1px solid rgba(223,234,251,.10)!important;background:transparent!important;color:#f2f6ff!important;
  text-align:left!important;font:inherit!important;touch-action:manipulation!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-row:first-child{border-top:0!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-row-copy{display:grid!important;gap:3px!important;min-width:0!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-row-label{color:#9feaf0!important;font-size:12px!important;font-weight:770!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-row-copy b{color:#f3f6fd!important;font-size:15px!important;font-weight:700!important;line-height:1.35!important;overflow-wrap:anywhere!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-row-arrow{
  display:grid!important;place-items:center!important;width:26px!important;height:26px!important;border:1px solid rgba(145,101,255,.27)!important;
  border-radius:50%!important;color:#c7b7ff!important;font-size:18px!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-attention{padding:13px 15px!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-attention .zal-v2-home-card-head{justify-content:flex-start!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-attention .zal-v2-home-glyph,
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-today .zal-v2-home-glyph,
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-next .zal-v2-home-glyph{width:30px!important;height:30px!important;flex-basis:30px!important;border-radius:10px!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-attention .zal-v2-home-glyph svg,
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-today .zal-v2-home-glyph svg,
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-next .zal-v2-home-glyph svg{width:17px!important;height:17px!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-attention .zal-v2-home-card-head,
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-today .zal-v2-home-card-head,
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-next .zal-v2-home-card-head{margin-bottom:5px!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-attention{--home-accent:232,180,81}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-attention .zal-v2-home-glyph{border-color:rgba(232,180,81,.25)!important;background:rgba(232,180,81,.09)!important;color:#f1c96f!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-next .zal-v2-home-glyph{border-color:rgba(157,131,255,.25)!important;background:rgba(157,131,255,.09)!important;color:#c7b7ff!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-action{
  position:relative!important;z-index:1!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-height:44px!important;margin:11px 0 0!important;padding:8px 14px!important;border:1px solid rgba(145,101,255,.32)!important;
  border-radius:14px!important;background:rgba(121,88,214,.16)!important;color:#e8e0ff!important;font:inherit!important;
  font-size:13px!important;font-weight:760!important;touch-action:manipulation!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-action[hidden]{display:none!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-clean-nav{
  width:min(670px,calc(100% - 24px))!important;gap:3px!important;padding:5px!important;border:1px solid rgba(111,175,218,.22)!important;
  border-radius:23px!important;background:rgba(8,24,50,.91)!important;box-shadow:0 10px 28px rgba(0,7,24,.34)!important;
  backdrop-filter:blur(18px) saturate(1.08)!important;-webkit-backdrop-filter:blur(18px) saturate(1.08)!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-clean-nav button{
  min-height:54px!important;border:1px solid transparent!important;border-radius:16px!important;
  color:#aebbd1!important;background:transparent!important;font-size:11px!important;font-weight:770!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-clean-nav button.is-active{
  color:#e9e2ff!important;border-color:rgba(157,126,255,.30)!important;background:rgba(120,91,220,.19)!important;box-shadow:none!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-clean-nav .i{width:23px!important;height:23px!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-clean-nav .i svg{width:21px!important;height:21px!important}
body.zal-v2-clean-ready.zal-v2-today-open #miniZaluLauncher{
  width:48px!important;height:48px!important;right:18px!important;
  bottom:calc(var(--zal-v2-content-clearance,100px) - 4px)!important;
}
body.zal-v2-clean-ready.zal-v2-today-open #miniZaluLauncher img{width:48px!important;height:48px!important}
@media(max-width:380px){
  body.zal-v2-clean-auth #zalV2BrandHeader{padding-left:18px!important;padding-right:18px!important}
  body.zal-v2-clean-auth #zalV2AuthRoot{padding-left:18px!important;padding-right:18px!important}
  body.zal-v2-clean-auth #authBox .public-entry-copy h2{font-size:clamp(31px,8.3vw,37px)!important}
  body.zal-v2-clean-ready.zal-v2-today-open #zalV2BrandHeader{padding-left:17px!important;padding-right:17px!important}
  body.zal-v2-clean-ready.zal-v2-today-open #zalV2TodayRoot{padding-left:17px!important;padding-right:17px!important}
  body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-now{grid-template-columns:40px minmax(0,1fr)!important;gap:10px!important}
  body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-now .zal-v2-home-glyph{width:40px!important;height:40px!important;flex-basis:40px!important}
}

/* Tanda 2 · cierre visual Login + Hoy desde las referencias aprobadas. */
body.zal-v2-clean-auth{
  background:
    radial-gradient(ellipse at 16% 9%,rgba(37,191,211,.15),transparent 29%),
    radial-gradient(ellipse at 92% 30%,rgba(126,92,226,.13),transparent 27%),
    linear-gradient(155deg,#102d59 0%,#0b2044 47%,#07172f 100%)!important;
  overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:contain!important;
}
body.zal-v2-clean-auth #zalV2AppRoot{min-height:100svh!important;background:transparent!important}
body.zal-v2-clean-auth #zalV2BrandHeader{margin-bottom:15px!important}
body.zal-v2-clean-auth #zalV2BrandMount .zalunia-tagline{color:#c5d7eb!important;font-size:13px!important}
body.zal-v2-clean-auth #authBox .zalu-start-guide{gap:18px!important}
body.zal-v2-clean-auth #authBox .public-entry-copy .eyebrow{color:#b4a4ff!important}
body.zal-v2-clean-auth #authBox .public-entry-copy h2{font-size:clamp(35px,8.6vw,43px)!important;line-height:1.02!important}
body.zal-v2-clean-auth #authBox .public-entry-copy p{max-width:36ch!important;color:#c5d5e9!important;line-height:1.48!important}
body.zal-v2-clean-auth #authBox .onboarding-tabs{border-color:rgba(117,204,226,.24)!important;background:rgba(5,19,43,.48)!important}
body.zal-v2-clean-auth #authBox .onboarding-tab.active{background:linear-gradient(125deg,#865ce8,#5f4dc5)!important;box-shadow:0 8px 20px rgba(82,54,173,.25),inset 0 1px 0 rgba(255,255,255,.18)!important}
body.zal-v2-clean-auth #authBox :is(.field,input,select){border-color:rgba(117,184,218,.36)!important;background:linear-gradient(120deg,rgba(7,29,59,.70),rgba(10,24,53,.62))!important}
body.zal-v2-clean-auth #authBox :is(.field,input,select):focus{border-color:rgba(92,225,234,.72)!important;box-shadow:0 0 0 3px rgba(74,208,224,.12),inset 0 1px 0 rgba(255,255,255,.06)!important;outline:0!important}
body.zal-v2-clean-auth #authBox :is(.onboarding-primary,#loginBtn,#signupBtn){background:linear-gradient(112deg,#835be5 0%,#6952d4 58%,#5c55c7 100%)!important;box-shadow:0 10px 24px rgba(64,45,150,.27),inset 0 1px 0 rgba(255,255,255,.18)!important}
body.zal-v2-clean-auth #authBox .google-auth-btn{border-color:rgba(140,184,218,.29)!important;background:rgba(19,46,80,.46)!important}
body.zal-v2-clean-auth #authBox .public-demo-btn{border-color:rgba(82,221,231,.35)!important;background:linear-gradient(110deg,rgba(29,164,185,.14),rgba(112,84,208,.10))!important;color:#a8f4f2!important}
body.zal-v2-clean-auth #authBox .guest-ai-note{border-color:rgba(125,173,207,.17)!important;background:rgba(14,36,67,.38)!important}
body.zal-v2-clean-auth #zalV2AuthRoot{padding-bottom:calc(30px + env(safe-area-inset-bottom,0px))!important}

body.zal-v2-clean-ready.zal-v2-today-open #zalV2AppRoot{
  background:
    radial-gradient(ellipse at 9% 2%,rgba(26,186,211,.14),transparent 28%),
    radial-gradient(ellipse at 95% 24%,rgba(117,83,212,.12),transparent 31%),
    linear-gradient(180deg,#102c56 0%,#0b1f41 55%,#08172f 100%)!important;
}
body.zal-v2-clean-ready.zal-v2-today-open #zalV2BrandHeader{margin-bottom:14px!important}
body.zal-v2-clean-ready.zal-v2-today-open #zalV2BrandMount .zalunia-tagline{margin-top:3px!important;color:#c3d3e7!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-clean-beta{margin-top:6px!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-today-head{
  display:block!important;margin:0 0 14px!important;padding:0 1px 1px!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-time-row{
  display:flex!important;align-items:baseline!important;flex-wrap:wrap!important;column-gap:11px!important;row-gap:4px!important;
  min-width:0!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-clock{
  display:block!important;flex:0 0 auto!important;color:#65e5ee!important;font-size:clamp(25px,7vw,30px)!important;
  font-variant-numeric:tabular-nums!important;font-weight:790!important;letter-spacing:-.045em!important;line-height:1.08!important;
  text-shadow:0 0 18px rgba(74,220,231,.16)!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-date{
  display:block!important;min-width:0!important;color:#d1def0!important;font-size:13px!important;line-height:1.35!important;
  font-weight:740!important;letter-spacing:.015em!important;text-transform:none!important;overflow-wrap:anywhere!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-dayline{
  margin:5px 0 0!important;color:#a9bbd5!important;font-size:13px!important;line-height:1.4!important;font-weight:580!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-card{
  border-color:rgba(130,177,220,.23)!important;
  background:linear-gradient(142deg,rgba(26,58,101,.78),rgba(11,29,61,.84))!important;
  box-shadow:0 12px 25px rgba(2,10,29,.18),inset 0 1px 0 rgba(255,255,255,.055)!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-card:after{display:block!important;content:""!important;position:absolute!important;inset:0!important;pointer-events:none!important;border-radius:inherit!important;background:linear-gradient(115deg,rgba(255,255,255,.035),transparent 44%)!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-now{
  min-height:104px!important;padding:16px 17px!important;border-color:rgba(74,216,232,.43)!important;
  background:linear-gradient(120deg,rgba(28,75,117,.92),rgba(16,43,82,.94) 62%,rgba(25,43,87,.91))!important;
  box-shadow:inset 3px 0 0 rgba(81,224,236,.78),0 12px 27px rgba(2,12,31,.20)!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-now:before{display:none!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-now .zal-v2-home-card-head h2{color:#b2eaf0!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-now .zal-v2-home-primary{font-size:19px!important;line-height:1.25!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-glyph{border-color:rgba(91,225,238,.34)!important;background:linear-gradient(145deg,rgba(75,219,235,.17),rgba(92,117,208,.15))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-attention{background:linear-gradient(140deg,rgba(68,57,83,.60),rgba(19,34,67,.88))!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-today{background:linear-gradient(140deg,rgba(25,59,94,.78),rgba(13,31,62,.88))!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-next{background:linear-gradient(140deg,rgba(52,46,91,.66),rgba(16,31,65,.88))!important}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-clean-nav{
  border-color:rgba(116,181,216,.25)!important;background:linear-gradient(125deg,rgba(8,25,52,.95),rgba(11,22,49,.95))!important;
  box-shadow:0 12px 30px rgba(0,7,24,.36),inset 0 1px 0 rgba(255,255,255,.065)!important;
}
body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-clean-nav button.is-active{
  border-color:rgba(167,134,255,.39)!important;background:linear-gradient(145deg,rgba(121,87,218,.27),rgba(70,179,202,.10))!important;
}
body.zal-v2-clean-ready.zal-v2-today-open #miniZaluLauncher{
  right:16px!important;bottom:calc(var(--zal-v2-content-clearance,100px) + 2px)!important;
}
@media(max-width:390px){
  body.zal-v2-clean-ready.zal-v2-today-open #zalV2BrandHeader{padding-left:18px!important;padding-right:18px!important}
  body.zal-v2-clean-ready.zal-v2-today-open #zalV2TodayRoot{padding-left:18px!important;padding-right:18px!important}
  body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-time-row{column-gap:9px!important}
  body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-date{font-size:12px!important}
  body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-clock{font-size:27px!important}
  body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-now{min-height:98px!important;padding:14px!important}
}
@media(max-height:740px) and (max-width:520px){
  body.zal-v2-clean-ready.zal-v2-today-open #zalV2BrandHeader{padding-top:calc(env(safe-area-inset-top,0px) + 8px)!important;margin-bottom:10px!important}
  body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-today-head{margin-bottom:10px!important}
}

/* Tanda 2: recuperar scroll completo de Login en móvil y alinear el punto del wordmark original. */
html:has(body.zal-v2-clean-auth){height:auto!important;min-height:100%!important;overflow-x:clip!important;overflow-y:auto!important;overscroll-behavior-y:auto!important}
html body.zal-v2-clean-auth{display:block!important;position:relative!important;height:auto!important;max-height:none!important;min-height:100dvh!important;overflow-x:clip!important;overflow-y:auto!important;overscroll-behavior-y:auto!important;touch-action:pan-y!important}
html body.zal-v2-clean-auth #zalV2AppRoot{display:block!important;position:relative!important;height:auto!important;max-height:none!important;min-height:100dvh!important;overflow:visible!important}
html body.zal-v2-clean-auth #zalV2Main,html body.zal-v2-clean-auth #zalV2AuthRoot,html body.zal-v2-clean-auth #authBox,html body.zal-v2-clean-auth #authBox .zalu-start-guide{height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important;touch-action:pan-y!important}
html body.zal-v2-clean-auth #zalV2AuthRoot{padding-bottom:calc(44px + env(safe-area-inset-bottom,0px))!important}
html body.zal-v2-clean-auth #zalV2BrandMount .zalunia-wordmark .zalunia-wordmark-i .zalunia-live-dot,html body.zal-v2-clean-ready.zal-v2-today-open #zalV2BrandMount .zalunia-wordmark .zalunia-wordmark-i .zalunia-live-dot{top:.105em!important;left:50%!important;transform:translateX(-50%)!important;width:.115em!important;height:.115em!important;min-width:5px!important;min-height:5px!important}

/* Home/Hoy · cabecera centrada, con fecha y hora en jerarquía vertical. */
html body.zal-v2-clean-ready.zal-v2-today-open #zalV2BrandHeader{
  align-items:center!important;gap:3px!important;margin:0 auto 10px!important;padding:0 8px!important;text-align:center!important;
}
html body.zal-v2-clean-ready.zal-v2-today-open #zalV2BrandMount{display:flex!important;justify-content:center!important;width:100%!important}
html body.zal-v2-clean-ready.zal-v2-today-open #zalV2BrandMount .zalunia-brand{align-items:center!important;text-align:center!important}
html body.zal-v2-clean-ready.zal-v2-today-open #zalV2BrandMount .zalunia-wordmark{justify-content:center!important;font-size:34px!important;line-height:1.04!important}
html body.zal-v2-clean-ready.zal-v2-today-open #zalV2BrandMount .zalunia-tagline{font-size:12px!important;text-align:center!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-clean-beta{align-self:center!important;margin-top:5px!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-today-head{text-align:center!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-time-row{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-date{order:0!important;margin:0!important;color:#dce9fb!important;font-size:clamp(14px,4vw,16px)!important;line-height:1.35!important;font-weight:820!important;letter-spacing:.065em!important;text-align:center!important;text-transform:uppercase!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-clock{order:1!important;color:#55e2ef!important;font-size:clamp(38px,11vw,46px)!important;line-height:.98!important;letter-spacing:-.045em!important;text-align:center!important;text-shadow:0 0 18px rgba(63,222,240,.15)!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-dayline{display:block!important;margin:6px auto 0!important;color:#b8c9e0!important;font-size:14px!important;line-height:1.4!important;text-align:center!important}
@media(max-width:390px){
  html body.zal-v2-clean-ready.zal-v2-today-open #zalV2BrandMount .zalunia-wordmark{font-size:33px!important}
  html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-date{font-size:13.5px!important;letter-spacing:.045em!important}
  html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-clock{font-size:38px!important}
}

/* Mini-Zalu oficial: mayor presencia y anclaje consistente sobre el nav en Hoy. */
html body.zal-v2-clean-ready.zal-v2-today-open #miniZaluLauncher{
  position:fixed!important;inset:auto max(16px,env(safe-area-inset-right,0px) + 12px) calc(var(--zal-v2-content-clearance,104px) + 12px) auto!important;
  display:grid!important;place-items:center!important;width:68px!important;height:68px!important;padding:0!important;
  overflow:visible!important;border:0!important;border-radius:50%!important;background:transparent!important;box-shadow:none!important;
  isolation:isolate!important;filter:none!important;z-index:10000260!important;
}
html body.zal-v2-clean-ready.zal-v2-today-open #miniZaluLauncher:before{
  content:""!important;position:absolute!important;inset:1px!important;z-index:-1!important;border-radius:50%!important;
  background:radial-gradient(circle,rgba(74,218,244,.20),rgba(135,95,255,.13) 48%,transparent 74%)!important;
  filter:blur(8px)!important;pointer-events:none!important;
}
html body.zal-v2-clean-ready.zal-v2-today-open #miniZaluLauncher img{
  display:block!important;width:64px!important;height:64px!important;max-width:none!important;object-fit:contain!important;
  filter:drop-shadow(0 3px 7px rgba(0,9,34,.40))!important;
}
html body.zal-v2-clean-ready.zal-v2-today-open #zalV2TodayRoot:has(.zal-v2-home-attention:not([hidden]),.zal-v2-home-today:not([hidden]),.zal-v2-home-next:not([hidden])){padding-bottom:80px!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-now{
  border-color:rgba(83,222,238,.42)!important;
  background:linear-gradient(135deg,rgba(30,76,117,.88),rgba(19,49,91,.94) 58%,rgba(30,47,91,.90))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09),inset 3px 0 0 rgba(76,224,239,.78),0 12px 30px rgba(2,11,30,.22),0 0 18px rgba(67,220,239,.055)!important;
}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-now .zal-v2-home-glyph{
  border-color:rgba(90,224,241,.38)!important;background:linear-gradient(145deg,rgba(65,213,236,.19),rgba(102,122,216,.16))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 5px 12px rgba(4,14,38,.16)!important;
}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-demo-home-switch{
  display:flex!important;align-items:center!important;justify-content:center!important;flex-wrap:wrap!important;gap:5px!important;margin:7px auto 0!important;
  color:#9fb4d0!important;font-size:10px!important;line-height:1.2!important;
}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-demo-home-switch[hidden]{display:none!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-demo-home-switch button{
  min-height:36px!important;padding:6px 11px!important;border:1px solid rgba(132,161,208,.25)!important;border-radius:999px!important;
  color:#c6d4e9!important;background:rgba(14,31,63,.74)!important;font:inherit!important;font-size:10px!important;font-weight:750!important;
}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-demo-home-switch button[aria-pressed="true"]{
  border-color:rgba(87,223,238,.5)!important;color:#aaf5f5!important;background:linear-gradient(120deg,rgba(36,166,194,.20),rgba(119,91,205,.20))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;
}
@media(max-width:390px){
  html body.zal-v2-clean-ready.zal-v2-today-open #miniZaluLauncher{width:64px!important;height:64px!important;right:max(12px,env(safe-area-inset-right,0px) + 8px)!important}
  html body.zal-v2-clean-ready.zal-v2-today-open #miniZaluLauncher img{width:60px!important;height:60px!important}
}

/* Estado activo Demo: menos altura y acciones integradas para evitar apilar controles. */
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-demo-home-switch{
  width:max-content!important;max-width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:3px!important;
  margin:8px auto 0!important;padding:3px!important;border:1px solid rgba(130,178,219,.22)!important;border-radius:999px!important;
  background:linear-gradient(120deg,rgba(8,27,57,.68),rgba(28,34,74,.66))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.045)!important;
  backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;
}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-demo-home-switch[hidden]{display:none!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-demo-home-switch button{
  min-height:34px!important;padding:6px 13px!important;border:1px solid transparent!important;border-radius:999px!important;
  color:#b9c9df!important;background:transparent!important;font-size:12px!important;line-height:1.15!important;font-weight:720!important;white-space:nowrap!important;
}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-demo-home-switch button[aria-pressed="true"]{
  color:#e8faff!important;border-color:rgba(86,219,235,.28)!important;background:linear-gradient(120deg,rgba(31,154,182,.24),rgba(112,83,198,.22))!important;box-shadow:none!important;
}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-layout{gap:9px!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-now{min-height:0!important;padding:13px 15px!important;gap:10px!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-now .zal-v2-home-primary{font-size:18px!important;line-height:1.22!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-now .zal-v2-home-secondary{font-size:13px!important;line-height:1.35!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-now.has-action{padding-bottom:13px!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-now .zal-v2-home-action{min-height:38px!important;margin:8px 0 0!important;padding:6px 13px!important;font-size:12px!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-attention{padding:11px 13px!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-attention .zal-v2-home-card-head{margin-bottom:3px!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-attention-row{
  display:grid!important;grid-template-columns:7px minmax(0,1fr) auto!important;align-items:center!important;gap:9px!important;min-width:0!important;
}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-attention-row>span:nth-child(2){display:grid!important;gap:2px!important;min-width:0!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-attention-row b{font-size:13px!important;line-height:1.3!important;overflow-wrap:anywhere!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-attention-row small{font-size:11px!important;line-height:1.3!important;color:#c1cadb!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-attention-mark{width:7px!important;height:7px!important;border-radius:50%!important;background:#f0bf5b!important;box-shadow:0 0 9px rgba(240,191,91,.22)!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-attention-row .zal-v2-home-action{
  min-height:36px!important;margin:0!important;padding:5px 10px!important;border-radius:11px!important;font-size:11px!important;white-space:nowrap!important;
}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-today,
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-next{padding:11px 13px!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-today .zal-v2-home-row{min-height:44px!important;padding-top:4px!important;padding-bottom:4px!important}
html body.zal-v2-clean-ready.zal-v2-today-open #miniZaluLauncher{
  bottom:calc(var(--zal-v2-nav-height,64px) + max(env(safe-area-inset-bottom,0px),8px) + 10px)!important;
}
@media(max-width:390px){
  html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-attention-row{grid-template-columns:6px minmax(0,1fr) auto!important;gap:7px!important}
  html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-attention-row .zal-v2-home-action{padding:5px 8px!important;font-size:10px!important}
  html body.zal-v2-clean-ready.zal-v2-today-open #miniZaluLauncher{bottom:calc(var(--zal-v2-nav-height,64px) + max(env(safe-area-inset-bottom,0px),8px) + 8px)!important}
}

/* Limpieza Home · cabecera más corta, filas legibles y scroll del documento reservado al nav real. */
html:has(body.zal-v2-clean-ready.zal-v2-today-open:not(.zalunia-overlay-open):not(.zal-final-sheet-open):not(.zalu-sheet-open):not(.zal-ticket-modal-open):not(.mini-zalu-open)),
html:has(body.zal-v2-clean-ready.zal-v2-today-open:not(.zalunia-overlay-open):not(.zal-final-sheet-open):not(.zalu-sheet-open):not(.zal-ticket-modal-open):not(.mini-zalu-open)) body{
  height:auto!important;min-height:100%!important;max-height:none!important;overflow-x:clip!important;overflow-y:auto!important;
  overscroll-behavior-y:contain!important;touch-action:pan-y!important;
}
html body.zal-v2-clean-ready.zal-v2-today-open:not(.zalunia-overlay-open):not(.zal-final-sheet-open):not(.zalu-sheet-open):not(.zal-ticket-modal-open):not(.mini-zalu-open){position:relative!important;height:auto!important;min-height:100svh!important;max-height:none!important;overflow-x:clip!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important}
html body.zal-v2-clean-ready.zal-v2-today-open #zalV2AppRoot{
  position:relative!important;height:auto!important;max-height:none!important;min-height:100svh!important;overflow:visible!important;
  padding-bottom:var(--zal-v2-content-clearance,calc(var(--zal-v2-nav-height,72px) + max(10px,env(safe-area-inset-bottom,0px)) + 20px))!important;
}
html body.zal-v2-clean-ready.zal-v2-today-open #zalV2Main,
html body.zal-v2-clean-ready.zal-v2-today-open #zalV2TodayRoot{
  position:relative!important;height:auto!important;max-height:none!important;overflow:visible!important;touch-action:pan-y!important;
}
html body.zal-v2-clean-ready.zal-v2-today-open #zalV2TodayRoot{flex:0 0 auto!important;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))!important}
html body.zal-v2-clean-ready.zal-v2-today-open #zalV2BrandHeader{
  margin-bottom:8px!important;padding-top:calc(env(safe-area-inset-top,0px) + 6px)!important;
}
html body.zal-v2-clean-ready.zal-v2-today-open #zalV2BrandMount .zalunia-tagline{margin-top:1px!important;line-height:1.25!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-clean-beta{margin-top:3px!important;padding-top:3px!important;padding-bottom:3px!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-today-head{margin-bottom:6px!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-dayline{margin-top:3px!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-demo-home-switch{margin-top:5px!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-demo-home-switch button{min-height:36px!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-layout{gap:8px!important;padding-bottom:0!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-card{border-radius:19px!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-now{padding:10px 13px!important;gap:9px!important;border-radius:21px!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-now .zal-v2-home-glyph{width:42px!important;height:42px!important;flex-basis:42px!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-now .zal-v2-home-primary{font-size:18px!important;line-height:1.22!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-now .zal-v2-home-secondary{margin-top:4px!important;font-size:13px!important;line-height:1.35!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-now.has-action{padding-bottom:11px!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-now .zal-v2-home-action{min-height:38px!important;margin-top:7px!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-attention{padding:11px 13px!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-attention .zal-v2-home-card-head{margin-bottom:6px!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-attention .zal-v2-home-rows{display:grid!important;gap:8px!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-attention-row{
  display:grid!important;grid-template-columns:7px minmax(0,1fr) auto!important;align-items:center!important;gap:9px!important;
  min-width:0!important;padding:7px 0!important;
}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-attention-row+.zal-v2-home-attention-row{border-top:1px solid rgba(237,216,173,.13)!important;padding-top:10px!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-attention-row .zal-v2-home-action{
  min-width:86px!important;min-height:38px!important;margin:0!important;padding:6px 10px!important;border-radius:12px!important;
  border-color:rgba(147,126,218,.33)!important;background:linear-gradient(125deg,rgba(116,87,191,.22),rgba(68,80,143,.20))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.075)!important;font-size:11px!important;line-height:1.2!important;white-space:nowrap!important;
}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-attention-row b{font-size:13px!important;line-height:1.35!important;overflow-wrap:anywhere!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-attention-row small{font-size:11px!important;line-height:1.35!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-today,
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-next{padding:12px!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-today .zal-v2-home-card-head,
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-next .zal-v2-home-card-head{margin-bottom:8px!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-rows{display:grid!important;gap:7px!important;min-width:0!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-row{
  display:grid!important;grid-template-columns:minmax(0,1fr) 30px!important;align-items:center!important;gap:10px!important;
  min-width:0!important;min-height:62px!important;padding:9px 10px!important;border:1px solid rgba(139,190,225,.15)!important;
  border-radius:14px!important;background:linear-gradient(135deg,rgba(7,24,53,.32),rgba(39,65,105,.21))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-row:first-child{border-top:1px solid rgba(139,190,225,.15)!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-row-copy{display:grid!important;gap:4px!important;min-width:0!important;white-space:normal!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-row-label{font-size:11px!important;line-height:1.25!important;letter-spacing:.01em!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-row-copy b{font-size:14px!important;line-height:1.35!important;font-weight:700!important;white-space:normal!important;overflow-wrap:anywhere!important}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-row-arrow{width:28px!important;height:28px!important;justify-self:end!important;align-self:center!important}
@media(max-width:390px){
  html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-attention-row{grid-template-columns:6px minmax(0,1fr) auto!important;gap:7px!important}
  html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-attention-row .zal-v2-home-action{min-width:78px!important;padding-left:8px!important;padding-right:8px!important;font-size:10px!important}
  html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-home-row{min-height:64px!important;padding:9px!important}
}

/* Cierre Tanda 2: Login como portada continua; Hoy usa el scroll nativo del documento. */
body.zal-v2-clean-auth #zalV2AuthRoot{background:transparent!important}
body.zal-v2-clean-auth #authBox .zalu-start-guide{
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
body.zal-v2-clean-auth #authBox .onboarding-tabs{
  border-color:rgba(102,220,232,.22)!important;
  background:linear-gradient(115deg,rgba(5,22,46,.68),rgba(14,31,63,.58))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045)!important;
}
body.zal-v2-clean-auth #authBox .google-auth-btn{
  border-color:rgba(122,187,215,.30)!important;
  background:linear-gradient(120deg,rgba(24,51,84,.62),rgba(12,30,58,.56))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045)!important;
}
body.zal-v2-clean-auth #authBox .public-demo-btn{
  background:linear-gradient(115deg,rgba(34,158,182,.14),rgba(45,86,135,.17))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055)!important;
}

/* Scroll único del documento en Android: el overflow del body se propaga al viewport. */
html:has(body.zal-v2-clean-ready.zal-v2-today-open:not(.zalunia-overlay-open):not(.zal-final-sheet-open):not(.zalu-sheet-open):not(.zal-ticket-modal-open):not(.mini-zalu-open)){
  height:auto!important;min-height:100%!important;max-height:none!important;overflow:visible!important;
  overscroll-behavior-y:contain!important;
}
html body.zal-v2-clean-ready.zal-v2-today-open:not(.zalunia-overlay-open):not(.zal-final-sheet-open):not(.zalu-sheet-open):not(.zal-ticket-modal-open):not(.mini-zalu-open){
  position:relative!important;inset:auto!important;width:100%!important;height:auto!important;min-height:100svh!important;max-height:none!important;
  overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:contain!important;
  -webkit-overflow-scrolling:touch!important;touch-action:pan-y!important;
}
html body.zal-v2-clean-ready.zal-v2-today-open #zalV2AppRoot{
  display:block!important;position:relative!important;width:100%!important;height:auto!important;min-height:100svh!important;max-height:none!important;
  overflow:visible!important;box-sizing:border-box!important;padding:0 0 0!important;
}
html body.zal-v2-clean-ready.zal-v2-today-open #zalV2AppRoot:after{display:none!important;content:none!important}
html body.zal-v2-clean-ready.zal-v2-today-open #zalV2Main{
  display:block!important;position:relative!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
  margin:0!important;padding:0!important;overflow:visible!important;contain:none!important;
}
html body.zal-v2-clean-ready.zal-v2-today-open #zalV2TodayRoot{
  display:flex!important;position:relative!important;flex-direction:column!important;flex:none!important;
  width:min(760px,100%)!important;height:auto!important;min-width:0!important;min-height:0!important;max-height:none!important;
  margin:0 auto!important;box-sizing:border-box!important;overflow:visible!important;touch-action:pan-y!important;
  padding-bottom:16px!important;scroll-padding-bottom:16px!important;
}
html body.zal-v2-clean-ready.zal-v2-today-open #zalV2TodayRoot:has(.zal-v2-home-attention:not([hidden]),.zal-v2-home-today:not([hidden]),.zal-v2-home-next:not([hidden])){
  padding-bottom:calc(var(--zal-v2-content-clearance,104px) + var(--zal-v2-minizalu-size,68px) + 16px)!important;
  scroll-padding-bottom:calc(var(--zal-v2-content-clearance,104px) + var(--zal-v2-minizalu-size,68px) + 16px)!important;
}
html body.zal-v2-clean-ready.zal-v2-today-open .zal-v2-today-grid{flex:0 0 auto!important}
html body.zal-v2-clean-ready.zal-v2-today-open #miniZaluLauncher{
  position:fixed!important;inset:auto max(14px,calc(env(safe-area-inset-right,0px) + 10px)) calc(var(--zal-v2-nav-height,72px) + max(8px,env(safe-area-inset-bottom,0px)) + 20px) auto!important;
  display:grid!important;place-items:center!important;flex:none!important;width:68px!important;height:68px!important;margin:0!important;padding:0!important;
  overflow:visible!important;border:0!important;border-radius:50%!important;background:transparent!important;box-shadow:none!important;
  z-index:10000260!important;pointer-events:auto!important;touch-action:manipulation!important;
}
html body.zal-v2-clean-ready.zal-v2-today-open #miniZaluLauncher:before{pointer-events:none!important}
html body.zal-v2-clean-ready.zal-v2-today-open #miniZaluLauncher img{display:block!important;width:64px!important;height:64px!important;object-fit:contain!important}
@media(max-width:390px){
  html body.zal-v2-clean-ready.zal-v2-today-open #zalV2TodayRoot{padding-left:17px!important;padding-right:17px!important}
  html body.zal-v2-clean-ready.zal-v2-today-open #zalV2TodayRoot:has(.zal-v2-home-attention:not([hidden]),.zal-v2-home-today:not([hidden]),.zal-v2-home-next:not([hidden])){
    padding-bottom:calc(var(--zal-v2-content-clearance,104px) + 80px)!important;
    scroll-padding-bottom:calc(var(--zal-v2-content-clearance,104px) + 80px)!important;
  }
  html body.zal-v2-clean-ready.zal-v2-today-open #miniZaluLauncher{width:64px!important;height:64px!important}
  html body.zal-v2-clean-ready.zal-v2-today-open #miniZaluLauncher img{width:60px!important;height:60px!important}
}

/* Tanda 3 · Compra: un primer paso claro y superficies compactas en el ciclo de compra. */
body.zal-v2-clean-ready.zal-v2-buy-hub-open #zalV2Hub{
  width:min(760px,100%)!important;margin-inline:auto!important;padding-left:18px!important;padding-right:18px!important;
}
body.zal-v2-clean-ready.zal-v2-buy-hub-open #zalV2Hub>h2{font-size:27px!important;letter-spacing:-.025em!important}
body.zal-v2-clean-ready.zal-v2-buy-hub-open #zalV2Hub>p{margin:0 0 7px!important;font-size:12px!important;line-height:1.4!important;color:#b8c8df!important}
body.zal-v2-clean-ready.zal-v2-buy-hub-open #zalV2Hub .zal-v2-hub-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
.zal-v2-buy-lead{
  display:grid;grid-template-columns:52px minmax(0,1fr) minmax(180px,.56fr);align-items:center;gap:13px;
  padding:17px;border:1px solid rgba(87,215,231,.25);border-radius:22px;
  background:radial-gradient(ellipse at 0 0,rgba(46,193,209,.13),transparent 52%),linear-gradient(135deg,rgba(27,61,101,.72),rgba(12,29,62,.79));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 12px 26px rgba(2,11,31,.19);
  backdrop-filter:blur(18px) saturate(1.06);-webkit-backdrop-filter:blur(18px) saturate(1.06);
}
.zal-v2-buy-lead-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;border:1px solid rgba(87,215,231,.22);background:rgba(58,195,215,.09);font-size:21px}
.zal-v2-buy-lead-copy{min-width:0;display:grid;gap:5px}
.zal-v2-buy-lead-copy small{font-size:9px;font-weight:900;letter-spacing:.12em;color:#80e9f0}
.zal-v2-buy-lead-copy b{font-size:19px;line-height:1.18;color:#f7fbff}
.zal-v2-buy-lead-copy span{font-size:11px;line-height:1.4;color:#b8c8df}
.zal-v2-buy-lead-actions{display:grid;gap:7px}
.zal-v2-buy-primary,.zal-v2-buy-scan{min-height:42px;border-radius:14px;padding:9px 13px;font:inherit;font-size:11px;font-weight:850;cursor:pointer}
.zal-v2-buy-primary{display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(182,151,255,.34);background:linear-gradient(120deg,rgba(128,91,235,.82),rgba(95,74,190,.80));color:#fff;box-shadow:0 8px 18px rgba(77,54,164,.17)}
.zal-v2-buy-primary span{font-size:19px;line-height:1}
.zal-v2-buy-scan{border:1px solid rgba(105,200,218,.20);background:rgba(7,22,49,.28);color:#d8f8fa}
body.zal-v2-clean-ready.zal-v2-buy-hub-open #zalV2Hub .zal-v2-hub-summary{gap:8px;margin:0}
body.zal-v2-clean-ready.zal-v2-buy-hub-open #zalV2Hub .zal-v2-hub-stat{min-width:0;padding:11px 13px;border-radius:17px;background:linear-gradient(145deg,rgba(28,55,91,.51),rgba(13,29,58,.49));border-color:rgba(117,167,202,.16)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
body.zal-v2-clean-ready.zal-v2-buy-hub-open #zalV2Hub .zal-v2-hub-stat b{font-size:14px;line-height:1.25;overflow-wrap:anywhere}
body.zal-v2-clean-ready.zal-v2-buy-hub-open #zalV2Hub .zal-v2-hub-stat span{font-size:9px}
.zal-v2-buy-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
body.zal-v2-clean-ready.zal-v2-buy-hub-open #zalV2Hub .zal-v2-buy-shortcuts .zal-v2-hub-btn{
  grid-template-columns:34px minmax(0,1fr) 12px;gap:8px;min-height:66px;padding:10px;border-radius:17px;
  border-color:rgba(118,170,202,.16);background:linear-gradient(145deg,rgba(24,48,82,.49),rgba(11,26,55,.56));box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
body.zal-v2-clean-ready.zal-v2-buy-hub-open #zalV2Hub .zal-v2-buy-shortcuts .zal-v2-hub-icon{width:32px;height:32px;border-radius:11px;font-size:15px;background:rgba(69,189,208,.075);box-shadow:inset 0 0 0 1px rgba(84,199,215,.13)}
body.zal-v2-clean-ready.zal-v2-buy-hub-open #zalV2Hub .zal-v2-buy-shortcuts .zal-v2-hub-copy b{font-size:12px}
body.zal-v2-clean-ready.zal-v2-buy-hub-open #zalV2Hub .zal-v2-buy-shortcuts .zal-v2-hub-copy small{font-size:9px;line-height:1.3}
body.zal-v2-clean-ready.zal-v2-buy-hub-open #zalV2Hub .zal-v2-buy-shortcuts .zal-v2-hub-chevron{font-size:18px;color:#9fcbd6}
#zalV2ModuleHost :is(#listView,#pantryView,#ticketsView)>.viewhead{display:none!important}
#zalV2ModuleHost #ticketsView .expenses-mode-nav{display:none!important}
#ticketsView .zal-f6-tabbar{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px;border-color:rgba(95,183,203,.16);background:rgba(5,16,37,.46)}
#ticketsView .zal-f6-tab{min-width:0;min-height:42px;padding:7px 5px;border:1px solid rgba(113,168,198,.14);border-radius:13px;background:rgba(7,20,44,.40);color:#b9c8dc;font-size:10.5px}
#ticketsView .zal-f6-tab.active{border-color:rgba(91,209,221,.42);background:linear-gradient(135deg,rgba(109,81,206,.61),rgba(56,135,164,.24));color:#f8fbff;box-shadow:inset 0 0 0 1px rgba(153,211,236,.10),0 0 15px rgba(85,193,218,.08)}
#ticketsView[data-zal-f6-tab='saving'] :is(#expensesRuntimeStrip,#openTicketScannerBtn,#openManualExpenseBtn),
#ticketsView[data-zal-f6-tab='radar'] :is(#expensesRuntimeStrip,#openTicketScannerBtn,#openManualExpenseBtn){display:none!important}
#ticketsView[data-zal-f6-tab='saving']>.panel:not(#manualExpensePanel):not(#ticketScanPanel),
#ticketsView[data-zal-f6-tab='radar']>.panel:not(#manualExpensePanel):not(#ticketScanPanel),
#ticketsView[data-zal-f6-tab='saving']>.expenses-mode-nav,
#ticketsView[data-zal-f6-tab='radar']>.expenses-mode-nav{display:none!important}
#ticketsView :is(.zal-f6-surface,.panel){border-color:rgba(106,181,204,.17)!important;background:linear-gradient(145deg,rgba(26,48,80,.55),rgba(10,25,53,.67))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 10px 24px rgba(1,8,24,.14)!important}
#ticketsView .zal-f6-item{border-color:rgba(124,169,193,.15);background:linear-gradient(145deg,rgba(26,48,77,.40),rgba(12,27,55,.36))}
#ticketsView .zal-f6-error{border-color:rgba(242,157,158,.22);background:rgba(242,157,158,.045)}
#ticketsView .zal-f6-empty{border-style:solid;border-color:rgba(105,190,207,.15);background:rgba(45,117,139,.055)}
@media(max-width:620px){
  body.zal-v2-clean-ready.zal-v2-buy-hub-open #zalV2Hub{padding-left:17px!important;padding-right:17px!important}
  .zal-v2-buy-lead{grid-template-columns:44px minmax(0,1fr);gap:11px;padding:14px;border-radius:19px}
  .zal-v2-buy-lead-icon{width:42px;height:42px;border-radius:14px;font-size:19px}
  .zal-v2-buy-lead-copy b{font-size:17px}
  .zal-v2-buy-lead-actions{grid-column:1/-1;grid-template-columns:1.1fr .9fr;gap:8px}
  .zal-v2-buy-primary,.zal-v2-buy-scan{min-height:44px;padding:9px 11px}
  .zal-v2-buy-shortcuts{grid-template-columns:1fr;gap:7px}
  body.zal-v2-clean-ready.zal-v2-buy-hub-open #zalV2Hub .zal-v2-buy-shortcuts .zal-v2-hub-btn{min-height:62px;padding:9px 11px}
}
@media(max-width:430px){
  #ticketsView .zal-f6-tabbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:4px}
  #ticketsView .zal-f6-tab{min-height:42px;padding:7px 5px;font-size:10px}
}
@media(max-width:360px){#ticketsView .zal-f6-tab{padding-inline:3px;font-size:9.5px}}
/* Tanda 3 · Lista móvil: un único scroll root y controles sin solapamientos. */
@media(max-width:620px){
  body.zal-v2-clean-ready[data-zal-v2-module="list"]{
    height:100dvh!important;min-height:0!important;overflow:hidden!important;padding-bottom:0!important;
  }
  html body.zal-v2-clean-ready[data-zal-v2-module="list"] #zalV2AppRoot.zal-v2-clean-app{
    display:flex!important;flex-direction:column!important;height:100dvh!important;min-height:0!important;
    overflow:hidden!important;padding-bottom:0!important;
  }
  body.zal-v2-clean-ready[data-zal-v2-module="list"] #zalV2BrandHeader{flex:0 0 auto!important}
  html body.zal-v2-clean-ready[data-zal-v2-module="list"] #zalV2Main{
    display:flex!important;flex:1 1 auto!important;flex-direction:column!important;min-height:0!important;width:100%!important;overflow:hidden!important;
  }
  html body.zal-v2-clean-ready[data-zal-v2-module="list"] #zalV2ModuleHost{
    flex:1 1 auto!important;height:auto!important;max-height:100%!important;min-height:0!important;box-sizing:border-box!important;overflow-x:hidden!important;overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;touch-action:pan-y!important;overscroll-behavior-y:contain!important;
    scroll-padding-bottom:calc(var(--zal-v2-content-clearance,104px) + 82px)!important;
    padding-bottom:calc(var(--zal-v2-content-clearance,104px) + 82px)!important;
  }
  body.zal-v2-clean-ready[data-zal-v2-module="list"] #listView{
    height:auto!important;min-height:0!important;overflow:visible!important;overscroll-behavior:auto!important;
    touch-action:pan-y!important;padding-bottom:0!important;
  }
  body.zal-v2-clean-ready[data-zal-v2-module="list"] #listView :is(.shopping-mode-entry,.panel,.shared-item,#newItem){touch-action:pan-y!important}
  body.zal-v2-clean-ready[data-zal-v2-module="list"] .zal-v2-module-toolbar{
    display:grid!important;grid-template-columns:auto minmax(0,1fr) 42px!important;align-items:center!important;
    column-gap:14px!important;min-height:48px!important;margin:0 0 12px!important;padding:2px 1px 4px!important;
  }
  body.zal-v2-clean-ready[data-zal-v2-module="list"] .zal-v2-module-back{
    display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;
    width:auto!important;min-width:0!important;min-height:40px!important;padding:7px 11px!important;
    border:1px solid rgba(145,101,255,.28)!important;border-radius:14px!important;
    background:rgba(145,101,255,.08)!important;color:#e8e1ff!important;font-size:12px!important;font-weight:850!important;
  }
  body.zal-v2-clean-ready[data-zal-v2-module="list"] .zal-v2-module-toolbar>strong{
    display:block!important;min-width:0!important;color:#fff!important;font-size:22px!important;line-height:1.1!important;
    font-weight:900!important;letter-spacing:-.02em!important;
  }
  body.zal-v2-clean-ready[data-zal-v2-module="list"] .zal-v2-list-mini{
    display:grid!important;place-items:center!important;width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;
    padding:0!important;border:1px solid rgba(106,232,255,.24)!important;border-radius:50%!important;
    background:rgba(21,50,91,.76)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;touch-action:manipulation!important;
  }
  body.zal-v2-clean-ready[data-zal-v2-module="list"] .zal-v2-list-mini img{display:block!important;width:38px!important;height:38px!important;object-fit:contain!important;pointer-events:none!important}
  body.zal-v2-clean-ready[data-zal-v2-module="list"] #listView .check:not(.done)::before{
    content:"✓";display:grid;place-items:center;color:#a8dfe7;font-size:15px;font-weight:950;opacity:.42;
  }
  body.zal-v2-clean-ready[data-zal-v2-module="list"] #sharedList{
    padding-bottom:16px!important;
  }
  /* Lista conserva el Mini-Zalu estándar: fijo abajo a la derecha, por encima del nav.
     La interacción/drag global sigue siendo responsabilidad del shell legado. */
  html body.zal-v2-clean-ready[data-zal-v2-module="list"] #miniZaluLauncher{
    display:flex!important;visibility:visible!important;pointer-events:auto!important;
    left:auto!important;top:auto!important;right:14px!important;
    bottom:calc(var(--zal-v2-nav-height,72px) + max(10px,env(safe-area-inset-bottom,0px)) + 10px)!important;
  }
  html body.zal-v2-clean-ready[data-zal-v2-module="list"] .zal-v2-list-mini{display:none!important}
}


/* Tanda 3 · ticket scanner mobile scroll + safe-area hardening · 2026-09-30 */
@media(max-width:620px){
  /* Tickets usa el mismo patrón de scroll único que Lista: nav fija fuera y contenido realmente desplazable. */
  body.zal-v2-clean-ready[data-zal-v2-module="tickets"]{
    height:100dvh!important;min-height:0!important;overflow:hidden!important;padding-bottom:0!important;
  }
  html body.zal-v2-clean-ready[data-zal-v2-module="tickets"] #zalV2AppRoot.zal-v2-clean-app{
    display:flex!important;flex-direction:column!important;height:100dvh!important;min-height:0!important;
    overflow:hidden!important;padding-bottom:0!important;
  }
  body.zal-v2-clean-ready[data-zal-v2-module="tickets"] #zalV2BrandHeader{flex:0 0 auto!important}
  html body.zal-v2-clean-ready[data-zal-v2-module="tickets"] #zalV2Main{
    display:flex!important;flex:1 1 auto!important;flex-direction:column!important;min-height:0!important;width:100%!important;overflow:hidden!important;
  }
  html body.zal-v2-clean-ready[data-zal-v2-module="tickets"] #zalV2ModuleHost{
    flex:1 1 auto!important;height:auto!important;max-height:100%!important;min-height:0!important;box-sizing:border-box!important;
    overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important;
    overscroll-behavior-y:contain!important;
    scroll-padding-bottom:calc(var(--zal-v2-content-clearance,104px) + 48px)!important;
    padding-bottom:calc(var(--zal-v2-content-clearance,104px) + 48px)!important;
  }
  body.zal-v2-clean-ready[data-zal-v2-module="tickets"] #ticketsView{
    height:auto!important;min-height:0!important;overflow:visible!important;touch-action:pan-y!important;padding-bottom:12px!important;
  }

  /* El escáner puede crecer por OCR, vista previa o campos: nunca debe convertirse en una superficie inmóvil. */
  body.zal-v2-clean-ready #ticketScanPanel{
    max-height:none!important;min-height:0!important;overflow:visible!important;touch-action:pan-y!important;
    padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))!important;
  }
  body.zal-v2-clean-ready #ticketScanPanel :is(input,textarea,select,button,label,.field,.panel,.card){
    touch-action:manipulation;
  }

  /* Si el legado activa su estado modal, el panel del ticket pasa a ser el scroll root del overlay. */
  html:has(body.zal-ticket-modal-open){height:100%!important;overflow:hidden!important}
  html body.zal-ticket-modal-open{height:100dvh!important;overflow:hidden!important;overscroll-behavior:none!important}
  html body.zal-ticket-modal-open #ticketScanPanel{
    box-sizing:border-box!important;max-height:calc(100dvh - max(14px,env(safe-area-inset-top,0px)) - max(14px,env(safe-area-inset-bottom,0px)))!important;
    overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior-y:contain!important;touch-action:pan-y!important;
    scroll-padding-bottom:calc(28px + env(safe-area-inset-bottom,0px))!important;
    padding-bottom:calc(28px + env(safe-area-inset-bottom,0px))!important;
  }

  /* Reserva inferior consistente para botones de cierre/confirmación y acciones al final de Tickets. */
  body.zal-v2-clean-ready[data-zal-v2-module="tickets"] #ticketsView :is(.ticket-add-row,.actions,.button-row,.form-actions,.ticket-actions):last-child{
    margin-bottom:calc(18px + env(safe-area-inset-bottom,0px))!important;
  }
}


/* Zalunia 2.0 · limpieza transversal de superficies · 2026-09-30 */
:root{--zal-v2-surface-radius:24px;--zal-v2-row-radius:19px;--zal-v2-soft-line:rgba(157,181,224,.10)}
/* La navegación flota con aire real respecto al sistema y sus estados activos no tocan el marco. */
body.zal-v2-clean-ready .zal-v2-clean-nav{
  bottom:max(14px,calc(env(safe-area-inset-bottom,0px) + 8px))!important;
  width:min(670px,calc(100% - 20px))!important;
  padding:8px!important;gap:5px!important;
  border-color:rgba(137,126,213,.22)!important;
  box-shadow:0 18px 42px rgba(1,7,24,.42),0 0 18px rgba(111,96,255,.055),inset 0 1px 0 rgba(255,255,255,.055)!important;
}
body.zal-v2-clean-ready .zal-v2-clean-nav button{
  min-height:54px!important;border-radius:18px!important;
}
body.zal-v2-clean-ready .zal-v2-clean-nav button.is-active{
  border-color:rgba(148,116,255,.25)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 5px 14px rgba(0,0,0,.13)!important;
}

/* Regla: la vista es la superficie. No añadimos otro teléfono dentro del teléfono. */
body.zal-v2-clean-ready .zal-v2-clean-module-host :is(#listView,#pantryView,#ticketsView){
  background:transparent!important;border:0!important;box-shadow:none!important;
}
body.zal-v2-clean-ready .zal-v2-clean-module-host :is(#listView,#pantryView,#ticketsView) > .panel{
  border:0!important;background:transparent!important;box-shadow:none!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  border-radius:0!important;padding-inline:2px!important;overflow:visible!important;
}
body.zal-v2-clean-ready .zal-v2-clean-module-host :is(#listView,#pantryView,#ticketsView) > .notice.module-intro{
  border:0!important;background:transparent!important;box-shadow:none!important;
  padding:0 2px 10px!important;margin:0 0 8px!important;color:#aebbd2!important;
}

/* Compra: menos tarjetas decorativas, más jerarquía y aire. */
body.zal-v2-clean-ready.zal-v2-buy-hub-open #zalV2Hub{
  padding-bottom:calc(var(--zal-v2-content-clearance,112px) + 18px)!important;
}
body.zal-v2-clean-ready.zal-v2-buy-hub-open .zal-v2-buy-lead{
  border:0!important;border-radius:var(--zal-v2-surface-radius)!important;
  background:radial-gradient(ellipse at 0 0,rgba(52,184,205,.10),transparent 54%),linear-gradient(145deg,rgba(25,54,94,.50),rgba(10,27,59,.48))!important;
  box-shadow:0 12px 30px rgba(1,8,25,.14),inset 0 1px 0 rgba(255,255,255,.045)!important;
}
body.zal-v2-clean-ready.zal-v2-buy-hub-open .zal-v2-buy-lead-icon{
  border:0!important;background:rgba(73,190,207,.075)!important;box-shadow:none!important;
}
body.zal-v2-clean-ready.zal-v2-buy-hub-open #zalV2Hub .zal-v2-hub-stat{
  border:0!important;background:rgba(20,43,76,.36)!important;box-shadow:none!important;
}
body.zal-v2-clean-ready.zal-v2-buy-hub-open #zalV2Hub .zal-v2-buy-shortcuts .zal-v2-hub-btn{
  border:0!important;background:rgba(16,37,69,.34)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
  border-radius:var(--zal-v2-row-radius)!important;
}

/* Tickets: scanner abierto, limpio y sin gran cápsula exterior. */
body.zal-v2-clean-ready #ticketsView{
  padding-bottom:22px!important;
}
body.zal-v2-clean-ready #ticketsView .tickets-archive-heading{
  margin:4px 0 16px!important;padding:0 2px!important;
}
body.zal-v2-clean-ready #ticketsView .tickets-archive-heading h3{
  margin:5px 0 5px!important;font-size:25px!important;letter-spacing:-.03em!important;
}
body.zal-v2-clean-ready #ticketsView .tickets-archive-heading p{
  margin:0!important;color:#aebbd2!important;line-height:1.46!important;
}
body.zal-v2-clean-ready #ticketScanPanel{
  border:0!important;background:transparent!important;box-shadow:none!important;
  border-radius:0!important;padding:5px 2px 28px!important;margin:0!important;overflow:visible!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
body.zal-v2-clean-ready #ticketScanPanel .ticket-scan-panel-head{
  align-items:center!important;margin-bottom:7px!important;
}
body.zal-v2-clean-ready #ticketScanPanel #closeTicketScannerBtn{
  width:44px!important;height:44px!important;min-width:44px!important;border-radius:16px!important;
  border:0!important;background:rgba(145,101,255,.09)!important;box-shadow:none!important;
}
body.zal-v2-clean-ready #ticketScanPanel .scanner-actions{
  grid-template-columns:1fr!important;gap:8px!important;margin-top:18px!important;
}
body.zal-v2-clean-ready #ticketScanPanel .scan-option{
  min-height:78px!important;padding:14px 15px!important;border:0!important;
  border-radius:var(--zal-v2-row-radius)!important;
  background:linear-gradient(145deg,rgba(31,59,96,.48),rgba(14,34,66,.38))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045)!important;
}
body.zal-v2-clean-ready #ticketScanPanel .scan-option.smart-scan-main{
  border:0!important;background:linear-gradient(145deg,rgba(82,67,157,.32),rgba(28,66,98,.35))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055)!important;
}
body.zal-v2-clean-ready #ticketScanPanel .scan-option strong{font-size:15px!important;line-height:1.25!important}
body.zal-v2-clean-ready #ticketScanPanel .scan-option span{color:#b7c4d8!important;line-height:1.35!important}
body.zal-v2-clean-ready #ticketScanPanel .scan-result{
  margin-top:9px!important;padding:13px 15px!important;border:0!important;border-radius:var(--zal-v2-row-radius)!important;
  background:rgba(23,48,82,.31)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;overflow:hidden!important;
}
body.zal-v2-clean-ready #ticketScanPanel .scan-status,
body.zal-v2-clean-ready #ticketScanPanel .scan-status>div{
  background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;
}
body.zal-v2-clean-ready #ticketScanPanel .scan-led{box-shadow:0 0 12px rgba(97,219,161,.34)!important}

/* Historial: las agrupaciones internas ya aportan estructura; el panel exterior desaparece. */
body.zal-v2-clean-ready #ticketsView :is(.receipt-month-folder,.receipt-history-search,.receipt-store-group,.receipt-active-row,.zal-f6-item){
  border-color:rgba(148,173,211,.09)!important;box-shadow:none!important;
}
body.zal-v2-clean-ready #ticketsView :is(.receipt-month-folder,.receipt-history-search){
  background:rgba(18,41,73,.27)!important;border:0!important;border-radius:var(--zal-v2-surface-radius)!important;
}

/* Lista: el input y las filas organizan el contenido; no necesitan panel exterior. */
body.zal-v2-clean-ready #listView .shopping-mode-entry{
  border:0!important;background:rgba(32,53,91,.28)!important;box-shadow:none!important;border-radius:var(--zal-v2-row-radius)!important;
}
body.zal-v2-clean-ready #listView :is(.shared-item,.online-item-v2){
  border:0!important;border-bottom:1px solid rgba(151,177,214,.08)!important;
  background:transparent!important;box-shadow:none!important;border-radius:0!important;
}
body.zal-v2-clean-ready #listView :is(.list-sync-strip,.shopping-pending-summary,.shopping-post-finish){
  border:0!important;background:rgba(23,48,82,.24)!important;box-shadow:none!important;
  border-radius:var(--zal-v2-row-radius)!important;
}

/* Despensa: zonas y productos, sin una segunda carcasa alrededor. */
body.zal-v2-clean-ready #pantryView :is(.pantry-zone-card,.pantry-card){
  border:0!important;background:linear-gradient(145deg,rgba(31,57,91,.40),rgba(15,34,66,.32))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;border-radius:var(--zal-v2-row-radius)!important;
}
body.zal-v2-clean-ready #pantryView :is(.pantry-search-results,.pantry-review-entry,.pantry-review-shell,.pantry-review-card,.pantry-product-detail,.pantry-rule-panel,.pantry-detail-cell){
  border-color:rgba(157,181,224,.09)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
}

/* Mini-Zalu mantiene su anclaje, pero gana separación del contenido y de la nav. */
html body.zal-v2-clean-ready[data-zal-v2-module] #miniZaluLauncher{
  right:max(16px,calc(env(safe-area-inset-right,0px) + 12px))!important;
  bottom:calc(var(--zal-v2-nav-height,72px) + max(14px,env(safe-area-inset-bottom,0px)) + 24px)!important;
}

/* Móvil: espacio de cierre real por encima de la navegación. */
@media(max-width:620px){
  html body.zal-v2-clean-ready[data-zal-v2-module="list"] #zalV2ModuleHost,
  html body.zal-v2-clean-ready[data-zal-v2-module="tickets"] #zalV2ModuleHost,
  html body.zal-v2-clean-ready[data-zal-v2-module="pantry"] #zalV2ModuleHost{
    padding-bottom:calc(var(--zal-v2-content-clearance,112px) + 52px)!important;
    scroll-padding-bottom:calc(var(--zal-v2-content-clearance,112px) + 52px)!important;
  }
  body.zal-v2-clean-ready #ticketScanPanel{padding-bottom:36px!important}
}


/* Zalunia 2.0 · desktop/tablet parity + mobile polish · 2026-09-30 */
/* Toolbar de módulo: separar navegación y título; nunca debe leerse como “←CompraGastos…”. */
body.zal-v2-clean-ready[data-zal-v2-module] .zal-v2-module-toolbar{
  display:grid!important;grid-template-columns:max-content minmax(0,1fr)!important;align-items:center!important;
  column-gap:14px!important;min-height:50px!important;margin:0 0 14px!important;padding:2px 1px 5px!important;
}
body.zal-v2-clean-ready[data-zal-v2-module] .zal-v2-module-back{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;
  min-width:0!important;min-height:40px!important;padding:7px 11px!important;border-radius:15px!important;
  border:1px solid rgba(145,101,255,.18)!important;background:rgba(145,101,255,.055)!important;
  color:#d8d8ee!important;font-size:11px!important;font-weight:850!important;white-space:nowrap!important;
  box-shadow:none!important;
}
body.zal-v2-clean-ready[data-zal-v2-module] .zal-v2-module-toolbar>strong{
  min-width:0!important;font-size:21px!important;line-height:1.14!important;letter-spacing:-.025em!important;
  overflow-wrap:anywhere!important;
}

/* Aviso Demo y estado de conexión: útiles, pero no deben competir con la tarea principal. */
body.zal-v2-clean-ready:is(.zalunia-public-demo,.zalunia-demo-explorer) #ticketsView::before{
  margin:0 0 10px!important;padding:8px 11px!important;border:0!important;border-radius:16px!important;
  background:rgba(255,195,106,.055)!important;color:#e7d2a9!important;font-size:10px!important;line-height:1.38!important;
  box-shadow:none!important;
}
body.zal-v2-clean-ready #ticketsView #expensesRuntimeStrip{
  border:0!important;background:rgba(17,41,73,.24)!important;box-shadow:none!important;
  border-radius:18px!important;padding:11px 13px!important;margin-bottom:14px!important;
}
body.zal-v2-clean-ready #ticketsView #expensesRuntimeStrip:not(.offline):not(.pending){
  opacity:.82!important;
}

/* Tabs de Tickets: menos “panel dentro de panel”. */
body.zal-v2-clean-ready #ticketsView .zal-f6-tabbar{
  border:0!important;background:transparent!important;box-shadow:none!important;
  padding:0!important;gap:7px!important;margin-bottom:14px!important;
}
body.zal-v2-clean-ready #ticketsView .zal-f6-tab{
  border:0!important;background:rgba(23,48,82,.30)!important;box-shadow:none!important;
  border-radius:17px!important;min-height:44px!important;
}
body.zal-v2-clean-ready #ticketsView .zal-f6-tab.active{
  border:0!important;background:linear-gradient(145deg,rgba(112,83,208,.42),rgba(45,107,137,.24))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055)!important;
}

/* Scanner: eliminar cualquier contorno heredado restante. */
body.zal-v2-clean-ready #ticketScanPanel .scan-option,
body.zal-v2-clean-ready #ticketScanPanel .scan-option.smart-scan-main{
  border:0!important;border-color:transparent!important;outline:0!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045)!important;
}
body.zal-v2-clean-ready #ticketScanPanel .scan-result{
  border:0!important;border-color:transparent!important;outline:0!important;
}

/* Más separación entre Zalu y contenido en módulos densos. */
html body.zal-v2-clean-ready[data-zal-v2-module] #miniZaluLauncher{
  bottom:calc(var(--zal-v2-nav-height,72px) + max(16px,env(safe-area-inset-bottom,0px)) + 32px)!important;
}

/* Desktop/tablet: mismo scroll root estructural que móvil.
   Evita que comprados, histórico u OCR terminen por debajo de la nav fija. */
@media(min-width:621px){
  body.zal-v2-clean-ready[data-zal-v2-module="list"],
  body.zal-v2-clean-ready[data-zal-v2-module="tickets"],
  body.zal-v2-clean-ready[data-zal-v2-module="pantry"]{
    height:100dvh!important;min-height:0!important;overflow:hidden!important;padding-bottom:0!important;
  }
  body.zal-v2-clean-ready[data-zal-v2-module="list"] #zalV2AppRoot,
  body.zal-v2-clean-ready[data-zal-v2-module="tickets"] #zalV2AppRoot,
  body.zal-v2-clean-ready[data-zal-v2-module="pantry"] #zalV2AppRoot{
    display:flex!important;flex-direction:column!important;height:100dvh!important;min-height:0!important;
    overflow:hidden!important;padding-bottom:0!important;
  }
  body.zal-v2-clean-ready[data-zal-v2-module] #zalV2BrandHeader{flex:0 0 auto!important}
  body.zal-v2-clean-ready[data-zal-v2-module="list"] #zalV2Main,
  body.zal-v2-clean-ready[data-zal-v2-module="tickets"] #zalV2Main,
  body.zal-v2-clean-ready[data-zal-v2-module="pantry"] #zalV2Main{
    display:flex!important;flex:1 1 auto!important;flex-direction:column!important;min-height:0!important;overflow:hidden!important;
  }
  body.zal-v2-clean-ready[data-zal-v2-module="list"] #zalV2ModuleHost,
  body.zal-v2-clean-ready[data-zal-v2-module="tickets"] #zalV2ModuleHost,
  body.zal-v2-clean-ready[data-zal-v2-module="pantry"] #zalV2ModuleHost{
    flex:1 1 auto!important;min-height:0!important;height:auto!important;max-height:100%!important;
    overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:contain!important;
    scrollbar-gutter:stable both-edges!important;
    padding-bottom:calc(var(--zal-v2-content-clearance,112px) + 64px)!important;
    scroll-padding-bottom:calc(var(--zal-v2-content-clearance,112px) + 64px)!important;
  }
  body.zal-v2-clean-ready[data-zal-v2-module] #zalV2ModuleHost>.view{
    height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;
  }

  /* PC: quitar composición GPU innecesaria en superficies de trabajo.
     Evita el aspecto ligeramente borroso/arrastrado en texto fino y gradientes. */
  body.zal-v2-clean-ready[data-zal-v2-module] #zalV2ModuleHost,
  body.zal-v2-clean-ready[data-zal-v2-module] #zalV2ModuleHost :is(.panel,.card,.zal-f6-surface,.zal-f6-tabbar,.scan-option,.pantry-card,.pantry-zone-card,.shopping-mode-entry){
    -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
    filter:none!important;
  }
  body.zal-v2-clean-ready .zal-v2-clean-nav{
    left:0!important;right:0!important;margin-inline:auto!important;transform:none!important;
    -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
    background:linear-gradient(155deg,rgba(18,39,80,.985),rgba(7,20,48,.99))!important;
  }
}

/* Pantallas pequeñas: toolbar y contenido respiran sin comerse ancho. */
@media(max-width:620px){
  body.zal-v2-clean-ready[data-zal-v2-module] .zal-v2-module-toolbar{
    column-gap:11px!important;margin-bottom:12px!important;
  }
  body.zal-v2-clean-ready[data-zal-v2-module] .zal-v2-module-toolbar>strong{
    font-size:20px!important;
  }
  body.zal-v2-clean-ready[data-zal-v2-module] .zal-v2-module-back{
    padding-inline:10px!important;
  }
}


/* Zalunia 2.0 · Comidas / Plan / Recetas · superficies limpias · 2026-09-30 */
/* Comidas sigue la misma ley que Compra: la pantalla es la superficie, no otra gran tarjeta. */
body.zal-v2-clean-ready .zal-v2-clean-module-host :is(#mealsView,#recipesView){
  background:transparent!important;border:0!important;box-shadow:none!important;
}
body.zal-v2-clean-ready .zal-v2-clean-module-host :is(#mealsView,#recipesView) > .panel{
  border:0!important;background:transparent!important;box-shadow:none!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  border-radius:0!important;padding-inline:2px!important;overflow:visible!important;
}
body.zal-v2-clean-ready .zal-v2-clean-module-host :is(#mealsView,#recipesView) > .notice.module-intro{
  border:0!important;background:transparent!important;box-shadow:none!important;
  padding:0 2px 10px!important;margin:0 0 8px!important;color:#aebbd2!important;
}

/* Plan semanal: navegación de semana ligera; días como conceptos, no cajas anidadas. */
body.zal-v2-clean-ready #mealsView #mealWeekNav{
  border:0!important;background:rgba(21,45,79,.26)!important;box-shadow:none!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  border-radius:20px!important;margin-bottom:12px!important;
}
body.zal-v2-clean-ready #mealsView #mealGrid{
  gap:10px!important;
}
body.zal-v2-clean-ready #mealsView :is(.zal-final-day,.meal-day-card,.zal-day-card,.meal-day){
  border:0!important;border-radius:22px!important;
  background:linear-gradient(145deg,rgba(29,54,91,.38),rgba(13,32,64,.31))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
}
body.zal-v2-clean-ready #mealsView :is(.zal-final-slot,.meal-plan-row,.meal-slot){
  border:0!important;border-radius:15px!important;box-shadow:none!important;
  background:rgba(17,38,69,.28)!important;
}
body.zal-v2-clean-ready #mealsView :is(.zal-final-slot,.meal-plan-row,.meal-slot):not(.filled){
  opacity:.66!important;background:rgba(255,255,255,.012)!important;
}
body.zal-v2-clean-ready #mealsView :is(.zal-final-slot,.meal-plan-row,.meal-slot).filled{
  opacity:1!important;background:linear-gradient(145deg,rgba(77,69,143,.25),rgba(31,67,94,.26))!important;
}
body.zal-v2-clean-ready #mealsView :is(.zal-final-status,.chip,.pill,.badge){
  box-shadow:none!important;
}

/* Recetas: inspiración primero; búsqueda/configuración y tarjetas sin carcasa redundante. */
body.zal-v2-clean-ready #recipesView :is(.recipes-toolbar-panel,.recipe-personalize-block){
  border:0!important;background:rgba(20,43,76,.25)!important;box-shadow:none!important;
  border-radius:20px!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
body.zal-v2-clean-ready #recipesView .recipe-grid{
  gap:10px!important;
}
body.zal-v2-clean-ready #recipesView .recipe-card{
  border:0!important;border-radius:21px!important;
  background:linear-gradient(145deg,rgba(31,57,93,.38),rgba(14,33,65,.31))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
  overflow:hidden!important;
}
body.zal-v2-clean-ready #recipesView .recipe-card :is(.recipe-pill,.chip,.pill,.badge){
  border:0!important;background:rgba(145,101,255,.06)!important;box-shadow:none!important;
}
body.zal-v2-clean-ready #recipesView .recipe-card-actions{
  border-top:1px solid rgba(161,183,218,.07)!important;padding-top:9px!important;
}
body.zal-v2-clean-ready #recipesView .recipe-card-actions .btn{
  border:0!important;background:rgba(31,58,93,.36)!important;box-shadow:none!important;
}
body.zal-v2-clean-ready #recipesView .recipe-card-actions .btn.primary,
body.zal-v2-clean-ready #recipesView .recipe-card-actions .primary{
  background:linear-gradient(145deg,rgba(124,91,219,.72),rgba(91,73,190,.70))!important;
}
body.zal-v2-clean-ready #recipesView .recipe-section-head{
  padding-inline:2px!important;
}
body.zal-v2-clean-ready #recipesView .recipe-section-head h3{
  letter-spacing:-.02em!important;
}

/* Un único scroll root también en Comidas/Recetas: nada queda debajo de la nav. */
body.zal-v2-clean-ready[data-zal-v2-module="meals"],
body.zal-v2-clean-ready[data-zal-v2-module="recipes"]{
  height:100dvh!important;min-height:0!important;overflow:hidden!important;padding-bottom:0!important;
}
body.zal-v2-clean-ready[data-zal-v2-module="meals"] #zalV2AppRoot,
body.zal-v2-clean-ready[data-zal-v2-module="recipes"] #zalV2AppRoot{
  display:flex!important;flex-direction:column!important;height:100dvh!important;min-height:0!important;
  overflow:hidden!important;padding-bottom:0!important;
}
body.zal-v2-clean-ready[data-zal-v2-module="meals"] #zalV2Main,
body.zal-v2-clean-ready[data-zal-v2-module="recipes"] #zalV2Main{
  display:flex!important;flex:1 1 auto!important;flex-direction:column!important;min-height:0!important;overflow:hidden!important;
}
body.zal-v2-clean-ready[data-zal-v2-module="meals"] #zalV2ModuleHost,
body.zal-v2-clean-ready[data-zal-v2-module="recipes"] #zalV2ModuleHost{
  flex:1 1 auto!important;min-height:0!important;height:auto!important;max-height:100%!important;
  overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;overscroll-behavior-y:contain!important;
  padding-bottom:calc(var(--zal-v2-content-clearance,112px) + 58px)!important;
  scroll-padding-bottom:calc(var(--zal-v2-content-clearance,112px) + 58px)!important;
}
body.zal-v2-clean-ready[data-zal-v2-module="meals"] #mealsView,
body.zal-v2-clean-ready[data-zal-v2-module="recipes"] #recipesView{
  height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;
  padding-bottom:18px!important;
}

/* PC/tablet: evitar blur acumulado en módulos largos, igual que Compra. */
@media(min-width:621px){
  body.zal-v2-clean-ready[data-zal-v2-module="meals"] #zalV2ModuleHost,
  body.zal-v2-clean-ready[data-zal-v2-module="recipes"] #zalV2ModuleHost,
  body.zal-v2-clean-ready[data-zal-v2-module="meals"] #zalV2ModuleHost :is(.panel,.card,.recipe-card,.meal-day,.meal-slot,#mealWeekNav),
  body.zal-v2-clean-ready[data-zal-v2-module="recipes"] #zalV2ModuleHost :is(.panel,.card,.recipe-card,.recipes-toolbar-panel,.recipe-personalize-block){
    -webkit-backdrop-filter:none!important;backdrop-filter:none!important;filter:none!important;
  }
}

/* Móvil: densidad controlada sin perder legibilidad. */
@media(max-width:620px){
  body.zal-v2-clean-ready[data-zal-v2-module="meals"] #zalV2ModuleHost,
  body.zal-v2-clean-ready[data-zal-v2-module="recipes"] #zalV2ModuleHost{
    padding-bottom:calc(var(--zal-v2-content-clearance,112px) + 64px)!important;
    scroll-padding-bottom:calc(var(--zal-v2-content-clearance,112px) + 64px)!important;
  }
  body.zal-v2-clean-ready #recipesView .recipe-grid{grid-template-columns:1fr!important}
  body.zal-v2-clean-ready #recipesView .recipe-card{padding:12px!important}
  body.zal-v2-clean-ready #mealsView :is(.zal-final-day,.meal-day-card,.zal-day-card,.meal-day){padding:10px!important}
}


/* Zalunia 2.0 · Planes / Tareas · superficies limpias · 2026-09-30 */
/* Tareas: una superficie operativa, no un tablero dentro de otro tablero. */
body.zal-v2-clean-ready #tasksView{
  background:transparent!important;border:0!important;box-shadow:none!important;
}
body.zal-v2-clean-ready #tasksView > .panel,
body.zal-v2-clean-ready #tasksView .tasks-board-shell{
  border:0!important;background:transparent!important;box-shadow:none!important;
  border-radius:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  padding-inline:2px!important;overflow:visible!important;
}
body.zal-v2-clean-ready #tasksView .tasks-toolbar{
  gap:8px!important;margin-bottom:13px!important;
}
body.zal-v2-clean-ready #tasksView .tasks-toolbar .btn{
  border:0!important;min-height:45px!important;background:rgba(25,49,84,.34)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;border-radius:17px!important;
}
body.zal-v2-clean-ready #tasksCompactBoard{
  gap:10px!important;
}
body.zal-v2-clean-ready #tasksCompactBoard .tasks-family-strip{
  gap:8px!important;padding-bottom:5px!important;
}
body.zal-v2-clean-ready #tasksCompactBoard .tasks-family-person{
  min-width:112px!important;border:0!important;border-radius:19px!important;
  background:rgba(25,49,84,.30)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
}
body.zal-v2-clean-ready #tasksCompactBoard .tasks-family-person.active{
  border:0!important;background:linear-gradient(145deg,rgba(111,82,201,.31),rgba(36,83,106,.23))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055)!important;
}
body.zal-v2-clean-ready #tasksCompactBoard :is(.tasks-now,.tasks-before,.tasks-after,.tasks-routines){
  border:0!important;border-radius:22px!important;
  background:linear-gradient(145deg,rgba(30,55,91,.38),rgba(13,32,64,.31))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;padding:13px!important;
}
body.zal-v2-clean-ready #tasksCompactBoard :is(.task-row,.tasks-item,.routine-row,.task-card){
  border:0!important;background:transparent!important;box-shadow:none!important;
}
body.zal-v2-clean-ready #tasksCompactBoard :is(.task-row,.tasks-item,.routine-row,.task-card)+:is(.task-row,.tasks-item,.routine-row,.task-card){
  border-top:1px solid rgba(157,181,224,.07)!important;
}
body.zal-v2-clean-ready #tasksCompactBoard :is(.task-done,.task-action,.routine-action,.btn){
  box-shadow:none!important;
}

/* Tareas comparte scroll root robusto con el resto de módulos densos. */
body.zal-v2-clean-ready[data-zal-v2-module="tasks"]{
  height:100dvh!important;min-height:0!important;overflow:hidden!important;padding-bottom:0!important;
}
body.zal-v2-clean-ready[data-zal-v2-module="tasks"] #zalV2AppRoot{
  display:flex!important;flex-direction:column!important;height:100dvh!important;min-height:0!important;
  overflow:hidden!important;padding-bottom:0!important;
}
body.zal-v2-clean-ready[data-zal-v2-module="tasks"] #zalV2Main{
  display:flex!important;flex:1 1 auto!important;flex-direction:column!important;min-height:0!important;overflow:hidden!important;
}
body.zal-v2-clean-ready[data-zal-v2-module="tasks"] #zalV2ModuleHost{
  flex:1 1 auto!important;min-height:0!important;height:auto!important;max-height:100%!important;
  overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;overscroll-behavior-y:contain!important;
  padding-bottom:calc(var(--zal-v2-content-clearance,112px) + 62px)!important;
  scroll-padding-bottom:calc(var(--zal-v2-content-clearance,112px) + 62px)!important;
}
body.zal-v2-clean-ready[data-zal-v2-module="tasks"] #tasksView{
  height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;padding-bottom:18px!important;
}

/* Planes: información primero, chrome después. */
body.zal-v2-clean-ready .zal-v2-native-page:has(.zal-v2-plan-list),
body.zal-v2-clean-ready .zal-v2-native-page:has(.zal-v2-plan-create),
body.zal-v2-clean-ready .zal-v2-native-page:has(.zal-v2-plan-detail-grid){
  gap:11px!important;
}
body.zal-v2-clean-ready .zal-v2-plan-list{
  gap:8px!important;margin-bottom:10px!important;
}
body.zal-v2-clean-ready .zal-v2-plan-card{
  border:0!important;border-radius:21px!important;padding:13px!important;
  background:linear-gradient(145deg,rgba(30,55,91,.38),rgba(13,32,64,.31))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
}
body.zal-v2-clean-ready .zal-v2-plan-card .zal-v2-plan-status{
  border:0!important;background:rgba(69,177,196,.06)!important;box-shadow:none!important;
}
body.zal-v2-clean-ready .zal-v2-plan-open{
  border:0!important;background:rgba(145,101,255,.08)!important;box-shadow:none!important;
}
body.zal-v2-clean-ready .zal-v2-plan-create{
  gap:10px!important;
}
body.zal-v2-clean-ready .zal-v2-plan-create label{
  gap:5px!important;
}
body.zal-v2-clean-ready .zal-v2-plan-create input,
body.zal-v2-clean-ready .zal-v2-plan-create select{
  border:0!important;background:rgba(17,38,69,.40)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
}
body.zal-v2-clean-ready .zal-v2-plan-create-actions{
  gap:8px!important;
}
body.zal-v2-clean-ready .zal-v2-plan-create-actions button{
  border:0!important;background:rgba(24,48,82,.35)!important;box-shadow:none!important;
}
body.zal-v2-clean-ready .zal-v2-plan-create-actions .primary{
  background:linear-gradient(145deg,rgba(124,91,219,.76),rgba(91,73,190,.74))!important;
}
body.zal-v2-clean-ready .zal-v2-plan-detail-grid{
  gap:8px!important;
}
body.zal-v2-clean-ready .zal-v2-plan-detail-card{
  border:0!important;border-radius:19px!important;
  background:rgba(22,46,78,.31)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
}

/* Subvista Planes: ningún bloque de ayuda o privacidad debe parecer una segunda aplicación. */
body.zal-v2-clean-ready .zal-v2-native-page :is(.zal-v2-member-card,.zal-v2-vault-card){
  border-color:rgba(157,181,224,.08)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
}
body.zal-v2-clean-ready .zal-v2-native-page .zal-v2-privacy-chip{
  border:0!important;background:rgba(145,101,255,.055)!important;box-shadow:none!important;
}

/* Desktop/tablet: nitidez y scroll completo también en Tareas/Planes. */
@media(min-width:621px){
  body.zal-v2-clean-ready[data-zal-v2-module="tasks"] #zalV2ModuleHost,
  body.zal-v2-clean-ready[data-zal-v2-module="tasks"] #zalV2ModuleHost :is(.panel,.card,.tasks-family-person,.tasks-now,.tasks-before,.tasks-after,.tasks-routines){
    -webkit-backdrop-filter:none!important;backdrop-filter:none!important;filter:none!important;
  }
}
@media(max-width:620px){
  body.zal-v2-clean-ready[data-zal-v2-module="tasks"] #zalV2ModuleHost{
    padding-bottom:calc(var(--zal-v2-content-clearance,112px) + 66px)!important;
    scroll-padding-bottom:calc(var(--zal-v2-content-clearance,112px) + 66px)!important;
  }
  body.zal-v2-clean-ready .zal-v2-plan-detail-grid{grid-template-columns:1fr!important}
  body.zal-v2-clean-ready .zal-v2-plan-card{grid-template-columns:minmax(0,1fr) auto!important}
}


/* Zalunia 2.0 · Agenda + navegación secundaria + cierre Fase A · 2026-09-30 */
/* Agenda: calendario protagonista, marcos secundarios mínimos. */
body.zal-v2-clean-ready #agendaView{
  background:transparent!important;border:0!important;box-shadow:none!important;
}
body.zal-v2-clean-ready #agendaView > .panel,
body.zal-v2-clean-ready #agendaView .agenda-shell,
body.zal-v2-clean-ready #agendaView .agenda-panel{
  border:0!important;background:transparent!important;box-shadow:none!important;
  border-radius:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  overflow:visible!important;
}
body.zal-v2-clean-ready #agendaView .calendar-shell{
  border:0!important;border-radius:22px!important;
  background:linear-gradient(145deg,rgba(29,54,91,.38),rgba(13,32,64,.31))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
body.zal-v2-clean-ready #agendaView :is(.calendar-toolbar,.calendar-head,.calendar-month-head){
  border:0!important;background:transparent!important;box-shadow:none!important;
}
body.zal-v2-clean-ready #agendaView :is(.day,.calendar-day){
  border:0!important;box-shadow:none!important;background:transparent!important;
  border-radius:14px!important;
}
body.zal-v2-clean-ready #agendaView :is(.day,.calendar-day).today:not(.selected){
  background:rgba(145,101,255,.16)!important;
  box-shadow:inset 0 0 0 1px rgba(172,150,255,.18)!important;
}
body.zal-v2-clean-ready #agendaView :is(.day,.calendar-day).selected{
  background:linear-gradient(145deg,rgba(145,101,255,.78),rgba(111,82,201,.72))!important;
  box-shadow:0 0 0 1px rgba(196,182,255,.18),0 6px 18px rgba(70,47,145,.12)!important;
}
body.zal-v2-clean-ready #agendaView :is(.agenda-day-detail,.agenda-events,.events-list,.day-events){
  border:0!important;background:transparent!important;box-shadow:none!important;
}
body.zal-v2-clean-ready #agendaView :is(.event-card,.agenda-event,.event-row){
  border:0!important;border-radius:18px!important;
  background:rgba(24,49,83,.31)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
}
body.zal-v2-clean-ready #agendaView :is(.event-card,.agenda-event,.event-row)+:is(.event-card,.agenda-event,.event-row){
  margin-top:7px!important;
}
body.zal-v2-clean-ready #agendaView :is(.agenda-actions,.calendar-actions) .btn{
  border:0!important;background:rgba(27,52,87,.34)!important;box-shadow:none!important;
}

/* Agenda con el mismo scroll root seguro del resto de Fase A. */
body.zal-v2-clean-ready[data-zal-v2-module="agenda"]{
  height:100dvh!important;min-height:0!important;overflow:hidden!important;padding-bottom:0!important;
}
body.zal-v2-clean-ready[data-zal-v2-module="agenda"] #zalV2AppRoot{
  display:flex!important;flex-direction:column!important;height:100dvh!important;min-height:0!important;
  overflow:hidden!important;padding-bottom:0!important;
}
body.zal-v2-clean-ready[data-zal-v2-module="agenda"] #zalV2Main{
  display:flex!important;flex:1 1 auto!important;flex-direction:column!important;min-height:0!important;overflow:hidden!important;
}
body.zal-v2-clean-ready[data-zal-v2-module="agenda"] #zalV2ModuleHost{
  flex:1 1 auto!important;min-height:0!important;height:auto!important;max-height:100%!important;
  overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;overscroll-behavior-y:contain!important;
  padding-bottom:calc(var(--zal-v2-content-clearance,112px) + 62px)!important;
  scroll-padding-bottom:calc(var(--zal-v2-content-clearance,112px) + 62px)!important;
}
body.zal-v2-clean-ready[data-zal-v2-module="agenda"] #agendaView{
  height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;padding-bottom:18px!important;
}

/* Navegación secundaria: ligera, coherente y sin competir con la barra principal. */
body.zal-v2-clean-ready .zal-v2-native-head{
  min-height:48px!important;padding:2px 0 6px!important;
}
body.zal-v2-clean-ready .zal-v2-native-back{
  width:40px!important;height:40px!important;border:0!important;border-radius:15px!important;
  background:rgba(145,101,255,.07)!important;box-shadow:none!important;
}
body.zal-v2-clean-ready .zal-v2-native-action{
  border:0!important;background:rgba(27,52,87,.34)!important;box-shadow:none!important;
}
body.zal-v2-clean-ready .zal-v2-member-card,
body.zal-v2-clean-ready .zal-v2-vault-card{
  border:0!important;background:linear-gradient(145deg,rgba(30,55,91,.34),rgba(13,32,64,.28))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
}
body.zal-v2-clean-ready .zal-v2-native-note{
  border:0!important;background:rgba(106,232,255,.025)!important;box-shadow:none!important;
}

/* Bottom nav: una sola jerarquía visual y aire uniforme en todos los módulos. */
body.zal-v2-clean-ready #zalV2BottomNav{
  gap:5px!important;padding:8px!important;
}
body.zal-v2-clean-ready #zalV2BottomNav button{
  border:0!important;box-shadow:none!important;
}
body.zal-v2-clean-ready #zalV2BottomNav button.active,
body.zal-v2-clean-ready #zalV2BottomNav button[aria-current="page"]{
  background:linear-gradient(145deg,rgba(114,84,207,.20),rgba(57,103,126,.13))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055)!important;
}

/* Cierre transversal: evitar blur acumulado y overflow horizontal en módulos de Fase A. */
body.zal-v2-clean-ready #zalV2ModuleHost{
  max-width:100%!important;overflow-x:hidden!important;
}
body.zal-v2-clean-ready .zal-v2-clean-module-host > .view{
  max-width:100%!important;box-sizing:border-box!important;
}
body.zal-v2-clean-ready .zal-v2-clean-module-host :is(input,select,textarea,button){
  max-width:100%;
}
@media(min-width:621px){
  body.zal-v2-clean-ready[data-zal-v2-module="agenda"] #zalV2ModuleHost,
  body.zal-v2-clean-ready[data-zal-v2-module="agenda"] #zalV2ModuleHost :is(.panel,.calendar-shell,.event-card,.agenda-event,.event-row){
    -webkit-backdrop-filter:none!important;backdrop-filter:none!important;filter:none!important;
  }
}
@media(max-width:620px){
  body.zal-v2-clean-ready[data-zal-v2-module="agenda"] #zalV2ModuleHost{
    padding-bottom:calc(var(--zal-v2-content-clearance,112px) + 66px)!important;
    scroll-padding-bottom:calc(var(--zal-v2-content-clearance,112px) + 66px)!important;
  }
  body.zal-v2-clean-ready #agendaView .calendar-shell{padding-inline:8px!important}
  body.zal-v2-clean-ready .zal-v2-native-title{font-size:24px!important}
}


/* Fase B · reposición asistida */
body.zal-v2-clean-ready .zal-v2-restock-review,
body.zal-v2-clean-ready .zal-v2-restock-undo{
  display:grid;gap:7px;margin:3px 0 9px;padding:10px 11px;border:0;border-radius:19px;
  background:rgba(22,47,79,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
body.zal-v2-clean-ready .zal-v2-restock-review>small{font-size:8.5px;font-weight:900;letter-spacing:.08em;color:#9eabc3}
body.zal-v2-clean-ready .zal-v2-restock-row,
body.zal-v2-clean-ready .zal-v2-restock-undo{grid-template-columns:minmax(0,1fr) auto;align-items:center}
body.zal-v2-clean-ready .zal-v2-restock-row{display:grid;gap:10px;padding:6px 0}
body.zal-v2-clean-ready .zal-v2-restock-row+.zal-v2-restock-row{border-top:1px solid rgba(158,183,221,.07)}
body.zal-v2-clean-ready .zal-v2-restock-row b,
body.zal-v2-clean-ready .zal-v2-restock-undo b{display:block;color:#fff;font-size:12px}
body.zal-v2-clean-ready .zal-v2-restock-row small,
body.zal-v2-clean-ready .zal-v2-restock-undo small{display:block;margin-top:2px;color:#aeb9d0;font-size:9px}
body.zal-v2-clean-ready .zal-v2-restock-row button,
body.zal-v2-clean-ready .zal-v2-restock-undo button{
  min-height:35px;padding:7px 10px;border:0!important;border-radius:13px!important;
  background:rgba(145,101,255,.12)!important;color:#ece8ff!important;box-shadow:none!important;font-weight:900;
}


/* Fase C · revisión confirmada de propuestas Zalu */
.zal-v2-zalu-review{position:fixed;inset:0;z-index:2147482450;display:none;align-items:flex-end;justify-content:center;padding:18px 12px calc(18px + env(safe-area-inset-bottom,0px));background:rgba(4,10,24,.62)}
.zal-v2-zalu-review.open{display:flex}
.zal-v2-zalu-review-sheet{width:min(100%,520px);max-height:min(78dvh,680px);overflow:auto;border:0;border-radius:26px;padding:16px;background:linear-gradient(155deg,rgba(18,39,74,.98),rgba(13,27,58,.99));box-shadow:0 24px 70px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.055)}
.zal-v2-zalu-review-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}
.zal-v2-zalu-review-head small{font-size:9px;font-weight:900;letter-spacing:.08em;color:#71dbe8}
.zal-v2-zalu-review-head h3{margin:3px 0 0;color:#fff;font-size:20px;line-height:1.12}
.zal-v2-zalu-review-close{width:38px;height:38px;border:0!important;border-radius:14px!important;background:rgba(255,255,255,.055)!important;color:#dce8ff!important;font-size:22px;box-shadow:none!important}
.zal-v2-zalu-review-sheet>div>p{margin:14px 0 10px;color:#bcc8dc;font-size:13px;line-height:1.48}
.zal-v2-zalu-review-note{margin:0 0 12px;color:#8fa0bd;font-size:10px}
.zal-v2-zalu-review-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.zal-v2-zalu-review-actions button{min-height:45px;border:0!important;border-radius:16px!important;background:rgba(38,62,98,.55)!important;color:#e6edfb!important;box-shadow:none!important;font-weight:900}
.zal-v2-zalu-review-actions button.primary{background:linear-gradient(145deg,rgba(123,89,217,.86),rgba(83,70,178,.82))!important;color:#fff!important}
.zal-v2-zalu-review-actions button:last-child{grid-column:1/-1;background:transparent!important;color:#9dabc2!important}
@media(min-width:621px){.zal-v2-zalu-review{align-items:center}}


/* Fase C · Deshacer seguro */
.zal-v2-zalu-undo{min-height:34px;padding:7px 10px;border:0!important;border-radius:13px!important;background:rgba(145,101,255,.12)!important;color:#ece8ff!important;box-shadow:none!important;font-weight:900;white-space:nowrap}


/* Planes · realidad funcional */
body.zal-v2-clean-ready .zal-v2-plan-reality{display:grid;gap:10px}
body.zal-v2-clean-ready .zal-v2-plan-future-links{background:rgba(23,42,71,.2)!important;color:#9eabc3!important}


/* Miembros · persona separada de cuenta */
body.zal-v2-clean-ready .zal-v2-member-account{display:block;margin-top:3px;color:#7fd7e1;font-size:9px;font-weight:800;letter-spacing:.01em}


/* Compra · habituales aprendidos */
body.zal-v2-clean-ready .zal-v2-habitual-review{display:grid;gap:7px;margin:3px 0 9px;padding:10px 11px;border:0;border-radius:19px;background:rgba(17,43,73,.22)}
body.zal-v2-clean-ready .zal-v2-habitual-review>small{font-size:8.5px;font-weight:900;letter-spacing:.08em;color:#9eabc3}
body.zal-v2-clean-ready .zal-v2-habitual-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:6px 0}
body.zal-v2-clean-ready .zal-v2-habitual-row+.zal-v2-habitual-row{border-top:1px solid rgba(158,183,221,.06)}
body.zal-v2-clean-ready .zal-v2-habitual-row b{display:block;color:#fff;font-size:12px}
body.zal-v2-clean-ready .zal-v2-habitual-row small{display:block;margin-top:2px;color:#9eabc3;font-size:9px}
body.zal-v2-clean-ready .zal-v2-habitual-row button{min-height:35px;padding:7px 10px;border:0!important;border-radius:13px!important;background:rgba(66,198,208,.1)!important;color:#bdf7fb!important;box-shadow:none!important;font-weight:900}


/* MAPA · scroll root móvil/desktop coherente con el resto de módulos.
   El shell bloquea el body en vistas modulares; por eso Mapa necesita
   su propio scrollport en #zalV2ModuleHost. */
body.zal-v2-clean-ready[data-zal-v2-module="map"]{
  height:100dvh!important;min-height:0!important;overflow:hidden!important;padding-bottom:0!important;
}
body.zal-v2-clean-ready[data-zal-v2-module="map"] #zalV2AppRoot{
  display:flex!important;flex-direction:column!important;height:100dvh!important;min-height:0!important;
  overflow:hidden!important;padding-bottom:0!important;
}
body.zal-v2-clean-ready[data-zal-v2-module="map"] #zalV2Main{
  display:flex!important;flex:1 1 auto!important;flex-direction:column!important;min-height:0!important;overflow:hidden!important;
}
body.zal-v2-clean-ready[data-zal-v2-module="map"] #zalV2ModuleHost{
  flex:1 1 auto!important;min-height:0!important;height:auto!important;max-height:100%!important;
  overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;overscroll-behavior-y:contain!important;
  padding-bottom:calc(var(--zal-v2-content-clearance,112px) + 62px)!important;
  scroll-padding-bottom:calc(var(--zal-v2-content-clearance,112px) + 62px)!important;
}
body.zal-v2-clean-ready[data-zal-v2-module="map"] #mapView{
  height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;
  padding-bottom:18px!important;touch-action:pan-y!important;
}


/* QA móvil 2026-10-03 · Despensa + Recetas
   Mantener una sola superficie, scroll real y geometría sin recortes. */

/* Despensa: mismo patrón de scroll único que Lista/Tickets. */
body.zal-v2-clean-ready[data-zal-v2-module="pantry"]{
  height:100dvh!important;min-height:0!important;overflow:hidden!important;padding-bottom:0!important;
}
html body.zal-v2-clean-ready[data-zal-v2-module="pantry"] #zalV2AppRoot.zal-v2-clean-app{
  display:flex!important;flex-direction:column!important;height:100dvh!important;min-height:0!important;
  overflow:hidden!important;padding-bottom:0!important;
}
body.zal-v2-clean-ready[data-zal-v2-module="pantry"] #zalV2BrandHeader{flex:0 0 auto!important}
html body.zal-v2-clean-ready[data-zal-v2-module="pantry"] #zalV2Main{
  display:flex!important;flex:1 1 auto!important;flex-direction:column!important;min-height:0!important;
  width:100%!important;overflow:hidden!important;
}
html body.zal-v2-clean-ready[data-zal-v2-module="pantry"] #zalV2ModuleHost{
  flex:1 1 auto!important;height:auto!important;max-height:100%!important;min-height:0!important;
  box-sizing:border-box!important;overflow-x:hidden!important;overflow-y:auto!important;
  -webkit-overflow-scrolling:touch!important;touch-action:pan-y!important;overscroll-behavior-y:contain!important;
  padding-bottom:calc(var(--zal-v2-content-clearance,112px) + 64px)!important;
  scroll-padding-bottom:calc(var(--zal-v2-content-clearance,112px) + 64px)!important;
}
body.zal-v2-clean-ready[data-zal-v2-module="pantry"] #pantryView{
  width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;
  overflow:visible!important;touch-action:pan-y!important;padding-bottom:18px!important;
}

/* Despensa: menos luminosidad y menos morado lavado. */
body.zal-v2-clean-ready[data-zal-v2-module="pantry"] #pantryView :is(.pantry-zone-card,.pantry-card){
  background:linear-gradient(145deg,rgba(20,43,78,.72),rgba(9,25,54,.78))!important;
  border:1px solid rgba(104,150,204,.12)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
}
body.zal-v2-clean-ready[data-zal-v2-module="pantry"] #pantryView :is(.panel,.pantry-review-shell,.pantry-product-detail,.pantry-rule-panel){
  background:rgba(10,29,61,.58)!important;
  border-color:rgba(99,145,201,.10)!important;
  box-shadow:none!important;
}
body.zal-v2-clean-ready[data-zal-v2-module="pantry"] #pantryView :is(.btn.primary,.primary,.btn-main,.cta){
  background:linear-gradient(135deg,rgba(113,72,205,.88),rgba(82,61,174,.92))!important;
  box-shadow:0 7px 18px rgba(21,10,58,.18),inset 0 1px 0 rgba(255,255,255,.08)!important;
}
body.zal-v2-clean-ready[data-zal-v2-module="pantry"] #pantryView .pantry-zone-grid{
  width:100%!important;max-width:100%!important;min-width:0!important;
}

/* Recetas: ninguna tarjeta ni contenido puede crecer más que el viewport. */
body.zal-v2-clean-ready[data-zal-v2-module="recipes"] #zalV2ModuleHost{
  box-sizing:border-box!important;padding-left:18px!important;padding-right:18px!important;
}
body.zal-v2-clean-ready[data-zal-v2-module="recipes"] #recipesView,
body.zal-v2-clean-ready[data-zal-v2-module="recipes"] #recipesView .recipe-grid{
  width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;
}
body.zal-v2-clean-ready[data-zal-v2-module="recipes"] #recipesView .recipe-grid{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;
  gap:12px!important;overflow:visible!important;
}
body.zal-v2-clean-ready[data-zal-v2-module="recipes"] #recipesView .recipe-card{
  width:100%!important;max-width:100%!important;min-width:0!important;
  margin:0!important;box-sizing:border-box!important;overflow:hidden!important;
  border-radius:22px!important;
  background:linear-gradient(145deg,rgba(20,43,77,.72),rgba(9,25,54,.78))!important;
  border:1px solid rgba(104,150,204,.11)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
}
body.zal-v2-clean-ready[data-zal-v2-module="recipes"] #recipesView .recipe-card > *,
body.zal-v2-clean-ready[data-zal-v2-module="recipes"] #recipesView .recipe-card :is(.recipe-meta,.recipe-card-actions,.recipe-why){
  min-width:0!important;max-width:100%!important;box-sizing:border-box!important;
}
body.zal-v2-clean-ready[data-zal-v2-module="recipes"] #recipesView .recipe-card :is(h3,p,small,.recipe-why,.recipe-pill){
  overflow-wrap:anywhere!important;word-break:normal!important;
}
body.zal-v2-clean-ready[data-zal-v2-module="recipes"] #recipesView .recipe-card-actions{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;
}
body.zal-v2-clean-ready[data-zal-v2-module="recipes"] #recipesView .recipe-card-actions .btn{
  width:100%!important;min-width:0!important;max-width:100%!important;
}

/* QA móvil 2026-10-22 · Scroll en pantallas de hub (Más, Hogar, Bóveda, Planes, detalle de Plan, Comidas).
   Estas pantallas usan el documento como scroller, pero desde el ajuste "reservar espacio en el scroller real"
   la reserva bajo el nav fijo solo existía en Hoy (.zal-v2-today-open): body y #zalV2AppRoot quedaban con
   padding-bottom:0 y el final del contenido quedaba tapado por el nav sin poder desplazarlo más.
   Se aplica la misma reserva medida que Hoy. Los módulos y el hub de Compra tienen su propio scroller
   interno con su reserva, así que se excluyen para no duplicar espacio ni crear doble scroll. */
html body.zal-v2-clean-ready:not(.zal-v2-module-open):not(.zal-v2-buy-hub-open) #zalV2AppRoot{
  padding-bottom:var(--zal-v2-content-clearance,calc(var(--zal-v2-nav-height,72px) + max(10px,env(safe-area-inset-bottom,0px)) + 20px))!important;
}

/* QA móvil 2026-10-22 (2) · El scroll táctil no arrancaba en las pantallas de hub (Más, Hogar, Bóveda, Planes, Comidas).
   html tiene overflow-x:clip, así que el overflow de body no se propaga al viewport. Con overflow-x:hidden, body pasaba
   a ser un contenedor de scroll propio (overflow-y se calculaba como auto), aunque sin nada que desplazar. Además, la regla
   heredada body{overscroll-behavior-y:none} impedía pasar el gesto al documento, así que el dedo no movía nada.
   clip recorta igual en horizontal pero no crea contenedor de scroll, y el gesto llega directo al documento.
   Hoy, Compra y los módulos tienen su propia regla de scroll y se dejan como están. */
html body.zal-v2-clean-ready:not(.zal-v2-module-open):not(.zal-v2-buy-hub-open):not(.zal-v2-today-open){overflow-x:clip!important}
