:root{
  --bg:#f7fafd; --surface:#ffffff; --text:#0e1b29; --muted:#6c7a88; --line:#e3eaf2; --primary:#0a84ff; --success:#34c759;
  --radius:16px; --gap:20px; --shadow:0 18px 36px rgba(14,27,41,.08);
  --btn-height:52px; --btn-radius:14px; --btn-font:16px; --btn-shadow:0 10px 22px rgba(10,132,255,.18);
  --wrap-width:min(820px, calc(100% - clamp(32px,6vw,120px)));
  --space:clamp(16px, 4vw, 28px);
  --title-size:clamp(26px, 3vw + 1rem, 34px);
  --card-padding:clamp(18px, 3vw, 26px);
  --hero-image:url('../img/baby.jpg');
  --hero-tint:rgba(247,250,255,.86);
  --btn-border-glow:linear-gradient(120deg, rgba(80,169,255,.85), rgba(173,108,255,.68), rgba(255,255,255,.92));
  --btn-sheen:linear-gradient(160deg, rgba(255,255,255,.32), rgba(255,255,255,0) 72%);
  --btn-base:linear-gradient(140deg, rgba(14,24,44,.42), rgba(44,59,94,.18));

  /* Chart Colors - Light Mode */
  --chart-text-color: #11243f;
  --chart-grid-color: rgba(32, 52, 88, 0.15);
  --chart-breast-color: rgba(37, 99, 235, 0.7);
  --chart-bottle-color: rgba(249, 115, 22, 0.7);
  --chart-diaper-pee-color: rgba(14, 165, 233, 0.85);
  --chart-diaper-poop-color: rgba(234, 88, 12, 0.85);
  --chart-diaper-both-color: rgba(139, 92, 246, 0.85);
}
:root.dark-mode{
  --bg:#0b1424; --surface:rgba(16,26,44,.9); --text:#f7f9ff; --muted:#aab7cf; --line:rgba(110,132,168,.42); --primary:#7eb4ff; --success:#4cd964;
  --shadow:0 28px 56px rgba(6,12,26,.48);
  --hero-tint:rgba(8,14,26,.58);
  --btn-border-glow:linear-gradient(120deg, rgba(118,182,255,.85), rgba(153,124,255,.68), rgba(255,255,255,.35));
  --btn-sheen:linear-gradient(160deg, rgba(255,255,255,.24), rgba(255,255,255,0) 72%);
  --btn-base:linear-gradient(140deg, rgba(28,44,78,.65), rgba(46,74,116,.38));

  /* Chart Colors - Dark Mode */
  --chart-text-color: #f5f7ff;
  --chart-grid-color: rgba(255, 255, 255, 0.15);
  --chart-breast-color: rgba(129, 178, 255, 0.7);
  --chart-bottle-color: rgba(253, 164, 71, 0.7);
  --chart-diaper-pee-color: rgba(56, 189, 248, 0.85);
  --chart-diaper-poop-color: rgba(251, 146, 60, 0.85);
  --chart-diaper-both-color: rgba(167, 139, 250, 0.85);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display",system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  min-height:100vh;
  position:relative;
  overflow-x:hidden;
  overflow-y:auto;
  text-shadow:0 1px 0 rgba(255,255,255,.55);
  line-height:1.55;
  background:var(--bg);
}
:root.dark-mode body{
  background:var(--bg);
  text-shadow:none;
  color:var(--text);
}
:root.dark-mode body::before{
  filter:saturate(118%) brightness(.85) contrast(110%);
  opacity:.88;
}
:root.dark-mode body::after{
  background:linear-gradient(165deg, rgba(5,9,18,.28), rgba(7,12,24,.62)), var(--hero-tint);
  opacity:.9;
}
body.modal-open{overflow:hidden} /* No change here, just for context */
body::before,body::after{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;transition:opacity .6s ease}
body::before{background-image:var(--hero-image);background-size:cover;background-position:50% 32%;background-repeat:no-repeat;filter:saturate(108%) contrast(102%);animation:subtle-zoom 40s ease-in-out infinite alternate;will-change:transform}
:root.no-hero-image body::before{opacity:0}
:root.no-hero-image body::after{background:linear-gradient(180deg,#f9fbff 0%,#eff3f8 100%)}
.wrap{
  width:var(--wrap-width);
  margin:0 auto;
  max-width:100%;
  padding:var(--space) calc(22px + env(safe-area-inset-left,0));
  padding-right:calc(22px + env(safe-area-inset-right,0));
  padding-bottom:clamp(32px,10vw,72px);
  animation:fadeSlide .5s ease-out both;
  transition:opacity .28s ease,filter .28s ease,transform .28s ease;
  display:grid;
  gap:clamp(20px,5vw,36px);
}
h1{font-size:var(--title-size);font-weight:800;margin:8px 0 22px;letter-spacing:-.3px;animation:softDrop .7s ease both .12s;line-height:1.12;color:#0c1f3a;text-shadow:0 1px 1px rgba(255,255,255,.7), 0 4px 12px rgba(8,16,40,.25)}
:root.dark-mode h1{color:var(--text);text-shadow:0 1px 0 rgba(0,0,0,.6)}
.title-bar{
  display:flex;
  align-items:center;
  gap:clamp(12px,4vw,20px);
  flex-wrap:wrap;
  margin:8px 0 22px;
}
.title-bar h1{margin:0;flex:1 1 auto}
.theme-toggle{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 16px;
  border-radius:999px;
  border:1px solid rgba(12,31,58,.18);
  background:rgba(12,31,58,.08);
  color:var(--text);
  font-size:14px;
  font-weight:600;
  letter-spacing:-.01em;
  cursor:pointer;
  box-shadow:0 10px 22px rgba(14,27,41,.12);
  transition:background .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease;
}
.theme-toggle:hover{
  background:rgba(12,31,58,.14);
  box-shadow:0 14px 28px rgba(14,27,41,.16);
}
.theme-toggle:active{transform:translateY(1px)}
.theme-toggle:focus-visible{outline:3px solid rgba(90,162,255,.4);outline-offset:3px}
.theme-toggle-track{
  width:42px;
  height:22px;
  border-radius:999px;
  background:rgba(12,31,58,.35);
  position:relative;
  transition:background .25s ease;
}
.theme-toggle-thumb{
  position:absolute;
  top:3px;
  left:3px;
  width:16px;
  height:16px;
  border-radius:50%;
  background:var(--surface);
  box-shadow:0 4px 10px rgba(12,24,40,.25);
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease;
}
.theme-toggle[aria-pressed="true"] .theme-toggle-track{background:var(--primary)}
.theme-toggle[aria-pressed="true"] .theme-toggle-thumb{transform:translateX(20px);box-shadow:0 4px 12px rgba(10,132,255,.45)}
.theme-toggle-label{white-space:nowrap}
:root.dark-mode .theme-toggle{
  background:rgba(245,247,255,.08);
  border-color:rgba(245,247,255,.22);
  box-shadow:0 12px 26px rgba(0,0,0,.4);
}
:root.dark-mode .theme-toggle:hover{
  background:rgba(245,247,255,.12);
  box-shadow:0 16px 32px rgba(0,0,0,.48);
}
:root.dark-mode .theme-toggle-track{
  background:rgba(245,247,255,.24);
}
:root.dark-mode .theme-toggle-thumb{
  background:rgba(255,255,255,.92);
  box-shadow:0 6px 14px rgba(0,0,0,.45);
}
.card{background:var(--surface);border:1px solid rgba(227,234,242,.7);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--card-padding);backdrop-filter:saturate(160%) blur(12px);animation:floatUp .7s ease both .18s;display:flex;align-items:center;gap:clamp(12px,4vw,20px)}
:root.dark-mode .card{
  background:rgba(18,28,48,.82);
  border:1px solid rgba(122,146,188,.45);
  box-shadow:0 28px 60px rgba(5,12,26,.48);
  backdrop-filter:saturate(175%) blur(18px);
}
.card .col{display:grid;gap:6px}
.row{display:flex;flex-wrap:wrap;gap:clamp(12px,3vw,20px);align-items:stretch} .col{flex:1}
.primary-actions{display:grid;gap:clamp(12px,4vw,24px);grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.primary-actions > .btn{display:inline-flex;justify-content:center;width:100%;min-height:var(--btn-height);font-size:clamp(15px,2.8vw,17px);box-shadow:0 18px 40px rgba(10,25,60,.18)}
.row-center{align-items:center;gap:16px}
.row-between{justify-content:space-between}
.action-row{flex-wrap:wrap}
.text-center {
  text-align: center;
}

.action-row .btn{flex:1 1 clamp(160px,45%,100%);min-width:calc(50% - var(--gap)/2)}
.action-row .btn + .btn{margin-top:0}
.avatar{width:72px;height:72px;border-radius:24px;background:linear-gradient(135deg,#f2f6fc,#e3ecfa);display:grid;place-items:center;font-size:32px;box-shadow:inset 0 2px 10px rgba(255,255,255,.9);border:0;cursor:pointer;transition:transform .2s ease, box-shadow .2s ease}
.avatar-btn:focus-visible{outline:3px solid rgba(10,132,255,.35);outline-offset:3px}
.avatar-btn:hover{transform:translateY(-1px);box-shadow:0 18px 34px rgba(14,27,41,.18)}
.avatar-btn:active{transform:translateY(0)}
.leo-name{font-size:20px;font-weight:800;letter-spacing:-.2px}
.info-btn{background:none;border:0;padding:0;text-align:left;color:inherit;display:grid;gap:4px;cursor:pointer;width:100%}
.info-btn:focus-visible{outline:3px solid rgba(10,132,255,.35);outline-offset:4px;border-radius:12px}
.chevron-btn{background:none;border:0;font-size:26px;color:rgba(14,27,41,.35);cursor:pointer;padding:4px 6px;border-radius:12px;transition:color .2s ease, transform .2s ease}
.chevron-btn:hover{color:var(--text);transform:translateX(2px)}
.chevron-btn:focus-visible{outline:3px solid rgba(10,132,255,.35);outline-offset:3px}
.title-bar + .card{margin-top:0}
.card-tap{cursor:pointer;transition:transform .25s ease, box-shadow .25s ease}
.card-tap:hover{transform:translateY(-2px);box-shadow:0 26px 50px rgba(14,27,41,.13)}
.card-tap:active{transform:translateY(0)}
.chevron{font-size:26px;color:rgba(14,27,41,.35);display:flex;align-items:center}
.section-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:space-between;padding:6px 4px;margin-bottom:4px}
.section-head strong{font-size:clamp(18px,3.5vw,20px);letter-spacing:-.01em}
.history-empty{padding:20px;text-align:center;color:var(--muted);border:1px dashed rgba(198,209,223,.6);border-radius:16px;background:rgba(255,255,255,.7);font-size:clamp(14px,3.2vw,15px);line-height:1.5}
.report-line{margin-top:18px;font-size:14px;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px 12px;background: rgba(255,255,255,.45);backdrop-filter: blur(18px) saturate(160%);-webkit-backdrop-filter: blur(18px) saturate(160%);border: 1px solid rgba(173,196,255,.46);border-radius: 16px;padding: 16px;box-shadow: 0 18px 36px rgba(8,16,40,.15);}
.report-line strong{color:var(--text);font-size:15px}
.report-line span{display:inline-flex;align-items:center;gap:6px;background:rgba(243,247,251,.8);padding:6px 10px;border-radius:999px;border:1px solid rgba(198,209,223,.35);color:var(--text);font-size:13px}
.stack .list{margin-top:4px}
.pane{display:grid;gap:var(--gap);flex-grow:1}
.pane-timer{justify-content:space-around}
.is-hidden{display:none !important}
.seg-sides{gap:0;margin:0 calc(-1 * var(--card-padding));border-radius:12px;overflow:hidden}
.seg-sides button{border-radius:0;border-left:1px solid rgba(198,209,223,.6)}
.seg-sides button:first-child{border-left:none}
.timer-shell{text-align:center;padding:24px 0}
.timer-shell .btn{margin-top:18px}
.time-note{min-height:1.2em;margin-top:6px}
.btn-compact{width:auto;padding:8px 14px;min-height:44px}
.btn.btn-ghost.btn-compact{
  background:rgba(255,255,255,.5);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.field-spaced{margin-top:12px}
.modal-header{align-items:center;justify-content:space-between;margin-bottom:6px}
.badge-live{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:rgba(10,110,255,.1);color:var(--primary);font-weight:600;font-size:13px}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  padding:0 22px;
  min-height:var(--btn-height);
  border-radius:var(--btn-radius);
  border:1px solid rgba(173,196,255,.46);
  cursor:pointer;
  font-weight:700;
  font-size:var(--btn-font);
  letter-spacing:.24px;
  text-transform:uppercase;
  text-decoration:none;
  transition:transform .22s ease, filter .24s ease, box-shadow .3s ease;
  color: var(--text);
  background: rgba(255,255,255,.45);
  box-shadow:0 18px 36px rgba(8,16,40,.15), inset 0 1px 0 1px rgba(255,255,255,.5);
  backdrop-filter:blur(18px) saturate(160%);
  -webkit-backdrop-filter:blur(18px) saturate(160%);
  position:relative;
  overflow:visible;
  isolation:isolate;
  transform-origin: center;
  text-shadow: 0 1px 1px rgba(255,255,255,.7);
}
.btn::before{
  content:"";
  position:absolute;
  inset:-4px;
  border-radius:inherit;
  background: var(--btn-border-glow);
  filter: blur(12px);
  opacity: .2;
  z-index:-2;
  transition: opacity .3s ease, filter .3s ease;
}
.btn::after{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:calc(var(--btn-radius) - 2px);
  background: linear-gradient(160deg, rgba(255,255,255,.6), rgba(255,255,255,0) 65%);
  opacity: 1;
  pointer-events:none;
  transition: opacity .3s ease;
}
.btn .btn-icon{
  display:inline-flex;
  margin-right:10px;
  font-size:1.15em;
  transition:transform .3s ease;
}
.primary-actions .btn .btn-icon{margin-right:12px;font-size:1.35em}
.btn .btn-subtext{
  display:block;
  font-size:12px;
  letter-spacing:0;
  opacity:.8;
  text-transform:none;
}
:root.dark-mode .btn{
  color:var(--text);
  background:linear-gradient(165deg, rgba(30,46,78,.82), rgba(54,74,112,.7));
  border:1px solid rgba(124,150,206,.45);
  box-shadow:0 22px 42px rgba(4,10,24,.45), inset 0 1px 0 1px rgba(0,0,0,.25);
  text-shadow:0 1px 4px rgba(0,0,0,.55);
}
:root.dark-mode .btn::after{
  background:linear-gradient(150deg, rgba(255,255,255,.12), rgba(255,255,255,0) 70%);
}
:root.dark-mode .btn .btn-icon{
  color:inherit;
}
@media (hover:hover){
  .btn:hover{
    transform:translateY(-3px) scale(1.01);
    box-shadow:0 24px 42px rgba(10,20,49,.22), inset 0 1px 0 1px rgba(255,255,255,.6);
  }
  .btn:hover::before{
    opacity: .75;
  }
  .btn:hover::after{
    opacity: 1;
  }
  .btn:hover .btn-icon{
    transform: scale(1.1) rotate(-5deg);
  }
}
@media (hover:hover){
  :root.dark-mode .btn:hover{
    box-shadow:0 28px 50px rgba(2,8,22,.55), inset 0 1px 0 1px rgba(255,255,255,.08);
  }
  :root.dark-mode .btn:hover::before{opacity:.6}
  :root.dark-mode .btn:hover::after{opacity:.65}
}
.btn:active{
  transform:translateY(1px) scale(.985);
  box-shadow:0 12px 24px rgba(8,16,40,.16), inset 0 1px 0 1px rgba(255,255,255,.4);
}
.btn:active::before {
  opacity: .2;
}
.btn:active::after{
  opacity:.25;
  transform:translateY(0);
}
.btn:focus-visible{
  outline:3px solid rgba(120,182,255,.55);
  outline-offset:4px;
}
.btn:focus-visible::before{
  opacity:1;
}
.btn:disabled,
.btn[aria-disabled="true"]{
  cursor:not-allowed;
  opacity:.6;
  filter:saturate(.75);
  box-shadow:none;
  transform:none;
}
.btn:disabled::before,
.btn[aria-disabled="true"]::before{
  opacity:.35;
  filter:blur(10px);
}
.btn-primary{--btn-border-glow:linear-gradient(120deg, rgba(10,132,255,.92), rgba(79,129,255,.85), rgba(180,216,255,.95)); color: #004a99;}

.btn-primary::before {
  animation: pulse-glow 3s infinite ease-in-out;
}

.btn-primary:active {
  animation: shockwave 0.4s ease-out;
}
.btn-success{--btn-border-glow:linear-gradient(120deg, rgba(109,255,198,.9), rgba(16,201,131,.8), rgba(255,255,255,.9)); color: #0b532d;}
.btn-warning{--btn-border-glow:linear-gradient(120deg, rgba(255,196,120,.9), rgba(255,118,102,.75), rgba(255,255,255,.85)); color: #7a3a04;}
.btn-info{--btn-border-glow:linear-gradient(120deg, rgba(172,102,255,.9), rgba(120,138,255,.8), rgba(255,255,255,.9)); color: #4a2c7a;}
.btn-danger { --btn-border-glow: linear-gradient(120deg, rgba(255,100,100,.9), rgba(255,118,102,.75), rgba(255,255,255,.85)); color: #7a0404; }

.btn-danger::before {
  opacity: 0.4;
}
.btn-ghost {
  background: rgba(255, 255, 255, 0.35);
  color: var(--text, #0e1b29);
  border: 1px solid rgba(198, 209, 223, 0.6);
  box-shadow: 0 12px 28px rgba(20, 24, 40, 0.1);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

@media (hover: hover) {
  .btn-ghost:hover {
    background: rgba(255, 255, 255, 0.6);
    border-color: rgba(120, 182, 255, 0.5);
    color: var(--primary, #0a84ff);
    transform: translateY(-2px);
    box-shadow: 0 16px 32px rgba(12, 24, 40, 0.15);
  }
}

.btn-ghost:active {
  transform: translateY(0);
  box-shadow: 0 8px 20px rgba(20, 24, 40, 0.12);
}
:root.dark-mode .btn-ghost{
  background:linear-gradient(160deg, rgba(40,58,94,.72), rgba(58,84,126,.65));
  border:1px solid rgba(132,158,210,.45);
  color:var(--text);
  box-shadow:0 22px 48px rgba(2,8,20,.48);
  text-shadow:0 1px 4px rgba(0,0,0,.5);
}
@media (hover:hover){
  :root.dark-mode .btn-ghost:hover{
    background:linear-gradient(160deg, rgba(48,70,110,.78), rgba(72,100,146,.72));
    box-shadow:0 26px 56px rgba(2,8,20,.6);
    color:#d6e4ff;
  }
}
:root.dark-mode .btn-ghost:active{
  box-shadow:0 16px 32px rgba(2,8,20,.45);
}
.view-switcher{position:relative;display:flex;align-items:center;gap:8px;flex-wrap:nowrap;background:rgba(255,255,255,.5);border-radius:14px;padding:4px;border:1px solid rgba(198,209,223,.45);box-shadow:0 10px 24px rgba(14,27,41,.12);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);justify-content:flex-start;}
.view-switcher .pill{display:inline-flex;align-items:center;justify-content:center}
.icon-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;border:1px solid rgba(198,209,223,.55);background:linear-gradient(160deg, rgba(255,255,255,.78), rgba(244,248,255,.6));color:var(--text);font-weight:700;font-size:14px;cursor:pointer;transition:transform .2s ease, box-shadow .25s ease, border-color .2s ease, background .25s ease;box-shadow:0 10px 24px rgba(14,27,41,.12);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.icon-btn .label{font-size:14px}
.icon-btn .caret{font-size:12px;opacity:.65;transition:transform .2s ease}
:root.dark-mode .view-switcher{
  background:linear-gradient(160deg, rgba(34,48,78,.72), rgba(46,64,102,.68));
  border:1px solid rgba(128,152,200,.48);
  box-shadow:0 20px 48px rgba(2,8,18,.55);
}
:root.dark-mode .view-switcher .pill{
  background:rgba(18,30,52,.65);
  border:1px solid rgba(116,140,190,.55);
  color:var(--text);
  text-shadow:0 1px 4px rgba(0,0,0,.55);
}
:root.dark-mode .icon-btn{
  background:linear-gradient(160deg, rgba(44,60,94,.78), rgba(60,82,120,.72));
  border:1px solid rgba(134,160,210,.5);
  color:var(--text);
  box-shadow:0 22px 52px rgba(2,6,18,.58);
  text-shadow:0 1px 4px rgba(0,0,0,.55);
}
:root.dark-mode .icon-btn .caret{opacity:.78}

#history-range-btn {
  padding-left: 10.5px; /* 25% menos de 14px */
  padding-right: 10.5px; /* 25% menos de 14px */
  padding: 8px 12px;
  background: rgba(255,255,255,.8);
  border-color: rgba(255,255,255,.9);
  height: auto;
}
.icon-btn:focus-visible{outline:3px solid rgba(120,182,255,.45);outline-offset:3px}
.view-switcher:has(.range-menu.is-open) #history-range-btn {
  position: relative;
  z-index: 5;
}
.icon-calendar{width:18px;height:18px;display:inline-block;background-color:currentColor;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="4" width="18" height="17" rx="3" ry="3"/><path d="M8 2v4M16 2v4" stroke-linecap="round"/><path d="M3 10h18"/><circle cx="8.5" cy="14.5" r="1.6" fill="currentColor"/><circle cx="12" cy="14.5" r="1.6" fill="currentColor"/><circle cx="15.5" cy="14.5" r="1.6" fill="currentColor"/></svg>');background-repeat:no-repeat;background-position:center;background-size:16px 16px;mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><rect x="3" y="4" width="18" height="17" rx="3" ry="3" stroke="currentColor" stroke-width="2"/><path d="M8 2v4M16 2v4" stroke="currentColor" stroke-width="2" stroke-linecap="round"/><path d="M3 10h18" stroke="currentColor" stroke-width="2"/><circle cx="8.5" cy="14.5" r="1.6" fill="currentColor"/><circle cx="12" cy="14.5" r="1.6" fill="currentColor"/><circle cx="15.5" cy="14.5" r="1.6" fill="currentColor"/></svg>') center/16px 16px no-repeat;-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><rect x="3" y="4" width="18" height="17" rx="3" ry="3" stroke="currentColor" stroke-width="2"/><path d="M8 2v4M16 2v4" stroke="currentColor" stroke-width="2" stroke-linecap="round"/><path d="M3 10h18" stroke="currentColor" stroke-width="2"/><circle cx="8.5" cy="14.5" r="1.6" fill="currentColor"/><circle cx="12" cy="14.5" r="1.6" fill="currentColor"/><circle cx="15.5" cy="14.5" r="1.6" fill="currentColor"/></svg>') center/16px 16px no-repeat}
.icon-export{width:18px;height:18px;display:inline-block;background-color:currentColor;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3v12"/><path d="M8.5 7.5 12 3l3.5 4.5"/><path d="M5 15v4a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-4"/><path d="M15 15h-6"/></svg>');background-repeat:no-repeat;background-position:center;background-size:16px 16px;mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3v12"/><path d="M8.5 7.5 12 3l3.5 4.5"/><path d="M5 15v4a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-4"/><path d="M15 15h-6"/></svg>') center/16px 16px no-repeat;-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3v12"/><path d="M8.5 7.5 12 3l3.5 4.5"/><path d="M5 15v4a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-4"/><path d="M15 15h-6"/></svg>') center/16px 16px no-repeat}
.icon-btn[aria-expanded="true"] .caret{transform:rotate(180deg)}
.icon-btn.icon-btn-secondary{padding:10px 12px;background:linear-gradient(160deg, rgba(240,245,255,.85), rgba(230,238,255,.65));border-color:rgba(198,209,223,.6);color:var(--text);box-shadow:0 12px 26px rgba(12,24,40,.12)}
.icon-btn.icon-btn-secondary .label{font-size:13px;text-transform:none}
.icon-btn .spinner {
  display: none;
  width: 16px;
  height: 16px;
  border: 2px solid currentColor;
  border-top-color: transparent;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}
.icon-btn.is-loading .spinner {
  display: block;
}
.icon-btn.is-loading .icon-export {
  display: none;
}
@keyframes spin {
  to { transform: rotate(360deg); }
}
.icon-btn:active{transform:translateY(0);box-shadow:0 12px 26px rgba(12,24,40,.14)}
:root.dark-mode .icon-btn:active{box-shadow:0 16px 36px rgba(2,6,18,.5)}
.range-menu{position:absolute;top:calc(100% + 10px);left:0;display:grid;gap:6px;padding:12px;background:linear-gradient(180deg, rgba(255,255,255,.9), rgba(240,245,255,.92));border-radius:16px;border:1px solid rgba(198,209,223,.7);box-shadow:0 22px 44px rgba(6,16,36,.18);min-width:min(220px, 90vw);max-width:min(280px, 90vw);z-index:4;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .2s ease, transform .2s ease}
.range-menu::before{content:"";position:absolute;top:-8px;left:24px;width:16px;height:16px;background:inherit;border-top:1px solid rgba(198,209,223,.7);border-left:1px solid rgba(198,209,223,.7);transform:rotate(45deg);z-index:-1}
.range-menu.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}
.range-menu{
  background-image:linear-gradient(185deg,rgba(12,22,44,.76),rgba(26,36,58,.72)),var(--hero-image);
  background-size:cover;
  background-position:center;
  background-blend-mode:overlay;
  backdrop-filter:blur(26px) saturate(155%) brightness(0.72);
  -webkit-backdrop-filter:blur(26px) saturate(155%) brightness(0.72);
}
:root.dark-mode .range-menu{
  border:1px solid rgba(128,152,200,.55);
  box-shadow:0 26px 52px rgba(2,6,18,.58);
  backdrop-filter:blur(28px) saturate(165%) brightness(.82);
  -webkit-backdrop-filter:blur(28px) saturate(165%) brightness(.82);
}
:root.dark-mode .range-menu::before{
  border-top:1px solid rgba(124,150,206,.6);
  border-left:1px solid rgba(124,150,206,.6);
}
.range-option{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:0;background:transparent;color:#f5f7ff;font-weight:600;font-size:14px;cursor:pointer;transition:background .18s ease,color .18s ease}
.range-option .icon-calendar{width:16px;height:16px;opacity:.55}
.range-option:focus-visible{outline:2px solid rgba(120,182,255,.6);outline-offset:2px}
.range-option.active{background:rgba(10,132,255,.14);color:var(--primary)}
.range-option.active .icon-calendar{opacity:1;color:var(--primary)}
.range-option.range-option-custom{position:relative;flex-wrap:wrap;align-items:flex-start;padding-right:0;cursor:default}
.range-option.range-option-custom.active{color:var(--primary)}
.range-option-custom-trigger{display:flex;align-items:center;gap:10px;width:100%;padding:0;background:none;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer}
.range-option-custom-trigger:focus-visible{outline:2px solid rgba(120,182,255,.6);border-radius:10px}
.range-option.range-option-custom .range-date-input{margin-top:8px;width:100%;border:1px solid rgba(198,209,223,.7);border-radius:10px;padding:8px 10px;font-size:14px;color:var(--text);background:rgba(255,255,255,.9);transition:border-color .2s ease, box-shadow .2s ease}
.range-option.range-option-custom .range-date-input:focus{outline:none;border-color:rgba(10,132,255,.6);box-shadow:0 0 0 3px rgba(10,132,255,.18)}
.range-option.range-option-custom .range-date-input::-webkit-calendar-picker-indicator{cursor:pointer}
:root.dark-mode .range-option{
  color:var(--text);
  text-shadow:0 1px 3px rgba(0,0,0,.45);
}
:root.dark-mode .range-option .icon-calendar{opacity:.75}
:root.dark-mode .range-option.active{
  background:rgba(118,182,255,.22);
  color:#d7e5ff;
}
:root.dark-mode .range-option.active .icon-calendar{color:#d7e5ff;opacity:1}
:root.dark-mode .range-option.range-option-custom .range-date-input{
  border:1px solid rgba(136,160,210,.6);
  background:rgba(26,38,58,.6);
  color:var(--text);
}
:root.dark-mode .range-option.range-option-custom .range-date-input:focus{
  border-color:rgba(142,188,255,.6);
  box-shadow:0 0 0 3px rgba(118,182,255,.25);
}
.history-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.history-actions .btn-compact {
  display: inline-flex;
  width: auto;
  padding: 6px 12px;
  font-size: 13px;
  min-height: 38px;
}
.btn.btn-ghost.btn-stats{
  --btn-border-glow:linear-gradient(125deg, rgba(136,196,255,.9), rgba(186,152,255,.78), rgba(255,255,255,.6));
  background:linear-gradient(135deg, rgba(255,255,255,.85), rgba(228,236,255,.68));
  border:1px solid rgba(158,182,220,.55);
  box-shadow:0 18px 36px rgba(12,24,48,.16);
  color:#112445;
  padding:10px 20px;
  min-height:42px;
  letter-spacing:.04em;
  text-transform:none;
}
.btn.btn-ghost.btn-stats .btn-icon{
  margin-right:8px;
  font-size:1.15em;
}
@media (hover:hover){
  .btn.btn-ghost.btn-stats:hover{
    background:linear-gradient(135deg, rgba(255,255,255,.92), rgba(214,228,255,.78));
    box-shadow:0 22px 42px rgba(10,22,46,.2);
    transform:translateY(-2px);
    color:#0a3580;
  }
}
.btn.btn-ghost.btn-stats:active{
  box-shadow:0 12px 26px rgba(10,18,36,.18);
}
:root.dark-mode .btn.btn-ghost.btn-stats{
  background:linear-gradient(135deg, rgba(34,48,82,.78), rgba(58,78,122,.82));
  border:1px solid rgba(118,148,204,.55);
  box-shadow:0 20px 44px rgba(4,10,24,.5);
  color:#f3f6ff;
}
:root.dark-mode .btn.btn-ghost.btn-stats .btn-icon{
  color:inherit;
}
@media (hover:hover){
  :root.dark-mode .btn.btn-ghost.btn-stats:hover{
    background:linear-gradient(135deg, rgba(40,60,98,.86), rgba(72,96,142,.88));
    box-shadow:0 26px 52px rgba(4,8,18,.56);
    color:#a6c9ff;
  }
}
.range-option-item {
  /* Estilos corregidos para los botones del modal */
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  padding: 16px;
  border-radius: 16px;
  border: 0;
  background: transparent;
  font-size: 16px;
  font-weight: 700;
  color: #f5f7ff;
  cursor: pointer;
  transition: background .2s ease;
}
.range-option-item:hover { background: rgba(255,255,255,.08); }
.range-option-item.active { background: rgba(10, 132, 255, 0.2); color: #fff; }
.stack{display:grid;gap:clamp(18px,5vw,28px)}
.list{display:grid;gap:clamp(12px,4vw,18px)}
.history-day-header {
  font-size: 14px;
  font-weight: 700;
  color: var(--muted);
  padding: 10px 16px;
  background: rgba(230, 238, 255, 0.6);
  border-radius: 12px;
  border-bottom: 1px solid rgba(198, 209, 223, 0.6);
  margin-top: 12px;
  text-transform: capitalize;
}
:root.dark-mode .history-day-header{
  background:rgba(30,44,72,.65);
  border-bottom:1px solid rgba(126,150,206,.45);
  color:rgba(198,212,244,.85);
  text-shadow:0 1px 4px rgba(0,0,0,.45);
}
.history-item {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.95), rgba(240, 246, 255, 0.82));
  border: 1px solid rgba(215, 226, 246, 0.8);
  box-shadow: 0 12px 28px rgba(14, 27, 41, 0.08);
}
.history-item-background {
  position: absolute;
  top: 0; right: 0; bottom: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0 20px;
}
.swipe-delete-btn {
  width: 56px; height: 56px;
  border-radius: 50%;
  border: 0;
  background: #ef4444;
  color: white;
  font-size: 24px;
  display: grid;
  place-items: center;
  cursor: pointer;
  transform: scale(0.8);
  opacity: 0;
  transition: transform 0.2s ease, opacity 0.2s ease;
}
.history-item.is-swiped .swipe-delete-btn { transform: scale(1); opacity: 1; }

.item{background:linear-gradient(160deg,rgba(255,255,255,.95),rgba(240,246,255,.82));border:1px solid rgba(215,226,246,.8);border-radius:18px;padding:18px 20px;box-shadow:0 12px 28px rgba(14,27,41,.08);position:relative;overflow:hidden;display:flex;align-items:flex-start;gap:16px;transition:transform .18s ease, box-shadow .22s ease}
.item:hover{transform:translateY(-1px);box-shadow:0 16px 36px rgba(12,24,48,.12)}
.item-content{display:grid;gap:6px;flex:1}
.item-content strong{font-weight:700;font-size:15px;letter-spacing:.18px;color:var(--text)}
#feed-history .item{flex-direction:column;align-items:flex-start;gap:10px;padding:16px 18px}
.feed-history-line{font-weight:600;color:var(--text)}
#feed-history .item .item-note{width:100%}
.history-item-foreground {
  position: relative;
  z-index: 1;
  background: inherit;
  display: flex;
  align-items: center;
  padding: 18px 20px;
  transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.item.enter{animation:popIn .45s cubic-bezier(.33,1,.68,1) both}
.item.exiting{opacity:0;transform:translateY(6px);transition:opacity .18s ease, transform .18s ease}
.item::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.25),rgba(255,255,255,0));opacity:0;transition:opacity .3s ease;pointer-events:none}
.item:hover::before{opacity:1}
.item-content{flex:1;position:relative;z-index:1;display:grid;gap:6px}
.item-meta{font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}
.item-meta-time{font-weight:600;color:var(--text);letter-spacing:.12px}
.item-meta-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:rgba(10,132,255,.12);color:var(--primary);font-size:11px;text-transform:uppercase;letter-spacing:.4px}
.item-note{display:block;background:rgba(248,251,255,.85);border-radius:14px;padding:8px 12px;border:1px solid rgba(173,196,255,.35);color:var(--text);font-size:12px;line-height:1.4;box-shadow:inset 0 1px 0 rgba(255,255,255,.65);white-space:pre-wrap}
.item-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.item-action{width:32px;height:32px;border-radius:50%;border:1px solid rgba(198,209,223,.7);background:rgba(243,247,251,.9);display:grid;place-items:center;color:rgba(14,27,41,.4);cursor:pointer;transition:all .2s ease;flex-shrink:0;position:relative;z-index:1;}
.item-action:hover{color:var(--text);background:#fff;box-shadow:0 8px 16px rgba(14,27,41,.12);transform:scale(1.05)}
.item-action:active{transform:scale(.94)}
.item-action span{font-size:16px;line-height:1}
:root.dark-mode .history-item, :root.dark-mode .item{
  background:linear-gradient(170deg, rgba(28,40,68,.82), rgba(46,64,100,.72));
  border:1px solid rgba(124,150,206,.5);
  box-shadow:0 20px 44px rgba(2,8,20,.5);
  color:var(--text);
  text-shadow:0 1px 4px rgba(0,0,0,.45);
}
:root.dark-mode .item::before{
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,0));
}
:root.dark-mode .history-item:hover, :root.dark-mode .item:hover{
  box-shadow:0 24px 54px rgba(2,8,20,.6);
}
:root.dark-mode .item-note{
  background:rgba(30,44,72,.75);
  border:1px solid rgba(120,146,202,.45);
  color:var(--text);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  text-shadow:0 1px 4px rgba(0,0,0,.45);
}
:root.dark-mode .item-meta{color:rgba(200,214,244,.78)}
:root.dark-mode .item-meta-tag{
  background:rgba(118,182,255,.18);
  color:#cfe1ff;
}
:root.dark-mode .item-action{
  border:1px solid rgba(128,156,210,.5);
  background:rgba(28,42,74,.8);
  color:#c1ceeb;
  box-shadow:0 14px 26px rgba(2,8,20,.45);
}
:root.dark-mode .item-action:hover{
  background:rgba(138,182,255,.2);
  color:#e1ecff;
  box-shadow:0 18px 32px rgba(2,8,20,.55);
}
:root.dark-mode .item-action:active{background:rgba(20,32,58,.85)}
:root.dark-mode .report-line {
    background: linear-gradient(165deg, rgba(30,46,78,.82), rgba(54,74,112,.7));
    border: 1px solid rgba(124,150,206,.45);
    box-shadow: 0 22px 42px rgba(4,10,24,.45);
}
.history-item-checkbox {
  width: 0;
  height: 20px;
  accent-color: var(--primary);
  margin-right: 0;
  flex-shrink: 0;
  opacity: 0;
  transform: scale(0.5);
  transition: width 0.3s ease, opacity 0.2s ease, margin-right 0.3s ease, transform 0.3s ease;
  pointer-events: none;
}
.is-delete-mode .history-item-foreground { cursor: pointer; }
.is-delete-mode .history-item-checkbox {
  display: block;
  width: 20px;
  opacity: 1;
  margin-right: 8px;
  transform: scale(1);
  pointer-events: auto;
}
.is-delete-mode .item-actions {
  opacity: 0;
  transform: scale(0.5);
  pointer-events: none;
}
.item-actions {
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.is-delete-mode .history-item.is-selected { border-color: var(--primary); background-color: rgba(10, 132, 255, 0.05); }

.muted{color:var(--muted)}
.pill{padding:4px 10px;border-radius:999px;background:rgba(0,0,0,.1);border:1px solid rgba(198,209,223,.2);font-size:13px;color:var(--text);font-weight:600;margin:0 4px;}

/* Modal */
.modal{position:fixed;inset:0;background:linear-gradient(140deg,rgba(10,20,40,.28),rgba(241,246,255,.32));backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease;z-index:100}
.modal.open{opacity:1;visibility:visible}
body.modal-open .wrap{opacity:.45;filter:blur(2px);transform:scale(.99);pointer-events:none}
.sheet{background-image:linear-gradient(185deg,rgba(10,18,38,.9),rgba(22,32,54,.86)),var(--hero-image);background-size:cover;background-position:center;background-blend-mode:overlay;backdrop-filter:blur(26px) saturate(120%) brightness(0.6);-webkit-backdrop-filter:blur(26px) saturate(120%) brightness(0.6);width:100%;max-width:740px;max-height:calc(100vh - 48px);margin:0 auto;padding:24px calc(18px + env(safe-area-inset-left,0));padding-right:calc(18px + env(safe-area-inset-right,0));display:flex;flex-direction:column;border:1px solid rgba(173,196,255,.28);border-radius:28px;box-shadow:0 16px 32px rgba(8, 16, 40, 0.22), 0 44px 90px rgba(8, 16, 40, 0.28);transform:translateY(18px);opacity:0;transition:transform .32s ease,opacity .32s ease;color:#f5f7ff;overflow-y:auto;position:relative}
:root.dark-mode .modal{
  background:linear-gradient(160deg,rgba(4,8,18,.65),rgba(18,28,48,.55));
  backdrop-filter:blur(22px) saturate(140%);
  -webkit-backdrop-filter:blur(22px) saturate(140%);
}
.sheet h2,.sheet strong,.sheet .muted{color:#f5f7ff;text-shadow:0 2px 12px rgba(0,0,0,.5)}
.sheet label{display:inline-block;padding:6px 12px;margin-bottom:2px;background:rgba(0,0,0,.25);border-radius:10px;border:1px solid rgba(255,255,255,.1);font-size:14px;font-weight:700;color:#f5f7ff;text-shadow:0 1px 3px rgba(0,0,0,.5);box-shadow:0 8px 16px rgba(0,0,0,.25);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.modal.open .sheet{transform:translateY(0);opacity:1}

#modal-stats .sheet{
  background-image:linear-gradient(205deg, rgba(255,255,255,.34), rgba(224,234,255,.24)),var(--hero-image);
  background-blend-mode:overlay;
  backdrop-filter:blur(30px) saturate(135%) brightness(.82);
  -webkit-backdrop-filter:blur(30px) saturate(135%) brightness(.82);
  box-shadow:0 30px 68px rgba(8,16,40,.34),0 16px 36px rgba(8,16,40,.28);
  padding:clamp(18px,4vw,26px) clamp(18px,4vw,28px);
}
#modal-stats .sheet::after{
  content:"";
  position:absolute;
  inset:16px;
  border-radius:22px;
  background:linear-gradient(200deg, rgba(255,255,255,.16), rgba(200,216,255,.12));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25), 0 18px 46px rgba(8,16,36,.28);
  pointer-events:none;
}
:root.dark-mode #modal-stats .sheet{
  background-image:linear-gradient(210deg, rgba(12,20,36,.82), rgba(24,36,58,.68)),var(--hero-image);
  backdrop-filter:blur(30px) saturate(150%) brightness(.88);
  -webkit-backdrop-filter:blur(30px) saturate(150%) brightness(.88);
  box-shadow:0 32px 72px rgba(4,10,24,.6),0 18px 44px rgba(4,10,24,.38);
}
:root.dark-mode #modal-stats .sheet::after{
  background:linear-gradient(220deg, rgba(14,22,40,.76), rgba(32,46,74,.65));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 20px 52px rgba(2,6,18,.55);
}

@supports (height: 100dvh){
  .sheet{max-height:calc(100dvh - 48px);}
}

#modal-mesures .sheet {
  max-width: 520px;
}
#modal-mesures .input {
  font-size: 18px;
}
#manual-feed-fields{
  width:min(100%,520px);
  margin:0 auto;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:clamp(12px,4vw,18px);
  justify-items:center;
}
#manual-feed-fields .field{
  width:100%;
  max-width:220px;
}
#manual-feed-fields .field.span-2{
  max-width:none;
  justify-self:stretch;
}
#manual-feed-fields .input{
  font-size:15px;
  padding:12px 14px;
}

