:root{
  --bg:#0d0f14;--surface:#161a22;--surface-2:#1e2430;--surface-3:#2a313c;
  --text:#f8f8f8;--muted:#a1a7b3;--green:#22c55e;--red:#ef4444;
  --blue:#3b82f6;--purple:#8b5cf6;--border:rgba(255,255,255,.08);
  --shadow:0 18px 50px rgba(0,0,0,.35);--radius:22px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{display:flex;justify-content:center}button,input,textarea{font:inherit}.app{width:min(100%,520px);min-height:100vh;padding:calc(env(safe-area-inset-top) + 14px) 16px calc(env(safe-area-inset-bottom) + 28px)}
.topbar{display:flex;align-items:center;gap:12px;margin-bottom:18px}.topbar-title{font-size:21px;margin:0;flex:1}.icon-btn{width:46px;height:46px;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--text);display:grid;place-items:center;cursor:pointer;flex:0 0 auto;text-decoration:none}.icon-btn:active{transform:scale(.97)}
.children-strip{display:flex;gap:14px;overflow-x:auto;scrollbar-width:none;padding:0 2px 6px;flex:1}.children-strip::-webkit-scrollbar{display:none}.child-tab{border:0;background:transparent;color:var(--muted);min-width:62px;padding:0;cursor:pointer}.child-tab .avatar{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-size:28px;background:linear-gradient(145deg,#222a37,#12161d);border:2px solid transparent;transition:.22s;overflow:hidden}.child-tab .avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.child-tab .name{display:block;margin-top:6px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.child-tab.active{color:var(--green)}.child-tab.active .avatar{border-color:var(--green);box-shadow:0 0 0 4px rgba(34,197,94,.12),0 0 22px rgba(34,197,94,.18)}
.hero{background:linear-gradient(160deg,var(--surface-2),var(--surface));border:1px solid var(--border);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}.profile{display:grid;grid-template-columns:minmax(145px,1.15fr) minmax(125px,.85fr);gap:18px;align-items:center}.hero-avatar{width:100%;max-width:178px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;font-size:clamp(78px,20vw,100px);background:radial-gradient(circle at 35% 30%,#334155,#10141b 72%);border:3px solid rgba(59,130,246,.7);box-shadow:0 0 28px rgba(59,130,246,.2);justify-self:center;overflow:hidden}.hero-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.profile-info{min-width:0}h1{font-size:28px;line-height:1.1;margin:0 0 8px}.level{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(59,130,246,.35);color:#93c5fd;border-radius:999px;padding:5px 10px;font-size:13px;margin-bottom:10px}.stats{display:flex;flex-direction:column}.stat{display:flex;align-items:center;gap:9px;min-height:42px;border-bottom:1px solid var(--border);padding:9px 2px;font-size:18px;font-weight:700}.stat:last-child{border-bottom:0}.stat.green{color:#86efac}.stat.red{color:#fca5a5}.stat.blue{color:#93c5fd}.progress-wrap{margin-top:22px}.progress-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;margin-bottom:8px}.progress{height:12px;background:#0f1319;border-radius:999px;overflow:hidden;border:1px solid rgba(255,255,255,.06)}.progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--blue),#60a5fa);border-radius:inherit;transition:width .35s ease}
.section-title{font-size:17px;margin:22px 2px 12px}.actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.action{min-height:88px;border-radius:18px;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:14px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;text-decoration:none;text-align:center}.action span:first-child{font-size:25px}.action.green{border-color:rgba(34,197,94,.28)}.action.blue{border-color:rgba(59,130,246,.28)}.action.purple{border-color:rgba(139,92,246,.28)}.action:active{transform:scale(.98)}
.card,.summary{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:17px}.summary-head,.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.link-btn{border:0;background:transparent;color:var(--green);font-weight:700;cursor:pointer;text-decoration:none}.empty{border:1px dashed rgba(255,255,255,.12);border-radius:16px;padding:28px 18px;text-align:center;color:var(--muted)}.empty .icon{font-size:30px;margin-bottom:8px}.empty strong{display:block;color:var(--text);margin-bottom:4px}
.catalog{display:grid;gap:12px}.activity-card{width:100%;display:flex;align-items:center;gap:14px;text-align:left;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:18px;padding:15px;cursor:pointer}.activity-card.selected{border-color:var(--green);box-shadow:0 0 0 3px rgba(34,197,94,.1)}.activity-icon{width:48px;height:48px;border-radius:15px;background:var(--surface-2);display:grid;place-items:center;font-size:25px;flex:none}.activity-info{flex:1;min-width:0}.activity-name{font-weight:800}.activity-category{color:var(--muted);font-size:13px;margin-top:3px}.activity-points{display:flex;gap:9px;font-size:14px;font-weight:800;margin-top:7px}.positive{color:#86efac}.negative{color:#fca5a5}.field{margin-top:16px}.field label{display:block;color:var(--muted);font-size:13px;margin:0 0 7px 2px}.field textarea,.field input{width:100%;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:16px;padding:14px;outline:none}.field textarea:focus,.field input:focus{border-color:rgba(34,197,94,.55)}.primary-btn{width:100%;margin-top:18px;border:0;border-radius:18px;background:var(--green);color:#07130b;padding:16px;font-weight:900;cursor:pointer}.primary-btn:disabled{opacity:.35;cursor:not-allowed}.notice{margin-top:14px;padding:12px;border:1px solid rgba(59,130,246,.3);border-radius:14px;color:#bfdbfe;background:rgba(59,130,246,.08);font-size:13px}.db-error{margin-top:14px;padding:12px;border:1px solid rgba(239,68,68,.35);border-radius:14px;color:#fca5a5;background:rgba(239,68,68,.08);font-size:13px}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);opacity:0;pointer-events:none;transition:.22s;z-index:10}.overlay.open{opacity:1;pointer-events:auto}.drawer{position:fixed;z-index:11;left:0;top:0;bottom:0;width:min(84vw,340px);background:#11151c;border-right:1px solid var(--border);padding:calc(env(safe-area-inset-top) + 24px) 18px calc(env(safe-area-inset-bottom) + 18px);transform:translateX(-102%);transition:.25s;display:flex;flex-direction:column}.drawer.open{transform:translateX(0)}.drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.drawer h2{margin:0;font-size:22px}.menu{display:grid;gap:8px}.menu a{display:flex;align-items:center;gap:12px;color:var(--text);padding:13px 12px;border-radius:14px;text-decoration:none}.menu a:hover{background:var(--surface-2)}.version{margin-top:auto;padding:14px 12px;border-top:1px solid var(--border);color:var(--muted);font-size:12px;line-height:1.5}.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,20px);background:#111827;color:white;padding:12px 16px;border-radius:14px;border:1px solid var(--border);opacity:0;pointer-events:none;transition:.2s;z-index:30}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:390px){.profile{grid-template-columns:minmax(130px,1.1fr) minmax(112px,.9fr);gap:14px}.hero-avatar{max-width:158px;font-size:76px}.hero{padding:18px}h1{font-size:24px}.stat{font-size:17px;min-height:39px;padding:7px 2px}.actions{gap:7px}.action{font-size:13px}}
.menu-action{display:flex;align-items:center;gap:12px;width:100%;border:0;background:transparent;color:#fca5a5;padding:13px 12px;border-radius:14px;text-align:left;cursor:pointer}.menu-action:hover{background:var(--surface-2)}.menu-action:disabled{opacity:.55;cursor:wait}
.auth-page{display:block}.auth-shell{width:min(100%,520px);min-height:100vh;margin:0 auto;padding:calc(env(safe-area-inset-top) + 24px) 16px calc(env(safe-area-inset-bottom) + 28px);display:grid;place-items:center}.auth-card{width:100%;background:linear-gradient(160deg,var(--surface-2),var(--surface));border:1px solid var(--border);border-radius:var(--radius);padding:28px 22px;box-shadow:var(--shadow)}.auth-logo{width:72px;height:72px;margin:0 auto 14px;border-radius:24px;display:grid;place-items:center;font-size:36px;background:radial-gradient(circle at 35% 30%,#334155,#10141b 72%);border:2px solid rgba(59,130,246,.55);box-shadow:0 0 26px rgba(59,130,246,.18)}.auth-kicker{text-align:center;color:#93c5fd;font-weight:800;font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 7px}.auth-card h1{text-align:center;margin:0 0 10px;font-size:28px}.auth-copy{color:var(--muted);text-align:center;line-height:1.55;margin:0 0 22px}.auth-note{margin:18px 0 0;color:var(--muted);font-size:12px;line-height:1.5;text-align:center}.login-message{margin-top:14px;padding:12px;border-radius:14px;font-size:13px}.login-message.error{border:1px solid rgba(239,68,68,.35);color:#fca5a5;background:rgba(239,68,68,.08)}.login-message.success{border:1px solid rgba(34,197,94,.35);color:#86efac;background:rgba(34,197,94,.08)}
.text-btn{display:block;margin:16px auto 0;border:0;background:transparent;color:#93c5fd;font-weight:800;text-decoration:none;text-align:center;cursor:pointer}.text-btn:hover{text-decoration:underline}.auth-secondary{margin-top:18px;padding-top:18px;border-top:1px solid var(--border)}.auth-secondary h2{margin:0 0 6px;text-align:center;font-size:19px}.auth-secondary p{margin:0;color:var(--muted);font-size:13px;line-height:1.5;text-align:center}.secondary-btn{width:100%;margin-top:16px;border:1px solid rgba(59,130,246,.38);border-radius:18px;background:rgba(59,130,246,.12);color:#bfdbfe;padding:14px;font-weight:900;cursor:pointer}.secondary-btn:disabled{opacity:.45;cursor:not-allowed}.auth-back-link{margin-top:20px}.auth-recovery-toggle{font-size:13px}

/* Dashboard 5.5.1 */
.actions.actions-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.recent-table{display:grid;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:rgba(255,255,255,.015)}
.recent-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 12px;border-bottom:1px solid var(--border)}
.recent-row:last-child{border-bottom:0}
.recent-main{min-width:0;display:grid;gap:4px}
.recent-main strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.recent-main span{font-size:12px;color:var(--muted)}
.recent-points{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;font-size:12px;font-weight:800}
.recent-green{color:#86efac}.recent-red{color:#fca5a5}.recent-xp{color:#93c5fd}
@media(max-width:390px){.recent-row{align-items:flex-start;flex-direction:column}.recent-points{justify-content:flex-start}}
.level-up-modal{position:fixed;inset:0;z-index:80;background:rgba(3,7,14,.86);display:grid;place-items:center;padding:24px;opacity:0;transition:.25s}.level-up-modal.show{opacity:1}.level-up-card{position:relative;width:min(100%,390px);overflow:hidden;text-align:center;padding:34px 24px;border-radius:28px;background:linear-gradient(160deg,#202838,#111720);border:1px solid rgba(96,165,250,.35);box-shadow:0 24px 80px rgba(0,0,0,.55);transform:scale(.78);transition:.45s cubic-bezier(.2,.8,.2,1)}.level-up-modal.show .level-up-card{transform:scale(1)}.level-up-rays{position:absolute;inset:-60%;background:repeating-conic-gradient(from 0deg,rgba(59,130,246,.16) 0 12deg,transparent 12deg 28deg);animation:level-rays 9s linear infinite}.level-up-avatar{position:relative;width:180px;height:180px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;font-size:80px;background:#101722;border:4px solid #60a5fa;box-shadow:0 0 45px rgba(59,130,246,.55);animation:level-avatar .8s ease both}.level-up-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.level-up-card h2,.level-up-card strong,.level-up-card p,.level-up-card button{position:relative}.level-up-card h2{font-size:32px;margin:0 0 8px}.level-up-card strong{font-size:20px}.level-up-card p{color:#9ec5ff;font-weight:800}@keyframes level-rays{to{transform:rotate(360deg)}}@keyframes level-avatar{0%{transform:scale(.25) rotate(-12deg);filter:brightness(3)}60%{transform:scale(1.12) rotate(4deg)}100%{transform:scale(1) rotate(0)}}


/* Subida de nivel */
.level-up-modal{
  position:fixed;
  inset:0;
  z-index:100;
  display:grid;
  place-items:center;
  padding:22px;
  opacity:0;
  pointer-events:none;
  transition:opacity .25s ease;
}
.level-up-modal[hidden]{display:none}
.level-up-evolution[hidden]{display:none}
.level-up-modal.show{opacity:1;pointer-events:auto}
.level-up-backdrop{
  position:absolute;
  inset:0;
  background:rgba(3,7,18,.82);
  backdrop-filter:blur(8px);
}
.level-up-card{
  position:relative;
  width:min(100%,390px);
  overflow:hidden;
  border:1px solid rgba(96,165,250,.42);
  border-radius:28px;
  padding:28px 22px 24px;
  text-align:center;
  background:
    radial-gradient(circle at 50% 0%,rgba(59,130,246,.34),transparent 42%),
    linear-gradient(160deg,#202838,#111720 72%);
  box-shadow:0 28px 90px rgba(0,0,0,.62),0 0 45px rgba(59,130,246,.24);
  transform:translateY(24px) scale(.88);
  transition:transform .42s cubic-bezier(.2,.9,.25,1.15);
}
.level-up-modal.show .level-up-card{transform:translateY(0) scale(1)}
.level-up-title{
  display:inline-block;
  padding:7px 13px;
  border-radius:999px;
  color:#fde68a;
  background:rgba(245,158,11,.13);
  border:1px solid rgba(245,158,11,.35);
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.level-up-card h2{margin:14px 0 6px;font-size:29px}
.level-up-card p{margin:0;color:#c7d2fe;font-weight:800}
.level-up-evolution{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:13px;
  margin:24px 0 18px;
}
.level-up-avatar{
  width:116px;
  max-width:100%;
  aspect-ratio:1;
  border-radius:50%;
  display:grid;
  place-items:center;
  overflow:hidden;
  margin:auto;
  background:#141b26;
  border:3px solid rgba(255,255,255,.14);
  font-size:54px;
}
.level-up-avatar img{width:100%;height:100%;object-fit:cover}
.level-up-avatar.previous{
  opacity:.68;
  transform:scale(.84);
  filter:saturate(.7);
}
.level-up-avatar.current{
  border-color:#60a5fa;
  box-shadow:0 0 0 6px rgba(59,130,246,.14),0 0 34px rgba(96,165,250,.52);
  animation:levelAvatarReveal .85s .18s both cubic-bezier(.2,.9,.25,1.18);
}
.level-up-arrow{
  font-size:30px;
  color:#93c5fd;
  animation:levelArrowPulse .9s ease-in-out infinite alternate;
}
.level-up-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:112px;
  margin:0 auto 20px;
  padding:9px 15px;
  border-radius:999px;
  background:linear-gradient(135deg,#2563eb,#7c3aed);
  box-shadow:0 8px 24px rgba(37,99,235,.35);
  font-weight:900;
}
.level-up-card .primary-btn{width:100%}
.level-up-stars span{
  position:absolute;
  color:#fde68a;
  text-shadow:0 0 16px rgba(253,230,138,.8);
  animation:levelStarFloat 1.8s ease-in-out infinite alternate;
}
.level-up-stars span:nth-child(1){left:8%;top:13%;font-size:20px}
.level-up-stars span:nth-child(2){left:20%;top:4%;font-size:15px;animation-delay:.2s}
.level-up-stars span:nth-child(3){right:9%;top:16%;font-size:23px;animation-delay:.4s}
.level-up-stars span:nth-child(4){right:22%;top:5%;font-size:14px;animation-delay:.6s}
.level-up-stars span:nth-child(5){left:49%;top:2%;font-size:18px;animation-delay:.8s}
@keyframes levelAvatarReveal{
  0%{opacity:0;transform:scale(.45) rotate(-12deg)}
  65%{opacity:1;transform:scale(1.1) rotate(3deg)}
  100%{transform:scale(1) rotate(0)}
}
@keyframes levelArrowPulse{
  from{transform:translateX(-3px);opacity:.55}
  to{transform:translateX(4px);opacity:1}
}
@keyframes levelStarFloat{
  from{transform:translateY(5px) scale(.8);opacity:.45}
  to{transform:translateY(-5px) scale(1.15);opacity:1}
}
@media(max-width:390px){
  .level-up-avatar{width:94px}
  .level-up-card{padding-left:17px;padding-right:17px}
}
@media(prefers-reduced-motion:reduce){
  .level-up-card,.level-up-avatar.current,.level-up-arrow,.level-up-stars span{
    animation:none!important;
    transition:none!important;
  }
}

/* Visor ampliado del avatar (v6.0.3) */
.hero-avatar-button{appearance:none;color:inherit;padding:0;cursor:zoom-in;transition:transform .2s ease,box-shadow .2s ease}
.hero-avatar-button:active{transform:scale(.97)}
.hero-avatar-button:focus-visible{outline:3px solid #93c5fd;outline-offset:4px}
.avatar-viewer{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:22px;opacity:0;transition:opacity .2s ease}
.avatar-viewer.show{opacity:1}
.avatar-viewer-backdrop{position:absolute;inset:0;background:rgba(2,6,12,.9);backdrop-filter:blur(7px)}
.avatar-viewer-card{position:relative;width:min(92vw,520px);padding:48px 24px 28px;border-radius:28px;text-align:center;background:linear-gradient(160deg,#202838,#10151d);border:1px solid rgba(96,165,250,.4);box-shadow:0 28px 90px rgba(0,0,0,.65);transform:scale(.88);transition:transform .25s ease}
.avatar-viewer.show .avatar-viewer-card{transform:scale(1)}
.avatar-viewer-card h2{margin:0 0 20px;font-size:24px}
.avatar-viewer-close{position:absolute;right:14px;top:14px;width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:20px;cursor:pointer}
.avatar-viewer-image{width:min(74vw,390px);aspect-ratio:1;margin:auto;border-radius:50%;overflow:hidden;display:grid;place-items:center;font-size:min(42vw,210px);background:radial-gradient(circle at 35% 30%,#334155,#10141b 72%);border:4px solid rgba(96,165,250,.85);box-shadow:0 0 55px rgba(59,130,246,.32)}
.avatar-viewer-image img{width:100%;height:100%;object-fit:cover;display:block}
body.avatar-viewer-open{overflow:hidden}
@media(max-height:620px){.avatar-viewer-image{width:min(58vh,330px)}.avatar-viewer-card{padding-top:42px}.avatar-viewer-card h2{margin-bottom:12px}}

/* Corrección v6.0.4: el atributo hidden debe retirar completamente el visor */
.avatar-viewer[hidden]{display:none!important}

.avatar-thumb-viewer{padding:0;border:0;cursor:zoom-in;font:inherit}.avatar-thumb-viewer:focus-visible{outline:3px solid var(--blue);outline-offset:3px}

/* Agrupación cronológica de actividad */
.recent-groups,.history-date-items{display:grid;gap:10px}
.activity-date-group+.activity-date-group,.history-date-group+.history-date-group{margin-top:20px}
.activity-date-heading{margin:0 0 9px;padding:0 3px;color:#cbd5e1;font-size:14px;font-weight:900;letter-spacing:.02em;text-transform:capitalize}
.history-date-group{margin:0}
.history-date-items{gap:12px}

/* Carga de avatares sin marcador emoji */
.avatar-loading{display:block;width:100%;height:100%;border-radius:inherit;background:linear-gradient(110deg,rgba(255,255,255,.035) 25%,rgba(255,255,255,.11) 42%,rgba(255,255,255,.035) 58%);background-size:220% 100%;animation:avatarShimmer 1.15s linear infinite}
.hero-avatar:not(.avatar-ready),.child-tab .avatar:not(.avatar-ready){color:transparent}
@keyframes avatarShimmer{to{background-position-x:-220%}}
@media(prefers-reduced-motion:reduce){.avatar-loading{animation:none;background:rgba(255,255,255,.06)}}

.profile-loading-text{
  display:inline-block;
  width:110px;
  height:1em;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(255,255,255,.07),rgba(255,255,255,.16),rgba(255,255,255,.07));
  background-size:220% 100%;
  animation:profileLoadingSweep 1.1s linear infinite;
  vertical-align:middle;
}
.profile-loading-text.short{width:72px}
.profile-loading-text.tiny{width:34px}
.profile-loading-text.progress{width:86px}
@keyframes profileLoadingSweep{
  from{background-position:200% 0}
  to{background-position:-20% 0}
}


/* Family Suite 6.1.15 */
.suite-page,.health-page{min-height:100vh;background:radial-gradient(circle at top,#1b2840 0,#0d1118 44%,#080b10 100%);color:#f8fafc}
.suite-shell{width:min(100%,720px);margin:auto;padding:32px 20px 28px;min-height:100vh;display:flex;flex-direction:column}
.suite-brand{display:flex;align-items:center;gap:15px;margin-bottom:42px}.suite-logo{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;font-size:30px;background:linear-gradient(145deg,#2563eb,#7c3aed);box-shadow:0 14px 34px rgba(37,99,235,.32)}.suite-brand p,.suite-brand h1{margin:0}.suite-brand p{color:#94a3b8;font-size:13px}.suite-brand h1{font-size:27px}
.suite-intro h2{font-size:29px;margin:0 0 8px}.suite-intro p{margin:0;color:#aeb9c8}.module-grid{display:grid;gap:16px;margin:27px 0 20px}.module-card{width:100%;border:1px solid rgba(255,255,255,.1);border-radius:23px;padding:22px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:17px;text-align:left;color:#fff;background:rgba(20,27,39,.88);box-shadow:0 16px 38px rgba(0,0,0,.22);cursor:pointer;transition:.2s}.module-card:hover,.module-card:focus-visible{transform:translateY(-2px);border-color:rgba(147,197,253,.55)}.module-card:disabled{opacity:.55}.module-card.points{background:linear-gradient(135deg,rgba(30,64,175,.34),rgba(20,27,39,.94))}.module-card.health{background:linear-gradient(135deg,rgba(190,24,93,.28),rgba(20,27,39,.94))}.module-icon{width:62px;height:62px;border-radius:19px;display:grid;place-items:center;font-size:29px;background:rgba(255,255,255,.08)}.module-copy{display:grid;gap:6px}.module-copy strong{font-size:20px}.module-copy small{color:#b9c4d2;line-height:1.4}.module-arrow{font-size:36px;color:#93c5fd}.module-default{display:flex;align-items:center;gap:10px;color:#cbd5e1;font-size:14px;padding:8px 3px}.module-default input{width:19px;height:19px;accent-color:#3b82f6}.suite-logout{margin-top:auto;border:0;background:transparent;color:#fca5a5;padding:22px 0 10px;font-weight:800;cursor:pointer}.suite-version{text-align:center;color:#64748b;font-size:12px;margin:8px 0}
.health-app{min-height:100vh;display:flex;flex-direction:column}.health-topbar{display:flex;justify-content:space-between;align-items:center;padding:17px 20px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(8,11,16,.72);backdrop-filter:blur(12px)}.health-module-switch{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(147,197,253,.3);border-radius:13px;background:rgba(30,41,59,.75);color:#dbeafe;text-decoration:none;font-size:24px;font-weight:900;line-height:1}.health-module-switch:focus-visible{outline:3px solid #93c5fd;outline-offset:3px}.health-logout{border:0;background:transparent;color:#fca5a5;font-weight:800}.health-main{width:min(100%,850px);margin:auto;padding:38px 20px;flex:1}.health-hero{text-align:center;padding:20px 0 32px}.health-badge{display:inline-flex;padding:7px 12px;border-radius:999px;background:rgba(244,63,94,.12);border:1px solid rgba(251,113,133,.3);color:#fda4af;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.health-symbol{width:92px;height:92px;margin:22px auto 15px;border-radius:28px;display:grid;place-items:center;font-size:43px;background:linear-gradient(145deg,#e11d48,#be185d);box-shadow:0 20px 50px rgba(190,24,93,.34)}.health-hero p,.health-hero h1{margin:0}.health-hero>p:first-of-type{color:#94a3b8;font-weight:800}.health-hero h1{font-size:38px;margin-top:4px}.health-lead{max-width:600px!important;margin:16px auto 0!important;color:#b9c4d2!important;line-height:1.65}.health-status{display:flex;justify-content:space-between;gap:15px;padding:17px 19px;border:1px solid rgba(52,211,153,.25);border-radius:17px;background:rgba(16,185,129,.08);margin-bottom:22px}.health-status strong{color:#6ee7b7}.health-status span{color:#b8c6d5;text-align:right}.health-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.health-feature-grid article{padding:19px;border:1px solid rgba(255,255,255,.09);border-radius:19px;background:rgba(18,25,36,.82);display:grid;grid-template-columns:auto 1fr;gap:5px 12px}.health-feature-grid article>span{grid-row:1/3;font-size:27px}.health-feature-grid strong{align-self:end}.health-feature-grid small{color:#9aa8b9;line-height:1.4}.health-app footer{text-align:center;padding:18px;color:#64748b;font-size:12px}
@media(max-width:560px){.suite-shell{padding-top:24px}.suite-brand{margin-bottom:30px}.module-card{padding:18px 15px}.module-icon{width:52px;height:52px}.health-feature-grid{grid-template-columns:1fr}.health-status{display:grid}.health-status span{text-align:left}}


/* Family Suite 6.1.15 */
.module-last-hint{min-height:20px;margin:-4px 3px 8px;color:#93c5fd;font-size:13px}.module-card.last-used{border-color:rgba(147,197,253,.5)}.module-card.last-used::after{content:"Último";position:absolute;right:14px;top:10px;padding:3px 7px;border-radius:999px;background:rgba(59,130,246,.18);color:#bfdbfe;font-size:10px;font-weight:900}.module-card{position:relative}.module-status{margin:0 0 10px;padding:12px 14px;border:1px solid rgba(251,191,36,.3);border-radius:14px;background:rgba(245,158,11,.1);color:#fde68a;font-size:13px;line-height:1.45}


/* Family Health · Catálogo de enfermedades v6.1.15 */
.health-back{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(147,197,253,.3);border-radius:13px;background:rgba(30,41,59,.75);color:#dbeafe;text-decoration:none;font-size:34px;line-height:1}.health-topbar>strong{font-size:17px}.health-catalog-links{display:grid;gap:12px;margin:0 0 24px}.health-catalog-links a{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:18px;border:1px solid rgba(255,255,255,.09);border-radius:19px;background:rgba(18,25,36,.82);color:#fff;text-decoration:none}.health-catalog-links a>span{font-size:28px}.health-catalog-links a div{display:grid;gap:4px}.health-catalog-links small{color:#9aa8b9}.health-catalog-links b{font-size:30px;color:#fda4af}.health-catalog-main{width:min(100%,850px);margin:0 auto;padding:30px 20px 44px;flex:1}.health-catalog-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.health-catalog-head p{margin:0 0 5px;color:#fda4af;font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.health-catalog-head h1{margin:0;font-size:34px}.health-catalog-head span{display:block;margin-top:8px;color:#aeb9c8;line-height:1.5}.health-primary,.health-secondary{border:0;border-radius:15px;padding:13px 16px;font-weight:900;cursor:pointer}.health-primary{background:linear-gradient(135deg,#e11d48,#be185d);color:white;box-shadow:0 10px 24px rgba(190,24,93,.22)}.health-secondary{background:#202938;color:#dbeafe;border:1px solid rgba(255,255,255,.1)}.health-primary:disabled,.health-secondary:disabled{opacity:.5;cursor:not-allowed}.health-message,.health-form-message{padding:12px 14px;border-radius:14px;margin:0 0 16px;background:rgba(239,68,68,.1);border:1px solid rgba(248,113,113,.3);color:#fecaca;font-size:13px}.health-message.success{background:rgba(16,185,129,.08);border-color:rgba(52,211,153,.25);color:#a7f3d0}.health-disease-list{display:grid;gap:13px}.health-loading,.health-empty{padding:34px 18px;text-align:center;border:1px dashed rgba(255,255,255,.14);border-radius:19px;color:#94a3b8}.health-empty span{display:block;font-size:38px;margin-bottom:10px}.health-empty strong{display:block;color:#f8fafc;font-size:18px}.health-empty p{margin:7px 0 0}.health-empty button{margin-top:16px}.health-disease-card{display:grid;grid-template-columns:auto 1fr;gap:14px;padding:17px;border:1px solid rgba(255,255,255,.09);border-radius:19px;background:rgba(18,25,36,.88)}.health-disease-card.inactive{opacity:.72}.health-disease-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:rgba(244,63,94,.11);font-size:24px}.health-disease-copy{min-width:0}.health-disease-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.health-disease-title strong{font-size:18px}.health-disease-title span{padding:4px 8px;border-radius:999px;background:rgba(148,163,184,.15);color:#cbd5e1;font-size:10px;font-weight:900;text-transform:uppercase}.health-disease-copy p{margin:7px 0 0;color:#b8c3d1;line-height:1.45;white-space:pre-wrap}.health-disease-copy p.muted{color:#64748b}.health-disease-actions{grid-column:2;display:flex;gap:8px;flex-wrap:wrap;margin-top:3px}.health-disease-actions button{border:1px solid rgba(255,255,255,.1);background:#202938;color:#dbeafe;border-radius:11px;padding:8px 11px;font-weight:800;font-size:12px}.health-disease-actions button.danger{color:#fca5a5}.health-modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:20px;opacity:0;transition:.18s}.health-modal[hidden]{display:none}.health-modal.show{opacity:1}.health-modal-backdrop{position:absolute;inset:0;background:rgba(2,6,12,.78);backdrop-filter:blur(4px)}.health-modal-card{position:relative;width:min(100%,500px);padding:24px;border-radius:24px;background:linear-gradient(160deg,#202938,#111720);border:1px solid rgba(255,255,255,.12);box-shadow:0 26px 80px rgba(0,0,0,.55);transform:translateY(16px) scale(.97);transition:.18s}.health-modal.show .health-modal-card{transform:none}.health-modal-card h2{margin:0 34px 20px 0}.health-modal-close{position:absolute;right:16px;top:14px;width:38px;height:38px;border:0;border-radius:12px;background:rgba(255,255,255,.07);color:#fff;font-size:25px}.health-field{display:grid;gap:7px;margin-top:15px;color:#cbd5e1;font-size:13px;font-weight:800}.health-field input,.health-field textarea{width:100%;border:1px solid rgba(255,255,255,.12);background:#0f151f;color:#f8fafc;border-radius:14px;padding:13px;outline:none;font:inherit;resize:vertical}.health-field input:focus,.health-field textarea:focus{border-color:rgba(251,113,133,.7)}.health-check{display:flex;align-items:center;gap:10px;margin-top:17px;color:#e2e8f0;font-weight:800}.health-check input{width:19px;height:19px;accent-color:#e11d48}.health-form-message{margin-top:15px;margin-bottom:0}.health-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}
@media(max-width:600px){.health-catalog-main{padding-top:22px}.health-catalog-head{display:grid;align-items:stretch}.health-catalog-head .health-primary{width:100%}.health-disease-card{grid-template-columns:auto 1fr}.health-disease-actions{grid-column:1/3}.health-disease-actions button{flex:1}.health-modal{align-items:end;padding:0}.health-modal-card{width:100%;border-radius:24px 24px 0 0;padding-bottom:calc(22px + env(safe-area-inset-bottom))}}
.health-category-list{display:grid;gap:13px}.health-category-card{overflow:hidden;border:1px solid rgba(255,255,255,.09);border-radius:19px;background:rgba(18,25,36,.88)}.health-category-card.inactive{opacity:.74}.health-category-summary{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:17px;border:0;background:transparent;color:#fff;text-align:left}.health-category-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:rgba(244,63,94,.11);font-size:24px}.health-category-copy{display:grid;gap:5px;min-width:0}.health-category-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.health-category-title strong{font-size:18px}.health-category-title em,.health-subcategory-row span{padding:4px 8px;border-radius:999px;background:rgba(148,163,184,.15);color:#cbd5e1;font-size:10px;font-style:normal;font-weight:900;text-transform:uppercase}.health-category-copy small{color:#9aa8b9;line-height:1.4;white-space:pre-wrap}.health-count{min-width:28px;height:28px;padding:0 8px;display:grid;place-items:center;border-radius:999px;background:rgba(244,63,94,.15);color:#fda4af;font-weight:900}.health-category-summary>b{font-size:27px;color:#fda4af}.health-category-body{padding:0 17px 17px;border-top:1px solid rgba(255,255,255,.07)}.health-subcategory-list{display:grid}.health-subcategory-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.07)}.health-subcategory-row.inactive{opacity:.7}.health-subcategory-row>div:first-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.health-subcategory-row small{flex-basis:100%;color:#8e9bad;line-height:1.4;white-space:pre-wrap}.health-inline-actions,.health-category-actions{display:flex;gap:7px;flex-wrap:wrap}.health-inline-actions button,.health-category-actions button,.health-add-sub{border:1px solid rgba(255,255,255,.1);background:#202938;color:#dbeafe;border-radius:11px;padding:8px 10px;font-weight:800;font-size:12px}.health-inline-actions button.danger,.health-category-actions button.danger{color:#fca5a5}.health-no-subs{margin:16px 0 4px;color:#748195}.health-add-sub{margin-top:15px;color:#fda4af}.health-category-actions{margin-top:15px;padding-top:14px;border-top:1px solid rgba(255,255,255,.07)}.health-parent-info{margin-bottom:8px;padding:11px 13px;border-radius:13px;background:rgba(244,63,94,.09);border:1px solid rgba(251,113,133,.22);color:#cbd5e1;font-size:13px}
@media(max-width:600px){.health-subcategory-row{display:grid}.health-inline-actions button{flex:1}.health-category-actions button{flex:1}.health-category-summary{grid-template-columns:auto minmax(0,1fr) auto auto;padding:15px}.health-category-body{padding:0 15px 15px}}

/* Family Health · índice depurado de catálogos v6.1.15 */
.health-hero-compact{padding-top:4px}.health-catalog-link-disabled{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:18px;border:1px solid rgba(255,255,255,.07);border-radius:19px;background:rgba(18,25,36,.56);color:#cbd5e1;opacity:.78}.health-catalog-link-disabled>span{font-size:28px;filter:grayscale(.35)}.health-catalog-link-disabled div{display:grid;gap:4px;min-width:0}.health-catalog-link-disabled small{color:#8290a2;line-height:1.4}.health-catalog-link-disabled em{padding:5px 9px;border-radius:999px;background:rgba(148,163,184,.12);color:#aab6c5;font-size:10px;font-style:normal;font-weight:900;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}@media(max-width:520px){.health-catalog-link-disabled{grid-template-columns:auto 1fr}.health-catalog-link-disabled em{grid-column:2;justify-self:start}.health-catalog-links a{grid-template-columns:auto 1fr auto}.health-status{margin-bottom:18px}}
.health-field select{width:100%;border:1px solid rgba(255,255,255,.12);background:#0f151f;color:#f8fafc;border-radius:14px;padding:13px;outline:none;font:inherit}.health-field select:focus{border-color:rgba(251,113,133,.7)}.health-field select option{background:#0f151f;color:#f8fafc}.health-field-help{color:#7f8da1;font-size:11px;font-weight:600;line-height:1.4}.health-card-meta{font-size:12px!important;color:#94a3b8!important}.health-card-meta b{color:#dbeafe}.health-unit-badge{text-transform:none!important;background:rgba(59,130,246,.14)!important;color:#bfdbfe!important}

/* Family Health · Inicio v6.1.15 */
.health-home-app{min-height:100vh}.health-home-topbar{grid-template-columns:auto 1fr auto}.health-home-switch{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(244,114,182,.3);border-radius:13px;background:rgba(30,41,59,.75);color:#fbcfe8;text-decoration:none;font-size:24px;font-weight:900}.health-home-main{width:min(100%,760px);margin:auto;padding:18px 18px 44px}.health-home-profile{display:flex;align-items:center;gap:13px;margin:4px 0 16px}.health-home-avatar{width:62px;height:62px;flex:0 0 62px;border-radius:20px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(145deg,#e11d48,#7c3aed);font-size:30px;border:2px solid rgba(251,113,133,.55)}.health-home-avatar img{width:100%;height:100%;object-fit:cover}.health-home-profile span{color:#fda4af;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.health-home-profile h1{margin:3px 0 0;font-size:27px}.health-summary-card{padding:17px;margin-bottom:15px}.health-summary-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:13px}.health-summary-head span{color:#8fa0b4;font-size:12px;text-transform:capitalize}.health-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.health-summary-grid>div{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;padding:11px;border-radius:14px;background:rgba(255,255,255,.035)}.health-summary-grid b{grid-row:1/3;font-size:20px}.health-summary-grid span{color:#8fa0b4;font-size:10px}.health-summary-grid strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.health-calendar-card{padding:17px;margin-bottom:18px}.health-calendar-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.health-calendar-head span{color:#fda4af;font-size:11px;font-weight:900;text-transform:uppercase}.health-calendar-head h2{margin:3px 0 0;font-size:20px;text-transform:capitalize}.health-calendar-nav{display:flex;gap:6px}.health-calendar-nav button{border:1px solid rgba(255,255,255,.1);background:#202938;color:#dbeafe;border-radius:10px;padding:7px 10px;font-weight:800}.health-calendar-nav button:first-child,.health-calendar-nav button:last-child{font-size:22px;line-height:1;padding:5px 11px}.health-calendar-week,.health-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.health-calendar-week{margin-top:15px;color:#718096;text-align:center;font-size:10px;font-weight:900}.health-calendar-grid{gap:3px;margin-top:5px}.health-calendar-day{aspect-ratio:1;border:0;border-radius:10px;background:transparent;color:#e5e7eb;display:grid;place-items:center;align-content:center;gap:3px;padding:2px}.health-calendar-day b{font-size:12px}.health-calendar-day.today{background:rgba(225,29,72,.22);outline:1px solid rgba(251,113,133,.55)}.health-calendar-day:active{background:rgba(255,255,255,.08)}.health-day-dots{height:5px;display:flex;gap:2px}.health-calendar-legend{display:flex;flex-wrap:wrap;gap:8px 13px;margin-top:13px;color:#8795a7;font-size:9px}.health-calendar-legend span{display:flex;align-items:center;gap:5px}.health-calendar-legend i{width:6px;height:6px;border-radius:50%;background:#ef4444}.health-calendar-legend i.appointment{background:#3b82f6}.health-calendar-legend i.medicine{background:#22c55e}.health-calendar-legend i.measurement{background:#a855f7}.health-section-title{margin:17px 2px 10px}.health-quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.health-quick-actions button{min-width:0;border:1px solid rgba(255,255,255,.09);border-radius:15px;background:rgba(18,25,36,.88);color:#fff;padding:12px 5px;display:grid;gap:5px;place-items:center}.health-quick-actions span{font-size:22px}.health-quick-actions b{font-size:10px}.health-recent{padding:0;overflow:hidden}.health-recent .summary-head{padding:15px 16px;border-bottom:1px solid rgba(255,255,255,.07)}.health-empty-compact{display:flex;align-items:center;gap:12px;padding:17px}.health-empty-compact>span{font-size:27px}.health-empty-compact div{display:grid;gap:3px}.health-empty-compact small{color:#8290a2;line-height:1.4}.health-day-modal{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:20px;opacity:0;transition:.18s}.health-day-modal[hidden]{display:none}.health-day-modal.show{opacity:1}.health-day-card{position:relative;width:min(100%,500px);padding:24px;border-radius:24px;background:linear-gradient(160deg,#202938,#111720);border:1px solid rgba(255,255,255,.12);box-shadow:0 26px 80px rgba(0,0,0,.55);transform:translateY(14px);transition:.18s}.health-day-modal.show .health-day-card{transform:none}.health-day-card>span{color:#fda4af;font-size:11px;font-weight:900;text-transform:uppercase}.health-day-card h2{margin:4px 35px 13px 0;font-size:21px;text-transform:capitalize}.health-day-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.health-day-actions button{border:1px solid rgba(255,255,255,.1);background:#202938;color:#dbeafe;border-radius:12px;padding:11px;font-weight:800}.health-page .drawer-head h2{color:#fda4af}
@media(max-width:520px){.health-home-main{padding-left:13px;padding-right:13px}.health-summary-grid{grid-template-columns:1fr 1fr}.health-calendar-card{padding:14px}.health-calendar-nav button{padding-left:8px;padding-right:8px}.health-calendar-legend{gap:7px 9px}.health-day-modal{align-items:end;padding:0}.health-day-card{width:100%;border-radius:24px 24px 0 0;padding-bottom:calc(22px + env(safe-area-inset-bottom))}}
@media(max-width:370px){.health-summary-grid{grid-template-columns:1fr}.health-quick-actions{grid-template-columns:1fr 1fr}}

/* Family Suite v6.1.15: identidad visual de módulos */
.module-corner-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;text-decoration:none;font-size:22px;font-weight:900;line-height:1;transition:transform .15s ease,filter .15s ease}.module-corner-icon:active{transform:scale(.94)}.module-corner-icon.points{border:1px solid rgba(250,204,21,.38);background:rgba(30,30,30,.82);box-shadow:0 8px 24px rgba(0,0,0,.22)}.module-corner-icon.health{border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.13);color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.health-page{background:var(--module-background,#1B2230)}.health-page .health-home-app{background:radial-gradient(circle at top,#273449 0,#1B2230 48%,#111722 100%)}.health-page .topbar{background:rgba(23,30,43,.9);border-bottom-color:rgba(96,165,250,.14)}.health-page .health-home-profile h1{margin-top:0}.health-page .health-home-profile{margin-top:5px}.health-page .card,.health-page .summary{background:rgba(24,32,46,.88);border-color:rgba(148,163,184,.13)}.health-page .health-quick-actions button{background:rgba(24,32,46,.92)}.health-page .health-calendar-nav button,.health-page .health-day-actions button{background:rgba(39,52,73,.92)}.health-page .health-calendar-head>div>span,.health-page .health-day-card>span,.health-page .drawer-head h2{color:var(--module-accent,#60a5fa)}.health-page .health-calendar-day.today{background:rgba(96,165,250,.16);outline-color:rgba(96,165,250,.55)}

/* Family Suite v6.1.15 */
.health-summary-grid strong{white-space:normal;line-height:1.25}.module-card{border-color:color-mix(in srgb,var(--module-card-accent,#94a3b8) 25%,transparent)}

/* Family Suite v6.1.15: registro de enfermedades */
.health-record-main{width:min(100%,720px);margin:0 auto;padding:18px 16px 30px}.health-record-child{display:flex;align-items:center;gap:14px;margin:4px 0 16px}.health-record-avatar{width:58px;height:58px;border-radius:50%;overflow:hidden;background:#202938;border:2px solid rgba(96,165,250,.45);display:grid;place-items:center}.health-record-avatar img{width:100%;height:100%;object-fit:cover}.health-record-child small{color:var(--muted)}.health-record-child h1{font-size:23px;margin:2px 0 0}.health-record-form{padding:18px}.health-field select,.health-field input,.health-field textarea{width:100%;border:1px solid rgba(148,163,184,.18);background:#111923;color:#f8fafc;border-radius:14px;padding:13px;outline:none}.health-field select:focus,.health-field input:focus,.health-field textarea:focus{border-color:var(--module-accent,#60a5fa)}.health-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.health-finish-section{margin-top:14px;padding:12px;border-radius:16px;background:rgba(96,165,250,.08);border:1px solid rgba(96,165,250,.18)}.health-record-actions{display:grid;grid-template-columns:1fr 1.25fr;gap:10px;margin-top:20px}.health-record-actions button{min-height:48px}.health-edit-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.health-danger-btn{border:1px solid rgba(239,68,68,.35);background:rgba(239,68,68,.1);color:#fecaca;border-radius:14px;padding:13px;font-weight:800}.health-related{margin-top:14px}.health-related .card-head small{color:var(--muted)}.health-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.health-related-grid>div{display:grid;gap:3px;text-align:center;padding:12px 6px;border-radius:14px;background:rgba(255,255,255,.035)}.health-related-grid span{font-size:12px;color:var(--muted)}.health-recent-item,.health-day-record{width:100%;display:flex;align-items:center;gap:11px;border:0;border-top:1px solid rgba(255,255,255,.07);background:transparent;color:inherit;padding:12px 2px;text-align:left}.health-recent-item:first-child,.health-day-record:first-child{border-top:0}.health-recent-item>span,.health-day-record>span{font-size:22px}.health-recent-item div,.health-day-record div{flex:1;display:grid;gap:3px}.health-recent-item small,.health-day-record small{color:var(--muted)}.health-day-dots i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#ef4444}.health-day-dots i.disease{background:#ef4444}
@media(max-width:390px){.health-form-row{grid-template-columns:1fr}.health-record-actions,.health-edit-actions{grid-template-columns:1fr}.health-related-grid{grid-template-columns:1fr 1fr 1fr}}

/* Family Suite v6.1.15: registro de citas */
.health-topbar-spacer{width:42px;height:42px;display:block}.health-field-help{display:block;margin-top:6px;color:var(--muted);font-size:11px;line-height:1.35}.health-status-section{margin-top:14px;padding:12px;border-radius:16px;background:rgba(96,165,250,.08);border:1px solid rgba(96,165,250,.18)}.health-single-danger{grid-template-columns:1fr}.health-day-dots i.appointment{background:#3b82f6}
.health-related-grid>button{border:0;color:inherit;display:grid;gap:3px;text-align:center;padding:12px 6px;border-radius:14px;background:rgba(255,255,255,.035)}.health-related-grid>button span{font-size:12px;color:var(--muted)}

/* Family Suite v6.1.23: administraciones de medicamentos */
.health-switch-section,.health-next-dose{margin-top:14px;padding:14px;border-radius:16px;background:rgba(96,165,250,.07);border:1px solid rgba(96,165,250,.16)}
.health-switch-section>span{display:block;margin-bottom:10px;font-weight:800}.health-state-switch{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}.health-state-switch b:first-child{text-align:right}.health-state-switch b{font-size:13px}.health-state-switch input{position:absolute;opacity:0;pointer-events:none}.health-state-switch i{position:relative;width:54px;height:30px;border-radius:999px;background:#475569;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);transition:.2s}.health-state-switch i::after{content:"";position:absolute;top:4px;left:4px;width:22px;height:22px;border-radius:50%;background:#fff;transition:.2s;box-shadow:0 2px 7px rgba(0,0,0,.3)}.health-state-switch input:checked+i{background:#22c55e}.health-state-switch input:checked+i::after{transform:translateX(24px)}.health-state-switch input:focus-visible+i{outline:3px solid var(--module-accent,#60a5fa);outline-offset:3px}.health-next-dose{display:grid;gap:12px}.health-next-dose>div:first-child{display:grid;gap:3px}.health-next-dose small{color:var(--muted);line-height:1.35}

/* v6.1.23 · colores semánticos de Family Health */
.health-day-dots i.medicine,.health-calendar-legend i.medicine{background:#14b8a6}
.health-quick-actions .health-action-disease,.health-day-actions .health-action-disease{background:#b91c1c;border-color:#ef4444}
.health-quick-actions .health-action-appointment,.health-day-actions .health-action-appointment{background:#1d4ed8;border-color:#3b82f6}
.health-quick-actions .health-action-medication,.health-day-actions .health-action-medication{background:#0f766e;border-color:#14b8a6}
.health-quick-actions .health-action-measurement,.health-day-actions .health-action-measurement{background:#7e22ce;border-color:#a855f7}


/* Family Suite v6.1.32: historial de salud y color de mediciones */
.health-day-dots i.measurement,.health-calendar-legend i.measurement{background:#a855f7!important}
.health-history-main{width:min(100%,760px);margin:0 auto;padding:18px 16px 42px}
.health-history-profile{display:flex;align-items:center;gap:13px;margin:4px 0 16px}.health-history-profile .health-record-avatar{flex:0 0 58px}.health-history-profile h1{margin:2px 0 0;font-size:24px}
.health-history-filters{padding:14px;margin-bottom:14px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.health-history-filters .health-field{margin:0}.health-history-filters .full{grid-column:1/-1}
.health-history-list{padding:0;overflow:hidden}.health-history-group-title{padding:13px 16px 8px;color:var(--module-accent,#60a5fa);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;background:rgba(255,255,255,.025)}
.health-history-item{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;border:0;border-top:1px solid rgba(255,255,255,.07);background:transparent;color:inherit;text-align:left;padding:14px 16px}.health-history-item:first-of-type{border-top:0}.health-history-item>span{font-size:24px}.health-history-item>div{display:grid;gap:4px;min-width:0}.health-history-item strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.health-history-item small{color:var(--muted);line-height:1.35}.health-history-item>b{font-size:22px;color:var(--muted)}
.health-history-count{padding:0 2px 10px;color:var(--muted);font-size:12px}.health-history-empty{padding:28px 18px;text-align:center;display:grid;gap:8px}.health-history-empty span{font-size:34px}.health-history-empty small{color:var(--muted)}
@media(max-width:520px){.health-history-filters{grid-template-columns:1fr}.health-history-filters .full{grid-column:auto}}


/* Family Suite v6.1.32: historial compacto y eliminación directa */
.health-history-heading{display:grid;gap:2px;min-width:0}.health-history-heading h1{order:1}.health-history-heading small{order:2;color:var(--muted);font-size:13px}.health-filter-toggle{order:3;justify-self:start;margin-top:7px;padding:0;border:0;background:transparent;color:var(--module-accent,#60a5fa);font:inherit;font-size:13px;font-weight:850;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.health-filter-toggle:focus-visible{outline:2px solid var(--module-accent,#60a5fa);outline-offset:4px;border-radius:4px}.health-history-filters[hidden]{display:none!important}.health-history-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:0;border-top:1px solid rgba(255,255,255,.07)}.health-history-open{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;border:0;background:transparent;color:inherit;text-align:left;padding:14px 4px 14px 16px;min-width:0}.health-history-open>span{font-size:24px}.health-history-open>div{display:grid;gap:4px;min-width:0}.health-history-open strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.health-history-open small{color:var(--muted);line-height:1.35}.health-history-open>b{font-size:22px;color:var(--muted)}.health-history-delete{align-self:center;margin-right:12px;border:1px solid rgba(239,68,68,.38);background:rgba(239,68,68,.09);color:#fecaca;border-radius:10px;padding:8px 10px;font-weight:800;font-size:12px;cursor:pointer}.health-history-delete:disabled{opacity:.55;cursor:wait}@media(max-width:390px){.health-history-delete{padding:8px;font-size:0}.health-history-delete::before{content:"🗑";font-size:17px}}

/* Family Suite v6.1.32: historial unificado Family Points / Family Health */
.health-history-main{width:min(100%,760px);margin:0 auto;padding:18px 16px 42px}
.health-history-heading-inline{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:2px 0 16px}
.health-history-heading-inline h2{margin:0;font-size:22px}.health-history-heading-inline small{display:block;margin-top:3px;color:var(--muted);font-size:13px}
.health-history-list{padding:0;background:transparent;border:0;overflow:visible}
.health-history-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px 12px}
.health-history-open{display:grid;grid-template-columns:46px minmax(0,1fr);gap:10px;align-items:center;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;min-width:0}
.health-history-open .activity-icon{font-size:23px}.health-history-open .activity-info{display:grid;gap:3px}.health-history-delete{margin:0;padding:0;font-size:18px;border-radius:13px}
.health-history-list .history-date-items{gap:12px}
.health-recent-item{display:grid;grid-template-columns:48px minmax(0,1fr) auto}.health-recent-item .activity-info{display:grid;gap:3px}.health-recent-item>b{color:var(--muted);font-size:22px}
@media(max-width:520px){.health-history-heading-inline{align-items:flex-start;flex-direction:column;gap:4px}.health-filter-toggle{margin-top:4px}}


/* Family Suite v6.1.32: historial de salud alineado con Family Points */
.health-history-main{width:min(100%,760px);margin:0 auto;padding:14px 16px 42px}
.health-history-toolbar{display:flex;justify-content:flex-end;margin:0 0 12px}
.health-history-toolbar .health-filter-toggle{margin:0;font-size:13px}
.health-history-list{display:grid;gap:12px;padding:0;background:transparent;border:0;overflow:visible}
.health-history-list .history-date-group{margin:0}
.health-history-list .activity-date-heading,
#healthRecentList .activity-date-heading{margin:0 0 9px;padding:0 3px;color:#cbd5e1;font-size:14px;line-height:1.25;font-weight:900;letter-spacing:.02em;text-transform:capitalize}
.health-history-list .history-date-items,
#healthRecentList .recent-groups{display:grid;gap:12px}
.health-history-item,
#healthRecentList .health-recent-item{font:inherit}
.health-history-open,
#healthRecentList .health-recent-item{font:inherit}
.health-history-open .activity-name,
#healthRecentList .activity-name{font-size:16px;line-height:1.25;font-weight:800}
.health-history-open .history-observation,
#healthRecentList .history-observation{margin-top:1px;color:#cbd5e1;font-size:13px;line-height:1.3;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.health-history-open .activity-icon,
#healthRecentList .activity-icon{width:48px;height:48px;border-radius:15px;font-size:25px}
.health-history-item{grid-template-columns:minmax(0,1fr) 40px;gap:10px;padding:10px 15px;align-items:center}
.health-history-open{grid-template-columns:48px minmax(0,1fr);gap:14px;padding:0}
.health-history-delete{width:40px;height:40px;margin:0;padding:0;border-radius:13px;border:1px solid rgba(239,68,68,.3);background:rgba(239,68,68,.08);color:#fca5a5;font-size:18px;display:grid;place-items:center}
#healthRecentList .health-recent-item{grid-template-columns:48px minmax(0,1fr) auto;gap:14px;border:1px solid var(--border);background:var(--surface);border-radius:18px;padding:15px}
#healthRecentList .health-recent-item>b{font-size:22px;color:var(--muted)}
@media(max-width:390px){.health-history-delete{font-size:18px}.health-history-delete::before{content:none}}

/* Family Suite v6.1.32: últimos registros de Family Health más compactos */
#healthRecentList .activity-date-group + .activity-date-group{margin-top:12px}
#healthRecentList .activity-date-heading{margin-bottom:6px}
#healthRecentList .recent-groups{gap:6px}
#healthRecentList .health-recent-item{padding:10px 12px;gap:11px;min-height:0}
#healthRecentList .health-recent-item .activity-info{gap:1px}
#healthRecentList .health-recent-item .history-observation{margin-top:0;line-height:1.2}

/* Family Health home compact child card · v6.1.32 */
.health-page .health-home-topbar{
  margin:8px 8px 14px;
  padding:10px 12px;
  border:1px solid rgba(148,163,184,.13);
  border-radius:20px;
  box-shadow:0 10px 28px rgba(0,0,0,.16);
}
.health-page .health-home-topbar .children-strip{
  align-items:flex-start;
  padding:2px 4px 4px;
}
.health-page .health-home-topbar .module-corner-icon,
.health-page .health-home-topbar .icon-btn{
  border-radius:15px;
  align-self:center;
}
.health-child-overview{
  display:grid;
  grid-template-columns:minmax(105px,.82fr) minmax(0,1.55fr);
  gap:13px;
  align-items:center;
  padding:14px;
  margin-bottom:15px;
}
.health-child-identity{
  min-width:0;
  display:grid;
  justify-items:center;
  align-content:center;
  gap:8px;
  padding:2px 8px 2px 2px;
  border-right:1px solid rgba(148,163,184,.13);
}
.health-child-identity h1{
  max-width:100%;
  margin:0;
  font-size:20px;
  line-height:1.1;
  text-align:center;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.health-home-avatar-button{
  width:78px;
  height:78px;
  flex:0 0 78px;
  padding:0;
  cursor:pointer;
  border-radius:50%;
  border:2px solid var(--module-accent,#60a5fa);
  box-shadow:0 0 0 3px rgba(96,165,250,.1);
}
.health-home-avatar-button:active{transform:scale(.97)}
.health-home-avatar-button img{width:100%;height:100%;object-fit:cover;display:block}
.health-child-status{display:grid;min-width:0}
.health-status-row{
  min-width:0;
  display:grid;
  grid-template-columns:24px minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  padding:9px 2px;
  border-bottom:1px solid rgba(148,163,184,.12);
}
.health-child-status button.health-status-row{width:100%;border-top:0;border-left:0;border-right:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.health-child-status button.health-status-row:disabled{cursor:default}.health-child-status button.health-status-row:disabled>em{visibility:hidden}.health-child-status button.health-status-row:not(:disabled):hover,.health-child-status button.health-status-row:not(:disabled):focus-visible{background:rgba(96,165,250,.07)}.health-status-row>em{color:#60a5fa;font-size:20px;font-style:normal}
.health-status-row:last-child{border-bottom:0}
.health-status-row>b{font-size:18px;text-align:center}
.health-status-row>div{display:grid;gap:2px;min-width:0}
.health-status-row span{color:#8fa0b4;font-size:9px;line-height:1.15}
.health-status-row strong{font-size:12px;line-height:1.25;white-space:normal;overflow-wrap:anywhere}
@media(max-width:370px){
  .health-child-overview{grid-template-columns:96px minmax(0,1fr);gap:9px;padding:12px}
  .health-home-avatar-button{width:68px;height:68px;flex-basis:68px}
  .health-child-identity h1{font-size:18px}
  .health-status-row{grid-template-columns:20px minmax(0,1fr) auto;gap:6px;padding:8px 0}
  .health-status-row>b{font-size:16px}
  .health-status-row strong{font-size:11px}
}

/* Family Suite v6.1.38: selector flotante de aplicaciones */
.module-switcher-host{position:relative}
.module-corner-icon{
  appearance:none;
  padding:4px;
  overflow:hidden;
  cursor:pointer;
  border-radius:16px;
  background:rgba(255,255,255,.055)!important;
}
.module-corner-icon img{width:100%;height:100%;object-fit:contain;display:block}
.module-corner-icon:focus-visible{outline:3px solid var(--module-accent,#93c5fd);outline-offset:3px}
.module-picker-backdrop{position:fixed;inset:0;z-index:60;background:transparent}
.module-picker-backdrop[hidden],.module-picker[hidden]{display:none!important}
.module-picker{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  z-index:61;
  width:min(342px,calc(100vw - 24px));
  max-height:min(560px,calc(100vh - 100px));
  overflow:auto;
  padding:15px;
  border:1px solid rgba(148,163,184,.22);
  border-radius:24px;
  background:rgba(20,27,39,.98);
  box-shadow:0 24px 70px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.025) inset;
  opacity:0;
  transform:translateY(-8px) scale(.97);
  transform-origin:top right;
  transition:opacity .16s ease,transform .16s ease;
}
@supports(backdrop-filter:blur(18px)){
  .module-picker{background:rgba(20,27,39,.91);backdrop-filter:blur(18px)}
}
.module-picker.open{opacity:1;transform:none}
.module-picker-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 2px 12px}
.module-picker-head>div{display:grid;gap:2px}
.module-picker-head strong{font-size:17px}
.module-picker-head small{color:#8fa0b4;font-size:11px}
.module-picker-close{width:35px;height:35px;border:0;border-radius:12px;background:rgba(255,255,255,.07);color:#e5e7eb;display:grid;place-items:center;cursor:pointer}
.module-picker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.module-picker-item{
  position:relative;
  min-width:0;
  min-height:112px;
  border:1px solid transparent;
  border-radius:18px;
  padding:9px 5px 8px;
  background:transparent;
  color:#f8fafc;
  display:grid;
  grid-template-rows:56px auto auto;
  justify-items:center;
  align-content:start;
  gap:4px;
  text-align:center;
  cursor:pointer;
  transition:background .15s ease,border-color .15s ease,transform .15s ease;
}
.module-picker-item:hover:not(:disabled),.module-picker-item:focus-visible{background:rgba(255,255,255,.07);border-color:rgba(148,163,184,.2)}
.module-picker-item:active:not(:disabled){transform:scale(.96)}
.module-picker-item.active{background:rgba(59,130,246,.12);border-color:rgba(96,165,250,.4)}
.module-picker-item:disabled{cursor:default}
.module-picker-icon{width:56px;height:56px;display:grid;place-items:center}
.module-picker-icon img{width:100%;height:100%;object-fit:contain;display:block}
.module-picker-item>strong{max-width:100%;font-size:11px;line-height:1.15;overflow-wrap:anywhere}
.module-picker-item>small{color:#93c5fd;font-size:8px;line-height:1.1;font-weight:900;text-transform:uppercase;letter-spacing:.035em}
.module-picker-item.upcoming .module-picker-icon{opacity:.58;filter:saturate(.68)}
.module-picker-item.upcoming>strong{color:#aab6c5}
.module-picker-item.upcoming>small{color:#94a3b8}
.module-picker-item.loading .module-picker-icon{animation:modulePickerPulse .75s ease-in-out infinite alternate}
.module-picker-status{margin:11px 4px 0;color:#bfdbfe;font-size:11px;line-height:1.35}
@keyframes modulePickerPulse{to{transform:scale(.88);opacity:.55}}
@media(max-width:360px){
  .module-picker{padding:12px;border-radius:21px}
  .module-picker-grid{gap:4px}
  .module-picker-item{min-height:105px;padding-left:3px;padding-right:3px}
  .module-picker-icon{width:51px;height:51px}
}
@media(prefers-reduced-motion:reduce){
  .module-picker,.module-picker-item{transition:none}
  .module-picker-item.loading .module-picker-icon{animation:none}
}

/* Selector inicial: misma iconografía y módulos futuros visibles */
.module-icon{overflow:hidden}
.module-icon img{width:100%;height:100%;object-fit:contain;display:block}
.module-card.upcoming{grid-template-columns:auto minmax(0,1fr);cursor:not-allowed;opacity:.72}
.module-card.upcoming .module-icon{filter:saturate(.68);opacity:.78}
.module-copy em{justify-self:start;padding:4px 8px;border-radius:999px;background:rgba(148,163,184,.12);color:#aab6c5;font-size:9px;font-style:normal;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.health-topbar-spacer{width:42px;height:42px;flex:0 0 42px}

/* Family Suite v6.1.38: Google Calendar y auditoría de citas */
.health-message.info{background:rgba(59,130,246,.1);border-color:rgba(96,165,250,.3);color:#bfdbfe}
.health-message.warning{background:rgba(245,158,11,.1);border-color:rgba(251,191,36,.3);color:#fde68a}
.health-appointment-time-row{grid-template-columns:1fr 1fr 1fr}
.health-calendar-sync{margin-top:14px;padding:14px;border-radius:16px;background:rgba(59,130,246,.07);border:1px solid rgba(96,165,250,.2);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center}
.health-calendar-sync>div{display:grid;gap:4px;min-width:0}.health-calendar-sync span{color:#93c5fd;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.health-calendar-sync strong{font-size:14px}.health-calendar-sync small{color:var(--muted);line-height:1.35;overflow-wrap:anywhere}.health-calendar-sync a{justify-self:start;color:#93c5fd;font-size:12px;font-weight:850;text-underline-offset:3px}.health-calendar-sync button{white-space:nowrap}
.health-audit-link-wrap{text-align:center;padding:13px 0 0}.health-audit-link-wrap button{border:0;background:transparent;color:#8291a5;font-size:12px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.health-audit-modal{position:fixed;inset:0;z-index:75;display:grid;place-items:center;padding:20px;opacity:0;transition:.18s}.health-audit-modal[hidden]{display:none}.health-audit-modal.show{opacity:1}.health-audit-card{position:relative;width:min(100%,480px);padding:24px;border-radius:24px;background:linear-gradient(160deg,#202938,#111720);border:1px solid rgba(255,255,255,.12);box-shadow:0 26px 80px rgba(0,0,0,.55);transform:translateY(16px) scale(.97);transition:.18s}.health-audit-modal.show .health-audit-card{transform:none}.health-audit-card>span{color:#93c5fd;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.health-audit-card h2{margin:5px 40px 18px 0}.health-audit-content dl{display:grid;gap:0;margin:0}.health-audit-content dl>div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:15px;padding:14px 0;border-top:1px solid rgba(255,255,255,.08)}.health-audit-content dl>div:first-child{border-top:0}.health-audit-content dt{color:var(--muted);font-size:12px;font-weight:800}.health-audit-content dd{margin:0;display:grid;gap:4px;font-weight:850}.health-audit-content dd small{color:var(--muted);font-weight:500;line-height:1.35}
.calendar-settings-main{width:min(100%,760px);margin:0 auto;padding:18px 16px 42px;flex:1}.calendar-connection-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:17px}.calendar-connection-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:16px;background:rgba(59,130,246,.12);font-size:25px}.calendar-connection-copy{display:grid;gap:3px;min-width:0}.calendar-connection-copy small{color:#93c5fd;font-weight:850}.calendar-connection-copy strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-connection-copy span{color:var(--muted);font-size:12px;line-height:1.35;overflow-wrap:anywhere}.calendar-connect-btn{padding-inline:18px}.calendar-settings-intro{padding:16px;margin-top:13px}.calendar-settings-intro p{margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.calendar-module-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:22px 2px 12px}.calendar-module-heading small{color:#93c5fd;font-size:11px;font-weight:900;text-transform:uppercase}.calendar-module-heading h1{font-size:23px;margin:2px 0 0}.calendar-module-heading>span{padding:6px 9px;border-radius:999px;background:rgba(59,130,246,.1);color:#bfdbfe;font-size:11px;font-weight:850}.calendar-routes{display:grid;gap:12px}.calendar-route-card{padding:16px}.calendar-route-child{display:flex;align-items:center;gap:12px}.calendar-route-avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:#202938;border:2px solid rgba(96,165,250,.35)}.calendar-route-avatar img{width:100%;height:100%;object-fit:cover}.calendar-route-child>div{display:grid;gap:3px}.calendar-route-child small{color:#93c5fd;font-size:11px;font-weight:850}.calendar-route-child strong{font-size:17px}.calendar-route-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:13px}.calendar-route-actions small{color:var(--muted);font-size:11px;line-height:1.35}.calendar-route-actions button{padding:10px 15px}.calendar-disconnect{display:grid;justify-items:center;gap:7px;margin-top:24px;text-align:center}.calendar-disconnect button{border:0;background:transparent;color:#fca5a5;text-decoration:underline;text-underline-offset:3px;font-weight:800}.calendar-disconnect small{max-width:520px;color:var(--muted);font-size:11px;line-height:1.4}
@media(max-width:600px){.health-appointment-time-row{grid-template-columns:1fr 1fr}.health-appointment-time-row .health-field:last-child{grid-column:1/-1}.health-calendar-sync{grid-template-columns:1fr}.health-calendar-sync button{width:100%}.health-audit-modal{align-items:end;padding:0}.health-audit-card{width:100%;border-radius:24px 24px 0 0;padding-bottom:calc(22px + env(safe-area-inset-bottom))}.health-audit-content dl>div{grid-template-columns:1fr;gap:5px}.calendar-connection-card{grid-template-columns:auto 1fr}.calendar-connect-btn{grid-column:1/-1;width:100%}.calendar-route-actions{align-items:stretch;flex-direction:column}.calendar-route-actions button{width:100%}}

/* Family Suite v7.0.0-dev.9: medicación continuada */
.health-continuous-entry{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin:17px 0;padding:15px 16px;border:1px solid rgba(20,184,166,.3);border-radius:17px;background:linear-gradient(135deg,rgba(15,118,110,.18),rgba(24,32,46,.92));color:#fff;text-decoration:none}.health-continuous-entry>span{font-size:26px}.health-continuous-entry>div{display:grid;gap:3px}.health-continuous-entry small{color:#a7c9c5}.health-continuous-entry>b{font-size:28px;color:#5eead4}
.health-schedule-main,.health-notifications-main{width:min(100%,850px);margin:0 auto;padding:28px 18px 48px;flex:1}.health-schedule-heading{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:23px}.health-schedule-heading p{margin:0 0 4px;color:#5eead4;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.health-schedule-heading h1{margin:0;font-size:31px}.health-schedule-heading span{display:block;margin-top:7px;color:#9fb0c2;font-size:13px;line-height:1.45}.health-notification-link{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(96,165,250,.3);border-radius:13px;background:rgba(30,41,59,.75);text-decoration:none}
.health-schedule-section{margin-top:19px}.health-schedule-section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:0 2px 10px}.health-schedule-section-head span{color:#5eead4;font-size:10px;font-weight:900;text-transform:uppercase}.health-schedule-section-head h2{margin:3px 0 0;font-size:20px}.health-schedule-list,.health-dose-list,.health-notification-list{display:grid;gap:10px}.health-schedule-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:13px;padding:16px;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:rgba(18,25,36,.86)}.health-schedule-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:rgba(20,184,166,.12);font-size:23px}.health-schedule-copy{display:grid;gap:4px;min-width:0}.health-schedule-copy>strong{font-size:17px}.health-schedule-copy p{margin:0;color:#d6e2ea;font-size:13px}.health-schedule-copy small{color:#8fa2b5;font-size:11px;line-height:1.4}.health-schedule-actions{display:flex;gap:7px;margin-top:8px}.health-schedule-actions button{border:1px solid rgba(94,234,212,.24);border-radius:10px;background:rgba(20,184,166,.08);color:#99f6e4;padding:8px 10px;font-weight:800}.health-schedule-actions button.danger{border-color:rgba(248,113,113,.25);background:rgba(239,68,68,.07);color:#fecaca}
.health-dose-filters{display:flex;gap:5px}.health-dose-filters button{border:1px solid rgba(255,255,255,.1);border-radius:9px;background:#202938;color:#9fb0c2;padding:7px 9px;font-size:11px;font-weight:800}.health-dose-filters button.active{border-color:rgba(20,184,166,.45);background:rgba(20,184,166,.14);color:#99f6e4}.health-dose-card{width:100%;display:grid;grid-template-columns:82px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 14px;border:1px solid rgba(255,255,255,.08);border-radius:15px;background:rgba(18,25,36,.82);color:#fff;text-align:left}.health-dose-card:disabled{opacity:.7}.health-dose-time{display:grid;gap:2px}.health-dose-time b{font-size:20px;color:#5eead4}.health-dose-time small{color:#899aab;font-size:9px;text-transform:capitalize}.health-dose-copy{display:grid;gap:3px}.health-dose-copy small{color:#9badbd}.health-dose-state{font-size:22px;color:#5eead4}.health-dose-card.administered{border-color:rgba(34,197,94,.2)}.health-dose-card.administered .health-dose-state{color:#86efac}.health-dose-card.omitted{border-color:rgba(248,113,113,.18)}.health-dose-card.omitted .health-dose-state{color:#fca5a5}
.health-schedule-modal-card{max-height:92vh;overflow:auto}.health-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:14px 0 0;padding:12px;border:1px solid rgba(148,163,184,.18);border-radius:14px}.health-weekdays[hidden]{display:none}.health-weekdays legend{padding:0 5px;color:#cbd5e1;font-size:12px;font-weight:800}.health-weekdays label{display:grid;place-items:center;gap:5px;color:#cbd5e1;font-size:12px;font-weight:800}.health-weekdays input{width:18px;height:18px;accent-color:#14b8a6}.health-effective-field{margin-top:13px;padding:12px;border:1px solid rgba(20,184,166,.2);border-radius:14px;background:rgba(20,184,166,.06)}.health-effective-field>small{color:#99b7b4;font-size:11px}.health-modal-eyebrow{color:#5eead4;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.health-dose-planned{padding:11px 12px;border-radius:12px;background:rgba(20,184,166,.08);color:#ccfbf1}.health-dose-modal-actions{display:grid;grid-template-columns:1fr 1.25fr;gap:9px;margin-top:18px}
.health-field[hidden],.health-effective-field[hidden],#intervalField[hidden],#reminderField[hidden],#doseActualTimeField[hidden]{display:none!important}
.health-notification-card{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:15px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(18,25,36,.84);color:#fff;text-align:left}.health-notification-card.unread{border-color:rgba(96,165,250,.38);background:rgba(37,99,235,.09)}.health-notification-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;background:rgba(20,184,166,.11);font-size:21px}.health-notification-copy{display:grid;gap:3px}.health-notification-copy small{color:#94a3b8}.health-notification-copy time{color:#7dd3fc;font-size:10px}.health-notification-dot{width:8px;height:8px;border-radius:50%;background:#60a5fa}
@media(max-width:560px){.health-schedule-heading{align-items:stretch;flex-direction:column}.health-schedule-heading>button{width:100%}.health-schedule-section-head{align-items:flex-start;flex-direction:column}.health-dose-filters{align-self:stretch}.health-dose-filters button{flex:1}.health-dose-card{grid-template-columns:66px minmax(0,1fr) auto}.health-dose-modal-actions{grid-template-columns:1fr}.health-schedule-actions{flex-direction:column}.health-schedule-actions button{width:100%}}
.health-dose-delete{width:100%;margin-top:10px}

.calendar-pending-card{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:15px}.calendar-pending-card>div{display:grid;gap:4px}.calendar-pending-card small{color:var(--muted);font-size:11px;line-height:1.4}.calendar-pending-card button{white-space:nowrap}@media(max-width:520px){.calendar-pending-card{align-items:stretch;flex-direction:column}.calendar-pending-card button{width:100%}}


/* ===== Family Meals · v6.1.38 ===== */
.meals-page{--meals-bg:#18211b;--meals-card:#222d25;--meals-border:#3a493e;--meals-text:#f5f7f5;--meals-muted:#aebbb1;--meals-accent:#9bd36a;background:radial-gradient(circle at top,#253229 0,#18211b 48%,#111713 100%);color:var(--meals-text);min-height:100vh}.meals-app{max-width:980px}.meals-topbar{background:rgba(24,33,27,.92);border-bottom:1px solid var(--meals-border);backdrop-filter:blur(16px)}.meals-top-title{flex:1;text-align:center;display:flex;flex-direction:column;line-height:1.15}.meals-top-title small{color:var(--meals-muted);font-size:.72rem;margin-top:3px}.meals-main{padding-bottom:36px}.meals-page .card{background:linear-gradient(145deg,rgba(38,51,42,.98),rgba(29,40,33,.98));border:1px solid var(--meals-border);box-shadow:0 18px 45px rgba(0,0,0,.24)}.meals-calendar-card{padding:14px}.meals-calendar-head,.meals-day-head,.meals-catalog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.meals-calendar-head span,.meals-day-head span,.meals-catalog-head span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--meals-accent);font-weight:800}.meals-calendar-head h1,.meals-calendar-head h3,.meals-day-head h2,.meals-catalog-head h1{margin:3px 0 0;text-transform:capitalize}.meals-calendar-nav{display:flex;gap:5px}.meals-calendar-nav button,.meals-secondary{border:1px solid var(--meals-border);background:#19231c;color:var(--meals-text);border-radius:10px;padding:8px 11px;font-weight:700}.meals-week,.meals-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.meals-week{margin-top:14px}.meals-week span{text-align:center;color:var(--meals-muted);font-size:.72rem;font-weight:800;padding:6px 0}.meals-grid{border-left:1px solid var(--meals-border);border-top:1px solid var(--meals-border)}.meals-day{min-width:0;min-height:102px;padding:5px 4px;border:0;border-right:1px solid var(--meals-border);border-bottom:1px solid var(--meals-border);background:rgba(14,20,16,.38);color:var(--meals-text);text-align:left;display:flex;flex-direction:column;gap:4px;overflow:hidden}.meals-day.outside{opacity:.25}.meals-day.selected{box-shadow:inset 0 0 0 2px var(--meals-accent);background:rgba(91,129,66,.19)}.meals-day.today .meals-day-number{background:var(--meals-accent);color:#15200f}.meals-day-number{align-self:flex-start;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;font-size:.75rem;font-weight:800}.meals-day-events{display:flex;flex-direction:column;gap:2px;width:100%;min-width:0}.meals-event{display:block;width:100%;padding:2px 4px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.61rem;line-height:1.35;color:#fff;font-weight:700}.meals-event.breakfast,.meals-slot.breakfast .meals-slot-head button{background:#b7791f}.meals-event.lunch,.meals-slot.lunch .meals-slot-head button{background:#2f855a}.meals-event.dinner,.meals-slot.dinner .meals-slot-head button{background:#5a67d8}.meals-more{font-size:.59rem;color:var(--meals-muted);padding-left:3px}.meals-legend{display:flex;gap:15px;flex-wrap:wrap;margin-top:11px;color:var(--meals-muted);font-size:.72rem}.meals-legend span{display:flex;align-items:center;gap:5px}.meals-legend i{width:9px;height:9px;border-radius:3px}.meals-legend .breakfast{background:#b7791f}.meals-legend .lunch{background:#2f855a}.meals-legend .dinner{background:#5a67d8}.meals-day-card{margin-top:14px;padding:16px}.meals-slot{border:1px solid var(--meals-border);border-radius:15px;margin-top:12px;overflow:hidden;background:rgba(11,16,13,.27)}.meals-slot-head{display:flex;justify-content:space-between;align-items:center;padding:11px 12px;border-bottom:1px solid var(--meals-border)}.meals-slot-head>div{display:grid;grid-template-columns:auto 1fr;column-gap:8px}.meals-slot-head>div>span{grid-row:1/3;font-size:1.35rem}.meals-slot-head small{color:var(--meals-muted)}.meals-slot-head button{width:36px;height:36px;border:0;border-radius:11px;color:#fff;font-size:1.3rem;font-weight:800}.meals-slot-list article{display:flex;align-items:center;gap:8px;padding:9px 10px;border-bottom:1px solid rgba(58,73,62,.65)}.meals-slot-list article:last-child{border-bottom:0}.meals-dish-move{flex:1;text-align:left;border:0;background:transparent;color:var(--meals-text);display:flex;flex-direction:column;min-width:0}.meals-dish-move strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meals-dish-move small{color:var(--meals-muted)}.meals-dish-remove{border:0;background:rgba(255,255,255,.06);border-radius:9px;padding:8px}.meals-slot-empty{padding:13px;margin:0;color:var(--meals-muted);font-size:.86rem}.meals-modal[hidden]{display:none}.meals-modal{position:fixed;inset:0;z-index:1500;display:grid;align-items:end;justify-items:center}.meals-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(4px)}.meals-modal-card{position:relative;width:min(680px,100%);max-height:92vh;overflow:auto;background:#202b23;border:1px solid var(--meals-border);border-radius:22px 22px 0 0;padding:17px;transform:translateY(100%);transition:.17s ease}.meals-modal.show .meals-modal-card{transform:translateY(0)}.meals-modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.meals-modal-head span{color:var(--meals-accent);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.meals-modal-head h2{margin:3px 0}.meals-modal-head>button{border:0;background:#303d33;color:#fff;width:36px;height:36px;border-radius:50%}.meals-search{display:flex;flex-direction:column;gap:6px;color:var(--meals-muted);font-size:.78rem}.meals-page input,.meals-page textarea,.meals-page select{width:100%;box-sizing:border-box;background:#151d18;border:1px solid var(--meals-border);color:#fff;border-radius:10px;padding:11px}.meals-more-filters{margin:9px 0;border:0;background:none;color:var(--meals-accent);font-weight:800}.meals-advanced-filters{display:grid;gap:8px;padding:10px;background:#182019;border-radius:12px}.meals-advanced-filters label{display:flex;align-items:center;gap:8px}.meals-advanced-filters input[type=checkbox],.meals-check input,fieldset input{width:auto}.meals-picker-actions-top{display:flex;justify-content:space-between;align-items:center;margin:12px 0}.meals-picker-list{display:flex;flex-direction:column;gap:7px;max-height:42vh;overflow:auto}.meals-picker-row{display:flex;align-items:center;gap:10px;padding:11px;background:#182019;border:1px solid var(--meals-border);border-radius:12px}.meals-picker-row.disabled{opacity:.55}.meals-picker-row input{width:auto}.meals-picker-row span{display:flex;flex:1;flex-direction:column}.meals-picker-row small{color:var(--meals-muted)}.meals-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.meals-primary{border:0;background:var(--meals-accent);color:#14200f;border-radius:11px;padding:10px 14px;font-weight:900}.meals-primary:disabled{opacity:.45}.meals-small-modal{max-width:500px}.meals-modal form label,.meals-editor-form label{display:flex;flex-direction:column;gap:6px;margin-bottom:11px}.meals-form-error,.meals-message{padding:10px;border-radius:10px;background:#5b2525;color:#ffd7d7}.meals-move-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.meals-move-grid button{border:1px solid var(--meals-border);background:#182019;color:#fff;border-radius:9px;aspect-ratio:1}.meals-move-grid button.source{box-shadow:inset 0 0 0 2px var(--meals-accent)}.meals-calendar-head.compact{margin-bottom:8px}.meals-catalog-head{padding:16px;margin-bottom:14px}.meals-catalog-head p{color:var(--meals-muted);margin:6px 0 0}.meals-catalog-list{display:flex;flex-direction:column;gap:9px;margin-top:13px}.meals-catalog-item{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--meals-border);border-radius:13px;background:#182019}.meals-catalog-item.inactive{opacity:.55}.meals-catalog-icon{font-size:1.5rem}.meals-catalog-item p{margin:4px 0;color:var(--meals-muted)}.meals-catalog-item small{color:var(--meals-muted)}.meals-catalog-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.meals-catalog-actions button{border:1px solid var(--meals-border);background:#26332a;color:#fff;border-radius:8px;padding:7px}.meals-catalog-actions .danger{color:#ffb4b4}.meals-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.meals-check{justify-content:center}.meals-editor-form fieldset{border:1px solid var(--meals-border);border-radius:12px;margin:8px 0;padding:10px}.meals-editor-form fieldset label{display:inline-flex;flex-direction:row;margin-right:12px}.meals-empty,.meals-load-error{padding:24px;text-align:center;color:var(--meals-muted)}
@media(max-width:620px){.meals-main{padding-left:8px;padding-right:8px}.meals-day{min-height:82px;padding:3px 2px}.meals-event{font-size:.52rem;padding:2px}.meals-day-number{width:20px;height:20px;font-size:.68rem}.meals-calendar-card{padding:10px}.meals-calendar-head{align-items:flex-start}.meals-calendar-nav button{padding:7px 8px}.meals-catalog-head{align-items:flex-start;flex-direction:column}.meals-catalog-item{grid-template-columns:auto 1fr}.meals-catalog-actions{grid-column:1/-1;justify-content:flex-start}.meals-form-row{grid-template-columns:1fr}}
@media(min-width:681px){.meals-modal{align-items:center}.meals-modal-card{border-radius:22px;transform:scale(.96) translateY(12px);opacity:0}.meals-modal.show .meals-modal-card{transform:scale(1);opacity:1}}

/* Family Suite v6.1.38: Family Meals */
.meals-page{--meal-accent:#fb923c;--meal-accent-soft:rgba(251,146,60,.14);--meal-breakfast:#f59e0b;--meal-lunch:#22c55e;--meal-dinner:#8b5cf6;background:radial-gradient(circle at top,#2a1b10 0,#0d0f14 34%)}
.meals-home-app{width:min(100%,760px)}
.meals-home-topbar{position:relative;z-index:62;margin-bottom:14px}.meals-topbar-title{flex:1;display:grid;gap:2px;min-width:0}.meals-topbar-title small{color:#fdba74;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.meals-topbar-title strong{font-size:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.module-corner-icon.meals{border-color:rgba(251,146,60,.42);background:rgba(124,45,18,.25)}
.meals-home-main{display:grid;gap:16px}.meals-calendar-card,.meals-day-card{padding:16px;background:linear-gradient(160deg,rgba(33,38,49,.98),rgba(19,23,31,.98));box-shadow:0 18px 50px rgba(0,0,0,.25)}
.meals-calendar-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:13px}.meals-calendar-head span,.meals-day-heading>div>span,.meals-modal-heading>span,.meals-catalog-heading p{display:block;margin:0;color:#fdba74;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.meals-calendar-head h1{margin:3px 0 0;font-size:23px}.meals-calendar-nav{display:flex;align-items:center;gap:6px}.meals-calendar-nav button,.meals-move-nav button{min-width:35px;height:35px;border:1px solid rgba(251,146,60,.25);border-radius:11px;background:rgba(255,255,255,.045);color:#fff;font-weight:850;cursor:pointer}.meals-calendar-nav button:first-child,.meals-calendar-nav button:last-child,.meals-move-nav button{font-size:25px;line-height:1}.meals-calendar-nav button:nth-child(2){padding:0 11px;color:#fed7aa;font-size:12px}
.meals-calendar-week,.meals-calendar-grid,.meals-move-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.meals-calendar-week{margin-bottom:5px;color:#94a3b8;text-align:center;font-size:10px;font-weight:900}.meals-calendar-week span{padding:4px 0}.meals-calendar-grid{min-height:390px}.meals-calendar-day{position:relative;min-width:0;min-height:72px;padding:5px 3px;border:1px solid rgba(255,255,255,.065);border-radius:10px;background:rgba(255,255,255,.025);color:#f8fafc;text-align:left;vertical-align:top;cursor:pointer;overflow:hidden}.meals-calendar-day.outside{border-color:transparent;background:transparent;cursor:default}.meals-calendar-day>b{display:grid;place-items:center;width:22px;height:22px;margin:0 0 3px 1px;border-radius:50%;font-size:11px}.meals-calendar-day.today>b{background:var(--meal-accent);color:#1b0d03}.meals-calendar-day.selected{border-color:rgba(251,146,60,.75);box-shadow:0 0 0 2px rgba(251,146,60,.12) inset;background:rgba(251,146,60,.055)}.meals-calendar-items{display:grid;gap:2px;min-width:0}.meals-calendar-strip{display:block;min-width:0;height:13px;padding:1px 3px;border-radius:3px;color:white;font-size:7px;font-weight:800;line-height:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;touch-action:pan-y}.meals-calendar-strip.meal-breakfast{background:#b96d05}.meals-calendar-strip.meal-lunch{background:#168447}.meals-calendar-strip.meal-dinner{background:#6d42c1}.meals-calendar-more{padding-left:2px;color:#cbd5e1;font-size:7px;font-weight:850;line-height:10px}.meals-calendar-legend{display:flex;flex-wrap:wrap;gap:11px;margin-top:12px;color:#b6c0cd;font-size:10px}.meals-calendar-legend span{display:flex;align-items:center;gap:5px}.meals-calendar-legend i{width:9px;height:9px;border-radius:3px}.meals-calendar-legend i.meal-breakfast{background:var(--meal-breakfast)}.meals-calendar-legend i.meal-lunch{background:var(--meal-lunch)}.meals-calendar-legend i.meal-dinner{background:var(--meal-dinner)}
.meals-day-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:15px}.meals-day-heading h2{margin:4px 0 0;font-size:20px;text-transform:capitalize}.meals-link-button,.meals-more-filters{border:0;background:transparent;color:#fdba74;font-size:12px;font-weight:850;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.meals-day-blocks{display:grid;gap:12px}.meals-day-block{border:1px solid rgba(255,255,255,.075);border-radius:17px;overflow:hidden;background:rgba(255,255,255,.025)}.meals-day-block>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border-bottom:1px solid rgba(255,255,255,.065)}.meals-day-block>header>div{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center}.meals-day-block>header i{grid-row:1/3;width:11px;height:30px;border-radius:999px}.meals-day-block.meal-breakfast>header i{background:var(--meal-breakfast)}.meals-day-block.meal-lunch>header i{background:var(--meal-lunch)}.meals-day-block.meal-dinner>header i{background:var(--meal-dinner)}.meals-day-block>header strong{font-size:15px}.meals-day-block>header small{color:#94a3b8;font-size:10px}.meals-add-button{width:36px;height:36px;border:1px solid rgba(251,146,60,.35);border-radius:12px;background:rgba(251,146,60,.1);color:#fed7aa;font-size:22px;cursor:pointer}.meals-planned-list{display:grid}.meals-planned-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border-top:1px solid rgba(255,255,255,.055)}.meals-planned-item:first-child{border-top:0}.meals-planned-open{min-width:0;padding:12px 13px;border:0;background:transparent;color:#fff;text-align:left;display:grid;gap:3px;cursor:pointer}.meals-planned-open span{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meals-planned-open small{color:#94a3b8;font-size:10px}.meals-remove-button{width:38px;height:38px;margin-right:8px;border:1px solid rgba(239,68,68,.25);border-radius:11px;background:rgba(239,68,68,.07);color:#fecaca;cursor:pointer}.meals-empty-type{padding:13px;color:#94a3b8;font-size:12px}
.meals-loading,.meals-error,.meals-catalog-empty,.meals-selector-empty{grid-column:1/-1;min-height:110px;display:grid;place-items:center;align-content:center;gap:7px;padding:20px;text-align:center;color:#94a3b8}.meals-error strong,.meals-catalog-empty strong,.meals-selector-empty strong{color:#f8fafc}.meals-error span,.meals-catalog-empty small,.meals-selector-empty small{font-size:12px;line-height:1.4}.meals-error button{margin-top:5px;border:1px solid rgba(251,146,60,.35);border-radius:12px;background:rgba(251,146,60,.1);color:#fed7aa;padding:9px 13px;font-weight:850}
.meals-modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:16px;opacity:0;transition:opacity .18s}.meals-modal[hidden]{display:none}.meals-modal.show{opacity:1}.meals-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72)}.meals-modal-card{position:relative;width:min(100%,520px);max-height:min(88vh,760px);overflow:auto;padding:22px;border:1px solid rgba(251,146,60,.22);border-radius:24px;background:linear-gradient(160deg,#222a36,#11161e);box-shadow:0 28px 90px rgba(0,0,0,.6);transform:translateY(14px) scale(.98);transition:transform .18s}.meals-modal.show .meals-modal-card{transform:none}.meals-modal-close{position:absolute;top:13px;right:13px;width:37px;height:37px;border:0;border-radius:12px;background:rgba(255,255,255,.07);color:#fff;font-size:24px;cursor:pointer}.meals-modal-heading{padding-right:42px}.meals-modal-heading h2{margin:4px 0 4px;font-size:22px}.meals-modal-heading p{margin:5px 0 0;color:#cbd5e1;font-size:13px}.meals-field{display:grid;gap:6px;margin-top:13px;color:#cbd5e1;font-size:12px;font-weight:800}.meals-field input,.meals-field textarea,.meals-field select{width:100%;border:1px solid rgba(255,255,255,.11);border-radius:13px;background:#111720;color:#fff;padding:12px;outline:none}.meals-field input:focus,.meals-field textarea:focus,.meals-field select:focus{border-color:rgba(251,146,60,.65);box-shadow:0 0 0 3px rgba(251,146,60,.1)}.meals-search-field{margin-top:17px}.meals-more-filters{display:block;margin:11px 0 0;padding:0}.meals-advanced-filters{display:grid;grid-template-columns:1fr 1fr;gap:0 10px;padding:3px 0 6px}.meals-advanced-filters[hidden]{display:none}.meals-check{display:flex;align-items:center;gap:9px;margin-top:13px;color:#cbd5e1;font-size:12px;font-weight:750}.meals-check input{width:18px;height:18px;accent-color:var(--meal-accent)}.meals-advanced-filters .meals-check{align-self:end;min-height:44px}.meals-selector-list{display:grid;gap:7px;max-height:285px;overflow:auto;margin-top:13px;padding-right:2px}.meals-selector-item{position:relative;display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:9px;align-items:center;padding:11px;border:1px solid rgba(255,255,255,.075);border-radius:14px;background:rgba(255,255,255,.025);cursor:pointer}.meals-selector-item.selected{border-color:rgba(251,146,60,.6);background:rgba(251,146,60,.08)}.meals-selector-item>input{position:absolute;opacity:0}.meals-selector-check{width:24px;height:24px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.16);border-radius:8px;color:transparent}.meals-selector-item.selected .meals-selector-check{background:var(--meal-accent);border-color:var(--meal-accent);color:#261104}.meals-selector-item>span:last-child{display:grid;gap:3px;min-width:0}.meals-selector-item strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meals-selector-item small{color:#94a3b8;font-size:10px}.meals-quick-create-toggle{width:100%;margin-top:12px;border:1px dashed rgba(251,146,60,.35);border-radius:13px;background:rgba(251,146,60,.055);color:#fed7aa;padding:11px;font-weight:850;cursor:pointer}.meals-quick-create{margin-top:12px;padding:13px;border:1px solid rgba(251,146,60,.2);border-radius:15px;background:rgba(251,146,60,.045)}.meals-quick-create[hidden]{display:none}.meals-quick-create .meals-field{margin-top:0}.meals-quick-create-actions,.meals-modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:16px}.meals-modal-actions.sticky{position:sticky;bottom:-22px;margin:17px -22px -22px;padding:13px 22px calc(13px + env(safe-area-inset-bottom));background:rgba(17,22,30,.97);border-top:1px solid rgba(255,255,255,.08)}.meals-primary,.meals-secondary{border-radius:13px;padding:11px 15px;font-weight:900;cursor:pointer}.meals-primary{border:0;background:var(--meal-accent);color:#241104}.meals-primary:disabled{opacity:.45;cursor:not-allowed}.meals-secondary{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.055);color:#f8fafc}.meals-inline-message{margin-top:11px;padding:10px 12px;border:1px solid rgba(239,68,68,.28);border-radius:12px;background:rgba(239,68,68,.07);color:#fecaca;font-size:12px}.meals-inline-message[hidden]{display:none}
.meals-move-card{width:min(100%,460px)}.meals-move-nav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin:18px 0 9px}.meals-move-nav strong{text-align:center;font-size:16px}.meals-move-grid{gap:5px}.meals-move-grid>span{min-height:46px}.meals-move-grid button{min-width:0;min-height:46px;border:1px solid rgba(255,255,255,.075);border-radius:11px;background:rgba(255,255,255,.03);color:#fff;display:grid;place-items:center;align-content:center;gap:1px;cursor:pointer}.meals-move-grid button.today b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--meal-accent);color:#241104}.meals-move-grid button.source{border-color:rgba(251,146,60,.65);background:rgba(251,146,60,.09)}.meals-move-grid button small{color:#fdba74;font-size:7px;text-transform:uppercase;font-weight:900}.meals-move-grid button.loading{opacity:.55}
.meals-catalog-app{width:min(100%,820px);min-height:100vh;display:flex;flex-direction:column}.meals-catalog-topbar{display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top) + 12px) 16px 10px}.meals-catalog-topbar>span{width:42px}.meals-back{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(251,146,60,.28);border-radius:13px;background:rgba(124,45,18,.18);color:#fed7aa;text-decoration:none;font-size:33px}.meals-catalog-main{flex:1;padding:8px 16px 40px}.meals-catalog-app footer{text-align:center;padding:18px;color:#64748b;font-size:11px}.meals-catalog-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:4px 0 16px}.meals-catalog-heading h1{margin:3px 0 6px}.meals-catalog-heading>div>span{display:block;max-width:560px;color:#94a3b8;font-size:13px;line-height:1.45}.meals-catalog-heading>.meals-primary{white-space:nowrap}.meals-catalog-filters,.meals-single-filter{display:grid;grid-template-columns:1.5fr 1fr auto;gap:11px;align-items:end;padding:13px;margin-bottom:14px}.meals-catalog-filters .meals-field,.meals-single-filter .meals-field{margin:0}.meals-catalog-filters .meals-check{min-height:43px;margin:0}.meals-single-filter{grid-template-columns:1.5fr 1fr}.meals-catalog-list{display:grid;gap:11px}.meals-catalog-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:13px;align-items:center;padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(22,26,34,.94)}.meals-catalog-card.inactive{opacity:.72}.meals-catalog-card.deleted{border-style:dashed;opacity:.62}.meals-catalog-card.compact{min-height:80px}.meals-catalog-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:rgba(251,146,60,.1);font-size:23px}.meals-catalog-copy{display:grid;gap:5px;min-width:0}.meals-catalog-title{display:flex;align-items:center;gap:8px;min-width:0}.meals-catalog-title strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meals-catalog-title .status{padding:3px 7px;border-radius:999px;background:rgba(148,163,184,.12);color:#cbd5e1;font-size:8px;font-weight:900;text-transform:uppercase}.meals-catalog-copy p{margin:0;color:#cbd5e1;font-size:12px;line-height:1.4}.meals-muted{color:#7f8b9b!important}.meals-chip-row{display:flex;flex-wrap:wrap;gap:5px}.meals-chip-row span{padding:3px 7px;border-radius:999px;background:rgba(251,146,60,.08);color:#fdba74;font-size:8px;font-weight:800}.meals-catalog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:210px}.meals-catalog-actions button{border:1px solid rgba(255,255,255,.11);border-radius:10px;background:rgba(255,255,255,.045);color:#e2e8f0;padding:8px 9px;font-size:10px;font-weight:850;cursor:pointer}.meals-catalog-actions button.danger{border-color:rgba(239,68,68,.25);background:rgba(239,68,68,.06);color:#fecaca}.meals-dish-editor{width:min(100%,620px)}.meals-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end}.meals-editor-check{min-height:43px}.meals-choice-fieldset{margin:15px 0 0;padding:12px;border:1px solid rgba(255,255,255,.09);border-radius:15px}.meals-choice-fieldset legend{padding:0 6px;color:#fdba74;font-size:11px;font-weight:900}.meals-choice-grid{display:flex;flex-wrap:wrap;gap:7px}.meals-choice{position:relative}.meals-choice input{position:absolute;opacity:0}.meals-choice span{display:block;padding:7px 10px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(255,255,255,.035);color:#cbd5e1;font-size:10px;font-weight:800;cursor:pointer}.meals-choice input:checked+span{border-color:rgba(251,146,60,.6);background:rgba(251,146,60,.12);color:#fed7aa}
.module-card.meals{background:linear-gradient(135deg,rgba(194,65,12,.28),rgba(20,27,39,.94))}
@media(max-width:620px){.meals-calendar-card{padding:12px}.meals-calendar-grid{gap:2px;min-height:342px}.meals-calendar-day{min-height:62px;padding:3px 2px;border-radius:7px}.meals-calendar-day>b{width:19px;height:19px;font-size:10px}.meals-calendar-strip{height:11px;line-height:9px;font-size:6px;padding-inline:2px}.meals-calendar-more{font-size:6px}.meals-calendar-head{align-items:flex-start;flex-direction:column}.meals-calendar-nav{align-self:stretch;justify-content:flex-end;margin-top:-42px}.meals-catalog-heading{align-items:stretch;flex-direction:column}.meals-catalog-heading>.meals-primary{width:100%}.meals-catalog-filters,.meals-single-filter{grid-template-columns:1fr}.meals-catalog-card{grid-template-columns:auto minmax(0,1fr)}.meals-catalog-actions{grid-column:1/-1;max-width:none;justify-content:flex-end}.meals-catalog-actions button{flex:1}.meals-form-grid{grid-template-columns:1fr}.meals-advanced-filters{grid-template-columns:1fr}.meals-modal{align-items:end;padding:0}.meals-modal-card{width:100%;max-height:92vh;border-radius:24px 24px 0 0;padding-bottom:calc(20px + env(safe-area-inset-bottom))}.meals-modal-actions.sticky{bottom:calc(-20px - env(safe-area-inset-bottom));padding-bottom:calc(13px + env(safe-area-inset-bottom))}}
@media(max-width:390px){.meals-home-app{padding-inline:10px}.meals-calendar-head h1{font-size:20px}.meals-calendar-nav{margin-top:-39px}.meals-calendar-nav button{min-width:31px;height:32px}.meals-calendar-day{min-height:58px}.meals-calendar-more{display:block}.meals-day-card{padding:13px}.meals-topbar-title small{font-size:9px}}

/* ===== Family Suite · v6.1.39 ===== */
/* Identidad visual de cada módulo y selector flotante robusto. */
.module-picker-backdrop{z-index:110;background:rgba(2,6,12,.18)}
.module-picker{position:fixed;z-index:111;top:auto;right:auto}
.module-picker-item{--module-item-accent:#94a3b8;--module-item-soft:rgba(148,163,184,.12)}
.module-picker-icon{border-radius:17px;background:var(--module-item-soft);transition:background .15s ease,transform .15s ease}
.module-picker-item.active{background:var(--module-item-soft);border-color:var(--module-item-accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--module-item-accent) 18%,transparent) inset}
.module-picker-item.active>small,.module-picker-item:not(.upcoming)>small{color:var(--module-item-accent)}
.module-picker-item:hover:not(:disabled),.module-picker-item:focus-visible{border-color:var(--module-item-accent);background:var(--module-item-soft)}
.module-corner-icon.points{border-color:rgba(250,204,21,.48)!important;background:rgba(250,204,21,.12)!important;box-shadow:0 8px 24px rgba(250,204,21,.08)}
.module-corner-icon.health{border-color:rgba(34,211,238,.48)!important;background:rgba(34,211,238,.12)!important;box-shadow:0 8px 24px rgba(34,211,238,.08)}
.module-corner-icon.meals{border-color:rgba(251,146,60,.5)!important;background:rgba(251,146,60,.14)!important;box-shadow:0 8px 24px rgba(251,146,60,.09)}
.module-card{background:linear-gradient(135deg,var(--module-card-soft,rgba(148,163,184,.12)),rgba(20,27,39,.96));border-color:color-mix(in srgb,var(--module-card-accent,#94a3b8) 30%,transparent)}
.module-card.points,.module-card.health,.module-card.meals{background:linear-gradient(135deg,var(--module-card-soft,rgba(148,163,184,.12)),rgba(20,27,39,.96))}
.module-card:hover:not(:disabled),.module-card:focus-visible{border-color:var(--module-card-accent,#93c5fd)}
.module-card .module-icon{background:var(--module-card-soft,rgba(255,255,255,.08))}
.module-card .module-arrow{color:var(--module-card-accent,#93c5fd)}
.module-card.last-used{border-color:var(--module-card-accent,#93c5fd)}

/* Family Meals adopta el naranja suave de su icono y elimina los fondos verdes. */
.meals-page{
  --meals-bg:#21170f;
  --meals-card:#2a2018;
  --meals-border:#59402d;
  --meals-text:#fff8f2;
  --meals-muted:#c4b4a7;
  --meals-accent:#fb923c;
  --meal-accent:#fb923c;
  background:radial-gradient(circle at top,#422817 0,#21170f 36%,#100d0b 100%);
  color:var(--meals-text)
}
.meals-page .card,.meals-page .meals-calendar-card,.meals-page .meals-day-card{background:linear-gradient(160deg,rgba(50,36,26,.98),rgba(25,21,18,.98));border-color:rgba(251,146,60,.2)}
.meals-page .meals-topbar{background:rgba(37,25,18,.92);border-bottom-color:rgba(251,146,60,.18)}
.meals-page .meals-calendar-day{background:rgba(255,247,237,.025);border-color:rgba(251,146,60,.09)}
.meals-page .meals-calendar-day.selected{background:rgba(251,146,60,.085)}
.meals-page .meals-modal-card{background:linear-gradient(160deg,#33251c,#171310);border-color:rgba(251,146,60,.28)}
.meals-page .meals-modal-actions.sticky{background:rgba(27,20,16,.97)}
.meals-page .meals-field input,.meals-page .meals-field textarea,.meals-page .meals-field select,.meals-page input,.meals-page textarea,.meals-page select{background:#1b1511;border-color:rgba(251,146,60,.17)}
.meals-page .meals-catalog-card,.meals-page .meals-day-block,.meals-page .meals-selector-item{background:rgba(255,247,237,.035);border-color:rgba(251,146,60,.12)}
.meals-page .meals-secondary,.meals-page .meals-calendar-nav button,.meals-page .meals-move-nav button{background:rgba(255,247,237,.05);border-color:rgba(251,146,60,.2)}

/* Detalle diario compacto. Los bloques vacíos ocupan solo una fila. */
.meals-page .meals-day-card{padding:12px}
.meals-page .meals-day-heading{margin-bottom:8px;align-items:center}
.meals-page .meals-day-heading h2{margin-top:2px;font-size:17px}
.meals-page .meals-day-heading>div>span{font-size:9px}
.meals-page .meals-day-blocks{gap:7px}
.meals-page .meals-day-block{border-radius:13px}
.meals-page .meals-day-block>header{padding:8px 9px;gap:8px}
.meals-page .meals-day-block.is-empty>header{border-bottom:0}
.meals-page .meals-day-block>header>div{column-gap:7px}
.meals-page .meals-day-block>header i{width:8px;height:23px}
.meals-page .meals-day-block>header strong{font-size:13px}
.meals-page .meals-day-block>header small{font-size:9px}
.meals-page .meals-add-button{width:30px;height:30px;border-radius:10px;font-size:18px;line-height:1}
.meals-page .meals-planned-item{min-height:38px}
.meals-page .meals-planned-open{padding:8px 10px;display:block}
.meals-page .meals-planned-open span{font-size:13px}
.meals-page .meals-remove-button{width:31px;height:31px;margin-right:6px;border-radius:9px;padding:0;font-size:13px}
.meals-page .meals-empty-type{display:none}

/* En el selector de platos, los filtros avanzados permanecen plegados hasta pulsar Más filtros. */
.meals-page .meals-advanced-filters[hidden],.meals-page .meals-advanced-filters.is-collapsed{display:none!important}

/* Respuesta visual y soporte táctil para la pulsación prolongada. */
.meals-page .meals-calendar-strip{cursor:grab;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:pan-y;transition:transform .12s ease,filter .12s ease,box-shadow .12s ease}
.meals-page .meals-calendar-strip.pressing{transform:scale(.95);filter:brightness(1.35);box-shadow:0 0 0 1px rgba(255,255,255,.75) inset}

@media(max-width:620px){
  .meals-page .meals-day-card{padding:10px}
  .meals-page .meals-day-heading{margin-bottom:7px}
  .meals-page .meals-day-blocks{gap:6px}
  .meals-page .meals-day-block>header{padding:7px 8px}
  .meals-page .meals-planned-open{padding:7px 9px}
}


/* ===== Family Suite · v6.1.41 ===== */
/* El menú de Family Meals debe quedar por encima de la cabecera y del contenido. */
.meals-page #overlay{
  z-index:1300;
  background:rgba(8,5,3,.68);
  backdrop-filter:blur(2px)
}
.meals-page #drawer{
  z-index:1301;
  background:linear-gradient(180deg,#2c2018 0,#17120e 100%);
  border-right-color:rgba(251,146,60,.24);
  box-shadow:24px 0 60px rgba(0,0,0,.48)
}
.meals-page #drawer .drawer-head{
  position:relative;
  z-index:1
}
.meals-page #drawer #closeDrawer{
  position:relative;
  z-index:2;
  border-color:rgba(251,146,60,.3);
  background:rgba(251,146,60,.1)
}

/* Detalle diario: tres tarjetas identificables por el color de cada tipo de comida. */
.meals-page .meals-day-card{
  padding:12px
}
.meals-page .meals-day-heading{
  margin-bottom:10px
}
.meals-page .meals-day-heading>div{
  min-width:0
}
.meals-page .meals-day-heading h2{
  font-size:17px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis
}
.meals-page .meals-day-blocks{
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:start;
  gap:8px
}
.meals-page .meals-day-block{
  --meal-type-color:#fb923c;
  --meal-type-rgb:251,146,60;
  min-width:0;
  border:1px solid rgba(var(--meal-type-rgb),.42);
  border-radius:15px;
  overflow:hidden;
  background:linear-gradient(165deg,rgba(var(--meal-type-rgb),.2),rgba(var(--meal-type-rgb),.075));
  box-shadow:0 10px 24px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.05)
}
.meals-page .meals-day-block.meal-breakfast{
  --meal-type-color:#f59e0b;
  --meal-type-rgb:245,158,11
}
.meals-page .meals-day-block.meal-lunch{
  --meal-type-color:#22c55e;
  --meal-type-rgb:34,197,94
}
.meals-page .meals-day-block.meal-dinner{
  --meal-type-color:#8b5cf6;
  --meal-type-rgb:139,92,246
}
.meals-page .meals-day-block>header{
  min-height:52px;
  padding:8px;
  border-bottom:1px solid rgba(var(--meal-type-rgb),.26);
  background:rgba(var(--meal-type-rgb),.08)
}
.meals-page .meals-day-block.is-empty>header{
  border-bottom:0
}
.meals-page .meals-day-block>header>div{
  grid-template-columns:1fr;
  gap:1px;
  min-width:0
}
.meals-page .meals-day-block>header i{
  display:none
}
.meals-page .meals-day-block>header strong{
  min-width:0;
  color:#fff;
  font-size:12px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis
}
.meals-page .meals-day-block>header small{
  color:rgba(255,255,255,.68);
  font-size:8px;
  white-space:nowrap
}
.meals-page .meals-add-button{
  width:29px;
  height:29px;
  flex:0 0 29px;
  border-color:rgba(var(--meal-type-rgb),.58);
  background:rgba(var(--meal-type-rgb),.2);
  color:#fff;
  border-radius:10px;
  font-size:18px
}
.meals-page .meals-planned-list{
  padding:4px
}
.meals-page .meals-planned-item{
  min-height:34px;
  grid-template-columns:minmax(0,1fr) 28px;
  border:0;
  border-radius:9px;
  background:rgba(4,4,4,.2)
}
.meals-page .meals-planned-item+.meals-planned-item{
  margin-top:4px
}
.meals-page .meals-planned-open{
  padding:7px 6px;
  min-width:0
}
.meals-page .meals-planned-open span{
  font-size:10px;
  line-height:1.2
}
.meals-page .meals-remove-button{
  width:26px;
  height:26px;
  margin-right:2px;
  padding:0;
  border-color:rgba(255,255,255,.15);
  background:rgba(0,0,0,.2);
  font-size:10px
}

@media(max-width:620px){
  .meals-page .meals-day-card{padding:10px}
  .meals-page .meals-day-blocks{gap:5px}
  .meals-page .meals-day-block{border-radius:12px}
  .meals-page .meals-day-block>header{min-height:48px;padding:6px 5px;gap:4px}
  .meals-page .meals-day-block>header strong{font-size:10px}
  .meals-page .meals-day-block>header small{font-size:7px}
  .meals-page .meals-add-button{width:25px;height:25px;flex-basis:25px;border-radius:8px;font-size:16px}
  .meals-page .meals-planned-list{padding:3px}
  .meals-page .meals-planned-open{padding:6px 4px}
  .meals-page .meals-planned-open span{font-size:9px}
  .meals-page .meals-planned-item{grid-template-columns:minmax(0,1fr) 24px;min-height:31px}
  .meals-page .meals-remove-button{width:22px;height:22px;font-size:8px}
}

/* Ajustes finales v6.1.41: menú táctil y tarjetas del día. */
.meals-page.drawer-open{overflow:hidden;touch-action:none}
.meals-page .meals-home-app{position:relative;z-index:1}
.meals-page #overlay{z-index:1999!important}
.meals-page #drawer{
  z-index:2000!important;
  isolation:isolate;
  pointer-events:auto;
  background:#1c1510;
  opacity:1
}
.meals-page #drawer.open{visibility:visible}
.meals-page #drawer .drawer-head{flex:0 0 auto}
.meals-page #drawer #closeDrawer{
  min-width:46px;
  min-height:46px;
  pointer-events:auto;
  touch-action:manipulation
}
.meals-page .meals-day-blocks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.meals-page .meals-day-block{height:auto;align-self:start}
.meals-page .meals-day-block .meals-planned-list:empty{display:none}
.meals-page .meals-day-block>header{align-items:center}
.meals-page .meals-day-block>header small{line-height:1.15}
.meals-page .meals-planned-open span{display:block;white-space:normal;overflow-wrap:anywhere}
.meals-page .meals-error button{margin-top:10px;border:1px solid rgba(251,146,60,.3);border-radius:10px;background:rgba(251,146,60,.12);color:#fed7aa;padding:9px 12px;font-weight:800}

/* Registro de propietario y nueva familia · v6.1.42 */
.auth-link-button{display:block;text-align:center;text-decoration:none}
.auth-new-family{margin-top:20px;padding:18px 0 2px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.auth-new-family .secondary-btn{margin-bottom:16px}
.field-help{display:block;margin:7px 2px 0;color:var(--muted);font-size:12px;line-height:1.4}
.signup-confirmation{text-align:center}
.signup-confirmation-icon{width:70px;height:70px;margin:0 auto 16px;border-radius:22px;display:grid;place-items:center;font-size:32px;background:rgba(59,130,246,.12);border:1px solid rgba(59,130,246,.35);color:#bfdbfe}
.signup-email{margin:-8px 0 18px;padding:11px 12px;border-radius:14px;background:rgba(255,255,255,.045);border:1px solid var(--border);font-weight:800;overflow-wrap:anywhere}
.signup-confirmation .primary-btn{margin-top:12px}

/* Family Suite v6.1.57 · mediciones compactas en la tarjeta del hijo */
.health-child-measurements{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:5px;
  max-width:100%;
}
.health-child-measurements span{
  min-width:0;
  display:inline-flex;
  align-items:center;
  gap:3px;
  padding:4px 6px;
  border:1px solid rgba(148,163,184,.12);
  border-radius:999px;
  background:rgba(255,255,255,.035);
  color:#cbd5e1;
}
.health-child-measurements b{font-size:11px;line-height:1}
.health-child-measurements strong{
  max-width:58px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:10px;
  line-height:1;
}
.health-home-avatar-button{width:72px;height:72px;flex-basis:72px}
@media(max-width:370px){
  .health-home-avatar-button{width:64px;height:64px;flex-basis:64px}
  .health-child-measurements{gap:3px}
  .health-child-measurements span{padding:3px 5px}
  .health-child-measurements strong{max-width:48px;font-size:9px}
}

/* Family Suite v6.1.57 · selector ágil de platos a pantalla completa */
.meals-page.meals-modal-open{overflow:hidden}
.meals-page .meals-selector-fullscreen{
  align-items:stretch;
  justify-items:stretch;
  padding:0;
}
.meals-page .meals-selector-fullscreen .meals-modal-backdrop{background:rgba(8,6,5,.88)}
.meals-page .meals-selector-fullscreen .meals-selector-card{
  width:100%;
  height:100dvh;
  max-width:none;
  max-height:none;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  box-sizing:border-box;
  border:0;
  border-radius:0;
  padding:18px clamp(14px,3vw,34px) calc(18px + env(safe-area-inset-bottom));
  transform:translateY(12px);
}
.meals-page .meals-selector-fullscreen.show .meals-selector-card{transform:none}
.meals-page .meals-selector-fullscreen .meals-modal-heading{flex:0 0 auto}
.meals-selector-search-row{
  flex:0 0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:end;
  margin-top:4px;
}
.meals-selector-search-row .meals-search-field{margin-top:9px}
.meals-create-from-search{
  min-height:43px;
  margin-bottom:0;
  white-space:nowrap;
}
.meals-page .meals-selector-fullscreen .meals-more-filters{flex:0 0 auto}
.meals-page .meals-selector-fullscreen .meals-advanced-filters{flex:0 0 auto}
.meals-page .meals-selector-fullscreen .meals-inline-message{flex:0 0 auto}
.meals-page .meals-selector-grid{
  flex:1 1 auto;
  min-height:0;
  max-height:none;
  overflow:auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-content:start;
  gap:10px;
  margin-top:14px;
  padding:1px 3px 4px 1px;
}
.meals-page .meals-selector-grid.is-busy{pointer-events:none;opacity:.72}
.meals-page .meals-selector-grid .meals-loading,
.meals-page .meals-selector-grid .meals-error,
.meals-page .meals-selector-grid .meals-selector-empty{grid-column:1/-1}
.meals-page .meals-selector-grid .meals-selector-item{
  width:100%;
  min-width:0;
  min-height:82px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  padding:12px;
  border:1px solid rgba(251,146,60,.15);
  border-radius:16px;
  background:rgba(255,247,237,.04);
  color:#fff;
  font:inherit;
  text-align:left;
  cursor:pointer;
  transition:transform .12s,border-color .12s,background .12s;
}
.meals-page .meals-selector-grid .meals-selector-item:not(:disabled):active{transform:scale(.98)}
.meals-page .meals-selector-grid .meals-selector-item:not(:disabled):hover{
  border-color:rgba(251,146,60,.42);
  background:rgba(251,146,60,.09);
}
.meals-page .meals-selector-grid .meals-selector-item:disabled{cursor:default;opacity:.58}
.meals-page .meals-selector-grid .meals-selector-item.is-assigned{
  border-color:rgba(34,197,94,.25);
  background:rgba(34,197,94,.06);
}
.meals-selector-dish-icon{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:rgba(251,146,60,.1);
  font-size:18px;
}
.meals-page .meals-selector-grid .meals-selector-item>span:nth-child(2){display:grid;gap:5px;min-width:0}
.meals-page .meals-selector-grid .meals-selector-item strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:14px;
}
.meals-page .meals-selector-grid .meals-selector-item small{
  color:#aebbb1;
  font-size:10px;
  line-height:1.25;
}
.meals-page .meals-selector-grid .meals-selector-item>b{color:#fdba74;font-size:18px}
.meals-page .meals-selector-grid .meals-selector-item.is-assigned>b{color:#86efac}
.meals-page .meals-selector-grid .meals-selector-item.is-saving::after{
  content:"Guardando…";
  grid-column:1/-1;
  color:#fdba74;
  font-size:10px;
  font-weight:800;
}
@media(max-width:520px){
  .meals-page .meals-selector-fullscreen .meals-selector-card{
    height:100dvh;
    max-height:none;
    border-radius:0;
    padding:15px 12px calc(14px + env(safe-area-inset-bottom));
  }
  .meals-selector-search-row{gap:7px}
  .meals-create-from-search{padding-inline:10px;font-size:11px}
  .meals-page .meals-selector-grid{gap:7px}
  .meals-page .meals-selector-grid .meals-selector-item{min-height:76px;padding:9px;gap:7px;border-radius:13px}
  .meals-selector-dish-icon{width:28px;height:28px;font-size:15px}
  .meals-page .meals-selector-grid .meals-selector-item strong{font-size:12px}
  .meals-page .meals-selector-grid .meals-selector-item small{font-size:9px}
}


/* Diálogos Family Suite v6.1.58 */
body.family-dialog-open{overflow:hidden}
.family-dialog-layer{
  --family-dialog-accent:#60a5fa;
  position:fixed;
  inset:0;
  z-index:400;
  display:grid;
  place-items:center;
  padding:calc(env(safe-area-inset-top) + 18px) 18px calc(env(safe-area-inset-bottom) + 18px);
  opacity:0;
  transition:opacity .17s ease;
}
body:not(.health-page):not(.meals-page) .family-dialog-layer{--family-dialog-accent:#22c55e}
body.health-page .family-dialog-layer{--family-dialog-accent:#60a5fa}
body.meals-page .family-dialog-layer{--family-dialog-accent:#fb923c}
.family-dialog-layer.show{opacity:1}
.family-dialog-backdrop{
  position:absolute;
  inset:0;
  background:rgba(2,6,14,.82);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}
.family-dialog-card{
  position:relative;
  width:min(100%,430px);
  max-height:min(82dvh,680px);
  overflow:auto;
  overscroll-behavior:contain;
  border:1px solid color-mix(in srgb,var(--family-dialog-accent) 32%,rgba(255,255,255,.08));
  border-radius:26px;
  padding:25px 22px 20px;
  background:
    radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--family-dialog-accent) 16%,transparent),transparent 43%),
    linear-gradient(155deg,#202735,#121720 72%);
  box-shadow:0 30px 95px rgba(0,0,0,.68),0 0 38px color-mix(in srgb,var(--family-dialog-accent) 12%,transparent);
  transform:translateY(18px) scale(.96);
  transition:transform .2s cubic-bezier(.2,.85,.25,1.08);
}
.family-dialog-layer.show .family-dialog-card{transform:translateY(0) scale(1)}
.family-dialog-icon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  margin:0 auto 17px;
  border:1px solid color-mix(in srgb,var(--family-dialog-accent) 48%,transparent);
  border-radius:19px;
  background:color-mix(in srgb,var(--family-dialog-accent) 13%,rgba(255,255,255,.02));
  color:color-mix(in srgb,var(--family-dialog-accent) 68%,white);
  box-shadow:0 0 28px color-mix(in srgb,var(--family-dialog-accent) 17%,transparent);
  font-size:28px;
  font-weight:950;
  line-height:1;
}
.family-dialog-danger{--family-dialog-accent:#ef4444!important}
.family-dialog-warning{--family-dialog-accent:#f59e0b!important}
.family-dialog-success{--family-dialog-accent:#22c55e!important}
.family-dialog-copy{text-align:center}
.family-dialog-copy h2{
  margin:0;
  color:#f8fafc;
  font-size:clamp(21px,5vw,26px);
  line-height:1.18;
  overflow-wrap:anywhere;
}
.family-dialog-copy p{
  margin:12px 0 0;
  color:#b7becb;
  font-size:14px;
  line-height:1.58;
  white-space:pre-line;
  overflow-wrap:anywhere;
}
.family-dialog-field{display:grid;gap:7px;margin-top:18px;text-align:left}
.family-dialog-field[hidden]{display:none}
.family-dialog-field span{color:#cbd5e1;font-size:13px;font-weight:700}
.family-dialog-field input{
  width:100%;
  min-height:48px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:15px;
  padding:12px 14px;
  outline:0;
  background:#111720;
  color:#f8fafc;
}
.family-dialog-field input:focus{border-color:var(--family-dialog-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--family-dialog-accent) 14%,transparent)}
.family-dialog-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:23px;
}
.family-dialog-button{
  min-height:49px;
  border-radius:16px;
  padding:12px 14px;
  font-weight:900;
  cursor:pointer;
  transition:transform .12s ease,filter .12s ease,border-color .12s ease;
}
.family-dialog-button:active{transform:scale(.98)}
.family-dialog-button:focus-visible{outline:3px solid color-mix(in srgb,var(--family-dialog-accent) 55%,white);outline-offset:3px}
.family-dialog-cancel{
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.055);
  color:#e2e8f0;
}
.family-dialog-confirm{
  border:1px solid color-mix(in srgb,var(--family-dialog-accent) 68%,white 4%);
  background:linear-gradient(135deg,color-mix(in srgb,var(--family-dialog-accent) 88%,white 4%),color-mix(in srgb,var(--family-dialog-accent) 72%,black));
  color:#fff;
  box-shadow:0 10px 26px color-mix(in srgb,var(--family-dialog-accent) 23%,transparent);
}
.family-dialog-confirm:hover,.family-dialog-cancel:hover{filter:brightness(1.08)}
.family-dialog-cancel[hidden]{display:none}
.family-dialog-cancel[hidden]+.family-dialog-confirm{grid-column:1/-1}
@media(max-width:380px){
  .family-dialog-layer{padding-left:12px;padding-right:12px}
  .family-dialog-card{padding:21px 16px 16px;border-radius:22px}
  .family-dialog-icon{width:52px;height:52px;border-radius:17px;font-size:25px}
  .family-dialog-actions{gap:8px}
  .family-dialog-button{padding-inline:10px;font-size:13px}
}
@media(prefers-reduced-motion:reduce){
  .family-dialog-layer,.family-dialog-card{transition:none!important}
}

/* ===== Family Shopping · v6.1.62 ===== */
.shopping-page{
  --shopping-accent:#38bdf8;
  --shopping-accent-soft:rgba(56,189,248,.13);
  --shopping-bg:#101923;
  --shopping-card:#182534;
  --shopping-card-2:#1d2d3d;
  --shopping-border:rgba(125,211,252,.17);
  min-height:100vh;
  background:radial-gradient(circle at top,#17344b 0,#101923 46%,#090f16 100%);
  color:#f8fafc;
}
.shopping-page .module-corner-icon.shopping{
  border-color:rgba(56,189,248,.52)!important;
  background:rgba(56,189,248,.13)!important;
  box-shadow:0 8px 24px rgba(56,189,248,.1);
}
.module-card.shopping{background:linear-gradient(135deg,rgba(14,165,233,.27),rgba(20,27,39,.94))}
.shopping-home-app{width:min(100%,760px);padding-bottom:calc(env(safe-area-inset-bottom) + 112px)}
.shopping-home-topbar{
  margin:8px 4px 14px;
  padding:10px 12px;
  border:1px solid var(--shopping-border);
  border-radius:20px;
  background:rgba(15,28,41,.88);
  box-shadow:0 10px 28px rgba(0,0,0,.18);
}
.shopping-topbar-title{flex:1;display:grid;gap:2px;min-width:0}
.shopping-topbar-title small{color:#7dd3fc;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.07em}
.shopping-topbar-title strong{font-size:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shopping-home-main{display:grid;gap:15px}
.shopping-list-banner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:10px;
  border:1px solid rgba(56,189,248,.25);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(30,64,90,.68),rgba(19,32,45,.9));
  box-shadow:0 14px 35px rgba(0,0,0,.2);
}
.shopping-list-selector{
  min-width:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:11px;
  align-items:center;
  padding:4px;
  border:0;
  background:transparent;
  color:#f8fafc;
  text-align:left;
  cursor:pointer;
}
.shopping-list-symbol{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:rgba(56,189,248,.14);color:#7dd3fc;font-size:21px}
.shopping-list-selector>span:nth-child(2){display:grid;gap:2px;min-width:0}
.shopping-list-selector small{color:#8fb7ce;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.shopping-list-selector strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:18px}
.shopping-list-selector>b{color:#7dd3fc;font-size:28px}
.shopping-list-count{padding:7px 10px;border-radius:999px;background:rgba(2,8,14,.3);color:#bae6fd;font-size:10px;font-weight:850;white-space:nowrap}
.shopping-section{
  padding:14px;
  border:1px solid var(--shopping-border);
  border-radius:21px;
  background:linear-gradient(160deg,rgba(27,43,58,.96),rgba(16,28,40,.96));
  box-shadow:0 15px 40px rgba(0,0,0,.2);
}
.shopping-selected-section{
  border-color:rgba(56,189,248,.34);
  background:radial-gradient(circle at 100% 0,rgba(56,189,248,.13),transparent 40%),linear-gradient(160deg,rgba(28,50,68,.98),rgba(14,29,41,.98));
  box-shadow:0 17px 44px rgba(0,0,0,.25),0 0 0 1px rgba(56,189,248,.035) inset;
}
.shopping-catalog-section{
  border-color:rgba(125,211,252,.1);
  background:linear-gradient(160deg,rgba(20,33,46,.94),rgba(10,20,29,.96));
}
.shopping-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:12px}
.shopping-section-heading>div{min-width:0}
.shopping-section-heading span{display:block;color:#7dd3fc;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.shopping-section-heading h1,.shopping-section-heading h2{margin:3px 0 0;font-size:19px}
.shopping-section-heading>small{max-width:190px;color:#829aae;font-size:9px;line-height:1.3;text-align:right}
.shopping-selected-groups{display:grid;gap:13px}
.shopping-selected-category{display:grid;gap:7px}
.shopping-selected-category+.shopping-selected-category{padding-top:11px;border-top:1px solid rgba(125,211,252,.11)}
.shopping-selected-category-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 3px}
.shopping-selected-category-heading strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#dff5ff;font-size:12px}
.shopping-selected-category-heading small{color:#83a5ba;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.shopping-selected-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.shopping-selected-card{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) 34px;
  align-items:stretch;
  overflow:hidden;
  border:1px solid rgba(56,189,248,.2);
  border-radius:15px;
  background:rgba(56,189,248,.055);
  transition:opacity .15s,border-color .15s,transform .15s;
}
.shopping-selected-main{
  min-width:0;
  min-height:67px;
  display:grid;
  grid-template-columns:29px minmax(0,1fr);
  gap:8px;
  align-items:center;
  padding:9px 5px 9px 9px;
  border:0;
  background:transparent;
  color:#f8fafc;
  text-align:left;
  cursor:pointer;
  touch-action:pan-y;
  user-select:none;
  -webkit-user-select:none;
  -webkit-touch-callout:none;
}
.shopping-selected-main:disabled{opacity:.55;cursor:wait}
.shopping-item-check{width:29px;height:29px;display:grid;place-items:center;border:1px solid rgba(125,211,252,.35);border-radius:10px;background:rgba(56,189,248,.08);color:#7dd3fc;font-weight:950}
.shopping-selected-main>span:last-child{display:grid;gap:4px;min-width:0}
.shopping-selected-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.shopping-selected-main small{display:-webkit-box;overflow:hidden;color:#91a8ba;font-size:9px;line-height:1.3;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.shopping-selected-main.pressing{background:rgba(56,189,248,.15)}
.shopping-selected-main.pressing .shopping-item-check{transform:scale(.9);border-color:#7dd3fc}
.shopping-item-edit{
  align-self:stretch;
  border:0;
  border-left:1px solid rgba(125,211,252,.14);
  background:rgba(255,255,255,.025);
  color:#bae6fd;
  font-size:17px;
  cursor:pointer;
}
.shopping-category-groups{display:grid;gap:9px}
.shopping-category-card{overflow:hidden;border:1px solid rgba(125,211,252,.13);border-radius:16px;background:rgba(3,10,17,.18)}
.shopping-category-card.open{border-color:rgba(56,189,248,.26)}
.shopping-recent-card{border-color:rgba(34,197,94,.16);background:rgba(13,38,34,.2)}
.shopping-recent-card.open{border-color:rgba(74,222,128,.28)}
.shopping-recent-card .shopping-category-toggle{background:rgba(34,197,94,.055)}
.shopping-recent-card .shopping-category-toggle>b{color:#86efac}
.shopping-category-toggle{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:12px 13px;
  border:0;
  background:rgba(56,189,248,.045);
  color:#f8fafc;
  text-align:left;
  cursor:pointer;
}
.shopping-category-toggle>span{display:grid;gap:3px;min-width:0}
.shopping-category-toggle strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shopping-category-toggle small{color:#829aae;font-size:9px}
.shopping-category-toggle>b{color:#7dd3fc;font-size:22px;transition:transform .15s}
.shopping-category-card.open .shopping-category-toggle>b{transform:rotate(180deg)}
.shopping-product-grid,.shopping-search-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:8px}
.shopping-product-grid[hidden]{display:none!important}
.shopping-recent-empty{grid-column:1/-1;display:grid;gap:4px;padding:16px 13px;color:#87a29a;text-align:center}
.shopping-recent-empty strong{color:#cce9df;font-size:11px}.shopping-recent-empty small{font-size:9px;line-height:1.4}
.shopping-product-tile{
  min-width:0;
  min-height:61px;
  display:grid;
  grid-template-columns:30px minmax(0,1fr) auto;
  gap:7px;
  align-items:center;
  padding:8px;
  border:1px solid rgba(125,211,252,.11);
  border-radius:13px;
  background:rgba(255,255,255,.027);
  color:#f8fafc;
  text-align:left;
  cursor:pointer;
}
.shopping-product-tile:hover,.shopping-product-tile:focus-visible{border-color:rgba(56,189,248,.42);background:rgba(56,189,248,.08)}
.shopping-product-tile:active{transform:scale(.98)}
.shopping-product-tile:disabled{opacity:.58;cursor:wait}
.shopping-product-tile.in-list{border-color:rgba(34,197,94,.2);background:rgba(34,197,94,.04)}
.shopping-product-placeholder{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:rgba(56,189,248,.1);color:#7dd3fc;font-size:12px;font-weight:950}
.shopping-product-copy{display:grid;gap:3px;min-width:0}
.shopping-product-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}
.shopping-product-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#829aae;font-size:8px}
.shopping-product-tile>b{color:#7dd3fc;font-size:15px;white-space:nowrap}
.shopping-product-tile.in-list>b{color:#86efac;font-size:9px}
.shopping-search-bar{
  position:fixed;
  z-index:45;
  left:50%;
  bottom:calc(env(safe-area-inset-bottom) + 14px);
  width:min(calc(100% - 28px),720px);
  min-height:66px;
  transform:translateX(-50%);
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:11px;
  align-items:center;
  padding:10px 14px;
  border:1px solid rgba(56,189,248,.42);
  border-radius:20px;
  background:rgba(13,29,42,.95);
  color:#f8fafc;
  box-shadow:0 18px 45px rgba(0,0,0,.5),0 0 24px rgba(56,189,248,.08);
  text-align:left;
  cursor:pointer;
  backdrop-filter:blur(16px);
}
.shopping-search-bar>span:first-child{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:rgba(56,189,248,.14);color:#7dd3fc;font-size:28px;line-height:1}
.shopping-search-bar>span:last-child{display:grid;gap:3px}
.shopping-search-bar strong{font-size:14px}.shopping-search-bar small{color:#8da9bc;font-size:9px}
.shopping-page #overlay{z-index:1999!important}
.shopping-page #drawer{z-index:2000!important;background:#0d1b27}
.shopping-page #drawer .drawer-head h2{color:#7dd3fc}
.shopping-page #drawer #closeDrawer{border-color:rgba(56,189,248,.3);background:rgba(56,189,248,.09)}
.shopping-page.drawer-open{overflow:hidden;touch-action:none}
.shopping-page.drawer-open .shopping-search-bar{pointer-events:none}
.shopping-loading,.shopping-empty,.shopping-error{
  grid-column:1/-1;
  padding:25px 16px;
  border:1px dashed rgba(125,211,252,.18);
  border-radius:16px;
  color:#829aae;
  text-align:center;
}
.shopping-loading{font-size:12px}
.shopping-empty{display:grid;justify-items:center;gap:5px}
.shopping-empty>span{font-size:28px}.shopping-empty strong{color:#e2e8f0}.shopping-empty small{line-height:1.4}
.shopping-empty.compact{padding:18px}.shopping-empty.selected-empty{min-height:92px;align-content:center}
.shopping-error{display:grid;justify-items:center;gap:8px;padding:38px 18px}
.shopping-error>span{font-size:35px}.shopping-error strong{color:#f8fafc;font-size:18px}.shopping-error p{max-width:520px;margin:0;line-height:1.5}
.shopping-error button{margin-top:7px;border:1px solid rgba(56,189,248,.32);border-radius:12px;background:rgba(56,189,248,.1);color:#bae6fd;padding:10px 14px;font-weight:850}
.shopping-page:not(.shopping-management-page) .toast{bottom:calc(env(safe-area-inset-bottom) + 92px)}

body.shopping-modal-open{overflow:hidden}
.shopping-modal[hidden]{display:none!important}
.shopping-modal{position:fixed;inset:0;z-index:2500;display:grid;place-items:center;padding:18px;opacity:0;transition:opacity .17s ease}
.shopping-modal.show{opacity:1}
.shopping-modal-backdrop{position:absolute;inset:0;background:rgba(2,7,13,.84);backdrop-filter:blur(6px)}
.shopping-modal-card{
  position:relative;
  width:min(100%,500px);
  max-height:min(90dvh,720px);
  overflow:auto;
  padding:23px;
  border:1px solid rgba(56,189,248,.28);
  border-radius:25px;
  background:radial-gradient(circle at 100% 0,rgba(56,189,248,.1),transparent 38%),linear-gradient(155deg,#1b2c3b,#0f1923 74%);
  box-shadow:0 28px 90px rgba(0,0,0,.65);
  transform:translateY(17px) scale(.97);
  transition:transform .18s ease;
}
.shopping-modal.show .shopping-modal-card{transform:none}
.shopping-modal-close{position:absolute;right:14px;top:13px;width:38px;height:38px;border:0;border-radius:12px;background:rgba(255,255,255,.07);color:#f8fafc;font-size:18px;cursor:pointer}
.shopping-modal-heading{display:grid;gap:4px;margin:0 42px 18px 0}
.shopping-modal-heading>span{color:#7dd3fc;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.shopping-modal-heading h2{margin:0;font-size:23px}.shopping-modal-heading p{margin:4px 0 0;color:#91a8ba;font-size:12px;line-height:1.45}
.shopping-field{display:grid;gap:7px;margin-top:13px;color:#cbd5e1;font-size:12px;font-weight:800}
.shopping-field input,.shopping-field textarea,.shopping-field select{
  width:100%;
  min-height:45px;
  border:1px solid rgba(125,211,252,.16);
  border-radius:14px;
  padding:11px 13px;
  outline:0;
  resize:vertical;
  background:#0c1721;
  color:#f8fafc;
  font:inherit;
}
.shopping-field textarea{min-height:90px}.shopping-field select option{background:#0c1721;color:#f8fafc}
.shopping-field input:focus,.shopping-field textarea:focus,.shopping-field select:focus{border-color:#38bdf8;box-shadow:0 0 0 3px rgba(56,189,248,.1)}
.shopping-field input:disabled{opacity:.72;color:#9fb2c2}
.shopping-check{display:flex;align-items:center;gap:9px;margin-top:16px;color:#dbeafe;font-size:13px;font-weight:800}
.shopping-check[hidden]{display:none}.shopping-check input{width:19px;height:19px;accent-color:#38bdf8}
.shopping-form-help{margin:9px 2px 0;color:#829aae;font-size:10px;line-height:1.4}
.shopping-inline-message{margin-top:13px;padding:10px 12px;border:1px solid rgba(239,68,68,.3);border-radius:12px;background:rgba(239,68,68,.08);color:#fecaca;font-size:11px;line-height:1.4}
.shopping-inline-message[hidden]{display:none}
.shopping-modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}
.shopping-primary,.shopping-secondary,.shopping-danger{
  min-height:43px;
  border-radius:13px;
  padding:10px 15px;
  font-weight:900;
  cursor:pointer;
}
.shopping-primary{border:1px solid rgba(125,211,252,.32);background:linear-gradient(135deg,#38bdf8,#0284c7);color:#03131d;box-shadow:0 9px 22px rgba(14,165,233,.18)}
.shopping-secondary{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);color:#e2e8f0}
.shopping-danger{border:1px solid rgba(239,68,68,.32);background:rgba(239,68,68,.09);color:#fecaca}
.shopping-danger.restore{border-color:rgba(34,197,94,.3);background:rgba(34,197,94,.08);color:#bbf7d0}
.shopping-primary:disabled,.shopping-secondary:disabled,.shopping-danger:disabled{opacity:.48;cursor:wait}
.shopping-danger-zone{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:18px;padding:13px;border:1px solid rgba(239,68,68,.18);border-radius:15px;background:rgba(239,68,68,.035)}
.shopping-danger-zone[hidden]{display:none}.shopping-danger-zone>div{display:grid;gap:3px}.shopping-danger-zone strong{font-size:12px}.shopping-danger-zone small{color:#9ca3af;font-size:9px;line-height:1.35}
.shopping-search-modal{padding:0;place-items:stretch}
.shopping-search-card{width:100%;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0;display:flex;flex-direction:column;overflow:hidden;padding:18px clamp(14px,3vw,32px) calc(18px + env(safe-area-inset-bottom))}
.shopping-search-card .shopping-modal-heading,.shopping-search-input,.shopping-search-status{flex:0 0 auto}
.shopping-search-status{min-height:17px;margin:8px 2px 0;color:#829aae;font-size:10px}
.shopping-search-results{flex:1;min-height:0;overflow:auto;align-content:start;padding:4px 2px 3px;margin-top:5px}
.shopping-search-results .shopping-product-tile{min-height:67px}

.shopping-management-page{display:block}
.shopping-management-app{width:min(100%,850px);min-height:100vh;margin:0 auto;display:flex;flex-direction:column}
.shopping-management-topbar{display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top) + 12px) 16px 10px}
.shopping-management-topbar>span{width:42px}.shopping-management-topbar>strong{font-size:17px}
.shopping-back{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(56,189,248,.3);border-radius:13px;background:rgba(56,189,248,.09);color:#bae6fd;text-decoration:none;font-size:33px;line-height:1}
.shopping-management-main{flex:1;padding:8px 16px 42px}
.shopping-management-app footer{text-align:center;padding:18px;color:#60758a;font-size:11px}
.shopping-management-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:4px 0 17px}
.shopping-management-heading>div{min-width:0}.shopping-management-heading span{color:#7dd3fc;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.shopping-management-heading h1{margin:3px 0 6px;font-size:29px}.shopping-management-heading p{max-width:580px;margin:0;color:#91a8ba;font-size:12px;line-height:1.5}
.shopping-list-cards,.shopping-admin-list{display:grid;gap:10px}
.shopping-list-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) 48px;
  align-items:stretch;
  overflow:hidden;
  border:1px solid var(--shopping-border);
  border-radius:18px;
  background:rgba(22,36,49,.92);
}
.shopping-list-card.active{border-color:rgba(56,189,248,.5);box-shadow:0 0 0 1px rgba(56,189,248,.1) inset}
.shopping-list-card.has-admin-actions{grid-template-columns:minmax(0,1fr) 48px 48px}
.shopping-list-open{min-width:0;display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px;border:0;background:transparent;color:#f8fafc;text-align:left;cursor:pointer}
.shopping-list-card-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:rgba(56,189,248,.1);color:#7dd3fc;font-size:21px}
.shopping-list-open>span:nth-child(2){display:grid;gap:4px;min-width:0}.shopping-list-open strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px}.shopping-list-open small{color:#91a8ba;font-size:10px}.shopping-list-open>b{color:#7dd3fc;font-size:26px}
.shopping-list-edit{border:0;border-left:1px solid rgba(125,211,252,.13);background:rgba(255,255,255,.02);color:#bae6fd;font-size:19px;cursor:pointer}
.shopping-admin-group{display:grid;gap:9px;margin-bottom:15px}.shopping-admin-group h2{margin:0;color:#dbeafe;font-size:16px}.shopping-admin-group>p{margin:-4px 0 3px;color:#71869a;font-size:10px}
.shopping-admin-card{
  min-width:0;
  display:grid;
  grid-template-columns:46px minmax(0,1fr) 42px;
  gap:12px;
  align-items:center;
  padding:12px 13px;
  border:1px solid var(--shopping-border);
  border-radius:17px;
  background:rgba(22,36,49,.92);
}
.shopping-admin-card.shopping-access-card{grid-template-columns:minmax(0,1fr) auto}
.shopping-admin-card.shopping-participant-card{grid-template-columns:minmax(0,1fr) minmax(120px,160px) auto}
.shopping-admin-filters form{display:contents}
.shopping-admin-card.global{grid-template-columns:46px minmax(0,1fr);border-color:rgba(148,163,184,.13)}
.shopping-admin-card.archived{opacity:.68;border-style:dashed}
.shopping-admin-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:rgba(56,189,248,.1);color:#7dd3fc;font-size:20px}
.shopping-admin-icon.product-letter{font-size:16px;font-weight:950}
.shopping-admin-copy{display:grid;gap:5px;min-width:0}.shopping-admin-copy>div{display:flex;align-items:center;gap:6px;min-width:0;flex-wrap:wrap}.shopping-admin-copy strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.shopping-admin-copy em{padding:3px 6px;border-radius:999px;background:rgba(56,189,248,.09);color:#7dd3fc;font-size:7px;font-style:normal;font-weight:900;text-transform:uppercase;letter-spacing:.035em}.shopping-admin-copy em.archived{background:rgba(148,163,184,.1);color:#94a3b8}.shopping-admin-copy small{color:#8da3b5;font-size:9px;line-height:1.35}
.shopping-admin-edit{width:42px;height:42px;border:1px solid rgba(125,211,252,.15);border-radius:13px;background:rgba(56,189,248,.05);color:#bae6fd;font-size:18px;cursor:pointer}
.shopping-admin-filters{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:9px;align-items:end;padding:12px;margin-bottom:8px;border:1px solid var(--shopping-border);border-radius:17px;background:rgba(16,28,40,.72)}
.shopping-admin-filters .shopping-field{margin:0}.shopping-result-count{margin:9px 2px;color:#829aae;font-size:10px}
.shopping-product-admin-list{gap:9px}
.shopping-admin-category-card{overflow:hidden;border:1px solid rgba(125,211,252,.13);border-radius:17px;background:rgba(10,21,31,.48)}
.shopping-admin-category-card.open{border-color:rgba(56,189,248,.28)}
.shopping-admin-category-toggle{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 14px;border:0;background:rgba(56,189,248,.045);color:#f8fafc;text-align:left;cursor:pointer}
.shopping-admin-category-toggle>span{display:grid;gap:3px;min-width:0}.shopping-admin-category-toggle strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.shopping-admin-category-toggle small{color:#829aae;font-size:9px}
.shopping-admin-category-toggle>b{color:#7dd3fc;font-size:22px;transition:transform .15s}.shopping-admin-category-card.open .shopping-admin-category-toggle>b{transform:rotate(180deg)}
.shopping-product-admin-grid{display:grid;gap:7px;padding:8px}.shopping-product-admin-grid[hidden]{display:none!important}.shopping-product-admin-grid .shopping-admin-card{border-color:rgba(125,211,252,.1);background:rgba(22,36,49,.7)}

body.shopping-page.shopping-page .family-dialog-layer{--family-dialog-accent:#38bdf8;z-index:3000}

@media(max-width:620px){
  .shopping-management-heading{align-items:stretch;flex-direction:column}.shopping-management-heading>.shopping-primary{width:100%}
  .shopping-admin-filters{grid-template-columns:1fr}
  .shopping-modal{align-items:start;padding:calc(env(safe-area-inset-top) + 8px) 0 0}
  .shopping-modal-card{width:100%;max-height:calc(100dvh - env(safe-area-inset-top) - 8px);border-radius:0 0 24px 24px;padding-bottom:calc(20px + env(safe-area-inset-bottom));scroll-padding-block:18px 42vh}
  .shopping-search-modal{align-items:stretch;padding:0}.shopping-search-card{height:100dvh;max-height:none;border-radius:0;padding-bottom:calc(14px + env(safe-area-inset-bottom))}
}
@media(max-width:430px){
  .shopping-home-app{padding-left:10px;padding-right:10px}
  .shopping-home-topbar{margin-left:0;margin-right:0}
  .shopping-section{padding:11px}
  .shopping-section-heading{align-items:flex-start}.shopping-section-heading>small{max-width:120px}
  .shopping-selected-grid{gap:6px}
  .shopping-selected-card{grid-template-columns:minmax(0,1fr) 29px;border-radius:13px}
  .shopping-selected-main{grid-template-columns:25px minmax(0,1fr);gap:6px;min-height:61px;padding:7px 3px 7px 7px}
  .shopping-item-check{width:25px;height:25px;border-radius:8px;font-size:12px}
  .shopping-selected-main strong{font-size:11px}.shopping-selected-main small{font-size:8px}
  .shopping-item-edit{font-size:14px}
  .shopping-product-grid,.shopping-search-results{gap:5px;padding:6px}
  .shopping-product-tile{grid-template-columns:26px minmax(0,1fr) auto;gap:5px;min-height:56px;padding:6px;border-radius:11px}
  .shopping-product-placeholder{width:26px;height:26px;border-radius:8px;font-size:10px}
  .shopping-product-copy strong{font-size:10px}.shopping-product-copy small{font-size:7px}
  .shopping-search-results .shopping-product-tile{min-height:60px}
  .shopping-list-count{display:none}
  .shopping-list-banner{grid-template-columns:1fr}
  .shopping-danger-zone{align-items:stretch;flex-direction:column}.shopping-danger-zone button{width:100%}
}
@media(max-width:350px){
  .shopping-topbar-title strong{font-size:16px}
  .shopping-section-heading>small{display:none}
  .shopping-selected-main{grid-template-columns:1fr}.shopping-item-check{display:none}
  .shopping-product-tile{grid-template-columns:minmax(0,1fr) auto}.shopping-product-placeholder{display:none}
}
@media(prefers-reduced-motion:reduce){
  .shopping-modal,.shopping-modal-card,.shopping-selected-card,.shopping-category-toggle>b,.shopping-admin-category-toggle>b{transition:none!important}
}

/* Family Suite v6.1.64 · ingredientes de Meals y envío a Shopping */
.meals-ingredients-fieldset{background:rgba(251,146,60,.025)}
.meals-ingredients-help{margin:0;color:#9ca3af;font-size:10px;line-height:1.45}
.meals-ingredient-search-field{margin-top:10px}
.meals-ingredient-search-status{min-height:16px;margin:7px 2px 0;color:#9ca3af;font-size:9px;line-height:1.4}
.meals-ingredient-search-status.warning,.meals-ingredient-search-status.error{color:#fdba74}
.meals-ingredient-search-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:190px;overflow:auto;margin-top:5px}
.meals-ingredient-result{min-width:0;min-height:57px;display:grid;grid-template-columns:29px minmax(0,1fr) auto;gap:7px;align-items:center;padding:7px;border:1px solid rgba(251,146,60,.13);border-radius:12px;background:rgba(255,247,237,.035);color:#f8fafc;text-align:left;cursor:pointer}
.meals-ingredient-result>span:first-child,.meals-ingredient-letter{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:rgba(251,146,60,.1);color:#fdba74;font-size:10px;font-weight:950}
.meals-ingredient-result>span:nth-child(2){display:grid;gap:3px;min-width:0}.meals-ingredient-result strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.meals-ingredient-result small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#9ca3af;font-size:8px}.meals-ingredient-result>b{color:#fdba74;font-size:15px}.meals-ingredient-result.selected{border-color:rgba(34,197,94,.24);background:rgba(34,197,94,.05);opacity:.65}.meals-ingredient-result.selected>b{color:#86efac}
.meals-ingredient-search-empty{grid-column:1/-1;display:grid;gap:3px;padding:12px;border:1px dashed rgba(251,146,60,.16);border-radius:12px;color:#9ca3af;text-align:center}.meals-ingredient-search-empty strong{color:#e5e7eb;font-size:10px}.meals-ingredient-search-empty small{font-size:8px}
.meals-ingredient-list-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:15px}.meals-ingredient-list-heading strong{font-size:11px}.meals-ingredient-list-heading small{color:#9ca3af;font-size:9px}
.meals-ingredient-list{display:grid;gap:6px;margin-top:7px}
.meals-ingredient-row{display:grid;grid-template-columns:29px minmax(0,1fr) minmax(105px,140px) 32px;gap:8px;align-items:center;padding:8px;border:1px solid rgba(251,146,60,.12);border-radius:13px;background:rgba(255,247,237,.025)}
.meals-ingredient-row>div{display:grid;gap:3px;min-width:0}.meals-ingredient-row>div strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.meals-ingredient-row>div small{color:#9ca3af;font-size:8px}.meals-ingredient-row>label{display:grid;gap:3px;color:#9ca3af;font-size:7px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.meals-ingredient-row>label input{min-height:34px;padding:7px 8px;border-radius:9px;font-size:10px}.meals-ingredient-row>button{width:32px;height:32px;border:1px solid rgba(239,68,68,.22);border-radius:9px;background:rgba(239,68,68,.06);color:#fecaca;font-size:18px;cursor:pointer}.meals-ingredient-row.unavailable{border-style:dashed;opacity:.72}.meals-ingredient-row.unavailable .meals-ingredient-letter{background:rgba(148,163,184,.12);color:#cbd5e1}
.meals-ingredient-empty{display:grid;gap:3px;padding:13px;border:1px dashed rgba(251,146,60,.14);border-radius:12px;color:#9ca3af;text-align:center}.meals-ingredient-empty strong{color:#e5e7eb;font-size:10px}.meals-ingredient-empty small{font-size:8px}
.meals-shopping-action{width:100%;display:grid;grid-template-columns:47px minmax(0,1fr) auto;gap:11px;align-items:center;margin-top:16px;padding:10px;border:1px solid rgba(56,189,248,.3);border-radius:16px;background:linear-gradient(135deg,rgba(56,189,248,.12),rgba(14,165,233,.04));color:#f8fafc;text-align:left;cursor:pointer}
.meals-shopping-action img{width:47px;height:47px;object-fit:contain;border-radius:13px}.meals-shopping-action>span{display:grid;gap:4px;min-width:0}.meals-shopping-action strong{font-size:12px}.meals-shopping-action small{color:#bae6fd;font-size:9px}.meals-shopping-action>b{color:#7dd3fc;font-size:25px}.meals-shopping-action:disabled{border-color:rgba(148,163,184,.14);background:rgba(148,163,184,.035);opacity:.55;cursor:not-allowed}.meals-shopping-action:disabled img{filter:grayscale(1)}
.meals-shopping-card{width:min(100%,560px)}
.meals-shopping-heading{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:center}.meals-shopping-heading>img{width:52px;height:52px;object-fit:contain;border-radius:14px}.meals-shopping-heading>div{min-width:0}.meals-shopping-heading h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.meals-shopping-select-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px}.meals-shopping-select-actions>strong{color:#cbd5e1;font-size:10px}.meals-shopping-select-actions>span{display:flex;gap:5px}.meals-shopping-select-actions button{border:0;background:transparent;color:#7dd3fc;padding:5px;font-size:9px;font-weight:850;cursor:pointer}
.meals-shopping-ingredients{display:grid;gap:7px;max-height:43vh;overflow:auto;margin-top:9px;padding-right:2px}.meals-shopping-ingredients.is-busy{pointer-events:none;opacity:.58}
.meals-shopping-ingredient{position:relative;display:grid;grid-template-columns:25px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,247,237,.025);cursor:pointer}.meals-shopping-ingredient>input{position:absolute;opacity:0;pointer-events:none}.meals-shopping-check{width:25px;height:25px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.17);border-radius:8px;color:transparent;font-size:12px;font-weight:950}.meals-shopping-ingredient>input:checked+.meals-shopping-check{border-color:#38bdf8;background:#38bdf8;color:#06202d}.meals-shopping-product{display:grid;gap:4px;min-width:0}.meals-shopping-product strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.meals-shopping-product small{color:#9ca3af;font-size:8px;line-height:1.35}.meals-shopping-ingredient>em{padding:3px 6px;border-radius:999px;background:rgba(56,189,248,.1);color:#7dd3fc;font-size:7px;font-style:normal;font-weight:900;text-transform:uppercase;white-space:nowrap}.meals-shopping-ingredient.other-variant{border-color:rgba(56,189,248,.25);background:rgba(56,189,248,.055)}.meals-shopping-ingredient.exact-duplicate{border-color:rgba(34,197,94,.2);background:rgba(34,197,94,.045);cursor:not-allowed;opacity:.66}.meals-shopping-ingredient.exact-duplicate>em{background:rgba(34,197,94,.1);color:#86efac}.meals-shopping-ingredient.will-reactivate{border-color:rgba(251,146,60,.35);background:rgba(251,146,60,.07)}.meals-shopping-ingredient.will-reactivate>em{background:rgba(251,146,60,.12);color:#fdba74}.meals-shopping-ingredient.unavailable{border-style:dashed;opacity:.55;cursor:not-allowed}
.meals-shopping-empty{display:grid;justify-items:center;gap:5px;padding:25px 14px;border:1px dashed rgba(56,189,248,.17);border-radius:15px;color:#9ca3af;text-align:center}.meals-shopping-empty>span{font-size:28px}.meals-shopping-empty strong{color:#e5e7eb}.meals-shopping-empty small{font-size:9px}
.meals-inline-message[data-kind="error"]{border-color:rgba(239,68,68,.28);background:rgba(239,68,68,.07);color:#fecaca}

@media(max-width:620px){
  #dishModal{align-items:start;padding:calc(env(safe-area-inset-top) + 7px) 0 0}
  #dishModal .meals-dish-editor{max-height:calc(100dvh - env(safe-area-inset-top) - 7px);border-radius:0 0 24px 24px;scroll-padding-block:16px 42vh}
  .meals-ingredient-search-results{grid-template-columns:1fr;max-height:170px}
  .meals-ingredient-row{grid-template-columns:27px minmax(0,1fr) 31px}.meals-ingredient-row>label{grid-column:2/4}.meals-ingredient-row>button{grid-column:3;grid-row:1}
  .meals-shopping-card{max-height:94dvh}.meals-shopping-ingredients{max-height:48vh}
}
@media(max-width:390px){
  .meals-shopping-select-actions{align-items:flex-start;flex-direction:column}.meals-shopping-select-actions>span{align-self:stretch;justify-content:space-between}
  .meals-shopping-heading{grid-template-columns:44px minmax(0,1fr)}.meals-shopping-heading>img{width:44px;height:44px}
  .meals-shopping-ingredient{grid-template-columns:23px minmax(0,1fr);gap:7px}.meals-shopping-ingredient>em{grid-column:2;justify-self:start}.meals-shopping-check{width:23px;height:23px}
}

/* Family Suite v6.1.67 · marca unificada y mayor claridad en Shopping */
.auth-logo,.suite-logo{
  overflow:hidden;
  padding:0;
  border:1px solid rgba(255,255,255,.14);
  background:#0d1420;
  box-shadow:0 14px 34px rgba(19,61,165,.28);
}
.auth-logo img,.suite-logo img{width:100%;height:100%;display:block;object-fit:cover}

body.shopping-page:not(.shopping-management-page){
  --shopping-bg:#10161d;
  --shopping-card:#1b252e;
  --shopping-card-2:#222f39;
  --shopping-border:rgba(148,163,184,.18);
  background:
    radial-gradient(circle at 50% -10%,rgba(56,189,248,.15),transparent 31rem),
    linear-gradient(180deg,#111922 0,#0d141b 55%,#090e13 100%);
}
.shopping-home-app{width:min(100%,780px)}
.shopping-home-topbar{
  border-color:rgba(148,163,184,.18);
  background:rgba(17,25,34,.94);
  box-shadow:0 12px 32px rgba(0,0,0,.28);
}
.shopping-home-main{gap:18px}
.shopping-list-banner{
  padding:12px;
  border-color:rgba(56,189,248,.32);
  background:linear-gradient(145deg,rgba(31,47,59,.98),rgba(19,29,38,.98));
  box-shadow:0 12px 32px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.035);
}
.shopping-list-symbol{background:rgba(56,189,248,.16)}
.shopping-list-selector small{font-size:10px}
.shopping-list-count{display:inline-flex;align-items:center;justify-content:center;font-size:11px;background:rgba(3,9,14,.46)}
.shopping-section{
  padding:17px;
  border-radius:23px;
}
.shopping-selected-section{
  border:1px solid rgba(125,211,252,.42);
  background:linear-gradient(155deg,#21323d 0,#17242d 72%);
  box-shadow:0 20px 48px rgba(0,0,0,.3),inset 0 3px 0 rgba(56,189,248,.78);
}
.shopping-catalog-section{
  border-color:rgba(148,163,184,.16);
  background:linear-gradient(160deg,#121b24,#0b1219 82%);
  box-shadow:0 14px 36px rgba(0,0,0,.24);
}
.shopping-section-heading{align-items:center;margin-bottom:16px}
.shopping-section-heading span{font-size:10px;letter-spacing:.09em}
.shopping-selected-section .shopping-section-heading span{
  width:max-content;
  padding:5px 8px;
  border:1px solid rgba(125,211,252,.24);
  border-radius:999px;
  background:rgba(56,189,248,.1);
  color:#aee8ff;
}
.shopping-catalog-section .shopping-section-heading span{color:#9aaaba}
.shopping-section-heading h1,.shopping-section-heading h2{margin-top:6px;font-size:22px;letter-spacing:-.01em}
.shopping-section-heading>small{max-width:220px;color:#a4b1bd;font-size:10.5px;line-height:1.4}
.shopping-selected-groups{gap:18px}
.shopping-selected-category{gap:9px}
.shopping-selected-category+.shopping-selected-category{padding-top:15px;border-top-color:rgba(226,232,240,.13)}
.shopping-selected-category-heading{padding:0 4px}
.shopping-selected-category-heading strong{color:#f8fafc;font-size:14px;letter-spacing:.005em}
.shopping-selected-category-heading small{color:#a9bac6;font-size:9.5px}
.shopping-selected-grid{gap:11px}
.shopping-selected-card{
  grid-template-columns:minmax(0,1fr) 40px;
  border-color:rgba(163,224,247,.34);
  border-radius:17px;
  background:linear-gradient(145deg,#304b59,#263d49);
  box-shadow:0 8px 20px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.045);
}
.shopping-selected-main{
  min-height:82px;
  grid-template-columns:34px minmax(0,1fr);
  gap:10px;
  padding:11px 7px 11px 11px;
}
.shopping-item-check{
  width:34px;
  height:34px;
  border-color:rgba(186,230,253,.7);
  border-radius:11px;
  background:#38bdf8;
  color:#062333;
  box-shadow:0 5px 14px rgba(14,165,233,.24);
  font-size:15px;
}
.shopping-selected-main>span:last-child{gap:5px}
.shopping-selected-main strong{
  display:-webkit-box;
  overflow:hidden;
  white-space:normal;
  font-size:14px;
  line-height:1.22;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
.shopping-selected-main small{color:#d4e2e8;font-size:10.5px;line-height:1.38}
.shopping-selected-main.pressing{background:rgba(125,211,252,.12)}
.shopping-item-edit{
  border-left-color:rgba(226,232,240,.16);
  background:rgba(5,16,23,.2);
  color:#e0f2fe;
  font-size:18px;
}
.shopping-category-groups{gap:11px}
.shopping-category-card{
  border-color:rgba(148,163,184,.2);
  border-radius:17px;
  background:#111a22;
}
.shopping-category-card.open{border-color:rgba(125,211,252,.32)}
.shopping-recent-card{border-color:rgba(74,222,128,.22);background:#12221e}
.shopping-recent-card.open{border-color:rgba(74,222,128,.38)}
.shopping-category-toggle{padding:14px;background:rgba(255,255,255,.025)}
.shopping-recent-card .shopping-category-toggle{background:rgba(34,197,94,.07)}
.shopping-category-toggle>span{gap:4px}
.shopping-category-toggle strong{font-size:15px}
.shopping-category-toggle small{color:#9dabb8;font-size:10px;line-height:1.35}
.shopping-product-grid,.shopping-search-results{gap:9px;padding:10px}
.shopping-product-tile{
  min-height:74px;
  grid-template-columns:34px minmax(0,1fr) auto;
  gap:9px;
  padding:10px;
  border-color:rgba(148,163,184,.22);
  border-radius:14px;
  background:#1a2530;
  box-shadow:0 5px 14px rgba(0,0,0,.17),inset 0 1px 0 rgba(255,255,255,.025);
}
.shopping-product-tile:hover,.shopping-product-tile:focus-visible{border-color:rgba(56,189,248,.48);background:#1e303c}
.shopping-product-tile.in-list{border-color:rgba(74,222,128,.32);background:#192b29}
.shopping-product-placeholder{width:34px;height:34px;border-radius:11px;background:rgba(56,189,248,.12);font-size:13px}
.shopping-product-copy{gap:4px}
.shopping-product-copy strong{
  display:-webkit-box;
  overflow:hidden;
  white-space:normal;
  font-size:13px;
  line-height:1.25;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
.shopping-product-copy small{color:#a8b4c0;font-size:9.5px}
.shopping-product-tile>b{
  min-width:29px;
  height:29px;
  display:grid;
  place-items:center;
  padding:0 7px;
  border-radius:999px;
  background:rgba(56,189,248,.12);
  color:#9be3ff;
  font-size:17px;
}
.shopping-product-tile.in-list>b{background:rgba(34,197,94,.13);color:#9ff0b9;font-size:9px}
.shopping-recent-empty{padding:20px 14px}.shopping-recent-empty strong{font-size:12px}.shopping-recent-empty small{font-size:10px}
.shopping-search-bar{border-color:rgba(56,189,248,.48);background:rgba(16,25,34,.97)}
.shopping-search-bar strong{font-size:15px}.shopping-search-bar small{color:#a4b1bd;font-size:10px}

@media(max-width:430px){
  .shopping-home-app{padding-left:10px;padding-right:10px}
  .shopping-home-main{gap:14px}
  .shopping-list-banner{grid-template-columns:minmax(0,1fr) auto;padding:10px}
  .shopping-list-count{display:inline-flex;padding:7px 9px}
  .shopping-section{padding:14px}
  .shopping-section-heading{align-items:flex-start;margin-bottom:14px}
  .shopping-section-heading h1,.shopping-section-heading h2{font-size:20px}
  .shopping-section-heading>small{max-width:130px;font-size:9.5px}
  .shopping-selected-grid{gap:8px}
  .shopping-selected-card{position:relative;display:block;min-height:112px;border-radius:15px}
  .shopping-selected-main{width:100%;min-height:112px;display:flex;align-items:flex-start;flex-direction:column;gap:8px;padding:10px}
  .shopping-item-check{width:29px;height:29px;border-radius:9px;font-size:13px}
  .shopping-selected-main>span:last-child{width:100%}
  .shopping-selected-main strong{font-size:13px}
  .shopping-selected-main small{font-size:10px}
  .shopping-item-edit{position:absolute;z-index:1;top:9px;right:9px;width:31px;height:31px;border:1px solid rgba(226,232,240,.16);border-radius:9px;background:rgba(5,16,23,.32);font-size:15px}
  .shopping-product-grid,.shopping-search-results{gap:8px;padding:8px}
  .shopping-product-tile{position:relative;min-height:106px;display:flex;align-items:flex-start;flex-direction:column;gap:8px;padding:9px;border-radius:13px}
  .shopping-product-placeholder{width:32px;height:32px;border-radius:10px;font-size:12px}
  .shopping-product-copy{width:100%;padding-right:1px}
  .shopping-product-copy strong{font-size:12.5px}
  .shopping-product-copy small{font-size:9px}
  .shopping-product-tile>b{position:absolute;top:10px;right:9px;min-width:27px;height:27px;padding:0 6px}
  .shopping-search-results .shopping-product-tile{min-height:106px}
}
@media(max-width:350px){
  .shopping-section-heading>small{display:none}
  .shopping-item-check{display:none}
  .shopping-product-placeholder{display:none}
}

/* Family Suite v6.1.69 · navegación, Shopping, Meals y selectores ágiles de Health */
.module-grid{margin-bottom:12px}
.meals-category-filter{grid-template-columns:1fr}
.meals-page .meals-selector-item.is-favorite .meals-selector-dish-icon{
  border:1px solid rgba(251,191,36,.26);
  background:rgba(251,191,36,.12);
  color:#fde68a;
}

.shopping-selected-card{
  position:relative;
  display:block;
  min-height:0;
  overflow:hidden;
}
.shopping-selected-main{
  width:100%;
  min-height:82px;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-content:center;
  gap:7px;
  padding:12px 12px 12px 13px;
}
.shopping-selected-card.without-details .shopping-selected-main{min-height:70px;padding-bottom:25px}
.shopping-selected-main>strong{
  display:-webkit-box;
  width:100%;
  overflow:hidden;
  color:#fff;
  font-size:17px;
  line-height:1.18;
  white-space:normal;
  overflow-wrap:anywhere;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
.shopping-selected-main>small{
  display:-webkit-box;
  overflow:hidden;
  padding-right:39px;
  color:#dce9ee;
  font-size:11px;
  line-height:1.35;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}

/* Family Suite v7.0.0-dev.14 · estado y cambios pendientes sin conexión */
.offline-status{
  min-height:42px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:9px 12px;
  border:1px solid rgba(56,189,248,.3);
  border-radius:14px;
  background:rgba(15,38,52,.9);
  color:#dff6ff;
  box-shadow:0 8px 22px rgba(0,0,0,.18);
}
.offline-status[hidden]{display:none}
.offline-status-dot{width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:#38bdf8;box-shadow:0 0 0 4px rgba(56,189,248,.14)}
.offline-status strong{min-width:0;flex:1;font-size:12px;line-height:1.3}
.offline-status button{border:1px solid rgba(255,255,255,.2);border-radius:9px;background:rgba(255,255,255,.08);color:inherit;padding:6px 9px;font-size:10px;font-weight:850}
.offline-status.is-offline{border-color:rgba(251,191,36,.34);background:rgba(66,45,10,.88);color:#fef3c7}
.offline-status.is-offline .offline-status-dot{background:#fbbf24;box-shadow:0 0 0 4px rgba(251,191,36,.14)}
.offline-status.has-failed{border-color:rgba(248,113,113,.4);background:rgba(69,20,26,.9);color:#fee2e2}
.offline-status.has-failed .offline-status-dot{background:#f87171;box-shadow:0 0 0 4px rgba(248,113,113,.14)}
.shopping-selected-card.is-pending{border-style:dashed;border-color:rgba(251,191,36,.65)}
.shopping-item-pending{position:absolute;right:8px;bottom:6px;padding:3px 6px;border-radius:999px;background:rgba(251,191,36,.16);color:#fde68a;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.shopping-item-edit{
  position:absolute;
  z-index:2;
  top:auto;
  right:8px;
  bottom:8px;
  width:31px;
  height:31px;
  display:grid;
  place-items:center;
  border:1px solid rgba(226,232,240,.18);
  border-radius:9px;
  background:rgba(5,16,23,.34);
  color:#e0f2fe;
  font-size:15px;
}
.shopping-item-edit:hover,.shopping-item-edit:focus-visible{border-color:rgba(125,211,252,.55);background:rgba(14,165,233,.16)}
.shopping-product-copy:has(>strong:only-child){align-content:center}

.health-choice-native{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  margin:-1px!important;
  padding:0!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  border:0!important;
}
.health-choice-trigger{
  width:100%;
  min-height:47px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  border:1px solid rgba(148,163,184,.18);
  border-radius:14px;
  padding:12px 13px;
  background:#111923;
  color:#94a3b8;
  font:inherit;
  text-align:left;
  cursor:pointer;
}

.health-choice-trigger.has-value{color:#f8fafc}
.health-choice-trigger>b{color:var(--module-accent,#60a5fa);font-size:20px}
.health-choice-trigger:focus-visible{border-color:var(--module-accent,#60a5fa);outline:3px solid rgba(96,165,250,.14);outline-offset:2px}
.health-choice-trigger:disabled{opacity:.55;cursor:not-allowed}
body.health-choice-open{overflow:hidden}
.health-choice-layer{
  position:fixed;
  inset:0;
  z-index:550;
  display:grid;
  place-items:center;
  padding:calc(env(safe-area-inset-top) + 18px) 18px calc(env(safe-area-inset-bottom) + 18px);
  opacity:0;
  transition:opacity .17s ease;
}
.health-choice-layer.show{opacity:1}
.health-choice-backdrop{position:absolute;inset:0;background:rgba(2,6,14,.84);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.health-choice-card{
  position:relative;
  width:min(100%,520px);
  max-height:min(84dvh,720px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(96,165,250,.34);
  border-radius:25px;
  padding:20px;
  background:radial-gradient(circle at 50% 0,rgba(96,165,250,.14),transparent 42%),linear-gradient(155deg,#202938,#111720 75%);
  box-shadow:0 30px 95px rgba(0,0,0,.7);
  transform:translateY(18px) scale(.97);
  transition:transform .2s cubic-bezier(.2,.85,.25,1.08);
}
.health-choice-layer.show .health-choice-card{transform:none}
.health-choice-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}
.health-choice-head small{display:block;margin-bottom:3px;color:#93c5fd;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.health-choice-head h2{margin:0;color:#f8fafc;font-size:23px}
.health-choice-close{width:40px;height:40px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.055);color:#f8fafc;font-size:25px;cursor:pointer}
.health-choice-search{display:block;margin-bottom:11px}
.health-choice-search[hidden]{display:none}
.health-choice-search input{width:100%;min-height:47px;border:1px solid rgba(148,163,184,.2);border-radius:14px;padding:12px 14px;background:#0d151f;color:#f8fafc;outline:0;font:inherit}
.health-choice-search input:focus{border-color:#60a5fa;box-shadow:0 0 0 3px rgba(96,165,250,.13)}
.health-choice-options{display:grid;gap:8px;overflow:auto;overscroll-behavior:contain;padding:1px 2px 2px}
.health-choice-option{
  width:100%;
  min-height:52px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  border:1px solid rgba(148,163,184,.14);
  border-radius:15px;
  padding:12px 14px;
  background:rgba(255,255,255,.035);
  color:#e2e8f0;
  font:inherit;
  font-weight:800;
  text-align:left;
  cursor:pointer;
}
.health-choice-option>b{color:#93c5fd;font-size:19px}
.health-choice-option:hover,.health-choice-option:focus-visible{border-color:rgba(96,165,250,.55);background:rgba(96,165,250,.09);outline:0}
.health-choice-option.selected{border-color:rgba(96,165,250,.45);background:rgba(96,165,250,.13);color:#fff}
.health-choice-option.selected>b{width:27px;height:27px;display:grid;place-items:center;border-radius:9px;background:#3b82f6;color:#fff;font-size:13px}
.health-choice-empty{margin:4px 0 0;padding:25px 14px;border:1px dashed rgba(148,163,184,.2);border-radius:15px;color:#94a3b8;text-align:center}
@media(max-width:600px){
  .shopping-selected-main>strong{font-size:15px}
  .shopping-selected-main>small{font-size:10.5px}
  .health-choice-layer{align-items:end;padding:0}
  .health-choice-card{width:100%;max-height:92dvh;border-radius:25px 25px 0 0;padding:18px 14px calc(16px + env(safe-area-inset-bottom));transform:translateY(22px)}
  .health-choice-option{min-height:55px;padding:13px}
}
@media(prefers-reduced-motion:reduce){
  .health-choice-layer,.health-choice-card{transition:none!important}
}

/* Family Suite v2 · Fase 3: cuentas, familias, personas e invitaciones */
.identity-page{
  display:block;
  min-height:100vh;
  background:radial-gradient(circle at 50% -10%,#253650 0,#101722 38%,#080b10 82%);
  color:#f8fafc;
}
.identity-shell{width:min(100%,860px);min-height:100vh;margin:0 auto;padding:calc(env(safe-area-inset-top) + 24px) 20px calc(env(safe-area-inset-bottom) + 34px)}
.identity-admin-shell{width:min(100%,980px)}
.identity-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:34px}
.identity-brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.identity-brand img{width:48px;height:48px;border-radius:15px}.identity-brand span{display:grid;gap:2px}.identity-brand small{color:#93c5fd;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.identity-brand strong{font-size:19px}
.identity-link-btn,.identity-back{border:1px solid rgba(147,197,253,.2);border-radius:12px;padding:10px 13px;background:rgba(30,41,59,.66);color:#dbeafe;font-weight:800;text-decoration:none;cursor:pointer}
.identity-header-badge{padding:7px 11px;border:1px solid rgba(96,165,250,.3);border-radius:999px;background:rgba(59,130,246,.12);color:#bfdbfe;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.identity-hero{margin:0 0 24px;padding:2px 2px 10px}.identity-hero h1{margin:4px 0 8px;font-size:clamp(31px,6vw,48px)}.identity-hero>p:last-child{max-width:660px;margin:0;color:#aeb9c8;line-height:1.6}.identity-eyebrow{margin:0;color:#60a5fa;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}
.identity-admin-hero h1{font-size:clamp(30px,5vw,43px)}
.identity-panel{margin-top:17px;padding:21px;border:1px solid rgba(148,163,184,.13);border-radius:23px;background:linear-gradient(150deg,rgba(31,41,55,.91),rgba(16,23,34,.94));box-shadow:0 18px 45px rgba(0,0,0,.2)}
.identity-section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:17px}.identity-section-head small,.identity-danger-zone small{display:block;margin-bottom:4px;color:#93c5fd;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.09em}.identity-section-head h2,.identity-danger-zone h2{margin:0;font-size:22px}.identity-count{min-width:31px;height:31px;display:grid;place-items:center;padding:0 8px;border-radius:999px;background:rgba(96,165,250,.14);color:#bfdbfe;font-size:12px;font-weight:900}
.identity-list{display:grid;gap:10px}.identity-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:16px;border:1px solid rgba(148,163,184,.12);border-radius:17px;background:rgba(255,255,255,.032)}.identity-item.is-default{border-color:rgba(96,165,250,.38);background:rgba(59,130,246,.08)}.identity-item.is-archived{opacity:.7}.identity-item.compact{padding:13px 15px}.identity-item-copy{min-width:0}.identity-item-overline{display:block;margin-bottom:4px;color:#93c5fd;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.055em}.identity-item-copy h3{margin:0;font-size:18px;overflow-wrap:anywhere}.identity-item-copy p{margin:6px 0 0;color:#9aa8b9;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.identity-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.identity-actions-wrap{flex-wrap:wrap}.identity-actions button,.identity-actions a{white-space:nowrap}
.identity-primary-small,.identity-secondary-small,.identity-danger-link{min-height:37px;border-radius:11px;padding:9px 12px;font-size:12px;font-weight:900;text-decoration:none;cursor:pointer}.identity-primary-small{border:0;background:#3b82f6;color:white}.identity-secondary-small{border:1px solid rgba(147,197,253,.22);background:rgba(59,130,246,.09);color:#bfdbfe}.identity-danger-link{border:1px solid transparent;background:transparent;color:#fca5a5}
.identity-empty{padding:27px 18px;border:1px dashed rgba(148,163,184,.18);border-radius:17px;text-align:center}.identity-empty>span{font-size:32px;color:#60a5fa}.identity-empty h3{margin:8px 0 5px}.identity-empty p{max-width:470px;margin:0 auto;color:#8f9daf;font-size:13px;line-height:1.5}
.identity-form{display:grid;gap:15px}.identity-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.identity-form-row{grid-template-columns:minmax(0,1fr) auto;align-items:end}.identity-form label{display:grid;gap:7px;color:#cbd5e1;font-size:12px;font-weight:800}.identity-form input,.identity-form select{width:100%;min-height:47px;border:1px solid rgba(148,163,184,.18);border-radius:13px;padding:11px 13px;background:#0e1621;color:#f8fafc;outline:none}.identity-form input:focus,.identity-form select:focus{border-color:#60a5fa;box-shadow:0 0 0 3px rgba(96,165,250,.1)}.identity-form select option{background:#0e1621}.identity-form-note{margin:0;color:#8290a2;font-size:11px;line-height:1.45}.identity-form-actions{display:flex;gap:10px;flex-wrap:wrap}
.identity-primary-btn,.identity-secondary-btn,.identity-danger-btn{min-height:47px;border-radius:14px;padding:12px 17px;font-weight:900;cursor:pointer}.identity-primary-btn{border:0;background:linear-gradient(135deg,#3b82f6,#2563eb);color:white;box-shadow:0 10px 22px rgba(37,99,235,.2)}.identity-secondary-btn{border:1px solid rgba(147,197,253,.24);background:rgba(59,130,246,.1);color:#bfdbfe}.identity-danger-btn{border:1px solid rgba(248,113,113,.32);background:rgba(239,68,68,.11);color:#fecaca}.identity-primary-btn:disabled,.identity-secondary-btn:disabled,.identity-danger-btn:disabled,.identity-actions button:disabled{opacity:.5;cursor:wait}
.identity-message{margin:0 0 17px;padding:13px 15px;border:1px solid rgba(248,113,113,.3);border-radius:14px;background:rgba(239,68,68,.09);color:#fecaca;font-size:13px;line-height:1.45}.identity-message.success{border-color:rgba(52,211,153,.28);background:rgba(16,185,129,.08);color:#a7f3d0}
.identity-subsection{margin-top:20px;padding-top:18px;border-top:1px solid rgba(148,163,184,.12)}.identity-subsection>h3{margin:0 0 12px;font-size:16px}.identity-chip-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:17px}.identity-chip{display:flex;align-items:center;gap:4px;padding:5px 6px 5px 11px;border:1px solid rgba(96,165,250,.23);border-radius:999px;background:rgba(59,130,246,.08);color:#dbeafe;font-size:12px;font-weight:800}.identity-chip.is-inactive{filter:grayscale(1);opacity:.55}.identity-chip button{border:0;background:transparent;color:#93c5fd;padding:5px;cursor:pointer;font-size:10px}.identity-danger-zone{display:flex;align-items:center;justify-content:space-between;gap:20px;border-color:rgba(248,113,113,.2);background:rgba(127,29,29,.08)}.identity-danger-zone small{color:#fca5a5}.identity-danger-zone p{margin:6px 0 0;color:#a99ca3;font-size:12px}.identity-version{margin:26px 0 0;text-align:center;color:#64748b;font-size:11px}
.invitation-accept-card .secondary-btn{margin-top:10px}
.suite-family-context{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:17px;padding:14px 16px;border:1px solid rgba(96,165,250,.2);border-radius:16px;background:rgba(59,130,246,.07)}.suite-family-context>div:first-child{display:grid;gap:3px}.suite-family-context small{color:#93c5fd;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.suite-family-context strong{font-size:16px}.suite-family-context span{color:#94a3b8;font-size:11px}.suite-family-actions{display:flex;gap:7px}.suite-family-actions a{padding:8px 10px;border:1px solid rgba(147,197,253,.2);border-radius:10px;color:#bfdbfe;font-size:11px;font-weight:800;text-decoration:none}
@media(max-width:700px){
  .identity-shell{padding-left:13px;padding-right:13px}.identity-header{margin-bottom:28px}.identity-panel{padding:16px;border-radius:19px}.identity-item{grid-template-columns:1fr}.identity-actions{justify-content:flex-start}.identity-form-grid{grid-template-columns:1fr}.identity-form-row{grid-template-columns:1fr}.identity-danger-zone{align-items:flex-start;flex-direction:column}.identity-danger-btn{width:100%}.identity-chip{max-width:100%}.identity-chip span{overflow:hidden;text-overflow:ellipsis}.suite-family-context{align-items:flex-start;flex-direction:column}.suite-family-actions{width:100%}.suite-family-actions a{flex:1;text-align:center}
}
@media(max-width:390px){.identity-actions-wrap{display:grid;grid-template-columns:1fr 1fr;width:100%}.identity-actions-wrap button{text-align:center}.identity-link-btn{font-size:12px}.identity-hero h1{font-size:31px}}

/* Family Suite v6.1.70 · gestos de productos en Family Shopping */
#shoppingItemModal{z-index:2510}
.shopping-selected-card.without-details .shopping-selected-main{padding-bottom:12px}
.shopping-selected-main>small{padding-right:0}
.shopping-product-tile{
  touch-action:pan-y;
  user-select:none;
  -webkit-user-select:none;
  -webkit-touch-callout:none;
  transition:transform .12s ease,border-color .12s ease,background .12s ease;
}
.shopping-product-tile.pressing{transform:scale(.97);border-color:rgba(125,211,252,.58);background:rgba(56,189,248,.13)}

/* Family Suite v6.1.73 · edición directa del catálogo de platos */
.meals-catalog-card[data-edit-card]{cursor:pointer;transition:border-color .15s,background .15s,transform .12s}
.meals-catalog-card[data-edit-card]:hover{border-color:rgba(251,146,60,.34);background:rgba(251,146,60,.065)}
.meals-catalog-card[data-edit-card]:active{transform:scale(.995)}

/* Family Suite v2 · permisos por módulo */
.permission-fixed{border-color:rgba(96,165,250,.28);background:linear-gradient(145deg,rgba(37,99,235,.12),rgba(16,23,34,.95))}
.permission-fixed small{display:block;margin-bottom:4px;color:#93c5fd;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.09em}
.permission-fixed h2{margin:0;font-size:22px}.permission-fixed p,.permission-manager-copy{margin:7px 0 0;color:#aab6c5;font-size:13px;line-height:1.55}
.permission-profile-badge,.permission-level-badge{padding:6px 9px;border:1px solid rgba(96,165,250,.25);border-radius:999px;background:rgba(59,130,246,.1);color:#bfdbfe;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.055em}
.permission-presets{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-bottom:12px}
.permission-presets button{display:grid;gap:6px;min-height:96px;padding:15px;border:1px solid rgba(148,163,184,.15);border-radius:16px;background:rgba(255,255,255,.03);color:#f8fafc;text-align:left;cursor:pointer}
.permission-presets button strong{font-size:17px}.permission-presets button span{color:#95a3b5;font-size:11px;line-height:1.45}
.permission-presets button:hover,.permission-presets button:focus-visible,.permission-presets button.is-active{border-color:rgba(96,165,250,.55);background:rgba(59,130,246,.1);outline:none}
.permission-presets button:disabled{opacity:.55;cursor:wait}
.permission-modules{display:grid;gap:0}.permission-module-card{box-shadow:none}
.permission-module-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.permission-module-head small{display:block;margin-bottom:4px;color:#8fa0b4;font-size:10px}.permission-module-head h2{margin:0;font-size:21px}
.permission-module-form{display:grid;gap:14px}.permission-module-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.permission-module-fields label{display:grid;gap:7px;color:#cbd5e1;font-size:12px;font-weight:800}.permission-module-fields select{width:100%;min-height:45px;border:1px solid rgba(148,163,184,.18);border-radius:13px;padding:10px 12px;background:#0e1621;color:#f8fafc;outline:none}.permission-module-fields select:focus{border-color:#60a5fa;box-shadow:0 0 0 3px rgba(96,165,250,.1)}.permission-module-fields select:disabled{opacity:.5}
.permission-people{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:12px;border:1px solid rgba(148,163,184,.13);border-radius:15px}.permission-people[hidden]{display:none}.permission-people legend{padding:0 6px;color:#93c5fd;font-size:10px;font-weight:900;text-transform:uppercase}
.permission-person-choice{position:relative}.permission-person-choice input{position:absolute;opacity:0;pointer-events:none}.permission-person-choice span{display:block;padding:8px 11px;border:1px solid rgba(148,163,184,.15);border-radius:999px;background:rgba(255,255,255,.035);color:#cbd5e1;font-size:11px;font-weight:800;cursor:pointer}.permission-person-choice input:checked+span{border-color:rgba(96,165,250,.55);background:rgba(59,130,246,.13);color:#dbeafe}
@media(max-width:700px){.permission-presets,.permission-module-fields{grid-template-columns:1fr}.permission-module-head{align-items:flex-start}.permission-module-form>.identity-primary-btn{width:100%}}

/* Family Suite v2 · ficha independiente de persona, saldos y avatares */
.person-profile-shell{width:min(100%,920px)}
.person-profile-hero{display:flex;align-items:center;gap:19px;margin-bottom:22px;padding:20px;border:1px solid rgba(96,165,250,.2);border-radius:23px;background:linear-gradient(135deg,rgba(37,99,235,.13),rgba(15,23,42,.82))}
.person-profile-hero h1{margin:3px 0 6px;font-size:clamp(28px,5vw,42px)}
.person-profile-hero>div>p:last-child{margin:0;color:#9dacbe;font-size:13px;line-height:1.45}
.person-profile-avatar{width:92px;height:92px;flex:0 0 92px;display:grid;place-items:center;border:1px solid rgba(147,197,253,.3);border-radius:26px;padding:5px;background:rgba(3,7,18,.62);cursor:pointer;overflow:hidden}
.person-profile-avatar img{width:100%;height:100%;border-radius:20px;object-fit:cover}
.person-level-badge{padding:7px 11px;border:1px solid rgba(250,204,21,.25);border-radius:999px;background:rgba(234,179,8,.1);color:#fde68a;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.055em}
.person-balance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.person-balance-field{display:grid;gap:7px;padding:14px;border:1px solid rgba(148,163,184,.14);border-radius:17px;background:rgba(2,6,23,.32);font-size:12px;font-weight:900}
.person-balance-field.green{color:#86efac}.person-balance-field.red{color:#fca5a5}.person-balance-field.xp{color:#fde68a}
.person-balance-field input{width:100%;min-height:49px;border:1px solid rgba(148,163,184,.18);border-radius:12px;padding:10px 12px;background:#0b1320;color:#f8fafc;font-size:21px;font-weight:900;outline:none}
.person-balance-field input:focus{border-color:currentColor;box-shadow:0 0 0 3px rgba(96,165,250,.1)}
.person-progress-preview{margin-top:13px;padding:12px 14px;border:1px solid rgba(250,204,21,.15);border-radius:13px;background:rgba(234,179,8,.055);color:#d8dee9;font-size:12px;line-height:1.45}
.person-avatar-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:17px}.person-avatar-heading small{display:block;margin-bottom:4px;color:#93c5fd;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.09em}.person-avatar-heading h2{margin:0;font-size:22px}.person-avatar-heading p{margin:6px 0 0;color:#8f9daf;font-size:12px;line-height:1.45}
.person-file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.person-avatar-list{display:grid;gap:10px}
.person-avatar-item{display:grid;grid-template-columns:68px minmax(0,1fr) auto auto;align-items:center;gap:13px;padding:12px;border:1px solid rgba(148,163,184,.13);border-radius:17px;background:rgba(255,255,255,.025)}
.person-avatar-thumb{width:68px;height:68px;border:1px solid rgba(147,197,253,.2);border-radius:17px;padding:3px;background:#080f19;cursor:pointer;overflow:hidden}.person-avatar-thumb img{width:100%;height:100%;border-radius:13px;object-fit:cover}
.person-avatar-copy{display:grid;gap:6px;min-width:0}.person-avatar-copy>strong{font-size:16px}.person-avatar-copy label{display:flex;align-items:center;gap:7px;color:#9aa8b9;font-size:11px}.person-avatar-xp{width:96px;min-height:37px;border:1px solid rgba(148,163,184,.18);border-radius:10px;padding:7px 9px;background:#0e1621;color:#f8fafc;font-weight:900}.person-avatar-xp:read-only{color:#94a3b8}
.person-avatar-order{display:grid;grid-template-columns:1fr 1fr;gap:5px}.person-avatar-order button{width:34px;height:34px;border:1px solid rgba(147,197,253,.18);border-radius:10px;background:rgba(59,130,246,.08);color:#bfdbfe;font-weight:900;cursor:pointer}.person-avatar-order button:disabled{opacity:.3;cursor:default}
.person-avatar-remove{min-height:37px}
.person-avatar-empty{padding:29px 18px;border:1px dashed rgba(148,163,184,.18);border-radius:17px;text-align:center}.person-avatar-empty>span{font-size:30px}.person-avatar-empty strong{display:block;margin:8px 0 5px}.person-avatar-empty p{margin:0;color:#8997aa;font-size:12px}
.person-profile-actions{position:sticky;bottom:10px;z-index:4;display:flex;justify-content:flex-end;gap:10px;margin-top:18px;padding:11px;border:1px solid rgba(148,163,184,.14);border-radius:17px;background:rgba(10,15,24,.92);box-shadow:0 15px 35px rgba(0,0,0,.32);backdrop-filter:blur(14px)}
.person-profile-actions a{display:flex;align-items:center;justify-content:center;text-decoration:none}
@media(max-width:700px){
  .person-profile-hero{align-items:flex-start;padding:16px}.person-profile-avatar{width:76px;height:76px;flex-basis:76px;border-radius:22px}.person-profile-avatar img{border-radius:17px}
  .person-balance-grid{grid-template-columns:1fr}.person-avatar-heading{align-items:stretch;flex-direction:column}.person-avatar-heading .identity-secondary-btn{width:100%}
  .person-avatar-item{grid-template-columns:58px minmax(0,1fr) auto}.person-avatar-thumb{width:58px;height:58px}.person-avatar-order{grid-row:2;grid-column:2}.person-avatar-remove{grid-row:2;grid-column:3;padding:7px}
  .person-avatar-copy label{align-items:flex-start;flex-direction:column}.person-profile-actions>*{flex:1}
}