.seg{display:flex;gap:14px}
.seg button{flex: 0 0 132px;width:132px;padding:0 16px;height:48px;border-radius:12px;border:1px solid rgba(198,209,223,.8);background:#eff3f7;font-weight:700;font-size:15px;transition:all .18s ease}
.seg button#seg-pecho,
.seg button#seg-biberon,
.seg button#side-left,
.seg button#side-right{
  flex:1 1 160px;
  min-width:160px;
}
.seg button.active{background:var(--primary);color:#fff;border-color:transparent;box-shadow:0 8px 20px rgba(10,132,255,.25), inset 0 1px 2px rgba(0,0,0,.15);}
#manual-type button:disabled{opacity:.55;cursor:not-allowed}
#manual-type button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.item-delete{width:36px;height:36px;border-radius:50%;border:1px solid rgba(227,150,150,.4);background:rgba(255,230,230,.6);color:rgba(211,47,47,.8);display:grid;place-items:center;cursor:pointer;transition:all .2s ease;flex-shrink:0}
.item-delete:hover{background:rgba(211,47,47,1);color:#fff;box-shadow:0 6px 14px rgba(211,47,47,.3);transform:scale(1.05)}
.item-delete:active{transform:scale(.95)}
.item-delete span{font-size:20px;line-height:1;font-weight:600}
.scale{display:flex;gap:8px;width:100%}
.scale button{flex:1;padding:0 10px;height:40px;border-radius:12px;border:1px solid rgba(198,209,223,.85);background:#eff3f7;font-size:14px;font-weight:600;transition:all .18s ease;box-shadow:0 4px 8px rgba(0,0,0,.04)}
.scale button.active{background:var(--primary);color:#fff;border-color:transparent}
.field{display:grid;gap:8px}
.input{width:100%;padding:14px 16px;border-radius:12px;border:1px solid rgba(198,209,223,.6);font-size:17px;background:linear-gradient(160deg,rgba(255,255,255,.92),rgba(233,240,255,.6));box-shadow:0 12px 28px rgba(12,22,44,.12),inset 0 0 0 1px rgba(255,255,255,.35);transition:border-color .18s ease, box-shadow .18s ease}
.input.textarea{min-height:108px;resize:vertical;line-height:1.4;padding-top:14px;padding-bottom:14px}
.input[type=datetime-local]{font-size:16px}
select.input{appearance:none;background:rgba(255,255,255,.92) url('data:image/svg+xml,%3Csvg width="12" height="8" viewBox="0 0 12 8" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M1 1l5 5 5-5" stroke="%236c7a88" stroke-width="1.5" fill="none" stroke-linecap="round"/%3E%3C/svg%3E') no-repeat right 14px center;background-size:12px;padding-right:40px}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--gap)}
.form-grid .field{margin:0}
.form-grid .field.span-2{grid-column:span 2} /* No change here, but context for diff */
.input:focus{border-color:rgba(120,182,255,.75);box-shadow:0 0 0 4px rgba(80,160,255,.2),0 18px 32px rgba(12,22,44,.18);outline:none}
.time{font-variant:tabular-nums;font-size:46px;font-weight:700;letter-spacing:1px}
.time{text-shadow:0 2px 16px rgba(6,10,26,.65)}.footer{display:flex;gap:14px;margin-top:14px}

#start-time-display{font-size:15px}

.sheet h2{font-size:26px;font-weight:800;margin:0 0 6px}
.stats-content{display:flex;flex-direction:column;gap:22px;position:relative;z-index:1;overflow:hidden}
.stats-content{
  background:linear-gradient(195deg, rgba(255,255,255,.78), rgba(230,238,255,.6));
  border-radius:24px;
  padding:clamp(18px,4vw,28px);
  border:1px solid rgba(182,198,232,.45);
  box-shadow:0 24px 60px rgba(12,24,46,.22);
  color:#11243f;
  text-shadow:0 1px 2px rgba(255,255,255,.55);
}
.stats-content{
  overflow-y: auto; /* Permite el scroll vertical cuando sea necesario */
}
.stats-content::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background-image:linear-gradient(200deg, rgba(255,255,255,.4), rgba(200,220,255,.18)), var(--hero-image);
  background-size:cover;
  background-position:center;
  opacity:.35;
  mix-blend-mode:soft-light;
  z-index:0;
}
.stats-content > *{position:relative;z-index:1}
:root.dark-mode .stats-content{
  background:linear-gradient(200deg, rgba(26,38,68,.72), rgba(48,62,98,.68));
  border:1px solid rgba(118,148,204,.45);
  box-shadow:0 28px 62px rgba(4,10,24,.55);
  color:var(--text);
  text-shadow:0 1px 3px rgba(0,0,0,.55);
}
:root.dark-mode .stats-content::before{
  background-image:linear-gradient(200deg, rgba(20,32,58,.65), rgba(48,62,98,.45)), var(--hero-image);
  opacity:.4;
  mix-blend-mode:screen;
}
.stats-summary{
  display:grid;
  gap:12px;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
}
.stat-overview-grid{
  display:grid;
  gap:16px;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
}
.charts-grid{
  display:grid;
  gap:18px;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
}
.stat-card{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:18px;
  padding:22px;
  border-radius:22px;
  background:linear-gradient(160deg, rgba(255,255,255,.9), rgba(224,234,255,.78));
  border:1px solid rgba(188,206,240,.5);
  box-shadow:0 22px 44px rgba(12,24,46,.25);
  color:#10223c;
  text-shadow:0 1px 2px rgba(255,255,255,.65);
  overflow:hidden;
}
.stat-card::after{
  content:"";
  position:absolute;
  inset:-40% -40% 60% 60%;
  background:radial-gradient(circle at top right, rgba(120,182,255,.45), transparent 60%);
  opacity:.6;
  pointer-events:none;
}
:root.dark-mode .stat-card{
  background:linear-gradient(170deg, rgba(28,40,70,.85), rgba(44,60,94,.74));
  border:1px solid rgba(128,156,210,.55);
  box-shadow:0 28px 56px rgba(4,10,22,.55);
  color:var(--text);
  text-shadow:0 1px 4px rgba(0,0,0,.55);
}
:root.dark-mode .stat-card::after{
  background:radial-gradient(circle at top right, rgba(118,182,255,.35), transparent 60%);
}

.stat-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  gap:12px;
  position:relative;
  z-index:1;
}

.stat-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.8);
  border:1px solid rgba(182,198,232,.5);
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#11243f;
  box-shadow:0 12px 26px rgba(12,24,46,.16);
}
.stat-pill-muted{
  background:rgba(255,255,255,.6);
  color:rgba(32,52,88,.7);
}
:root.dark-mode .stat-pill{
  background:rgba(30,46,80,.78);
  border:1px solid rgba(128,156,210,.55);
  color:#dce7ff;
  box-shadow:0 18px 36px rgba(2,6,18,.5);
}
:root.dark-mode .stat-pill-muted{
  color:rgba(198,212,244,.75);
}

.stat-card-main{
  display:none;
  align-items:flex-end;
  gap:16px;
  width:100%;
  position:relative;
  z-index:1;
}
.stat-card-icon{
  font-size:32px;
  filter:drop-shadow(0 6px 12px rgba(16,30,60,.28));
}
.stat-card-main-values{
  display:flex;
  flex-direction:column;
  gap:4px;
  line-height:1;
}
.stat-card-value{
  font-size:42px;
  font-weight:800;
  letter-spacing:-.02em;
}
.stat-card-caption{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:rgba(32,52,88,.7);
}
.stat-card-average{
  margin-left:auto;
  font-size:13px;
  font-weight:600;
  color:rgba(32,52,88,.65);
  text-transform:uppercase;
  letter-spacing:.12em;
}
:root.dark-mode .stat-card-caption,
:root.dark-mode .stat-card-average{
  color:rgba(198,212,244,.75);
  text-shadow:0 1px 4px rgba(0,0,0,.55);
}

.stat-card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:14px;
  width:100%;
  position:relative;
  z-index:1;
}

.stat-chip{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  padding:12px 16px;
  border-radius:16px;
  background:rgba(255,255,255,.85);
  border:1px solid rgba(190,208,240,.5);
  box-shadow:0 16px 34px rgba(12,24,46,.2);
}
.stat-chip-icon{font-size:18px;filter:drop-shadow(0 4px 8px rgba(16,30,60,.2));}
.stat-chip-data{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 auto;}
.stat-chip-value{font-size:18px;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums;}
.stat-chip-sub{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:rgba(32,52,88,.65);white-space:nowrap;}
.stat-chip-label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:rgba(32,52,88,.55);}
.stat-chip-inline{padding:12px 18px;min-width:min(240px,100%);}
.stat-chip-wide{grid-column:1 / -1;}

:root.dark-mode .stat-chip{
  background:linear-gradient(165deg, rgba(32,46,78,.82), rgba(48,66,102,.74));
  border:1px solid rgba(128,156,210,.55);
  box-shadow:0 20px 44px rgba(4,10,24,.55);
  color:var(--text);
}
:root.dark-mode .stat-chip-sub,
:root.dark-mode .stat-chip-label{
  color:rgba(198,212,244,.75);
}

.stat-insights{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  position:relative;
  z-index:1;
}

.stats-breakdown{
  display:flex;
  flex-direction:column;
  gap:18px;
  padding:20px;
  border-radius:20px;
  background:linear-gradient(175deg, rgba(255,255,255,.92), rgba(226,236,255,.76));
  border:1px solid rgba(190,208,240,.42);
  box-shadow:0 20px 46px rgba(14,26,48,.24);
  color:#10223c;
  text-shadow:0 1px 2px rgba(255,255,255,.55);
}
:root.dark-mode .stats-breakdown{
  background:linear-gradient(180deg, rgba(26,38,66,.82), rgba(46,64,98,.74));
  border:1px solid rgba(122,150,205,.5);
  box-shadow:0 24px 54px rgba(4,10,24,.52);
  color:var(--text);
  text-shadow:0 1px 4px rgba(0,0,0,.55);
}
.stats-breakdown-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:rgba(78,102,150,.85);
  font-weight:600;
  text-shadow:0 1px 2px rgba(255,255,255,.45);
}
:root.dark-mode .stats-breakdown-head{
  color:rgba(198,212,244,.82);
  text-shadow:0 1px 4px rgba(0,0,0,.45);
}
.stats-breakdown-head h3{
  margin:0;
  font-size:14px;
  color:inherit;
  text-transform:uppercase;
  letter-spacing:.12em;
  display:flex;
  align-items:center;
  gap:6px;
}
.stats-breakdown-head h3::before{
  content:"📊";
  font-size:16px;
  filter:drop-shadow(0 4px 10px rgba(16,30,60,.2));
}

.stats-day-list{display:flex;flex-direction:column;gap:12px;}
.stats-day{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:16px 18px;
  border-radius:18px;
  background:linear-gradient(165deg, rgba(255,255,255,.96), rgba(222,232,252,.85));
  border:1px solid rgba(182,202,235,.5);
  box-shadow:0 20px 32px rgba(14,24,44,.18);
  color:#10223c;
  text-shadow:0 1px 2px rgba(255,255,255,.6);
}
:root.dark-mode .stats-day{
  background:linear-gradient(170deg, rgba(32,46,78,.82), rgba(52,72,110,.78));
  border:1px solid rgba(128,156,210,.52);
  box-shadow:0 24px 46px rgba(4,10,24,.48);
  color:var(--text);
  text-shadow:0 1px 4px rgba(0,0,0,.55);
}
.stats-day-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:14px;
  font-weight:600;
  color:inherit;
}
.stats-day-head .stats-day-date{
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.stats-day-count{font-size:12px;font-weight:700;letter-spacing:.08em;color:rgba(32,52,88,.7);}
:root.dark-mode .stats-day-count{color:rgba(198,212,244,.8);}
.stats-day-bars{display:flex;flex-direction:column;gap:10px;}
.stats-meter{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;}
.stats-meter-icon{font-size:16px;filter:drop-shadow(0 4px 8px rgba(16,30,60,.2));}
.stats-meter-bar{position:relative;height:8px;border-radius:999px;background:rgba(148,163,184,.25);overflow:hidden;}
.stats-meter-fill{position:absolute;inset:0;width:var(--percent,0%);border-radius:inherit;background:linear-gradient(90deg, rgba(37,99,235,.3), rgba(37,99,235,.85));transition:width .2s ease-out;}
.stats-meter-fill.bottle{background:linear-gradient(90deg, rgba(249,115,22,.35), rgba(249,115,22,.85));}
.stats-meter-value{font-size:13px;font-weight:600;letter-spacing:.04em;color:rgba(32,52,88,.8);}
:root.dark-mode .stats-meter-bar{background:rgba(255,255,255,.15);}
:root.dark-mode .stats-meter-fill{background:linear-gradient(90deg, rgba(118,182,255,.4), rgba(118,182,255,.85));}
:root.dark-mode .stats-meter-fill.bottle{background:linear-gradient(90deg, rgba(255,170,110,.4), rgba(255,170,110,.85));}
:root.dark-mode .stats-meter-value{color:rgba(210,222,250,.85);}

.stats-breakdown h3,
.stats-breakdown .muted{
  color:inherit;
  text-shadow:inherit;
}
.stat-insight-label,
.stat-insight-value,
.stat-insight-sub{
  color:inherit;
  text-shadow:inherit;
}

/* Save Indicator */
.save-indicator{
  position:fixed;
  top:12px;
  left:50%;
  transform:translateX(-50%);
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 16px;
  border-radius:999px;
  background:rgba(255,255,255,.65);
  border:1px solid rgba(198,209,223,.5);
  box-shadow:0 12px 28px rgba(12,22,44,.15);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  z-index:200;
  font-size:14px;
  font-weight:600;
  color:var(--text);
  transition:opacity .3s ease, transform .3s ease;
  opacity:0;
  transform:translate(-50%, -20px);
  pointer-events:none;
}
.save-indicator[data-state="saving"],
.save-indicator[data-state="synced"],
.save-indicator[data-state="error"],
.save-indicator.is-offline[data-state="idle"] {
  opacity:1;
  transform:translateX(-50%);
}
.save-indicator .save-icon{width:16px;height:16px;border-radius:50%;background:rgba(148,163,184,.5);position:relative}
.save-indicator[data-state="saving"] .save-icon{animation:pulse 1.5s infinite}
.save-indicator[data-state="synced"] .save-icon{background:var(--success)}
.save-indicator[data-state="error"] .save-icon{background:#ef4444}
.save-indicator.is-offline[data-state="idle"] .save-icon{background:#f97316}

@keyframes pulse{
  0%,100%{transform:scale(1);opacity:1}
  50%{transform:scale(1.3);opacity:.7}
}

/* Hover states for non-touch devices */
@media (hover:hover){
  .icon-btn:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(12,24,40,.18);border-color:rgba(120,182,255,.4)}
  .icon-btn:hover .caret{transform:translateY(-1px)}
  .icon-btn.icon-btn-secondary:hover{border-color:rgba(120,182,255,.45);background:linear-gradient(160deg, rgba(242,248,255,.95), rgba(224,235,255,.75))}
  .range-option:hover{background:rgba(10,132,255,.08);color:var(--primary)}
  .range-option:hover .icon-calendar{opacity:.9}
  :root.dark-mode .icon-btn:hover{
    box-shadow:0 24px 48px rgba(2,6,18,.6);
    border-color:rgba(156,188,248,.45);
    color:#d7e5ff;
  }
  :root.dark-mode .icon-btn.icon-btn-secondary:hover{
    background:linear-gradient(160deg, rgba(48,70,112,.82), rgba(68,92,134,.72));
  }
  :root.dark-mode .range-option:hover{
    background:rgba(120,182,255,.18);
    color:#cfe1ff;
  }
  :root.dark-mode .range-option:hover .icon-calendar{opacity:1}
}

/* Tap targets on mobile */
@media (pointer:coarse){
  .btn,.seg button,.scale button{min-height:48px}
}

/* Responsive Breakpoints */
@media screen and (max-width:600px){
  .wrap{--wrap-width:calc(100% - clamp(18px,10vw,48px));padding:clamp(18px,6vw,28px)}
  .card{padding:calc(var(--card-padding) - 4px)}
  .action-row .btn{flex:1 1 100%}
  .section-head strong{font-size:17px}
  .seg-sides{margin:0 calc(-1 * (var(--card-padding) - 6px))}
  .form-grid{grid-template-columns:1fr;}
  .form-grid .field.span-2{grid-column:span 1}
  .view-switcher{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:center}
  .view-switcher #history-range-btn{grid-column:1 / -1;justify-content:space-between}
  .view-switcher .pill{grid-column:1 / 2;justify-self:flex-start;padding:.3rem .7rem;font-size:12px}
  .view-switcher .icon-btn{width:100%}
  .view-switcher #export-pdf{grid-column:2 / 3;justify-self:end}
  .primary-actions{grid-template-columns:1fr;gap:clamp(12px,5vw,18px)}
  .primary-actions .btn{min-height:56px;font-size:16px}
  .history-actions{justify-content:center}
  .stats-summary{grid-template-columns:1fr;gap:clamp(12px,5vw,18px)}
  .stat-overview-grid{grid-template-columns:1fr;gap:clamp(12px,5vw,18px)}
  .charts-grid{grid-template-columns:1fr;gap:clamp(12px,5vw,18px)}
  #modal-stats .sheet{padding:clamp(18px,8vw,24px)}
  #modal-stats .sheet::after{inset:10px}
  .stats-content{padding:clamp(16px,7vw,24px);border-radius:20px}
  .stat-card{padding:18px;border-radius:18px}
  .stat-card-value{font-size:34px}
  .stat-card-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
  .stats-breakdown{padding:18px;border-radius:18px}
  .stats-day{padding:14px 16px;border-radius:15px}
  .stats-meter{gap:10px}
  .stats-meter-bar{height:7px}
}

@media screen and (max-width: 480px){

  .wrap{--wrap-width:calc(100% - 28px);padding:24px 14px; gap: clamp(16px, 5vw, 24px);}

  h1{font-size:clamp(26px,5.6vw,32px);text-align:center;margin-bottom:18px}

  .card{padding:calc(var(--card-padding) - 8px)}

  .history-actions{width:100%;justify-content:center}

  .view-switcher{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}

  .view-switcher #history-range-btn{justify-content:center;font-size:14px}

  .view-switcher .pill{justify-self:flex-start;font-size:11px}

  .view-switcher #export-pdf{justify-self:flex-end}

  .modal .sheet{max-width:100%;border-radius:22px;padding:20px 18px}

  .stat-card{padding:16px;border-radius:16px}

  .stat-card-value{font-size:30px}

  .stat-card-grid{grid-template-columns:1fr}

  .stat-chip{padding:10px 14px}

  .stat-chip-inline{min-width:100%}

  .seg {

    flex-wrap: wrap;

    gap: 10px;

  }

  .seg button {

    flex: 1 1 calc(50% - 5px);

    min-width: 120px;

  }

}
@media screen and (max-width:460px){
  .row{flex-direction:column;gap:12px}
}

@media screen and (max-width: 420px){

  .btn{width:100%}

  #history-range-btn .label{font-size:13px}

  .view-switcher #export-pdf{padding:10px;max-width:48px}

  .view-switcher #export-pdf .label{display:none}

  .view-switcher .pill{font-size:11px}

  .footer{flex-direction:column}

}

@media screen and (max-width:360px){
  :root{ --btn-font:15px }
  h1{font-size:clamp(24px,8vw,28px)}
  .avatar{width:60px;height:60px}
  .seg button,.scale button{font-size:14px}
}
/* Larger phones and small tablets */
@media screen and (min-width:390px) and (min-height:800px){
  :root{ --btn-height:56px; --btn-font:17px; --btn-radius:16px }
  .wrap{max-width:780px;padding:32px calc(26px + env(safe-area-inset-left,0));padding-right:calc(26px + env(safe-area-inset-right,0))}
  .card{padding:24px}
  h1{font-size:32px}
  .seg button,.scale button{height:52px;font-size:16px}
}
@media screen and (min-width:430px) and (min-height:880px){
  :root{ --btn-height:60px }
  .wrap{max-width:820px}
  h1{font-size:34px}
  .sheet{max-width:780px}
  .time{font-size:50px}
}
@media screen and (max-width:768px){
  .card{flex-direction:column;align-items:flex-start;text-align:center}
  .card .col{width:100%}
  .primary-actions{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
}

@keyframes fadeSlide{
  from{opacity:0;transform:translateY(16px)}
  to{opacity:1;transform:translateY(0)}
}

@keyframes softDrop{
  from{opacity:0;transform:translateY(-10px)}
  to{opacity:1;transform:translateY(0)}
}

@keyframes floatUp{
  from{opacity:0;transform:translateY(20px)}
  to{opacity:1;transform:translateY(0)}
}

@keyframes subtle-zoom {
  from { transform: scale(1); }
  to { transform: scale(1.05); }
}

@keyframes popIn{
  0%{opacity:0;transform:translateY(18px) scale(.98)}
  60%{opacity:1;transform:translateY(-4px) scale(1.01)}
  100%{opacity:1;transform:translateY(0) scale(1)}
}

/* Estilos para hacer la tarjeta de Léo más pequeña (reducida al 50%) */
#leo-card {
  padding: clamp(8px, 1.5vw, 12px);
  gap: clamp(8px, 2vw, 12px);
  flex-direction: row;
  align-items: center; /* Re-enables vertical centering for items in the row */
}

#leo-card .avatar {
  width: 48px; /* Adjusted for better proportion */
  height: 48px; /* Adjusted for better proportion */
  font-size: 22px;
  border-radius: 12px; /* 50% of 24px */
}

#leo-card .leo-name {
  font-size: 15px; /* Reduced from 20px */
}

.item.is-deleting {
  transition: opacity 0.3s ease, transform 0.3s ease, max-height 0.4s ease 0.1s;
  opacity: 0;
  transform: scale(0.95);
  max-height: 0 !important;
  padding-top: 0;
  padding-bottom: 0;
  margin-top: 0;
  margin-bottom: 0;
  overflow: hidden;
}

.undo-toast {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translate(-50%, 150%);
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 12px 20px;
  background: rgba(28, 42, 74, 0.9);
  color: #f5f7ff;
  border-radius: 14px;
  box-shadow: 0 16px 32px rgba(4, 8, 18, 0.4);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  z-index: 1000;
  transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.undo-toast.show {
  transform: translate(-50%, 0);
}

#leo-card .info-btn .muted {
  font-size: 12px; /* Adjusted for readability */
}
@keyframes pulse-glow {
  0%, 100% {
    opacity: 0.2;
    filter: blur(12px);
  }
  50% {
    opacity: 0.7;
    filter: blur(20px);
  }
}
@keyframes shockwave {
  0% {
    box-shadow: 0 0 0 0 rgba(10, 132, 255, 0.7), 0 12px 24px rgba(8,16,40,.16), inset 0 1px 0 1px rgba(255,255,255,.4);
  }
  100% {
    box-shadow: 0 0 0 25px rgba(10, 132, 255, 0), 0 12px 24px rgba(8,16,40,.16), inset 0 1px 0 1px rgba(255,255,255,.4);
  }
}

#bottle-form {
  transition: all 0.3s ease-in-out;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
}

#bottle-form.is-visible {
  max-height: 500px; /* A large enough value to not clip the content */
  opacity: 1;
  margin-top: var(--gap);
  margin-bottom: var(--gap);
  padding-top: var(--card-padding);
  padding-bottom: var(--card-padding);
}

.item-meta-time-elapsed {
  font-size: 12px;
  color: var(--muted);
  font-weight: 500;
}

.action-row .btn + .btn {
  margin-top: var(--gap);
}

@media screen and (max-width: 480px) {
  .history-day-header {
    font-size: 13px;
    padding: 8px 12px;
  }
}

.item.is-deleting .history-item-background {
  display: none;
}

.save-biberon {
  --btn-border-glow: linear-gradient(125deg, rgba(52,199,89,.85), rgba(76,217,100,.7), rgba(226,255,235,.85));
  animation: save-biberon-animation 1.6s ease-out 2;
  border-color: rgba(52,199,89,.6);
  box-shadow: 0 20px 44px rgba(8,16,40,.22), inset 0 1px 0 1px rgba(255,255,255,.68);
  will-change: transform;
}
.save-biberon::before {
  animation: save-biberon-border 1.6s ease-out 2;
  opacity: .55;
  will-change: transform, filter, opacity;
}
.save-biberon::after {
  background-image:
    linear-gradient(160deg, rgba(255,255,255,.6), rgba(255,255,255,0) 65%),
    radial-gradient(12px 12px at 12% 26%, rgba(255,255,255,.95), rgba(255,255,255,0) 68%),
    radial-gradient(16px 16px at 86% 22%, rgba(233,255,240,.9), rgba(233,255,240,0) 70%),
    radial-gradient(14px 14px at 22% 82%, rgba(255,255,255,.85), rgba(255,255,255,0) 68%),
    radial-gradient(18px 18px at 78% 76%, rgba(229,255,238,.82), rgba(229,255,238,0) 70%);
  background-repeat: no-repeat;
  background-size: 180% 180%, 24px 24px, 30px 30px, 22px 22px, 28px 28px;
  background-position: center, 10% 24%, 88% 26%, 18% 80%, 82% 78%;
  mix-blend-mode: screen;
  animation: save-biberon-sheen 1.6s ease-out 2, save-biberon-stars 3.4s linear infinite;
  transform-origin: center top;
  will-change: transform, opacity, background-position, background-size;
}
:root.dark-mode .save-biberon {
  border-color: rgba(76,217,100,.55);
  box-shadow: 0 26px 52px rgba(2,8,22,.55), inset 0 1px 0 1px rgba(255,255,255,.16);
}
:root.dark-mode .save-biberon::before {
  opacity: .65;
}
:root.dark-mode .save-biberon::after {
  background-image:
    linear-gradient(150deg, rgba(255,255,255,.18), rgba(255,255,255,0) 70%),
    radial-gradient(12px 12px at 14% 28%, rgba(208,255,222,.95), rgba(208,255,222,0) 68%),
    radial-gradient(16px 16px at 86% 24%, rgba(214,255,226,.88), rgba(214,255,226,0) 70%),
    radial-gradient(14px 14px at 24% 80%, rgba(221,255,231,.92), rgba(221,255,231,0) 70%),
    radial-gradient(18px 18px at 80% 78%, rgba(204,255,222,.9), rgba(204,255,222,0) 70%);
}

@keyframes save-biberon-animation {
  0% {
    transform: translateY(-2px) scale(1);
  }
  28% {
    transform: translateY(-4px) scale(1.045);
  }
  58% {
    transform: translateY(-1px) scale(1.02);
  }
  100% {
    transform: translateY(0) scale(1);
  }
}
@keyframes save-biberon-border {
  0% {
    opacity: .35;
    filter: blur(18px);
    transform: scale(.94);
  }
  32% {
    opacity: .95;
    filter: blur(10px);
    transform: scale(1.09);
  }
  68% {
    opacity: .6;
    filter: blur(14px);
    transform: scale(1.03);
  }
  100% {
    opacity: .25;
    filter: blur(18px);
    transform: scale(1);
  }
}
@keyframes save-biberon-stars {
  0% {
    background-position: center, 10% 24%, 88% 26%, 18% 80%, 82% 78%;
    background-size: 180% 180%, 24px 24px, 30px 30px, 22px 22px, 28px 28px;
  }
  25% {
    background-position: center, 12% 20%, 84% 30%, 16% 84%, 78% 72%;
    background-size: 180% 180%, 18px 18px, 26px 26px, 26px 26px, 24px 24px;
  }
  50% {
    background-position: center, 14% 28%, 82% 24%, 22% 78%, 84% 70%;
    background-size: 180% 180%, 26px 26px, 32px 32px, 20px 20px, 30px 30px;
  }
  75% {
    background-position: center, 10% 22%, 90% 28%, 20% 86%, 76% 76%;
    background-size: 180% 180%, 16px 16px, 28px 28px, 24px 24px, 22px 22px;
  }
  100% {
    background-position: center, 10% 24%, 88% 26%, 18% 80%, 82% 78%;
    background-size: 180% 180%, 24px 24px, 30px 30px, 22px 22px, 28px 28px;
  }
}
@keyframes save-biberon-sheen {
  0% {
    opacity: .9;
    transform: translateY(0);
  }
  34% {
    opacity: .45;
    transform: translateY(-8%);
  }
  70% {
    opacity: .8;
    transform: translateY(-2%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
