/* ============================================================
   DTR · Nutrición Admin v1
   - Base de datos de alimentos/recetas
   - Menú semanal nutri/admin dentro de ficha atleta
============================================================ */
.nadmin-shell{display:flex;flex-direction:column;gap:16px;font-family:inherit;}
.nadmin-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.nadmin-kpi{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px;min-height:92px;display:flex;flex-direction:column;justify-content:space-between;}
.nadmin-kpi-k{font-size:10.5px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--text-2);}
.nadmin-kpi-v{font-size:28px;font-weight:800;color:var(--navy);letter-spacing:-1px;line-height:1;margin-top:8px;}
.nadmin-kpi-d{font-size:11.5px;color:var(--text-2);font-weight:600;margin-top:6px;}
.nadmin-toolbar{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px;align-items:center;}
.nadmin-search{width:100%;padding:13px 15px;border:1.5px solid var(--line);border-radius:12px;background:var(--bg);font:inherit;font-weight:600;color:var(--text);outline:none;}
.nadmin-search:focus{border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(47,125,209,.08);}
.nadmin-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.nadmin-tabs{display:flex;gap:8px;flex-wrap:wrap;}
.nadmin-tab{border:1px solid var(--line);background:#fff;color:var(--text-2);border-radius:999px;padding:9px 13px;font-size:12px;font-weight:800;cursor:pointer;}
.nadmin-tab.active{background:var(--blue);border-color:var(--blue);color:#fff;}
.nadmin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.nadmin-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 4px 16px rgba(10,26,47,.04);}
.nadmin-card-h{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px;}
.nadmin-title{font-size:15px;font-weight:800;color:var(--navy);line-height:1.2;}
.nadmin-sub{font-size:12px;color:var(--text-2);font-weight:600;margin-top:4px;}
.nadmin-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;}
.nadmin-tag{font-size:10.5px;font-weight:800;border-radius:99px;padding:4px 8px;background:var(--blue-soft);color:var(--blue);}
.nadmin-tag.gray{background:#EEF2F7;color:var(--text-2);}
.nadmin-macros{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:12px;}
.nadmin-macro{background:var(--bg);border:1px solid var(--line-2);border-radius:10px;padding:8px;text-align:center;}
.nadmin-macro b{display:block;font-size:13px;color:var(--navy);}
.nadmin-macro span{font-size:9.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-2);font-weight:800;}
.nadmin-table-wrap{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;}
.nadmin-empty{background:#fff;border:1px dashed var(--line);border-radius:16px;padding:28px;text-align:center;color:var(--text-2);font-weight:650;}
.nadmin-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
.nadmin-form-grid .full{grid-column:1/-1;}
.nadmin-row{display:flex;gap:10px;align-items:center;}
.nadmin-row > *{min-width:0;}
.nadmin-ingredients{display:flex;flex-direction:column;gap:8px;margin-top:8px;}
.nadmin-ing-row{display:grid;grid-template-columns:1fr 90px 40px;gap:8px;align-items:center;}
.nadmin-muted{font-size:12px;color:var(--text-2);font-weight:600;}

/* Ficha atleta · menú */
.menu-admin-shell{display:flex;flex-direction:column;gap:16px;}
.menu-admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;}
.menu-admin-tab{border:1px solid var(--line);background:#fff;color:var(--text-2);border-radius:999px;padding:9px 13px;font-size:12px;font-weight:800;cursor:pointer;}
.menu-admin-tab.active{background:var(--blue);border-color:var(--blue);color:#fff;}
.menu-admin-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;}
.menu-admin-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;}
.menu-admin-title{font-size:18px;font-weight:800;color:var(--navy);letter-spacing:-.3px;}
.menu-admin-sub{font-size:13px;color:var(--text-2);font-weight:600;margin-top:3px;}
.calc-result-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:12px 0;}
.calc-result{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:14px;text-align:center;}
.calc-result span{display:block;font-size:10.5px;font-weight:800;text-transform:uppercase;color:var(--text-2);letter-spacing:.7px;}
.calc-result b{display:block;font-size:20px;font-weight:850;color:var(--navy);margin-top:5px;}
.day-target-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.day-target-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff;}
.day-target-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;}
.day-target-name{font-size:14px;font-weight:850;color:var(--navy);}
.day-target-kcal{font-size:12px;font-weight:850;color:var(--blue);background:var(--blue-soft);border-radius:99px;padding:4px 8px;}
.day-target-macros{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;}
.week-builder{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:16px;}
.week-table{width:100%;min-width:1100px;border-collapse:collapse;}
.week-table th{background:#F4F7FB;color:var(--text-2);font-size:11px;text-transform:uppercase;letter-spacing:.7px;text-align:left;padding:12px;border-bottom:1px solid var(--line);}
.week-table td{border-bottom:1px solid var(--line-2);border-right:1px solid var(--line-2);padding:10px;vertical-align:top;}
.week-table td:last-child{border-right:0;}
.week-day-head{display:flex;flex-direction:column;gap:8px;}
.week-day-label{font-weight:850;color:var(--navy);font-size:14px;}
.week-day-summary{font-size:11.5px;color:var(--text-2);line-height:1.35;}
.week-meal-cell{min-height:96px;display:flex;flex-direction:column;gap:6px;}
.week-recipe-name{font-size:12.5px;font-weight:850;color:var(--navy);line-height:1.25;}
.week-food-list{font-size:11.5px;color:var(--text-2);line-height:1.35;}
.week-status{font-size:10.5px;font-weight:850;border-radius:99px;padding:3px 7px;display:inline-flex;width:max-content;}
.week-status.ok{background:#E6F6EC;color:var(--good);}.week-status.warn{background:#FFF4E0;color:var(--warn);}.week-status.bad{background:#FDECEC;color:var(--bad);}
.shopping-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.shopping-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;}
.shopping-title{font-size:13px;font-weight:850;color:var(--navy);margin-bottom:8px;}
.shopping-item{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--line-2);font-size:12.5px;}
.shopping-item:last-child{border-bottom:0;}
@media(max-width:1100px){.nadmin-grid{grid-template-columns:repeat(2,1fr)}.nadmin-kpis{grid-template-columns:repeat(2,1fr)}.calc-result-grid{grid-template-columns:repeat(2,1fr)}.day-target-grid{grid-template-columns:1fr}.shopping-grid{grid-template-columns:1fr 1fr}}
@media(max-width:768px){.nadmin-toolbar{grid-template-columns:1fr}.nadmin-actions{justify-content:flex-start}.nadmin-grid{grid-template-columns:1fr}.nadmin-form-grid{grid-template-columns:1fr}.nadmin-ing-row{grid-template-columns:1fr 80px 38px}.shopping-grid{grid-template-columns:1fr}.menu-admin-head{flex-direction:column}.week-builder{border-radius:14px}.calc-result-grid{grid-template-columns:1fr 1fr}}


/* ────────────────────────────────────────────
   Menú admin v1.1 · builder menos denso
──────────────────────────────────────────── */
.builder-head{align-items:center;}
.builder-actions{align-items:center;}
.builder-note{
  background:#F6FAFF;
  border:1px solid #DDECFB;
  color:var(--text-2);
  border-radius:14px;
  padding:10px 12px;
  font-size:12.5px;
  font-weight:650;
  margin-bottom:12px;
}
.week-card-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.week-card{
  border:1px solid var(--line);
  background:#fff;
  border-radius:16px;
  padding:14px;
  box-shadow:0 4px 16px rgba(10,26,47,.04);
}
.week-card.empty{border-style:dashed;background:#FCFDFE;}
.week-card-top{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
  margin-bottom:10px;
}
.week-card-day{
  font-size:15px;
  font-weight:850;
  color:var(--navy);
  margin-bottom:7px;
}
.week-card-top .day-type-sel{
  min-width:170px;
  padding:9px 10px;
  font-size:12.5px;
}
.week-card-summary{
  display:flex;
  flex-direction:column;
  gap:5px;
  background:var(--bg);
  border:1px solid var(--line-2);
  border-radius:13px;
  padding:10px;
  font-size:12px;
  color:var(--text-2);
  margin-bottom:10px;
}
.week-card-summary b{color:var(--navy);}
.week-status.muted{background:#EEF2F7;color:var(--text-2);}
.week-card-meals{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.week-card-meal{
  width:100%;
  border:1px solid var(--line-2);
  background:#fff;
  border-radius:12px;
  padding:9px 10px;
  display:grid;
  grid-template-columns:92px 1fr;
  gap:4px 10px;
  text-align:left;
  font-family:inherit;
  cursor:pointer;
}
.week-card-meal:hover{border-color:#CFE0F2;background:#FAFCFF;}
.week-card-meal span{
  font-size:11px;
  font-weight:850;
  color:var(--text-2);
  text-transform:uppercase;
  letter-spacing:.35px;
  grid-row:1/3;
}
.week-card-meal b{
  font-size:12.5px;
  font-weight:850;
  color:var(--navy);
  line-height:1.2;
}
.week-card-meal small{
  font-size:11px;
  color:var(--text-2);
  font-weight:650;
}
.week-card-meal.empty{
  cursor:default;
  background:#FAFBFC;
  color:var(--text-2);
}
.week-card-meal.empty b{color:var(--text-2);font-weight:700;}

@media(max-width:1180px){
  .week-card-grid{grid-template-columns:1fr;}
}
@media(max-width:768px){
  .builder-actions{width:100%;}
  .builder-actions .inp{width:100%;}
  .week-card-top{flex-direction:column;}
  .week-card-top .day-type-sel{width:100%;}
  .week-card-meal{grid-template-columns:1fr;}
  .week-card-meal span{grid-row:auto;}
}

/* ============================================================
   Nutrición Admin v3 · Nuevas secciones
============================================================ */

/* Calculadora */
.calc-section-title{font-size:13px;font-weight:850;color:var(--text-2);text-transform:uppercase;letter-spacing:.7px;margin:16px 0 10px;}
.calc-result small{display:block;font-size:10px;color:var(--text-2);font-weight:700;margin-top:2px;}

/* Preferencias */
.prefs-section{margin-top:18px;padding-top:18px;border-top:1px solid var(--line-2);}
.prefs-section:first-child{margin-top:0;padding-top:0;border-top:none;}
.prefs-section-title{font-size:13px;font-weight:850;color:var(--navy);margin-bottom:12px;}
.prefs-meals-grid{display:flex;gap:10px;flex-wrap:wrap;}
.prefs-meal-toggle{display:flex;align-items:center;gap:8px;padding:10px 16px;border:1.5px solid var(--line);border-radius:12px;cursor:pointer;font-size:13px;font-weight:700;color:var(--text-2);transition:all .15s;background:#fff;}
.prefs-meal-toggle input{display:none;}
.prefs-meal-toggle.active{border-color:var(--blue);background:var(--blue-soft);color:var(--blue);}
.prefs-meal-toggle:before{content:'○';font-size:15px;}
.prefs-meal-toggle.active:before{content:'●';}
.dist-row-inactive td{opacity:.45;}
.warn-inline{background:#FFF4E0;color:var(--warn);border-radius:8px;padding:4px 10px;font-size:12px;font-weight:700;}

/* Editor de comida */
.meal-editor-items{margin-top:16px;padding-top:16px;border-top:1px solid var(--line-2);}
.meal-editor-items-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}
.meal-editor-macros{display:flex;gap:12px;margin-top:10px;padding:10px 12px;background:var(--blue-soft);border-radius:12px;font-size:13px;font-weight:700;color:var(--blue);flex-wrap:wrap;}

/* Vista previa */
.preview-week{display:flex;flex-direction:column;gap:16px;}
.preview-day{border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff;}
.preview-day-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
.preview-day-h span{font-size:16px;font-weight:850;color:var(--navy);}
.preview-day-type{font-size:11px;font-weight:800;background:var(--blue-soft);color:var(--blue);border-radius:99px;padding:4px 10px;}
.preview-meal{padding:10px 0;border-bottom:1px solid var(--line-2);}
.preview-meal:last-of-type{border-bottom:none;}
.preview-meal-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px;}
.preview-meal-h b{font-size:13px;font-weight:850;color:var(--navy);}
.preview-meal-macros{font-size:11px;color:var(--text-2);font-weight:650;}
.preview-recipe-name{font-size:12.5px;font-weight:700;color:var(--text-2);margin-bottom:6px;}
.preview-items{display:flex;flex-wrap:wrap;gap:6px;}
.preview-items span{font-size:12px;background:var(--bg);border:1px solid var(--line-2);border-radius:8px;padding:4px 8px;color:var(--text-2);}
.preview-items span b{color:var(--navy);}
.preview-day-total{margin-top:12px;padding:10px 12px;background:var(--bg);border-radius:12px;font-size:12.5px;font-weight:700;color:var(--text-2);}

@media(max-width:768px){
  .prefs-meals-grid{gap:8px;}
  .prefs-meal-toggle{padding:8px 12px;font-size:12px;}
  .meal-editor-macros{gap:8px;font-size:12px;}
  .preview-meal-h{flex-direction:column;gap:2px;}
}

/* ============================================================
   Menú admin v4 · Premium Apple-like visual refresh
   Scope: solo ficha atleta > menú nutri/admin
============================================================ */
.menu-admin-premium{
  --menu-glass:rgba(255,255,255,.78);
  --menu-stroke:rgba(10,26,47,.08);
  --menu-shadow:0 18px 55px rgba(10,26,47,.08);
  gap:18px;
}
.menu-admin-hero{
  position:relative;
  overflow:hidden;
  display:flex;
  justify-content:space-between;
  align-items:stretch;
  gap:18px;
  padding:22px;
  border-radius:26px;
  background:
    radial-gradient(circle at 82% 18%,rgba(79,158,232,.35),transparent 34%),
    linear-gradient(135deg,#071627 0%,#12304F 52%,#0A1A2F 100%);
  color:#fff;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 22px 55px rgba(10,26,47,.16);
}
.menu-admin-hero::after{
  content:'';
  position:absolute;
  inset:auto -75px -115px auto;
  width:270px;
  height:270px;
  border-radius:999px;
  background:radial-gradient(circle,rgba(255,255,255,.18),transparent 68%);
  pointer-events:none;
}
.menu-admin-hero-copy,.menu-admin-hero-metrics{position:relative;z-index:1;}
.menu-admin-kicker{
  font-size:10.5px;
  font-weight:850;
  letter-spacing:1.15px;
  text-transform:uppercase;
  color:rgba(255,255,255,.52);
  margin-bottom:8px;
}
.menu-admin-hero-title{
  font-size:27px;
  line-height:1.08;
  font-weight:880;
  letter-spacing:-.75px;
}
.menu-admin-hero-sub{
  margin-top:8px;
  font-size:13.5px;
  font-weight:650;
  color:rgba(255,255,255,.67);
}
.menu-admin-hero-metrics{
  display:grid;
  grid-template-columns:repeat(2,minmax(132px,1fr));
  gap:10px;
  min-width:300px;
}
.menu-admin-hero-metrics>div{
  padding:13px 14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.09);
  backdrop-filter:blur(16px);
  border-radius:18px;
}
.menu-admin-hero-metrics span{
  display:block;
  font-size:10px;
  font-weight:850;
  letter-spacing:.75px;
  text-transform:uppercase;
  color:rgba(255,255,255,.52);
}
.menu-admin-hero-metrics b{
  display:block;
  margin-top:6px;
  font-size:20px;
  font-weight:880;
  letter-spacing:-.4px;
  color:#fff;
}
.menu-admin-hero-metrics small{
  display:block;
  margin-top:2px;
  font-size:11px;
  font-weight:700;
  color:rgba(255,255,255,.58);
}
.premium-tabs{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  padding:8px;
  margin:0;
  border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.76),rgba(246,248,251,.92));
  border:1px solid rgba(10,26,47,.075);
  box-shadow:0 12px 35px rgba(10,26,47,.055);
  backdrop-filter:blur(18px);
}
.menu-admin-tab{
  min-height:64px;
  border:none;
  border-radius:18px;
  padding:10px 12px;
  display:flex;
  align-items:center;
  gap:10px;
  text-align:left;
  background:transparent;
  color:var(--text-2);
  transition:transform .16s var(--ease), background .16s var(--ease), box-shadow .16s var(--ease), color .16s var(--ease);
}
.menu-admin-tab:hover{background:rgba(255,255,255,.62);transform:translateY(-1px);}
.menu-admin-tab.active{
  background:#fff;
  color:var(--navy);
  box-shadow:0 10px 28px rgba(10,26,47,.09);
}
.menu-admin-tab-ic{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:rgba(47,125,209,.10);
  font-size:17px;
  flex:0 0 auto;
}
.menu-admin-tab.active .menu-admin-tab-ic{background:var(--blue-soft);}
.menu-admin-tab-txt{display:flex;flex-direction:column;gap:2px;min-width:0;}
.menu-admin-tab-txt b{font-size:13px;font-weight:850;letter-spacing:-.15px;color:inherit;}
.menu-admin-tab-txt small{font-size:10.5px;font-weight:700;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.menu-admin-card{
  border:1px solid rgba(10,26,47,.075);
  border-radius:26px;
  padding:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(248,250,253,.96));
  box-shadow:var(--menu-shadow);
}
.menu-admin-head{margin-bottom:16px;}
.menu-admin-title{font-size:20px;font-weight:880;letter-spacing:-.55px;}
.menu-admin-sub{font-size:13px;line-height:1.45;color:#6C7784;}
.menu-admin-premium .mini-btn{
  border-radius:999px;
  padding:9px 15px;
  font-weight:800;
  box-shadow:0 1px 0 rgba(255,255,255,.55) inset;
}
.menu-admin-premium .mini-btn.good{
  background:#112D4A;
  color:#fff;
  box-shadow:0 11px 25px rgba(10,26,47,.16);
}
.menu-admin-premium .mini-btn.good:hover{background:#0A1A2F;transform:translateY(-1px);}
.menu-admin-premium .field-g{margin:0;display:flex;flex-direction:column;gap:6px;min-width:0;}
.menu-admin-premium .field-g>span,
.menu-admin-premium .field-g label,
.menu-admin-premium .day-target-control label>span{
  display:block;
  font-size:10px;
  font-weight:850;
  letter-spacing:.65px;
  text-transform:uppercase;
  color:#8A96A4;
  margin:0;
}
.menu-admin-premium .inp{
  min-height:42px;
  border-radius:14px;
  border:1px solid rgba(10,26,47,.09);
  background:rgba(255,255,255,.72);
  color:var(--navy);
  font-size:13.5px;
  font-weight:720;
  padding:10px 12px;
  box-shadow:0 1px 0 rgba(255,255,255,.76) inset;
  transition:border-color .16s var(--ease), box-shadow .16s var(--ease), background .16s var(--ease), transform .16s var(--ease);
}
.menu-admin-premium select.inp{
  appearance:none;
  padding-right:34px;
  background-image:
    linear-gradient(45deg,transparent 50%,#7A8795 50%),
    linear-gradient(135deg,#7A8795 50%,transparent 50%);
  background-position:calc(100% - 17px) 18px,calc(100% - 12px) 18px;
  background-size:5px 5px,5px 5px;
  background-repeat:no-repeat;
}
.menu-admin-premium .inp:focus{
  background:#fff;
  border-color:rgba(47,125,209,.62);
  box-shadow:0 0 0 4px rgba(47,125,209,.10),0 1px 0 rgba(255,255,255,.75) inset;
}
.calc-admin-card{display:flex;flex-direction:column;gap:16px;}
.calc-admin-head{align-items:center;margin-bottom:0;}
.calc-save-btn{white-space:nowrap;}
.calc-result-premium{
  display:grid;
  grid-template-columns:1.15fr repeat(3,1fr);
  gap:12px;
  margin:0;
}
.calc-result{
  position:relative;
  overflow:hidden;
  min-height:108px;
  text-align:left;
  border-radius:22px;
  border:1px solid rgba(10,26,47,.075);
  background:#fff;
  padding:17px;
  box-shadow:0 10px 28px rgba(10,26,47,.045);
}
.calc-result::after{
  content:'';
  position:absolute;
  width:96px;
  height:96px;
  right:-46px;
  top:-42px;
  border-radius:999px;
  background:rgba(47,125,209,.09);
}
.calc-result.featured{
  color:#fff;
  border-color:rgba(255,255,255,.12);
  background:linear-gradient(135deg,#132B46,#0A1A2F);
}
.calc-result.featured::after{background:rgba(255,255,255,.12);}
.calc-result span{font-size:10px;letter-spacing:.8px;color:#8A96A4;position:relative;z-index:1;}
.calc-result.featured span{color:rgba(255,255,255,.58);}
.calc-result b{font-size:28px;font-weight:900;letter-spacing:-1px;color:var(--navy);position:relative;z-index:1;}
.calc-result.featured b{color:#fff;}
.calc-result small{font-size:11px;color:#7C8794;font-weight:750;position:relative;z-index:1;}
.calc-result.featured small{color:rgba(255,255,255,.62);}
.calc-layout-grid{
  display:grid;
  grid-template-columns:minmax(280px,.82fr) minmax(0,1.55fr);
  gap:14px;
  align-items:start;
}
.calc-panel{
  border:1px solid rgba(10,26,47,.075);
  border-radius:24px;
  background:rgba(255,255,255,.68);
  padding:16px;
  box-shadow:0 8px 24px rgba(10,26,47,.035);
}
.calc-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px;}
.calc-panel-title{font-size:15px;font-weight:880;color:var(--navy);letter-spacing:-.25px;}
.calc-panel-sub{margin-top:3px;font-size:12px;font-weight:650;line-height:1.42;color:#778393;}
.calc-profile-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.premium-day-targets{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:0;
}
.premium-target-card{
  border:1px solid rgba(10,26,47,.075);
  border-radius:22px;
  background:linear-gradient(180deg,#fff,rgba(249,251,253,.94));
  padding:14px;
  box-shadow:0 8px 23px rgba(10,26,47,.035);
}
.premium-target-top{margin-bottom:11px;align-items:flex-start;}
.day-target-note{margin-top:4px;font-size:11px;font-weight:720;color:#8793A1;}
.day-target-kcal{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:1px;
  min-width:78px;
  border-radius:16px;
  padding:8px 10px;
  color:var(--blue);
  background:linear-gradient(180deg,#EEF7FF,#F7FBFF);
}
.day-target-kcal b{font-size:19px;font-weight:900;line-height:1;color:var(--blue);}
.day-target-kcal span{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.65px;color:#6C91BC;}
.day-target-control{margin-bottom:10px;}
.day-target-control label{display:grid;grid-template-columns:1fr 110px;align-items:center;gap:10px;}
.day-target-control .inp{min-height:38px;text-align:right;font-size:14px;padding:8px 10px;}
.premium-target-macros{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;}
.menu-admin-premium .nadmin-macro{
  border:1px solid rgba(10,26,47,.06);
  background:rgba(246,248,251,.86);
  border-radius:13px;
  padding:8px 5px;
}
.menu-admin-premium .nadmin-macro b{font-size:13px;font-weight:880;color:var(--navy);}
.menu-admin-premium .nadmin-macro span{font-size:9px;color:#8A96A4;}
/* Preferencias más compactas y premium */
.prefs-section{
  margin-top:14px;
  padding:16px;
  border:1px solid rgba(10,26,47,.075);
  border-radius:22px;
  background:rgba(255,255,255,.68);
  box-shadow:0 8px 24px rgba(10,26,47,.035);
}
.prefs-section:first-child{margin-top:0;padding-top:16px;border-top:1px solid rgba(10,26,47,.075);}
.prefs-section-title{font-size:15px;font-weight:880;letter-spacing:-.2px;margin-bottom:12px;}
.menu-admin-premium .nadmin-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.menu-admin-premium .nadmin-form-grid .full{grid-column:span 2;}
.prefs-meals-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;}
.prefs-meal-toggle{
  min-height:46px;
  justify-content:center;
  border-radius:16px;
  border:1px solid rgba(10,26,47,.09);
  background:#fff;
  font-size:12.5px;
  font-weight:820;
  color:#7A8795;
  box-shadow:0 6px 18px rgba(10,26,47,.035);
}
.prefs-meal-toggle.active{
  color:var(--navy);
  background:linear-gradient(180deg,#fff,#F2F8FF);
  border-color:rgba(47,125,209,.28);
  box-shadow:0 8px 22px rgba(47,125,209,.09);
}
.prefs-meal-toggle:before{font-size:12px;color:#B2BFCD;}
.prefs-meal-toggle.active:before{color:var(--blue);}
.menu-admin-premium .nadmin-table-wrap{
  border-radius:18px;
  border:1px solid rgba(10,26,47,.075);
  background:#fff;
}
.menu-admin-premium .tbl thead th{background:#F7F9FC;color:#8A96A4;font-weight:850;}
.menu-admin-premium .tbl tbody tr{cursor:default;}
.menu-admin-premium .tbl tbody tr:hover{background:#FAFCFF;}
.menu-admin-premium .tbl tbody td{padding:10px 12px;}
.menu-admin-premium .tbl .inp,
.menu-admin-premium .dist-c,
.menu-admin-premium .dist-p,
.menu-admin-premium .dist-f,
.menu-admin-premium .dist-fi{
  min-height:34px;
  padding:7px 8px;
  border-radius:11px;
  font-size:12.5px;
  text-align:right;
}
/* También sube el nivel visual del builder sin tocar lógica */
.week-card{
  border-radius:22px;
  border:1px solid rgba(10,26,47,.075);
  box-shadow:0 10px 28px rgba(10,26,47,.045);
}
.week-card-summary{border-radius:16px;background:rgba(246,248,251,.88);}
.week-card-meal{border-radius:15px;}
.week-card-top .day-type-sel{border-radius:15px;}
@media(max-width:1180px){
  .premium-tabs{grid-template-columns:repeat(3,minmax(0,1fr));}
  .calc-result-premium{grid-template-columns:repeat(2,minmax(0,1fr));}
  .calc-layout-grid{grid-template-columns:1fr;}
  .premium-day-targets{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:850px){
  .menu-admin-hero{flex-direction:column;}
  .menu-admin-hero-metrics{min-width:0;width:100%;}
  .premium-tabs{grid-template-columns:1fr;}
  .menu-admin-tab{min-height:56px;}
  .premium-day-targets{grid-template-columns:1fr;}
  .menu-admin-premium .nadmin-form-grid{grid-template-columns:1fr;}
  .menu-admin-premium .nadmin-form-grid .full{grid-column:1/-1;}
  .prefs-meals-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:620px){
  .menu-admin-card{padding:16px;border-radius:22px;}
  .menu-admin-hero{padding:18px;border-radius:22px;}
  .menu-admin-hero-title{font-size:23px;}
  .menu-admin-hero-metrics{grid-template-columns:1fr;}
  .calc-result-premium{grid-template-columns:1fr;}
  .calc-profile-grid{grid-template-columns:1fr;}
  .day-target-control label{grid-template-columns:1fr;}
  .day-target-control .inp{text-align:left;}
}

/* ============================================================
   DTR · Pulido premium menú admin · calculadora/prefs/compra
============================================================ */
.calc-result-premium{
  grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.22fr);
}
.calc-result.featured{
  min-height:114px;
  background:
    radial-gradient(circle at 82% 12%,rgba(71,151,239,.36),transparent 34%),
    linear-gradient(135deg,#16385F 0%,#0A1A2F 78%);
  box-shadow:0 18px 38px rgba(10,26,47,.18);
}
.calc-result.featured b{font-size:32px;letter-spacing:-1.25px;}
.calc-result.featured span{color:rgba(255,255,255,.68);}
.calc-result.featured small{color:rgba(255,255,255,.72);}
.targets-panel{
  background:
    radial-gradient(circle at 100% 0%,rgba(61,139,224,.28),transparent 32%),
    linear-gradient(145deg,#143453 0%,#0A1A2F 84%);
  border-color:rgba(255,255,255,.10);
  box-shadow:0 18px 42px rgba(10,26,47,.16);
}
.targets-panel .calc-panel-title{color:#fff;}
.targets-panel .calc-panel-sub{color:rgba(255,255,255,.70);}
.targets-panel .premium-target-card{
  background:linear-gradient(180deg,#FFFFFF 0%,#F6FAFF 100%);
  border-color:rgba(255,255,255,.22);
  box-shadow:0 12px 26px rgba(0,0,0,.12);
}
.targets-panel .day-target-name{color:#0A1A2F;}
.targets-panel .day-target-note{color:#788694;}
.targets-panel .day-target-control label>span{color:#8994A3;}
.targets-panel .nadmin-macro{background:#F7FAFD;}
.prefs-admin-card{display:flex;flex-direction:column;gap:14px;}
.prefs-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.prefs-section-sub{
  margin-top:3px;
  font-size:12px;
  font-weight:650;
  line-height:1.42;
  color:#778393;
}
.prefs-pill{
  flex:0 0 auto;
  border-radius:999px;
  padding:6px 10px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.55px;
  text-transform:uppercase;
  color:#fff;
  background:#0A1A2F;
  box-shadow:0 8px 20px rgba(10,26,47,.14);
}
.prefs-pill.soft{
  color:#16426D;
  background:#E9F4FF;
  box-shadow:none;
}
.prefs-restriction-grid{align-items:start;}
.prefs-two-col{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.food-multi-field{min-width:0;}
.food-multi-select{
  min-height:174px!important;
  padding:10px!important;
  overflow:auto;
  background:
    linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,250,253,.96))!important;
}
.food-multi-select optgroup{
  color:#8A96A4;
  font-size:11px;
  font-weight:900;
  letter-spacing:.3px;
}
.food-multi-select option{
  color:#0A1A2F;
  font-size:13px;
  font-weight:700;
  padding:7px 9px;
  border-radius:10px;
  margin:2px 0;
}
.food-multi-select option:checked{
  background:linear-gradient(135deg,#E9F4FF,#DCEEFF);
  color:#16426D;
}
.textarea-inp{
  min-height:86px!important;
  resize:vertical;
  line-height:1.45;
}
.field-hint{
  display:block;
  margin-top:4px;
  color:#8793A1;
  font-size:11.5px;
  font-weight:650;
  line-height:1.35;
}
.shopping-admin-card{padding:0;overflow:hidden;background:#F6F8FB;}
.shopping-hero{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) auto auto;
  align-items:center;
  gap:16px;
  padding:22px;
  color:#fff;
  background:
    radial-gradient(circle at 88% 8%,rgba(75,158,248,.28),transparent 34%),
    linear-gradient(135deg,#143453,#0A1A2F 78%);
}
.shopping-hero .menu-admin-title{color:#fff;}
.shopping-hero .menu-admin-sub{color:rgba(255,255,255,.68);}
.shopping-kicker{
  margin-bottom:4px;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.95px;
  color:rgba(255,255,255,.58);
}
.shopping-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(92px,1fr));
  gap:8px;
}
.shopping-summary div{
  min-height:62px;
  border-radius:18px;
  padding:10px 12px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 1px 0 rgba(255,255,255,.12) inset;
}
.shopping-summary span{
  display:block;
  font-size:9.5px;
  font-weight:850;
  letter-spacing:.55px;
  text-transform:uppercase;
  color:rgba(255,255,255,.55);
}
.shopping-summary b{
  display:block;
  margin-top:4px;
  font-size:20px;
  font-weight:900;
  letter-spacing:-.6px;
  color:#fff;
}
.premium-shopping-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  padding:18px;
}
.premium-shopping-card{
  border-radius:24px;
  padding:0;
  overflow:hidden;
  background:linear-gradient(180deg,#FFFFFF,#F9FBFE);
  border:1px solid rgba(10,26,47,.075);
  box-shadow:0 12px 28px rgba(10,26,47,.055);
}
.shopping-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:15px 16px;
  border-bottom:1px solid rgba(10,26,47,.06);
  background:rgba(255,255,255,.64);
}
.shopping-card-title-wrap{display:flex;align-items:center;gap:10px;min-width:0;}
.shopping-icon{
  width:38px;
  height:38px;
  flex:0 0 auto;
  border-radius:15px;
  display:grid;
  place-items:center;
  background:#EEF7FF;
  font-size:19px;
}
.shopping-card-head b{
  flex:0 0 auto;
  color:#16426D;
  background:#EAF5FF;
  border-radius:999px;
  padding:7px 10px;
  font-size:12px;
  font-weight:900;
}
.premium-shopping-card .shopping-title{margin:0;color:#0A1A2F;font-size:14px;}
.shopping-card-title-wrap small{display:block;margin-top:1px;color:#8793A1;font-size:11px;font-weight:750;}
.shopping-item-list{padding:8px 12px 12px;}
.premium-shopping-item{
  display:grid;
  grid-template-columns:22px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:8px 0;
  border-bottom:1px solid rgba(10,26,47,.055);
  font-size:13px;
}
.premium-shopping-item:last-child{border-bottom:0;}
.shopping-check{
  width:20px;
  height:20px;
  border-radius:999px;
  display:grid;
  place-items:center;
  color:#B6C1CE;
  font-size:16px;
  line-height:1;
}
.shopping-name{
  min-width:0;
  color:#15283E;
  font-weight:720;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.premium-shopping-item b{
  border-radius:999px;
  background:#F2F6FA;
  color:#16426D;
  padding:5px 9px;
  font-size:12px;
  font-weight:900;
}
@media(max-width:1180px){
  .calc-result-premium{grid-template-columns:repeat(2,minmax(0,1fr));}
  .shopping-hero{grid-template-columns:1fr;}
  .shopping-summary{width:100%;}
}
@media(max-width:850px){
  .prefs-two-col{grid-template-columns:1fr;}
  .premium-shopping-grid{grid-template-columns:1fr;}
}
@media(max-width:620px){
  .shopping-summary{grid-template-columns:1fr;}
  .premium-shopping-grid{padding:14px;}
}

/* ============================================================
   DTR · Builder semanal tipo Excel · nutri/admin
============================================================ */
.builder-week-card{
  overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.90),rgba(244,247,251,.96));
}
.premium-builder-note{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:14px;
}
.builder-ok-pill{
  display:inline-flex;
  align-items:center;
  width:max-content;
  border-radius:999px;
  padding:5px 10px;
  font-size:11px;
  font-weight:900;
  color:#0B6B3A;
  background:#E6F6EC;
}
.week-control-dashboard{
  display:grid;
  grid-template-columns:1.15fr 1fr .9fr 1.35fr;
  gap:12px;
  margin:0 0 16px;
}
.week-kpi-card{
  position:relative;
  overflow:hidden;
  min-height:104px;
  border-radius:24px;
  padding:16px;
  border:1px solid rgba(10,26,47,.075);
  background:linear-gradient(180deg,#fff,#F8FBFE);
  box-shadow:0 10px 28px rgba(10,26,47,.05);
}
.week-kpi-card::after{
  content:'';
  position:absolute;
  width:88px;
  height:88px;
  right:-38px;
  top:-36px;
  border-radius:999px;
  background:rgba(47,125,209,.08);
}
.week-kpi-card.main{
  color:#fff;
  background:
    radial-gradient(circle at 84% 10%,rgba(71,151,239,.28),transparent 34%),
    linear-gradient(135deg,#153B63,#0A1A2F 80%);
  box-shadow:0 18px 38px rgba(10,26,47,.17);
}
.week-kpi-card.main::after{background:rgba(255,255,255,.10);}
.week-kpi-card.ok{background:linear-gradient(180deg,#FFFFFF,#F3FBF6);}
.week-kpi-card.deficit{background:linear-gradient(180deg,#FFFFFF,#F7FAFF);}
.week-kpi-card.surplus{background:linear-gradient(180deg,#FFFFFF,#FFF8EC);}
.week-kpi-card span,
.week-kpi-card small,
.week-kpi-card b{position:relative;z-index:1;}
.week-kpi-card>span{
  display:block;
  font-size:10px;
  font-weight:900;
  letter-spacing:.85px;
  text-transform:uppercase;
  color:#8A96A4;
}
.week-kpi-card.main>span{color:rgba(255,255,255,.62);}
.week-kpi-card>b{
  display:block;
  margin-top:7px;
  color:#0A1A2F;
  font-size:27px;
  font-weight:920;
  letter-spacing:-1px;
  line-height:1.02;
}
.week-kpi-card.main>b{color:#fff;font-size:32px;}
.week-kpi-card.macros>b{font-size:19px;letter-spacing:-.45px;line-height:1.25;}
.week-kpi-card small{
  display:block;
  margin-top:7px;
  color:#778393;
  font-size:11.5px;
  font-weight:720;
  line-height:1.35;
}
.week-kpi-card.main small{color:rgba(255,255,255,.70);}
.week-kpi-card.deficit b{color:#16426D;}
.week-kpi-card.surplus b{color:#9A5B0B;}
.week-kpi-card.ok b{color:#0B6B3A;}
.week-matrix-wrap{
  overflow:auto;
  border-radius:26px;
  border:1px solid rgba(10,26,47,.075);
  background:#EEF3F8;
  box-shadow:0 16px 38px rgba(10,26,47,.065);
}
.week-matrix{
  min-width:1720px;
  display:grid;
  grid-template-columns:136px repeat(7,minmax(218px,1fr));
  gap:1px;
  background:rgba(10,26,47,.075);
}
.week-matrix-corner,
.week-matrix-day-head,
.week-matrix-meal-label,
.week-matrix-meal,
.week-matrix-empty-cell{
  background:rgba(255,255,255,.94);
}
.week-matrix-corner{
  position:sticky;
  left:0;
  z-index:4;
  min-height:176px;
  padding:16px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:linear-gradient(180deg,#F8FBFE,#FFFFFF);
}
.week-matrix-corner b,
.week-matrix-meal-label b{
  color:#0A1A2F;
  font-size:14px;
  font-weight:900;
  letter-spacing:-.25px;
}
.week-matrix-corner small,
.week-matrix-meal-label small{
  margin-top:4px;
  color:#8793A1;
  font-size:11px;
  font-weight:750;
  line-height:1.25;
}
.week-matrix-day-head{
  min-height:176px;
  padding:12px;
  display:flex;
  flex-direction:column;
  gap:10px;
  background:linear-gradient(180deg,#FFFFFF,#F8FBFE);
}
.week-day-head-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
}
.week-day-head-top .mini-btn{
  width:38px;
  min-width:38px;
  height:38px;
  padding:0;
  display:grid;
  place-items:center;
}
.week-day-label{
  margin-bottom:7px;
  color:#0A1A2F;
  font-size:15px;
  font-weight:920;
  letter-spacing:-.3px;
}
.week-matrix-day-head .day-type-sel{
  min-height:38px;
  width:160px;
  max-width:160px;
  font-size:12px;
  border-radius:14px;
  padding:8px 30px 8px 10px;
}
.week-day-live{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:10px;
  border-radius:18px;
  background:#F4F8FC;
  border:1px solid rgba(10,26,47,.055);
}
.week-day-kcal{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:8px;
}
.week-day-kcal b{
  color:#0A1A2F;
  font-size:23px;
  font-weight:920;
  letter-spacing:-.8px;
}
.week-day-kcal span{
  color:#8793A1;
  font-size:11px;
  font-weight:800;
}
.week-day-gkg{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:5px;
}
.week-day-gkg span{
  border-radius:999px;
  padding:5px 6px;
  background:#fff;
  color:#16426D;
  font-size:10px;
  font-weight:900;
  text-align:center;
  border:1px solid rgba(10,26,47,.055);
}
.week-matrix-meal-label{
  position:sticky;
  left:0;
  z-index:3;
  min-height:212px;
  padding:14px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:linear-gradient(180deg,#FFFFFF,#F8FBFE);
}
.week-matrix-meal,
.week-matrix-empty-cell{
  min-height:212px;
  padding:10px;
}
.week-matrix-meal{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.week-matrix-empty-cell{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:#9AA6B4;
  font-size:12px;
  font-weight:800;
  background:#FAFCFE;
}
.week-inline-recipe{
  width:100%;
  min-height:36px!important;
  border-radius:13px!important;
  font-size:12px!important;
  padding-top:7px!important;
  padding-bottom:7px!important;
}
.week-inline-recipe-name{
  min-height:28px;
  color:#0A1A2F;
  font-size:12.5px;
  font-weight:880;
  line-height:1.22;
  letter-spacing:-.15px;
}
.week-inline-items{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.week-food-editor-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 62px 26px;
  gap:5px;
  align-items:center;
}
.week-food-editor-row .inp{
  min-height:32px!important;
  border-radius:11px!important;
  font-size:11.5px!important;
  padding:6px 8px!important;
}
.week-inline-qty{text-align:right;}
.week-row-del{
  width:26px;
  height:26px;
  border:0;
  border-radius:999px;
  cursor:pointer;
  color:#8793A1;
  background:#F1F4F8;
  font-weight:900;
}
.week-row-del:hover{background:#FDECEC;color:#B42318;}
.week-add-food{
  width:max-content;
  border:0;
  border-radius:999px;
  padding:6px 9px;
  cursor:pointer;
  color:#16426D;
  background:#EAF5FF;
  font-size:11px;
  font-weight:900;
}
.week-meal-live{
  margin-top:auto;
  border-radius:14px;
  padding:7px 9px;
  color:#16426D;
  background:#F1F8FF;
  border:1px solid rgba(47,125,209,.13);
  font-size:11px;
  font-weight:900;
  line-height:1.25;
}
.builder-footer-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
  margin-top:14px;
}
@media(max-width:1280px){
  .week-control-dashboard{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:760px){
  .week-control-dashboard{grid-template-columns:1fr;}
  .week-matrix{min-width:1500px;grid-template-columns:124px repeat(7,minmax(196px,1fr));}
  .week-matrix-corner,.week-matrix-day-head{min-height:166px;}
  .week-matrix-meal-label,.week-matrix-meal,.week-matrix-empty-cell{min-height:206px;}
}

/* ============================================================
   DTR · Menú admin v4 · semana limpia + editor por día
============================================================ */
.clean-builder-card{
  overflow:visible;
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(245,248,252,.98));
}
.clean-builder-card .week-control-dashboard{
  display:grid;
  grid-template-columns:1.02fr 1fr .92fr 1.25fr;
  gap:10px;
  margin:0 0 14px;
  align-items:stretch;
}
.clean-builder-card .week-kpi-card{
  min-height:88px;
  border-radius:22px;
  padding:14px 15px;
  box-shadow:0 10px 28px rgba(10,26,47,.055);
}
.clean-builder-card .week-kpi-card.main{
  background:linear-gradient(135deg,#153B63,#0A1A2F 82%);
}
.clean-builder-card .week-kpi-card>span{
  font-size:9.5px;
  letter-spacing:.7px;
}
.clean-builder-card .week-kpi-card>b{
  margin-top:5px;
  font-size:24px;
  letter-spacing:-.75px;
}
.clean-builder-card .week-kpi-card.main>b{font-size:28px;}
.clean-builder-card .week-kpi-card.macros>b{font-size:17px;}
.clean-builder-card .week-kpi-card small{font-size:11px;margin-top:5px;}
.week-clean-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:10px;
  margin-top:8px;
}
.week-clean-day{
  position:relative;
  min-width:0;
  border-radius:24px;
  padding:12px;
  background:linear-gradient(180deg,#FFFFFF,#F8FBFE);
  border:1px solid rgba(10,26,47,.075);
  box-shadow:0 10px 24px rgba(10,26,47,.045);
  display:flex;
  flex-direction:column;
  gap:10px;
}
.week-clean-day.editing{
  border-color:rgba(47,125,209,.45);
  box-shadow:0 16px 34px rgba(47,125,209,.16);
}
.week-clean-day.empty{background:linear-gradient(180deg,#FBFCFE,#F4F7FB);}
.week-clean-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
}
.week-clean-top .week-day-label{
  margin-bottom:6px;
  font-size:14px;
  line-height:1;
}
.week-clean-top .day-type-sel{
  width:100%;
  min-height:34px;
  border-radius:14px;
  padding:7px 28px 7px 10px;
  font-size:11.5px;
  font-weight:850;
}
.mini-btn.compact{
  width:34px;
  min-width:34px;
  height:34px;
  padding:0;
  display:grid;
  place-items:center;
  border-radius:14px;
}
.week-clean-live{
  border-radius:18px;
  padding:9px;
  background:#F2F7FC;
  border:1px solid rgba(10,26,47,.055);
}
.week-clean-live .week-day-kcal b{font-size:22px;}
.week-clean-live .week-day-gkg{gap:4px;}
.week-clean-live .week-day-gkg span{font-size:9.6px;padding:4px 4px;}
.week-clean-live .week-status{font-size:10px;padding:4px 7px;width:max-content;}
.week-clean-meals{
  display:flex;
  flex-direction:column;
  gap:5px;
  min-height:92px;
}
.week-clean-meals span,
.week-clean-meals small{
  display:block;
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  color:#41546B;
  font-size:11px;
  font-weight:780;
  line-height:1.2;
}
.week-clean-meals span::before{
  content:'•';
  margin-right:5px;
  color:#2F7DD1;
}
.week-clean-day.empty .week-clean-meals span{color:#9AA6B4;}
.week-edit-day-btn{
  margin-top:auto;
  width:100%;
  min-height:34px;
  border:0;
  border-radius:14px;
  cursor:pointer;
  color:#0A1A2F;
  background:#EEF5FC;
  font-size:12px;
  font-weight:900;
}
.week-edit-day-btn:hover{background:#E1EFFB;color:#16426D;}
.week-clean-day.editing .week-edit-day-btn{background:#0A1A2F;color:#fff;}
.day-editor-shell{
  margin-top:16px;
  border-radius:28px;
  padding:18px;
  background:#F3F7FB;
  border:1px solid rgba(10,26,47,.075);
  box-shadow:0 18px 42px rgba(10,26,47,.07);
}
.day-editor-shell.empty{padding:20px;background:#fff;}
.day-editor-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.day-editor-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.day-editor-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:14px;
  align-items:start;
}
.day-editor-meals{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.day-editor-meal{
  min-width:0;
  border-radius:24px;
  padding:14px;
  background:linear-gradient(180deg,#FFFFFF,#FAFCFE);
  border:1px solid rgba(10,26,47,.07);
  box-shadow:0 10px 26px rgba(10,26,47,.045);
}
.day-editor-meal.empty{
  min-height:112px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  color:#8793A1;
}
.day-editor-meal-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.day-editor-meal-top b{
  display:block;
  color:#0A1A2F;
  font-size:14px;
  font-weight:920;
  letter-spacing:-.25px;
}
.day-editor-meal-top small{
  display:block;
  margin-top:3px;
  color:#8793A1;
  font-size:11px;
  font-weight:760;
}
.day-meal-live{
  flex:0 0 auto;
  max-width:160px;
  border-radius:14px;
  padding:7px 9px;
  color:#16426D;
  background:#F0F7FF;
  border:1px solid rgba(47,125,209,.14);
  font-size:11px;
  font-weight:900;
  line-height:1.25;
  text-align:right;
}
.day-editor-recipe{
  width:100%;
  min-height:38px!important;
  border-radius:15px!important;
  font-size:12px!important;
}
.day-editor-recipe-name{
  margin:9px 0;
  color:#0A1A2F;
  font-size:12.5px;
  font-weight:850;
  line-height:1.22;
}
.day-editor-items{
  display:flex;
  flex-direction:column;
  gap:7px;
  margin-bottom:8px;
}
.day-editor-food-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 74px 28px;
  gap:7px;
  align-items:center;
}
.day-editor-food-row .inp{
  min-height:34px!important;
  border-radius:12px!important;
  font-size:12px!important;
  padding:7px 9px!important;
}
.day-editor-qty{text-align:right;}
.day-editor-sidebar{
  position:sticky;
  top:14px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.day-side-card{
  border-radius:24px;
  padding:15px;
  background:#fff;
  border:1px solid rgba(10,26,47,.075);
  box-shadow:0 10px 26px rgba(10,26,47,.05);
}
.day-side-card.main{
  color:#fff;
  background:linear-gradient(135deg,#153B63,#0A1A2F 82%);
  border-color:rgba(255,255,255,.08);
}
.day-side-card.main.deficit{background:linear-gradient(135deg,#174C7B,#0A1A2F 82%);}
.day-side-card.main.surplus{background:linear-gradient(135deg,#9A5B0B,#0A1A2F 88%);}
.day-side-card>span{
  display:block;
  margin-bottom:7px;
  font-size:9.5px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.75px;
  color:#8793A1;
}
.day-side-card.main>span{color:rgba(255,255,255,.62);}
.day-side-card b{
  display:block;
  color:#0A1A2F;
  font-size:22px;
  font-weight:920;
  letter-spacing:-.65px;
}
.day-side-card.main b{color:#fff;}
.day-side-card small,
.day-side-card p{
  margin:6px 0 0;
  color:#778393;
  font-size:12px;
  font-weight:760;
  line-height:1.35;
}
.day-side-card.main small{color:rgba(255,255,255,.72);}
.day-side-gkg{
  display:grid;
  grid-template-columns:48px 1fr;
  align-items:baseline;
  gap:8px;
  padding:8px 0;
  border-bottom:1px solid rgba(10,26,47,.055);
}
.day-side-gkg:last-child{border-bottom:0;}
.day-side-gkg b{font-size:22px;color:#16426D;}
.day-side-gkg small{margin:0;font-size:11px;color:#8793A1;font-weight:900;}

/* Preferencias: buscador multi-selección compacto */
.food-multi-field,.food-multi-select{display:none!important;}
.food-picker-field{
  position:relative;
  min-width:0;
}
.food-picker-control{
  min-height:46px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 24px;
  align-items:center;
  gap:8px;
  border-radius:18px;
  padding:8px 10px;
  background:#fff;
  border:1px solid rgba(10,26,47,.10);
  box-shadow:0 1px 0 rgba(255,255,255,.65) inset;
  cursor:pointer;
}
.food-picker-control:hover{border-color:rgba(47,125,209,.28);background:#FBFDFF;}
.food-picker-chips{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  min-width:0;
}
.food-chip{
  border:0;
  border-radius:999px;
  padding:5px 8px;
  color:#16426D;
  background:#EAF5FF;
  font-size:11.5px;
  font-weight:850;
  cursor:pointer;
}
.food-chip span{margin-left:5px;color:#7B8A9C;}
.food-picker-placeholder{color:#9AA6B4;font-size:12px;font-weight:760;padding-left:2px;}
.food-picker-caret{color:#7B8A9C;font-weight:900;text-align:center;}
.food-picker-panel{
  display:none;
  position:absolute;
  z-index:60;
  top:calc(100% + 6px);
  left:0;
  right:0;
  border-radius:20px;
  padding:10px;
  background:#fff;
  border:1px solid rgba(10,26,47,.10);
  box-shadow:0 20px 52px rgba(10,26,47,.16);
}
.food-picker-panel.open{display:block;}
.food-picker-search{width:100%;margin-bottom:8px;}
.food-picker-options{
  max-height:260px;
  overflow:auto;
  display:flex;
  flex-direction:column;
  gap:4px;
  padding-right:3px;
}
.food-picker-option{
  width:100%;
  border:0;
  border-radius:14px;
  display:grid;
  grid-template-columns:24px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  padding:8px 9px;
  background:#fff;
  color:#0A1A2F;
  cursor:pointer;
  text-align:left;
  font-size:12.5px;
  font-weight:800;
}
.food-picker-option:hover{background:#F4F8FC;}
.food-picker-option.selected{background:#EAF5FF;color:#16426D;}
.food-check{
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#EEF3F8;
  color:#16426D;
  font-size:12px;
  font-weight:900;
}
.food-picker-option small{
  color:#9AA6B4;
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
}

@media(max-width:1420px){
  .week-clean-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
  .clean-builder-card .week-control-dashboard{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:1040px){
  .week-clean-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .day-editor-layout{grid-template-columns:1fr;}
  .day-editor-sidebar{position:static;}
}
@media(max-width:760px){
  .week-clean-grid{grid-template-columns:1fr;}
  .day-editor-meals{grid-template-columns:1fr;}
  .day-editor-head{flex-direction:column;}
  .day-editor-actions{width:100%;justify-content:flex-start;}
  .clean-builder-card .week-control-dashboard{grid-template-columns:1fr;}
}

/* ============================================================
   DTR · Menú admin v5 · estructura semanal compacta real
   Objetivo: semana completa visible + edición diaria fina
============================================================ */
.builder-control-v5{
  padding:16px 18px 20px;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(244,248,252,.98));
  overflow:visible;
}
.builder-topbar{
  display:grid;
  grid-template-columns:minmax(260px,1fr) auto;
  gap:14px;
  align-items:center;
  margin-bottom:10px;
}
.builder-title-block .menu-admin-title{
  font-size:18px;
  letter-spacing:-.45px;
}
.builder-title-block .menu-admin-sub{
  max-width:720px;
  font-size:12.5px;
}
.compact-actions{
  align-items:center;
  gap:7px;
  flex-wrap:nowrap;
}
.week-date-input{
  min-width:168px;
  min-height:38px!important;
  border-radius:16px!important;
  font-size:12.5px!important;
  font-weight:850!important;
}
.compact-actions .mini-btn{
  min-height:38px;
  border-radius:16px;
  padding:0 13px;
  white-space:nowrap;
}
.compact-note{
  min-height:40px;
  padding:8px 10px;
  margin-bottom:10px;
  border-radius:16px;
}
.builder-logic-pill{
  display:inline-flex;
  align-items:center;
  width:max-content;
  border-radius:999px;
  padding:5px 10px;
  background:#EEF5FC;
  color:#16426D;
  font-size:11px;
  font-weight:900;
}
.week-summary-strip{
  display:grid;
  grid-template-columns:1.1fr .75fr .75fr .75fr 1.35fr;
  gap:8px;
  margin:0 0 12px;
  align-items:stretch;
}
.week-summary-status,
.week-summary-mini{
  position:relative;
  overflow:hidden;
  min-width:0;
  min-height:74px;
  border-radius:20px;
  padding:12px 13px;
  border:1px solid rgba(10,26,47,.075);
  background:linear-gradient(180deg,#FFFFFF,#F8FBFE);
  box-shadow:0 8px 20px rgba(10,26,47,.045);
}
.week-summary-status{
  color:#fff;
  background:
    radial-gradient(circle at 94% 6%,rgba(255,255,255,.18),transparent 32%),
    linear-gradient(135deg,#153B63,#0A1A2F 84%);
  box-shadow:0 14px 34px rgba(10,26,47,.16);
}
.week-summary-status.deficit{background:linear-gradient(135deg,#164D7E,#0A1A2F 84%);}
.week-summary-status.surplus{background:linear-gradient(135deg,#9A5B0B,#0A1A2F 88%);}
.week-summary-status.ok{background:linear-gradient(135deg,#0B6B3A,#0A1A2F 88%);}
.week-summary-status::after,
.week-summary-mini::after{
  content:'';
  position:absolute;
  right:-34px;
  top:-34px;
  width:78px;
  height:78px;
  border-radius:999px;
  background:rgba(47,125,209,.07);
}
.week-summary-status::after{background:rgba(255,255,255,.11);}
.week-summary-status span,
.week-summary-status b,
.week-summary-status small,
.week-summary-mini span,
.week-summary-mini b,
.week-summary-mini small{position:relative;z-index:1;}
.week-summary-eyebrow,
.week-summary-mini>span{
  display:block;
  font-size:9px;
  line-height:1;
  font-weight:930;
  letter-spacing:.75px;
  text-transform:uppercase;
  color:#8793A1;
  white-space:nowrap;
}
.week-summary-status .week-summary-eyebrow{color:rgba(255,255,255,.62);}
.week-summary-status>b,
.week-summary-mini>b{
  display:block;
  margin-top:7px;
  color:#0A1A2F;
  font-size:21px;
  font-weight:930;
  line-height:1.02;
  letter-spacing:-.75px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.week-summary-status>b{color:#fff;font-size:23px;}
.week-summary-mini.macros>b{
  font-size:15.5px;
  letter-spacing:-.3px;
  white-space:normal;
  line-height:1.22;
}
.week-summary-status small,
.week-summary-mini small{
  display:block;
  margin-top:5px;
  color:#778393;
  font-size:10.5px;
  line-height:1.25;
  font-weight:760;
}
.week-summary-status small{color:rgba(255,255,255,.72);}
.week-summary-mini strong,
.week-summary-status strong{font-weight:930;}
.compact-week-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:8px;
  margin-top:0;
}
.compact-week-grid .week-clean-day{
  border-radius:20px;
  padding:9px;
  gap:8px;
  min-height:0;
  box-shadow:0 8px 20px rgba(10,26,47,.04);
}
.compact-week-grid .week-clean-day.ok{border-color:rgba(18,132,74,.16);}
.compact-week-grid .week-clean-day.warn{border-color:rgba(180,112,20,.20);}
.compact-week-grid .week-clean-day.bad{border-color:rgba(180,35,24,.20);}
.week-clean-day-main{min-width:0;flex:1;}
.compact-week-grid .week-day-label{
  margin-bottom:5px;
  font-size:13px;
  font-weight:930;
}
.compact-week-grid .day-type-sel{
  min-height:31px!important;
  border-radius:13px!important;
  padding:6px 24px 6px 8px!important;
  font-size:10.5px!important;
  font-weight:900!important;
}
.compact-week-grid .mini-btn.compact{
  width:30px;
  min-width:30px;
  height:30px;
  border-radius:12px;
  font-size:12px;
}
.compact-week-grid .week-clean-live{
  border-radius:16px;
  padding:8px;
  background:#F4F8FC;
}
.compact-week-grid .week-day-kcal b{
  font-size:20px;
  letter-spacing:-.75px;
}
.compact-week-grid .week-day-kcal span{
  font-size:9.5px;
  white-space:nowrap;
}
.compact-week-grid .week-day-gkg{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:4px;
}
.compact-week-grid .week-day-gkg span{
  padding:4px 3px;
  font-size:8.8px;
  line-height:1.05;
}
.compact-week-grid .week-day-gkg span b{
  display:block;
  font-size:10.5px;
  line-height:1.05;
}
.compact-week-grid .week-status{
  margin-top:6px;
  padding:3px 7px;
  font-size:9px;
}
.week-day-diff{
  margin-top:-2px;
  border-radius:999px;
  padding:4px 7px;
  width:max-content;
  max-width:100%;
  font-size:9.4px;
  line-height:1;
  font-weight:900;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.week-day-diff.plus{background:#FFF4E0;color:#9A5B0B;}
.week-day-diff.minus{background:#EEF5FC;color:#16426D;}
.week-day-diff.neutral{background:#E6F6EC;color:#0B6B3A;}
.compact-meal-list{
  gap:4px;
  min-height:150px;
}
.week-mini-meal{
  min-width:0;
  border-radius:12px;
  padding:5px 6px;
  background:rgba(255,255,255,.74);
  border:1px solid rgba(10,26,47,.055);
}
.week-mini-meal b,
.week-mini-meal span,
.week-mini-meal small{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.week-mini-meal b{
  color:#7B8795;
  font-size:8.5px;
  letter-spacing:.35px;
  text-transform:uppercase;
  font-weight:930;
  line-height:1.1;
}
.week-mini-meal span{
  margin-top:2px;
  color:#0A1A2F;
  font-size:10.4px;
  font-weight:850;
  line-height:1.12;
}
.week-mini-meal small{
  margin-top:2px;
  color:#8793A1;
  font-size:9.2px;
  font-weight:720;
  line-height:1.1;
}
.week-mini-meal.empty span{color:#9AA6B4;font-size:10.5px;}
.more-meals{
  padding-left:2px;
  color:#16426D!important;
  font-size:9.5px!important;
  font-weight:900!important;
}
.compact-week-grid .week-clean-meals span::before,
.week-mini-meal::before{content:none!important;}
.compact-week-grid .week-edit-day-btn{
  min-height:31px;
  border-radius:13px;
  font-size:11px;
}
.day-editor-shell{
  overflow:hidden;
}
.day-editor-layout{
  grid-template-columns:minmax(0,1fr) minmax(260px,300px);
  gap:12px;
}
.day-editor-sidebar{min-width:0;}
.day-side-card{
  border-radius:20px;
  padding:13px;
}
.day-side-card.main b{
  font-size:24px;
  line-height:1.12;
  white-space:normal;
}
.day-side-card>span{
  font-size:8.8px;
  line-height:1.15;
  letter-spacing:.65px;
}
.day-side-card small,
.day-side-card p{
  font-size:11px;
}
.day-side-gkg{
  grid-template-columns:42px 1fr;
  gap:7px;
  padding:7px 0;
}
.day-side-gkg b{font-size:19px;}
.food-picker-control{align-items:start;}
.food-picker-chips{
  max-height:74px;
  overflow:auto;
  padding-right:2px;
}
.food-chip{
  font-size:11px;
  padding:4px 7px;
}
@media(min-width:1041px){
  .compact-week-grid{grid-template-columns:repeat(7,minmax(0,1fr))!important;}
}
@media(max-width:1260px){
  .week-summary-strip{grid-template-columns:repeat(3,minmax(0,1fr));}
  .week-summary-status{grid-column:span 1;}
  .week-summary-mini.macros{grid-column:span 2;}
  .builder-topbar{grid-template-columns:1fr;}
  .compact-actions{justify-content:flex-start;flex-wrap:wrap;}
}
@media(max-width:1040px){
  .compact-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .day-editor-layout{grid-template-columns:1fr;}
}
@media(max-width:760px){
  .builder-control-v5{padding:14px;}
  .week-summary-strip{grid-template-columns:1fr;}
  .week-summary-mini.macros{grid-column:auto;}
  .compact-week-grid{grid-template-columns:1fr!important;}
  .compact-actions .mini-btn,.week-date-input{width:100%;}
}


/* ============================================================
   DTR v6 · Editor diario modal + comidas desplegables
============================================================ */
body.day-editor-open{
  overflow:hidden;
}
.day-editor-overlay{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(4,14,28,.58);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.day-editor-modal{
  width:min(1240px,calc(100vw - 48px));
  max-height:calc(100vh - 48px);
  overflow:hidden;
  border-radius:34px;
  background:
    radial-gradient(circle at 8% 0%,rgba(47,125,209,.12),transparent 28%),
    linear-gradient(180deg,#F8FBFE,#EEF4FA);
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 32px 90px rgba(0,0,0,.34), 0 1px 0 rgba(255,255,255,.70) inset;
}
.day-editor-modal.small{
  width:min(560px,calc(100vw - 48px));
  min-height:180px;
  display:grid;
  place-items:center;
  position:relative;
  padding:28px;
}
.day-editor-x{
  position:absolute;
  right:18px;
  top:18px;
  width:34px;
  height:34px;
  border:0;
  border-radius:999px;
  background:rgba(10,26,47,.08);
  color:#0A1A2F;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
.day-editor-head{
  margin:0;
  padding:18px 20px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  border-bottom:1px solid rgba(10,26,47,.075);
  background:rgba(255,255,255,.62);
}
.day-editor-title-row{
  min-width:0;
  display:flex;
  align-items:center;
  gap:12px;
}
.day-editor-icon{
  width:42px;
  height:42px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:17px;
  background:#EAF5FF;
  box-shadow:0 1px 0 rgba(255,255,255,.65) inset;
}
.day-editor-actions{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.day-editor-type{
  width:160px!important;
  min-height:38px!important;
  border-radius:14px!important;
  font-size:12px!important;
  font-weight:850!important;
}
.day-editor-layout{
  height:calc(100vh - 150px);
  max-height:720px;
  min-height:520px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 330px;
  gap:14px;
  align-items:stretch;
  padding:16px;
}
.day-editor-meals{
  min-height:0;
  overflow:auto;
  display:flex!important;
  flex-direction:column;
  gap:10px;
  padding-right:4px;
}
.day-editor-meals::-webkit-scrollbar{width:8px;}
.day-editor-meals::-webkit-scrollbar-thumb{background:rgba(10,26,47,.14);border-radius:999px;}
.day-editor-section-kicker{
  position:sticky;
  top:0;
  z-index:2;
  padding:6px 2px 8px;
  color:#738195;
  background:linear-gradient(180deg,#F8FBFE 70%,rgba(248,251,254,0));
  font-size:10px;
  font-weight:950;
  letter-spacing:.85px;
  text-transform:uppercase;
}
.day-editor-meal{
  padding:0!important;
  border-radius:22px!important;
  overflow:hidden;
  background:rgba(255,255,255,.88)!important;
  border:1px solid rgba(10,26,47,.075)!important;
  box-shadow:0 10px 24px rgba(10,26,47,.045)!important;
}
.day-editor-meal[open]{
  background:#fff!important;
  border-color:rgba(47,125,209,.16)!important;
  box-shadow:0 16px 34px rgba(10,26,47,.075)!important;
}
.day-editor-meal.empty summary{
  min-height:74px;
}
.day-editor-meal-top{
  list-style:none;
  cursor:pointer;
  margin:0!important;
  padding:13px 14px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto 24px;
  align-items:center!important;
  gap:10px;
}
.day-editor-meal-top::-webkit-details-marker{display:none;}
.day-editor-meal-top::after{
  content:'⌄';
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:999px;
  color:#718094;
  background:#F0F4F8;
  font-weight:950;
  transition:transform .18s ease, background .18s ease;
}
.day-editor-meal[open] .day-editor-meal-top::after{
  transform:rotate(180deg);
  background:#EAF5FF;
  color:#16426D;
}
.day-editor-meal-top b{
  font-size:14px!important;
  font-weight:950!important;
}
.day-editor-meal-top small{
  max-width:560px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:11px!important;
}
.day-meal-live{
  max-width:190px!important;
  padding:7px 10px!important;
  border-radius:999px!important;
  white-space:nowrap;
  font-size:10.5px!important;
}
.day-editor-meal-body{
  padding:0 14px 14px;
  border-top:1px solid rgba(10,26,47,.055);
}
.day-editor-meal-target{
  width:max-content;
  max-width:100%;
  margin:10px 0 8px;
  padding:6px 9px;
  border-radius:999px;
  color:#16426D;
  background:#EEF7FF;
  border:1px solid rgba(47,125,209,.12);
  font-size:11px;
  font-weight:900;
}
.day-editor-small-label{
  display:block;
  margin:4px 0 5px;
  color:#7B8795;
  font-size:9px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.72px;
}
.day-editor-recipe{
  min-height:36px!important;
  border-radius:13px!important;
  font-size:12px!important;
}
.day-editor-recipe-name{
  margin:8px 0 9px!important;
  font-size:12px!important;
  color:#31455F!important;
}
.day-editor-items{
  gap:6px!important;
}
.day-editor-food-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 82px 28px!important;
  gap:7px!important;
}
.day-editor-food-row .inp{
  min-height:34px!important;
  border-radius:12px!important;
  font-size:11.5px!important;
}
.week-add-food{
  margin-top:2px;
  min-height:30px;
  border-radius:999px;
}
.day-editor-sidebar{
  min-height:0;
  overflow:auto;
  position:static!important;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding-right:2px;
}
.day-editor-sidebar::-webkit-scrollbar{width:7px;}
.day-editor-sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.28);border-radius:999px;}
.day-side-card{
  border-radius:22px!important;
  padding:14px!important;
}
.day-side-card.main{
  background:
    radial-gradient(circle at 86% 12%,rgba(91,171,255,.28),transparent 34%),
    linear-gradient(135deg,#153B63,#0A1A2F 82%)!important;
}
.day-side-card.main b{
  font-size:27px!important;
  line-height:1.05!important;
}
.day-side-card.main b em{
  display:block;
  margin-top:4px;
  font-style:normal;
  color:rgba(255,255,255,.72);
  font-size:15px;
  font-weight:850;
  letter-spacing:-.2px;
}
.day-progress{
  position:relative;
  height:7px;
  margin-top:8px;
  border-radius:999px;
  overflow:hidden;
  background:#E9EEF5;
}
.day-progress i{
  display:block;
  height:100%;
  max-width:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#78B7F8,#2F7DD1);
}
.day-progress.dark{background:rgba(255,255,255,.16);}
.day-progress.dark i{background:#fff;opacity:.92;}
.day-macro-row{
  display:grid;
  grid-template-columns:70px minmax(0,1fr);
  align-items:baseline;
  gap:8px;
  margin-top:10px;
}
.day-macro-row b{
  font-size:20px!important;
  color:#16426D!important;
}
.day-macro-row small{
  margin:0!important;
  font-size:11px!important;
}
.day-target-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:8px;
}
.day-target-grid div{
  border-radius:16px;
  padding:9px;
  background:#F4F8FC;
  text-align:center;
}
.day-target-grid b{
  font-size:18px!important;
  color:#0A1A2F!important;
}
.day-target-grid small{
  display:block;
  margin-top:2px!important;
  font-size:9px!important;
  font-weight:900!important;
  color:#8793A1!important;
}
.day-side-card.check p{
  margin:0 0 10px!important;
  color:#41546B;
}
.mini-btn.full{
  width:100%;
  justify-content:center;
}
@media(max-width:980px){
  .day-editor-overlay{padding:12px;align-items:flex-end;}
  .day-editor-modal{width:100%;max-height:calc(100vh - 24px);border-radius:26px 26px 0 0;}
  .day-editor-head{align-items:flex-start;flex-direction:column;}
  .day-editor-actions{width:100%;justify-content:flex-start;}
  .day-editor-type{width:100%!important;}
  .day-editor-layout{height:calc(100vh - 210px);grid-template-columns:1fr;overflow:auto;}
  .day-editor-meals,.day-editor-sidebar{overflow:visible;}
  .day-editor-meal-top{grid-template-columns:minmax(0,1fr) 24px;}
  .day-meal-live{grid-column:1/-1;justify-self:start;}
}
@media(max-width:620px){
  .day-editor-overlay{padding:0;}
  .day-editor-modal{width:100%;max-height:100vh;border-radius:0;}
  .day-editor-layout{height:calc(100vh - 230px);padding:12px;}
  .day-editor-head{padding:14px;}
  .day-editor-food-row{grid-template-columns:minmax(0,1fr) 70px 26px!important;}
  .day-target-grid{grid-template-columns:1fr;}
}


/* ============================================================
   DTR v7 · Ajuste final editor diario + dashboard por media diaria
============================================================ */
.day-editor-modal{
  height:calc(100vh - 48px)!important;
  max-height:none!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.day-editor-head{
  flex:0 0 auto!important;
}
.day-editor-layout{
  flex:1 1 auto!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  overflow:hidden!important;
  grid-template-columns:minmax(0,1fr) minmax(280px,310px)!important;
  align-items:stretch!important;
}
.day-editor-meals{
  min-height:0!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:0 6px 140px 0!important;
  scroll-padding-bottom:150px!important;
}
.day-editor-sidebar{
  width:100%!important;
  min-width:0!important;
  align-self:stretch!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding-right:0!important;
}
.day-side-card{
  width:100%!important;
  box-sizing:border-box!important;
  padding:12px!important;
  border-radius:19px!important;
}
.day-side-card.main{
  min-height:auto!important;
}
.day-side-card.main b{
  font-size:23px!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.day-side-card.main b em{
  display:inline!important;
  margin-left:4px!important;
  margin-top:0!important;
  font-size:12px!important;
  white-space:nowrap!important;
}
.day-side-card>span{
  margin-bottom:6px!important;
  font-size:8.5px!important;
}
.day-side-card small,
.day-side-card p{
  font-size:10.5px!important;
  line-height:1.25!important;
}
.day-progress{
  height:6px!important;
  margin-top:7px!important;
}
.day-macro-compact-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}
.day-macro-compact-grid div{
  position:relative;
  overflow:hidden;
  border-radius:15px;
  padding:9px 9px 13px;
  background:#F4F8FC;
  border:1px solid rgba(10,26,47,.055);
}
.day-macro-compact-grid b{
  display:block;
  color:#0A1A2F!important;
  font-size:18px!important;
  letter-spacing:-.35px;
}
.day-macro-compact-grid small{
  display:block;
  margin-top:1px!important;
  color:#738195!important;
  font-size:9.5px!important;
  font-weight:850!important;
}
.day-macro-compact-grid i{
  position:absolute;
  left:0;
  bottom:0;
  height:4px;
  max-width:100%;
  border-radius:0 999px 999px 0;
  background:linear-gradient(90deg,#78B7F8,#2F7DD1);
}
.day-side-card.targets.compact .day-target-grid{
  gap:6px!important;
  margin-top:6px!important;
}
.day-side-card.targets.compact .day-target-grid div{
  padding:8px 5px!important;
  border-radius:13px!important;
}
.day-side-card.targets.compact .day-target-grid b{
  font-size:16px!important;
}
.day-side-card.check.compact p{
  margin-bottom:8px!important;
}
.day-editor-meal[open]{
  overflow:visible!important;
}
.day-editor-meal-body{
  padding-bottom:16px!important;
}
.week-summary-status small{
  line-height:1.25!important;
}
.week-summary-mini b,
.week-summary-status>b{
  white-space:nowrap;
}
.week-summary-mini.macros small{
  white-space:normal!important;
}
@media(max-width:1100px){
  .day-editor-layout{grid-template-columns:minmax(0,1fr) 280px!important;}
  .day-side-card.main b{font-size:21px!important;}
}
@media(max-width:980px){
  .day-editor-modal{height:calc(100vh - 24px)!important;}
  .day-editor-layout{grid-template-columns:1fr!important;overflow:auto!important;}
  .day-editor-meals{padding-bottom:40px!important;overflow:visible!important;}
  .day-editor-sidebar{overflow:visible!important;}
  .day-macro-compact-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:620px){
  .day-editor-modal{height:100vh!important;}
  .day-macro-compact-grid{grid-template-columns:1fr;}
}

/* ============================================================
   DTR v8 · Ajuste editor diario: accordion estable + sidebar real
   Objetivo: al abrir una comida no se rompe el ancho, no desaparecen
   las demás y el panel derecho ocupa su banda completa.
============================================================ */
.day-editor-overlay{
  padding:26px!important;
  justify-content:center!important;
  align-items:center!important;
}
.day-editor-modal{
  width:min(1480px,calc(100vw - 52px))!important;
  height:calc(100vh - 52px)!important;
  margin:auto!important;
  transform:none!important;
}
.day-editor-layout{
  grid-template-columns:minmax(720px,1fr) minmax(360px,390px)!important;
  gap:18px!important;
  padding:18px!important;
  overflow:hidden!important;
}
.day-editor-meals{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:0 8px 90px 0!important;
  scroll-padding-top:18px!important;
  scroll-padding-bottom:120px!important;
}
.day-editor-section-kicker{
  width:100%!important;
  box-sizing:border-box!important;
}
.day-editor-meal{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  flex:0 0 auto!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  contain:layout paint!important;
}
.day-editor-meal[open]{
  overflow:hidden!important;
  contain:layout paint!important;
}
.day-editor-meal-top{
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  grid-template-columns:minmax(0,1fr) minmax(190px,230px) 28px!important;
  padding:13px 16px!important;
}
.day-editor-meal-top>div:first-child{
  min-width:0!important;
  overflow:hidden!important;
}
.day-editor-meal-top b,
.day-editor-meal-top small{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.day-meal-live{
  justify-self:end!important;
  width:100%!important;
  max-width:230px!important;
  min-width:190px!important;
  text-align:right!important;
  box-sizing:border-box!important;
}
.day-editor-meal-body{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  padding:0 16px 16px!important;
}
.day-editor-recipe,
.day-editor-items,
.day-editor-food-row{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.day-editor-food-row{
  grid-template-columns:minmax(220px,1fr) 92px 30px!important;
  align-items:center!important;
}
.day-editor-food-row .inp,
.day-editor-food-row select,
.day-editor-food-row input{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.day-editor-sidebar{
  width:100%!important;
  min-width:360px!important;
  max-width:390px!important;
  justify-self:stretch!important;
  align-self:stretch!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:0 2px 14px 0!important;
  box-sizing:border-box!important;
}
.day-editor-sidebar .day-side-card{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.day-side-card.main b{
  white-space:normal!important;
  overflow-wrap:normal!important;
}
.day-side-card.main b em{
  display:block!important;
  margin-left:0!important;
  margin-top:4px!important;
  white-space:normal!important;
}
.day-macro-compact-grid{
  grid-template-columns:1fr!important;
}
@media(max-width:1240px){
  .day-editor-layout{
    grid-template-columns:minmax(0,1fr) minmax(320px,350px)!important;
  }
  .day-editor-sidebar{
    min-width:320px!important;
    max-width:350px!important;
  }
  .day-editor-meal-top{
    grid-template-columns:minmax(0,1fr) minmax(160px,200px) 28px!important;
  }
  .day-meal-live{
    min-width:160px!important;
    max-width:200px!important;
  }
}
@media(max-width:980px){
  .day-editor-overlay{padding:12px!important;align-items:flex-end!important;}
  .day-editor-modal{width:100%!important;height:calc(100vh - 24px)!important;border-radius:26px 26px 0 0!important;}
  .day-editor-layout{grid-template-columns:1fr!important;overflow:auto!important;}
  .day-editor-meals{overflow:visible!important;padding:0 0 28px!important;}
  .day-editor-sidebar{min-width:0!important;max-width:none!important;overflow:visible!important;padding:0!important;}
  .day-editor-meal-top{grid-template-columns:minmax(0,1fr) 28px!important;}
  .day-meal-live{grid-column:1/-1!important;justify-self:start!important;text-align:left!important;min-width:0!important;max-width:100%!important;width:auto!important;}
  .day-editor-food-row{grid-template-columns:minmax(0,1fr) 82px 28px!important;}
}

/* ============================================================
   DTR v9 · Editor diario robusto + publicación por semana
   - Sidebar derecho como banda completa
   - Inputs buscables con datalist para recetas/alimentos
   - Selector de lunes de semana + acciones rápidas
============================================================ */
.week-date-shell{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:4px 6px 4px 10px;
  border-radius:16px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(10,26,47,.07);
  box-shadow:0 1px 0 rgba(255,255,255,.75) inset;
}
.week-date-shell span{
  color:#748094;
  font-size:9px;
  font-weight:950;
  letter-spacing:.62px;
  text-transform:uppercase;
  white-space:nowrap;
}
.week-date-shell .week-date-input{
  width:138px!important;
  min-height:30px!important;
  padding:0 8px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  font-size:12px!important;
  font-weight:950!important;
}
.mini-btn.dark{
  color:#fff!important;
  background:linear-gradient(135deg,#153B63,#0A1A2F)!important;
  border-color:rgba(255,255,255,.15)!important;
  box-shadow:0 12px 28px rgba(10,26,47,.18)!important;
}

.day-editor-modal{
  width:min(1520px,calc(100vw - 44px))!important;
}
.day-editor-layout{
  grid-template-columns:minmax(0,1fr) clamp(380px,28vw,440px)!important;
  gap:20px!important;
  padding:18px 20px 20px!important;
}
.day-editor-sidebar{
  min-width:0!important;
  max-width:none!important;
  width:100%!important;
  height:100%!important;
  padding:14px!important;
  border-radius:28px!important;
  background:
    radial-gradient(circle at 86% 6%,rgba(79,157,240,.30),transparent 34%),
    linear-gradient(180deg,#12365B,#081A30 88%)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:0 24px 52px rgba(10,26,47,.16), inset 0 1px 0 rgba(255,255,255,.10)!important;
}
.day-editor-sidebar .day-side-card{
  background:rgba(255,255,255,.94)!important;
  border:1px solid rgba(255,255,255,.50)!important;
  box-shadow:0 10px 22px rgba(0,0,0,.08)!important;
}
.day-editor-sidebar .day-side-card.main{
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.day-editor-sidebar .day-side-card.main span,
.day-editor-sidebar .day-side-card.main small,
.day-editor-sidebar .day-side-card.main em{
  color:rgba(255,255,255,.72)!important;
}
.day-editor-sidebar .day-side-card.main b{
  color:#fff!important;
  font-size:28px!important;
}
.day-editor-sidebar .day-side-card.main b em{
  display:inline!important;
  margin-left:5px!important;
  font-size:14px!important;
}
.day-editor-sidebar .day-side-card.main .day-progress.dark{
  background:rgba(255,255,255,.18)!important;
}
.day-editor-sidebar .day-side-card.main .day-progress.dark i{
  background:#fff!important;
}
.day-macro-compact-grid{
  grid-template-columns:1fr!important;
  gap:7px!important;
}
.day-macro-compact-grid div{
  padding:8px 9px 12px!important;
}
.day-macro-compact-grid b{
  font-size:17px!important;
}
.day-target-grid div{
  background:#F1F6FB!important;
}
.day-side-card.check.compact .mini-btn.full{
  min-height:38px!important;
}

.day-editor-search-input{
  width:100%!important;
  color:#0A1A2F!important;
  background:#fff!important;
  -webkit-text-fill-color:#0A1A2F!important;
  caret-color:#2F7DD1!important;
  font-weight:850!important;
}
.day-editor-search-input::placeholder{
  color:#9AA8B7!important;
  -webkit-text-fill-color:#9AA8B7!important;
  font-weight:750!important;
}
.day-editor-search-input:focus{
  outline:none!important;
  border-color:rgba(47,125,209,.44)!important;
  box-shadow:0 0 0 4px rgba(47,125,209,.10)!important;
}
.day-editor-search-input.unmatched{
  border-color:rgba(230,126,34,.38)!important;
  background:#FFF8EF!important;
}
.day-editor-recipe.day-editor-search-input{
  min-height:40px!important;
  padding:0 14px!important;
  border-radius:15px!important;
  font-size:12.5px!important;
}
.day-editor-food-row .day-editor-search-input{
  min-height:36px!important;
  padding:0 12px!important;
  border-radius:13px!important;
  font-size:11.8px!important;
}
.day-editor-food-row{
  grid-template-columns:minmax(0,1fr) 94px 30px!important;
}
.day-editor-meal,
.day-editor-meal[open]{
  contain:none!important;
}
.day-editor-meal-body{
  overflow:visible!important;
}
.day-editor-items{
  overflow:visible!important;
}

@media(max-width:1240px){
  .day-editor-layout{grid-template-columns:minmax(0,1fr) 340px!important;}
  .day-editor-sidebar{padding:12px!important;}
  .week-date-shell{width:100%;}
}
@media(max-width:980px){
  .week-date-shell{justify-content:space-between;}
  .week-date-shell .week-date-input{width:150px!important;}
  .day-editor-layout{grid-template-columns:1fr!important;}
  .day-editor-sidebar{
    height:auto!important;
    min-width:0!important;
    max-width:none!important;
    background:linear-gradient(180deg,#12365B,#081A30)!important;
  }
  .day-editor-sidebar .day-side-card.main b em{display:block!important;margin-left:0!important;}
}
@media(max-width:620px){
  .day-editor-food-row{grid-template-columns:minmax(0,1fr) 78px 28px!important;}
  .builder-actions.compact-actions{gap:6px!important;}
}

/* ============================================================
   DTR v10 · Publicación por semana + editor diario pulido
   - Acciones superiores sin desbordar
   - Generación pegada a la semana
   - Confirmación antes de publicar
   - Card de kcal del editor centrada y proporcional
============================================================ */
.builder-topbar{
  grid-template-columns:minmax(280px,1fr) minmax(0,auto)!important;
  align-items:start!important;
  gap:16px!important;
}
.week-publish-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:8px!important;
  max-width:760px!important;
  margin-left:auto!important;
}
.week-publish-actions .mini-btn{
  min-height:38px!important;
  padding:0 13px!important;
  font-size:12px!important;
}
.week-publish-actions .week-date-shell{
  flex:1 1 250px!important;
  min-width:250px!important;
  max-width:330px!important;
}
.week-range-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 13px;
  border-radius:16px;
  background:#EEF5FC;
  border:1px solid rgba(47,125,209,.14);
  color:#153B63;
  font-size:12px;
  font-weight:950;
  white-space:nowrap;
  box-shadow:0 1px 0 rgba(255,255,255,.7) inset;
}
.builder-generate-band{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:10px 0 12px;
  padding:10px 12px;
  border-radius:20px;
  background:linear-gradient(180deg,#F8FBFE,#EEF5FC);
  border:1px solid rgba(10,26,47,.065);
  box-shadow:0 8px 22px rgba(10,26,47,.04);
}
.builder-generate-band b{
  display:block;
  color:#0A1A2F;
  font-size:13px;
  font-weight:950;
  letter-spacing:-.2px;
}
.builder-generate-band small{
  display:block;
  margin-top:2px;
  color:#758294;
  font-size:11px;
  font-weight:760;
}
.builder-generate-btn{
  min-height:38px!important;
  padding:0 18px!important;
  border-radius:16px!important;
  white-space:nowrap!important;
}

.publish-confirm-overlay{
  position:fixed;
  inset:0;
  z-index:10050;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(4,14,28,.58);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.publish-confirm-modal{
  width:min(470px,calc(100vw - 48px));
  border-radius:30px;
  padding:26px;
  background:linear-gradient(180deg,#FFFFFF,#F4F8FC);
  border:1px solid rgba(255,255,255,.78);
  box-shadow:0 30px 80px rgba(0,0,0,.32),0 1px 0 rgba(255,255,255,.78) inset;
  text-align:center;
}
.publish-confirm-icon{
  width:54px;
  height:54px;
  margin:0 auto 12px;
  display:grid;
  place-items:center;
  border-radius:20px;
  background:#EEF5FC;
  color:#153B63;
  font-size:24px;
}
.publish-confirm-modal h3{
  margin:0;
  color:#0A1A2F;
  font-size:22px;
  font-weight:950;
  letter-spacing:-.5px;
}
.publish-confirm-modal p{
  margin:8px 0 14px;
  color:#6E7B8D;
  font-size:13px;
  font-weight:760;
}
.publish-week-card{
  margin:0 0 16px;
  padding:16px;
  border-radius:22px;
  background:linear-gradient(135deg,#153B63,#0A1A2F);
  color:#fff;
  text-align:left;
  box-shadow:0 18px 42px rgba(10,26,47,.22);
}
.publish-week-card b,
.publish-week-card span,
.publish-week-card small{
  display:block;
}
.publish-week-card b{
  font-size:22px;
  font-weight:950;
  letter-spacing:-.45px;
}
.publish-week-card span{
  margin-top:5px;
  color:rgba(255,255,255,.78);
  font-size:12px;
  font-weight:820;
}
.publish-week-card small{
  margin-top:12px;
  color:rgba(255,255,255,.66);
  font-size:11px;
  font-weight:760;
}
.publish-confirm-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
}
.publish-confirm-actions .mini-btn{
  min-height:40px!important;
  border-radius:16px!important;
  padding:0 16px!important;
}

.day-editor-layout{
  grid-template-columns:minmax(0,1fr) clamp(400px,30vw,470px)!important;
}
.day-editor-sidebar{
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  align-self:stretch!important;
}
.day-editor-sidebar .day-side-card.main{
  min-height:154px!important;
  padding:16px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  border-radius:24px!important;
}
.day-editor-sidebar .day-side-card.main>span{
  width:100%!important;
  text-align:center!important;
  margin-bottom:8px!important;
}
.day-editor-sidebar .day-side-card.main b{
  width:100%!important;
  display:block!important;
  text-align:center!important;
  font-size:30px!important;
  line-height:1.02!important;
  letter-spacing:-.8px!important;
}
.day-editor-sidebar .day-side-card.main b em{
  display:inline!important;
  margin-left:6px!important;
  font-size:15px!important;
  line-height:1!important;
  vertical-align:baseline!important;
}
.day-editor-sidebar .day-side-card.main small{
  width:100%!important;
  margin-top:8px!important;
  text-align:center!important;
  font-size:11.5px!important;
}
.day-editor-sidebar .day-side-card.main .day-progress.dark{
  width:86%!important;
  margin-top:12px!important;
  height:6px!important;
  border-radius:999px!important;
}
.day-editor-sidebar .day-side-card.macro-control.compact,
.day-editor-sidebar .day-side-card.targets.compact,
.day-editor-sidebar .day-side-card.check.compact{
  padding:13px!important;
  border-radius:22px!important;
}
.day-target-grid{
  gap:8px!important;
}

@media(max-width:1260px){
  .builder-topbar{grid-template-columns:1fr!important;}
  .week-publish-actions{justify-content:flex-start!important;margin-left:0!important;max-width:none!important;}
}
@media(max-width:980px){
  .day-editor-layout{grid-template-columns:1fr!important;}
  .day-editor-sidebar{display:block!important;}
  .day-editor-sidebar .day-side-card.main b em{display:block!important;margin-left:0!important;margin-top:5px!important;}
}
@media(max-width:760px){
  .week-publish-actions .week-date-shell,
  .week-publish-actions .week-range-pill,
  .week-publish-actions .mini-btn,
  .builder-generate-band .mini-btn{
    width:100%!important;
    max-width:none!important;
  }
  .builder-generate-band{align-items:stretch;flex-direction:column;}
  .publish-confirm-actions{flex-direction:column;}
}


/* ============================================================
   DTR · v13 — Fix puntual calculadora objetivos por intensidad
   Evita que las kcal se salgan del recuadro en tarjetas estrechas
============================================================ */
.targets-panel .premium-target-card{
  overflow:hidden;
}
.targets-panel .premium-target-top{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start!important;
  column-gap:10px;
}
.targets-panel .premium-target-top > div:first-child{
  min-width:0;
}
.targets-panel .day-target-name{
  line-height:1.18;
  overflow-wrap:anywhere;
}
.targets-panel .day-target-note{
  line-height:1.35;
  max-width:100%;
}
.targets-panel .day-target-kcal{
  min-width:0;
  width:74px;
  max-width:74px;
  padding:7px 8px;
  align-items:flex-end;
  justify-self:end;
  flex:0 0 auto;
}
.targets-panel .day-target-kcal b{
  font-size:18px;
  letter-spacing:-.45px;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.targets-panel .day-target-kcal span{
  font-size:9px;
}
@media(max-width:1180px){
  .targets-panel .day-target-kcal{width:68px;max-width:68px;padding:7px 7px;}
  .targets-panel .day-target-kcal b{font-size:17px;}
}

/* ────────────────────────────────────────────
   Base de datos nutricional · Premium compacta
──────────────────────────────────────────── */
.nadmin-db-premium{gap:18px;}
.db-hero{
  background:linear-gradient(135deg,#071B35 0%,#0E2F57 58%,#123D70 100%);
  border:1px solid rgba(255,255,255,.08);
  border-radius:22px;
  padding:20px;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  box-shadow:0 18px 42px rgba(7,27,53,.16);
}
.db-kicker{font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.64);}
.db-title{font-size:24px;font-weight:900;letter-spacing:-.6px;line-height:1.05;margin-top:6px;}
.db-sub{font-size:13px;font-weight:650;color:rgba(255,255,255,.72);margin-top:7px;max-width:680px;line-height:1.45;}
.db-add-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;align-items:center;}
.db-add-actions .mini-btn{white-space:nowrap;box-shadow:0 10px 24px rgba(0,0,0,.12);}
.db-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;}
.db-metric{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:14px 15px;
  min-height:86px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  box-shadow:0 8px 24px rgba(10,26,47,.045);
}
.db-metric span{display:block;font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);}
.db-metric b{display:block;font-size:26px;font-weight:900;color:var(--navy);letter-spacing:-.8px;line-height:1;margin-top:7px;}
.db-metric small{display:block;font-size:11.5px;font-weight:700;color:var(--text-2);line-height:1.25;margin-top:8px;}
.db-metric.warn{border-color:#F7D18C;background:#FFFBF3;}
.db-metric.warn b{color:#9A6200;}
.db-metric.bad{border-color:#F0B8B8;background:#FFF7F7;}
.db-metric.bad b{color:#A93434;}
.db-toolbar-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  padding:14px;
  box-shadow:0 8px 24px rgba(10,26,47,.045);
  display:flex;
  flex-direction:column;
  gap:12px;
}
.db-search-line{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:12px;align-items:center;}
.db-search-wrap{position:relative;display:flex;align-items:center;}
.db-search-wrap span{position:absolute;left:14px;font-size:17px;color:var(--text-2);font-weight:900;z-index:1;}
.db-search-wrap .db-search{padding-left:40px;background:#F7FAFD;border-radius:14px;}
.db-type-tabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.db-type-tab{
  border:1px solid var(--line);
  background:#F7FAFD;
  color:var(--text-2);
  border-radius:999px;
  padding:10px 13px;
  font-size:12px;
  font-weight:850;
  cursor:pointer;
  transition:.18s ease;
}
.db-type-tab b{font-size:11px;margin-left:4px;color:inherit;opacity:.72;}
.db-type-tab:hover{border-color:#C9D6E6;background:#fff;}
.db-type-tab.active{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 8px 20px rgba(10,26,47,.16);}
.db-filters{display:grid;grid-template-columns:repeat(4,minmax(145px,1fr)) auto;gap:9px;align-items:end;}
.db-filter{display:flex;flex-direction:column;gap:5px;min-width:0;}
.db-filter span{font-size:10px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);padding-left:2px;}
.db-filter select{
  appearance:none;
  width:100%;
  border:1px solid var(--line);
  background:#F7FAFD;
  color:var(--navy);
  border-radius:12px;
  padding:10px 32px 10px 11px;
  font:inherit;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
  outline:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--text-2) 50%),linear-gradient(135deg,var(--text-2) 50%,transparent 50%);
  background-position:calc(100% - 17px) 16px,calc(100% - 12px) 16px;
  background-size:5px 5px,5px 5px;
  background-repeat:no-repeat;
}
.db-filter select:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(47,125,209,.08);background-color:#fff;}
.db-clear{
  border:1px solid var(--line);
  background:#fff;
  color:var(--text-2);
  border-radius:12px;
  padding:10px 12px;
  font-size:12px;
  font-weight:850;
  cursor:pointer;
  white-space:nowrap;
}
.db-clear:hover{background:#F7FAFD;color:var(--navy);}
.db-section{display:flex;flex-direction:column;gap:10px;}
.db-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;padding:2px 2px 0;}
.db-section-head h3{margin:0;font-size:18px;font-weight:900;color:var(--navy);letter-spacing:-.35px;}
.db-section-head p{margin:4px 0 0;font-size:12.5px;font-weight:650;color:var(--text-2);line-height:1.4;}
.db-section-head > span{background:#EEF4FB;color:var(--blue);border-radius:999px;padding:6px 10px;font-size:11.5px;font-weight:850;white-space:nowrap;}
.db-list{display:flex;flex-direction:column;gap:8px;}
.db-row{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 5px 18px rgba(10,26,47,.035);
}
.db-row.open{border-color:#CFE0F3;box-shadow:0 10px 28px rgba(10,26,47,.065);}
.db-row-main{
  display:grid;
  grid-template-columns:78px minmax(220px,1.4fr) minmax(210px,.9fr) minmax(170px,.9fr) auto;
  gap:12px;
  align-items:center;
  padding:12px 13px;
}
.db-row-kind{
  width:max-content;
  border-radius:999px;
  padding:5px 9px;
  background:#EAF3FF;
  color:#2F7DD1;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.db-row-kind.recipe{background:#ECF7EF;color:#15803D;}
.db-row-info{min-width:0;}
.db-row-title{font-size:14px;font-weight:900;color:var(--navy);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.db-row-sub{font-size:11.8px;font-weight:650;color:var(--text-2);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.db-row-macros{font-size:12.5px;font-weight:800;color:var(--text);white-space:nowrap;}
.db-row-macros b{color:var(--navy);font-size:14px;}
.db-row-alerts{display:flex;gap:5px;flex-wrap:wrap;min-width:0;}
.db-alert{display:inline-flex;align-items:center;border-radius:999px;padding:4px 7px;font-size:10.5px;font-weight:850;line-height:1;background:#FFF4E0;color:#9A6200;white-space:nowrap;}
.db-alert.bad{background:#FDECEC;color:#A93434;}
.db-alert.muted{background:#EEF2F7;color:var(--text-2);}
.db-alert.ok{background:#E8F7EE;color:#15803D;}
.db-alert.warn{background:#FFF4E0;color:#9A6200;}
.db-view-btn{white-space:nowrap;justify-self:end;}
.db-detail{border-top:1px solid var(--line-2);background:linear-gradient(180deg,#FAFCFF 0%,#fff 100%);padding:14px;}
.db-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;}
.db-detail-item{background:#fff;border:1px solid var(--line-2);border-radius:13px;padding:10px 11px;min-width:0;}
.db-detail-item.full{grid-column:1/-1;}
.db-detail-item span{display:block;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);margin-bottom:5px;}
.db-detail-item b{display:block;font-size:12.5px;font-weight:750;color:var(--navy);line-height:1.45;word-break:break-word;}
.db-detail-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line-2);}
.db-detail-actions span{font-size:12px;font-weight:650;color:var(--text-2);}

@media(max-width:1180px){
  .db-metrics{grid-template-columns:repeat(3,1fr);}
  .db-filters{grid-template-columns:repeat(2,minmax(0,1fr));}
  .db-clear{width:100%;}
  .db-row-main{grid-template-columns:74px minmax(180px,1fr) minmax(180px,.9fr) auto;}
  .db-row-alerts{grid-column:2/4;}
  .db-view-btn{grid-column:4;grid-row:1/3;}
  .db-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:820px){
  .db-hero{flex-direction:column;align-items:flex-start;border-radius:18px;padding:17px;}
  .db-add-actions{justify-content:flex-start;width:100%;}
  .db-add-actions .mini-btn{flex:1;min-width:145px;}
  .db-metrics{grid-template-columns:repeat(2,1fr);}
  .db-search-line{grid-template-columns:1fr;}
  .db-type-tabs{justify-content:flex-start;}
  .db-row-main{grid-template-columns:1fr;gap:8px;align-items:start;padding:13px;}
  .db-row-kind{order:0;}
  .db-row-info,.db-row-macros,.db-row-alerts,.db-view-btn{grid-column:auto;grid-row:auto;justify-self:stretch;}
  .db-view-btn{width:100%;}
  .db-row-title,.db-row-sub{white-space:normal;}
  .db-detail-actions{flex-direction:column;align-items:stretch;}
}
@media(max-width:560px){
  .db-metrics,.db-filters,.db-detail-grid{grid-template-columns:1fr;}
  .db-section-head{align-items:flex-start;flex-direction:column;}
}

/* ============================================================
   DTR · CAPA PREMIUM (aditiva) — selects, tarjetas, panel de día
   Solo añade/afina estética. No cambia estructura ni lógica.
   ============================================================ */

/* —— SELECTS PREMIUM: chevron propio azul, sin look nativo —— */
.menu-admin-premium select,
.menu-admin-premium select.inp,
.nadmin select,
.nadmin-toolbar select,
.day-editor-modal select,
.day-type-sel,
.day-editor-type,
.db-filter select,
.targets-panel select,
.nia-filters-grid select{
  -webkit-appearance:none!important;
  -moz-appearance:none!important;
  appearance:none!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1.6 1.6 7 7l5.4-5.4' fill='none' stroke='%232F7DD1' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 13px center!important;
  background-size:12px 8px!important;
  padding-right:38px!important;
  background-color:#fff!important;
  border:1.5px solid rgba(10,26,47,.10)!important;
  border-radius:13px!important;
  color:#0A1A2F!important;
  font-family:inherit!important;
  font-weight:680!important;
  cursor:pointer;
  transition:border-color .15s ease, box-shadow .15s ease, background-color .15s ease!important;
}
.menu-admin-premium select:hover,
.nadmin select:hover,
.day-editor-modal select:hover,
.db-filter select:hover{ border-color:rgba(47,125,209,.45)!important; }
.menu-admin-premium select:focus,
.nadmin select:focus,
.day-editor-modal select:focus,
.db-filter select:focus{
  outline:none!important;
  border-color:#2F7DD1!important;
  box-shadow:0 0 0 3px rgba(47,125,209,.15)!important;
}
.menu-admin-premium select option,
.nadmin select option,
.day-editor-modal select option{ color:#0A1A2F; background:#fff; font-weight:600; }

/* —— TARJETAS DASHBOARD: aire premium (sombra en capas + hover) —— */
.nadmin-card{
  border:1px solid rgba(10,26,47,.07)!important;
  border-radius:18px!important;
  box-shadow:0 1px 2px rgba(10,26,47,.04), 0 10px 26px -14px rgba(10,26,47,.14)!important;
  transition:transform .18s ease, box-shadow .18s ease!important;
}
.nadmin-card:hover{
  transform:translateY(-2px);
  box-shadow:0 2px 5px rgba(10,26,47,.05), 0 18px 38px -16px rgba(10,26,47,.20)!important;
}
.nadmin-macro{
  border:1px solid rgba(10,26,47,.06)!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,#FAFCFE,#F3F8FD)!important;
}
.week-kpi-card{
  box-shadow:0 1px 2px rgba(10,26,47,.04), 0 10px 24px -14px rgba(10,26,47,.13)!important;
  transition:transform .16s ease, box-shadow .16s ease!important;
}
.week-kpi-card:hover{ transform:translateY(-1px); }

/* —— PANEL DE CALORÍAS DEL DÍA (sidebar derecha) —— */
/* un poco más de ancho para que respire en escritorio */
@media(min-width:981px){
  .day-editor-layout{ grid-template-columns:minmax(0,1fr) minmax(304px,338px)!important; }
}
/* el número grande ya no se corta: permite ajuste y baseline limpio */
.day-editor-sidebar .day-side-card.main b{
  white-space:normal!important;
  font-size:22px!important;
  display:flex!important;
  flex-wrap:wrap;
  align-items:baseline;
  gap:5px;
  letter-spacing:-.4px;
}
.day-editor-sidebar .day-side-card.main b em{
  white-space:nowrap!important;
  font-size:12.5px!important;
  font-style:normal;
  opacity:.7;
}
/* tarjetas del panel: bordes y sombras coherentes */
.day-editor-sidebar .day-side-card{
  border:1px solid rgba(10,26,47,.07)!important;
  box-shadow:0 6px 18px -14px rgba(10,26,47,.35)!important;
}
.day-editor-sidebar .day-side-card.main{
  border:none!important;
  box-shadow:0 14px 30px -16px rgba(10,26,47,.5)!important;
}
/* barras de progreso un punto más finas y premium */
.day-editor-sidebar .day-progress{ border-radius:999px!important; overflow:hidden; background:rgba(10,26,47,.08); }
.day-editor-sidebar .day-progress.dark{ background:rgba(255,255,255,.18); }
.day-editor-sidebar .day-progress i{ border-radius:999px!important; background:linear-gradient(90deg,#78B7F8,#2F7DD1)!important; }
/* scrollbar del panel más sutil */
.day-editor-sidebar{ scrollbar-width:thin; }

/* —— E2: Recetas favoritas dentro del widget del día —— */
.day-editor-favs{ margin:8px 0 10px; }
.day-editor-favs-head{
  display:flex; align-items:center; gap:8px;
  font-size:10px; font-weight:850; letter-spacing:.5px; text-transform:uppercase;
  color:#6C91BC; margin-bottom:6px;
}
.fav-star{
  margin-left:auto; border:none; background:transparent; cursor:pointer;
  font-size:16px; line-height:1; color:#C9D4E0; padding:2px 5px; border-radius:8px;
  transition:color .15s ease, background .15s ease;
}
.fav-star:hover{ background:rgba(47,125,209,.10); }
.fav-star.on{ color:#F2B705; }
.day-editor-favs-chips{ display:flex; flex-wrap:wrap; gap:6px; }
.fav-chip{
  border:1px solid rgba(47,125,209,.25); background:#F2F8FE; color:#1C4E80;
  font-family:inherit; font-weight:750; font-size:12px; padding:5px 11px;
  border-radius:999px; cursor:pointer;
  transition:background .15s ease, border-color .15s ease, transform .12s ease, color .15s ease;
}
.fav-chip:hover{ background:#2F7DD1; border-color:#2F7DD1; color:#fff; transform:translateY(-1px); }
.fav-empty{ font-size:11.5px; color:#9AA7B5; font-style:italic; }

/* ============================================================
   DTR · Botón "Añadir a favoritas" (visible) + número del día sin recorte
   ============================================================ */
.fav-add-btn{
  margin-left:auto;
  display:inline-flex; align-items:center; gap:6px;
  padding:7px 13px; border-radius:999px;
  border:1.5px solid rgba(47,125,209,.22);
  background:#EAF3FC; color:#2F7DD1;
  font-family:inherit; font-size:12px; font-weight:800; letter-spacing:-.1px;
  cursor:pointer; white-space:nowrap;
  transition:transform .14s cubic-bezier(.22,.61,.36,1), box-shadow .16s, background .18s, color .18s, border-color .18s;
}
.fav-add-btn:hover{ transform:translateY(-1px); background:#2F7DD1; color:#fff; border-color:#2F7DD1; box-shadow:0 9px 20px -9px rgba(47,125,209,.6); }
.fav-add-btn.on{ background:#FFF6E6; color:#B9760E; border-color:rgba(224,138,30,.35); }
.fav-add-btn.on:hover{ background:#E08A1E; color:#fff; border-color:#E08A1E; box-shadow:0 9px 20px -9px rgba(224,138,30,.55); }

/* Número del día: que el "/ objetivo kcal" baje de línea en vez de cortarse */
.day-side-card.main{ overflow:hidden!important; }
.day-side-card.main b{
  display:flex!important; flex-wrap:wrap!important; align-items:baseline!important;
  gap:5px!important; white-space:normal!important;
  font-size:30px!important; line-height:1.04!important; word-break:break-word!important;
}
.day-side-card.main b em{
  display:inline-block!important; white-space:nowrap!important;
  font-size:13px!important; font-style:normal!important; opacity:.82;
}

/* ============================================================
   DTR · Fix GPT v1 — editor diario, kcal/macros y favoritos
   ============================================================ */
.day-editor-recipe-toolbar{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:8px 0 8px!important;
}
.day-editor-recipe-toolbar .day-editor-small-label{
  margin:0!important;
}
.fav-add-btn.main-fav{
  margin-left:auto!important;
  padding:8px 14px!important;
  min-height:34px!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,#FFFFFF,#EFF6FD)!important;
  border:1px solid rgba(47,125,209,.24)!important;
  color:#174D7F!important;
  font-size:12px!important;
  font-weight:900!important;
  box-shadow:0 8px 18px rgba(47,125,209,.08)!important;
}
.fav-add-btn.main-fav:hover{
  background:#2F7DD1!important;
  border-color:#2F7DD1!important;
  color:#fff!important;
  box-shadow:0 12px 24px -10px rgba(47,125,209,.7)!important;
}
.fav-add-btn.main-fav.on{
  background:#FFF5DE!important;
  border-color:rgba(226,165,71,.45)!important;
  color:#A86C0F!important;
}
.fav-add-btn.main-fav.on:hover{
  background:#E2A547!important;
  border-color:#E2A547!important;
  color:#fff!important;
}
.day-editor-favs-head{
  justify-content:space-between!important;
}
.day-editor-favs-head small{
  margin-left:auto;
  font-size:10px;
  font-weight:800;
  color:#A0AEC0;
  text-transform:none;
  letter-spacing:0;
}

/* El widget lateral deja de cortar kcal/macros en pantallas anchas o estrechas */
.day-editor-layout{
  grid-template-columns:minmax(0,1fr) minmax(360px,430px)!important;
}
.day-editor-sidebar{
  min-width:0!important;
  overflow:visible!important;
}
.day-editor-sidebar .day-side-card{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
}
.day-editor-sidebar .day-side-card.main.day-kcal-card-v2{
  min-height:158px!important;
  padding:18px 16px!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
.day-kcal-pair{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  min-width:0;
}
.day-kcal-pair strong{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:34px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:-1px!important;
  color:#fff!important;
}
.day-kcal-pair small{
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:12px!important;
  font-weight:850!important;
  color:rgba(255,255,255,.72)!important;
}
.day-kcal-diff{
  width:100%!important;
  margin:8px 0 0!important;
  color:rgba(255,255,255,.78)!important;
  font-size:11.5px!important;
  font-weight:780!important;
  line-height:1.25!important;
}
.day-macro-card-v2 .day-macro-compact-grid{
  grid-template-columns:1fr!important;
  gap:8px!important;
}
.day-macro-card-v2 .day-macro-compact-grid div{
  min-width:0!important;
  padding:11px 12px!important;
}
.day-macro-card-v2 .day-macro-compact-grid b,
.day-macro-card-v2 .day-macro-compact-grid small{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
@media(max-width:980px){
  .day-editor-layout{grid-template-columns:1fr!important;}
  .day-editor-sidebar{display:flex!important;}
}
@media(max-width:560px){
  .day-editor-recipe-toolbar{align-items:stretch!important;flex-direction:column!important;}
  .fav-add-btn.main-fav{width:100%!important;justify-content:center!important;}
  .day-kcal-pair strong{font-size:29px!important;}
}


/* ============================================================
   DTR · GPT Fix v2 — Base de datos favoritas + sidebar centrado + selects Apple
   ============================================================ */
/* Base de datos: botón favorito solo en recetas */
.db-row-fav{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  min-width:150px!important;
}
.fav-add-btn.db-fav,
.fav-add-btn.db-fav-detail{
  margin-left:0!important;
  min-height:32px!important;
  padding:7px 12px!important;
  border-radius:999px!important;
  font-size:11.7px!important;
  font-weight:950!important;
  background:linear-gradient(180deg,#FFFFFF,#F2F8FE)!important;
  border:1px solid rgba(47,125,209,.22)!important;
  color:#1D5C98!important;
  box-shadow:0 8px 20px -14px rgba(47,125,209,.50)!important;
}
.fav-add-btn.db-fav:hover,
.fav-add-btn.db-fav-detail:hover{
  background:#2F7DD1!important;
  border-color:#2F7DD1!important;
  color:#fff!important;
  box-shadow:0 12px 24px -12px rgba(47,125,209,.70)!important;
}
.fav-add-btn.db-fav.on,
.fav-add-btn.db-fav-detail.on{
  background:#FFF6E4!important;
  border-color:rgba(226,165,71,.44)!important;
  color:#A86C0F!important;
}
.fav-add-btn.db-fav.on:hover,
.fav-add-btn.db-fav-detail.on:hover{
  background:#E2A547!important;
  border-color:#E2A547!important;
  color:#fff!important;
}
.db-detail-actions-recipe{
  align-items:center!important;
}
.db-detail-actions-buttons{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  flex-wrap:wrap!important;
}
@media(max-width:980px){
  .db-row-main{grid-template-columns:1fr!important;}
  .db-row-fav{justify-content:flex-start!important;min-width:0!important;}
  .db-detail-actions-buttons{justify-content:flex-start!important;width:100%!important;}
}

/* Editor diario: el panel derecho queda centrado y deja de irse a la derecha */
.day-editor-overlay{
  justify-content:center!important;
  align-items:center!important;
  padding:22px!important;
}
.day-editor-modal{
  width:min(1440px,calc(100vw - 44px))!important;
  margin:0 auto!important;
  transform:none!important;
}
.day-editor-layout{
  grid-template-columns:minmax(0,1fr) minmax(360px,410px)!important;
  gap:22px!important;
  padding:18px 20px 20px!important;
  align-items:stretch!important;
}
.day-editor-sidebar{
  width:100%!important;
  min-width:0!important;
  max-width:410px!important;
  justify-self:center!important;
  align-self:stretch!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  padding:16px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
.day-editor-sidebar .day-side-card{
  width:min(100%,330px)!important;
  max-width:330px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
.day-editor-sidebar .day-side-card.main.day-kcal-card-v2{
  width:min(100%,330px)!important;
  max-width:330px!important;
  min-height:164px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  padding:18px 16px!important;
}
.day-kcal-pair,
.day-kcal-diff,
.day-editor-sidebar .day-progress.dark{
  width:100%!important;
  max-width:100%!important;
}
.day-kcal-pair strong{
  text-align:center!important;
  font-size:34px!important;
  line-height:1!important;
  letter-spacing:-1.1px!important;
  white-space:nowrap!important;
}
.day-kcal-pair small,
.day-kcal-diff{
  text-align:center!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.day-macro-card-v2 .day-macro-compact-grid{
  width:100%!important;
  grid-template-columns:1fr!important;
}
@media(max-width:1180px){
  .day-editor-layout{grid-template-columns:minmax(0,1fr) minmax(330px,370px)!important;}
  .day-editor-sidebar{max-width:370px!important;}
  .day-editor-sidebar .day-side-card{width:100%!important;max-width:320px!important;}
}
@media(max-width:980px){
  .day-editor-overlay{padding:10px!important;align-items:flex-end!important;}
  .day-editor-modal{width:100%!important;height:calc(100vh - 20px)!important;border-radius:28px 28px 0 0!important;}
  .day-editor-layout{grid-template-columns:1fr!important;overflow:auto!important;}
  .day-editor-sidebar{
    max-width:none!important;
    width:100%!important;
    align-items:stretch!important;
    overflow:visible!important;
    padding:14px!important;
  }
  .day-editor-sidebar .day-side-card,
  .day-editor-sidebar .day-side-card.main.day-kcal-card-v2{max-width:none!important;width:100%!important;}
}

/* Selects e inputs buscables con el mismo look de gustos/preferencias */
.menu-admin-premium select:not([multiple]),
.nadmin select:not([multiple]),
.nadmin-toolbar select:not([multiple]),
.day-editor-modal select:not([multiple]),
.day-type-sel,
.day-editor-type,
.db-filter select:not([multiple]),
.targets-panel select:not([multiple]),
.nia-filters-grid select:not([multiple]),
.field-g select.inp:not([multiple]),
.nadmin-form-grid select.inp:not([multiple]),
.nadmin-ing-row select.inp:not([multiple]){
  -webkit-appearance:none!important;
  -moz-appearance:none!important;
  appearance:none!important;
  min-height:42px!important;
  border-radius:16px!important;
  border:1.5px solid rgba(10,26,47,.09)!important;
  background-color:rgba(255,255,255,.94)!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1.6 1.6 7 7l5.4-5.4' fill='none' stroke='%232F7DD1' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 14px center!important;
  background-size:12px 8px!important;
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset, 0 8px 20px -18px rgba(10,26,47,.45)!important;
  color:#0A1A2F!important;
  font-weight:820!important;
  letter-spacing:-.15px!important;
  padding:0 42px 0 14px!important;
}
.menu-admin-premium select:not([multiple]):hover,
.nadmin select:not([multiple]):hover,
.day-editor-modal select:not([multiple]):hover,
.db-filter select:not([multiple]):hover,
.field-g select.inp:not([multiple]):hover{
  border-color:rgba(47,125,209,.38)!important;
  background-color:#fff!important;
}
.menu-admin-premium select:not([multiple]):focus,
.nadmin select:not([multiple]):focus,
.day-editor-modal select:not([multiple]):focus,
.db-filter select:not([multiple]):focus,
.field-g select.inp:not([multiple]):focus{
  outline:none!important;
  border-color:#2F7DD1!important;
  box-shadow:0 0 0 4px rgba(47,125,209,.11), 0 1px 0 rgba(255,255,255,.8) inset!important;
}
/* Inputs con datalist: búsqueda tipo Apple para recetas/alimentos */
.day-editor-search-input,
.day-editor-food-row input[list],
.recipe-food-search,
.nadmin input.inp[list]{
  min-height:42px!important;
  border-radius:16px!important;
  border:1.5px solid rgba(10,26,47,.09)!important;
  background:linear-gradient(180deg,#FFFFFF,#F8FBFE)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.85) inset, 0 8px 20px -18px rgba(10,26,47,.45)!important;
  color:#0A1A2F!important;
  font-weight:780!important;
  padding:0 14px!important;
}
.day-editor-search-input:focus,
.day-editor-food-row input[list]:focus,
.recipe-food-search:focus,
.nadmin input.inp[list]:focus{
  outline:none!important;
  border-color:#2F7DD1!important;
  box-shadow:0 0 0 4px rgba(47,125,209,.11)!important;
  background:#fff!important;
}
/* Multiple selects mantienen estética de gustos/alergias */
.nadmin select[multiple],
.field-g select.inp[multiple]{
  min-height:148px!important;
  padding:10px!important;
  border-radius:18px!important;
  border:1.5px solid rgba(10,26,47,.09)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,250,253,.96))!important;
  box-shadow:0 1px 0 rgba(255,255,255,.85) inset!important;
}
.nadmin select[multiple] option,
.field-g select.inp[multiple] option{
  padding:7px 9px!important;
  border-radius:10px!important;
  margin:2px 0!important;
  font-weight:750!important;
}
.nadmin select[multiple] option:checked,
.field-g select.inp[multiple] option:checked{
  background:linear-gradient(135deg,#E9F4FF,#DCEEFF)!important;
  color:#16426D!important;
}


/* ============================================================
   DTR · GPT Fix v3 — recetas con picker tipo alergias + filtro favoritos
============================================================ */
.recipe-picker-field{
  margin-top:4px;
}
.recipe-picker-control{
  min-height:44px!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#FFFFFF,#F8FBFE)!important;
}
.recipe-picker-panel{
  z-index:95!important;
}
.recipe-picker-option{
  grid-template-columns:24px minmax(0,1fr) auto!important;
  min-height:38px;
}
.recipe-picker-option span:nth-child(2){
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.recipe-selected-chip{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  display:inline-block!important;
  background:#EAF5FF!important;
  color:#16426D!important;
}
.day-editor-recipe-toolbar + .recipe-picker-field{
  margin-bottom:8px;
}
.day-editor-meal .recipe-picker-selected{
  min-height:26px;
  align-items:center;
}
.db-filters{
  grid-template-columns:repeat(5,minmax(132px,1fr)) auto!important;
}
.db-filter select option[value="favorites"]{
  font-weight:900;
}
@media(max-width:1180px){
  .db-filters{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:760px){
  .db-filters{grid-template-columns:1fr!important;}
}

/* ============================================================
   DTR · GPT Fix v4 — botones premium en Base de datos
   Deja la base al mismo nivel visual que Atletas/Admin.
============================================================ */
.nadmin-db-premium .db-add-actions .mini-btn,
.nadmin-db-premium .db-view-btn,
.nadmin-db-premium .db-clear,
.nadmin-db-premium .db-type-tab,
.nadmin-db-premium .fav-add-btn.db-fav,
.nadmin-db-premium .fav-add-btn.db-fav-detail,
.nadmin-db-premium .db-detail-actions .mini-btn{
  -webkit-tap-highlight-color:transparent!important;
  appearance:none!important;
  min-height:38px!important;
  border-radius:999px!important;
  padding:9px 14px!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:-.08px!important;
  line-height:1!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  border:1px solid rgba(10,26,47,.075)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(244,248,252,.98))!important;
  color:#18324E!important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.86) inset,
    0 10px 22px -18px rgba(10,26,47,.45)!important;
  transition:transform .16s var(--ease), box-shadow .16s var(--ease), background .16s var(--ease), border-color .16s var(--ease), color .16s var(--ease)!important;
}
.nadmin-db-premium .db-add-actions .mini-btn:hover,
.nadmin-db-premium .db-view-btn:hover,
.nadmin-db-premium .db-clear:hover,
.nadmin-db-premium .db-type-tab:hover,
.nadmin-db-premium .fav-add-btn.db-fav:hover,
.nadmin-db-premium .fav-add-btn.db-fav-detail:hover,
.nadmin-db-premium .db-detail-actions .mini-btn:hover{
  transform:translateY(-1px)!important;
  border-color:rgba(47,125,209,.28)!important;
  background:linear-gradient(180deg,#FFFFFF,#EEF7FF)!important;
  color:#1B5F9E!important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 14px 26px -18px rgba(47,125,209,.75)!important;
}
.nadmin-db-premium .db-add-actions .mini-btn.blue,
.nadmin-db-premium .db-detail-actions .mini-btn.blue,
.nadmin-db-premium .db-detail-actions .mini-btn.navy,
.nadmin-db-premium .mini-btn.navy.db-view-btn,
.nadmin-db-premium .db-view-btn.navy{
  border-color:rgba(10,26,47,.18)!important;
  background:linear-gradient(180deg,#102944,#081A2F)!important;
  color:#fff!important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.18) inset,
    0 14px 28px -16px rgba(10,26,47,.72)!important;
}
.nadmin-db-premium .db-add-actions .mini-btn.blue:hover,
.nadmin-db-premium .db-detail-actions .mini-btn.blue:hover,
.nadmin-db-premium .db-detail-actions .mini-btn.navy:hover,
.nadmin-db-premium .mini-btn.navy.db-view-btn:hover,
.nadmin-db-premium .db-view-btn.navy:hover{
  background:linear-gradient(180deg,#1B5F9E,#0A1A2F)!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.20) inset,
    0 18px 34px -17px rgba(10,26,47,.82)!important;
}
.nadmin-db-premium .db-add-actions .mini-btn.gray,
.nadmin-db-premium .db-detail-actions .mini-btn.gray{
  background:linear-gradient(180deg,#FFFFFF,#F4F7FB)!important;
  color:#5B6878!important;
}
.nadmin-db-premium .db-add-actions .mini-btn.red,
.nadmin-db-premium .db-detail-actions .mini-btn.red{
  border-color:rgba(218,79,79,.16)!important;
  background:linear-gradient(180deg,#FFF7F7,#FDECEC)!important;
  color:#B93E3E!important;
}
.nadmin-db-premium .db-add-actions .mini-btn.red:hover,
.nadmin-db-premium .db-detail-actions .mini-btn.red:hover{
  background:#DA4F4F!important;
  color:#fff!important;
  border-color:#DA4F4F!important;
}
.nadmin-db-premium .db-type-tab{
  min-height:40px!important;
  padding:10px 15px!important;
  background:rgba(255,255,255,.74)!important;
  backdrop-filter:blur(10px)!important;
}
.nadmin-db-premium .db-type-tab.active{
  background:linear-gradient(180deg,#112D4A,#0A1A2F)!important;
  color:#fff!important;
  border-color:rgba(10,26,47,.20)!important;
  box-shadow:0 16px 32px -18px rgba(10,26,47,.84)!important;
}
.nadmin-db-premium .db-type-tab.active b{opacity:.86!important;color:#fff!important;}
.nadmin-db-premium .db-clear{
  color:#6A7685!important;
  min-width:108px!important;
}
.nadmin-db-premium .db-view-btn{
  min-width:78px!important;
}
.nadmin-db-premium .fav-add-btn.db-fav.on,
.nadmin-db-premium .fav-add-btn.db-fav-detail.on{
  background:linear-gradient(180deg,#FFF8EA,#FFECC0)!important;
  border-color:rgba(226,165,71,.44)!important;
  color:#9A6200!important;
  box-shadow:0 12px 24px -17px rgba(226,165,71,.70)!important;
}
.nadmin-db-premium .fav-add-btn.db-fav.on:hover,
.nadmin-db-premium .fav-add-btn.db-fav-detail.on:hover{
  background:linear-gradient(180deg,#E9B65F,#D9972D)!important;
  border-color:#D9972D!important;
  color:#fff!important;
}
.nadmin-db-premium .db-row-main .mini-btn,
.nadmin-db-premium .db-detail-actions-buttons .mini-btn{
  white-space:nowrap!important;
}
@media(max-width:760px){
  .nadmin-db-premium .db-add-actions .mini-btn,
  .nadmin-db-premium .db-view-btn,
  .nadmin-db-premium .db-clear,
  .nadmin-db-premium .db-type-tab{
    width:100%!important;
  }
  .nadmin-db-premium .db-type-tabs,
  .nadmin-db-premium .db-add-actions{
    width:100%!important;
  }
}


/* ============================================================
   DTR · Nutrición Admin · Aviso nutri → atleta v1.1
   Parche mínimo: no toca widget lateral ni layout de edición del día.
============================================================ */
.menu-admin-hero-metrics>.athlete-note-trigger{
  grid-column:1/-1;
  min-height:42px;
  justify-content:center;
  border-radius:999px!important;
  padding:10px 14px!important;
  background:rgba(255,255,255,.94)!important;
  color:#0A1A2F!important;
  border:1px solid rgba(255,255,255,.36)!important;
  box-shadow:0 14px 32px rgba(10,26,47,.13)!important;
  font-weight:900!important;
}
.menu-admin-hero-metrics>.athlete-note-trigger:hover{
  transform:translateY(-1px);
  border-color:rgba(255,255,255,.72)!important;
  color:#2F7DD1!important;
  background:#fff!important;
}
.nadmin-note-modal-bg{position:fixed;inset:0;background:rgba(10,26,47,.45);backdrop-filter:blur(8px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:22px;}
.nadmin-note-modal{width:min(560px,100%);background:rgba(255,255,255,.96);border:1px solid rgba(226,232,238,.92);border-radius:26px;box-shadow:0 30px 80px rgba(10,26,47,.24);overflow:hidden;color:#0A1A2F;}
.nadmin-note-modal-head{display:flex;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid #EEF2F7;background:linear-gradient(180deg,#FFFFFF,#FAFCFE);}
.nadmin-note-modal-head h3{font-size:20px;line-height:1.15;margin:2px 0 4px;font-weight:950;letter-spacing:-.04em;color:#0A1A2F;}
.nadmin-note-modal-head p{font-size:12.5px;color:#5F6C7B;margin:0;line-height:1.45;}
.nadmin-note-kicker{font-size:10.5px;text-transform:uppercase;letter-spacing:.11em;font-weight:950;color:#2F7DD1;}
.nadmin-note-modal-head button{width:34px;height:34px;border-radius:999px;border:1px solid #E2E8EE;background:#fff;color:#5F6C7B;font-weight:950;}
.nadmin-note-modal-body{padding:20px 24px;display:grid;gap:12px;}
.nadmin-note-helper{font-size:12px;line-height:1.45;color:#5F6C7B;background:#F4F7FB;border:1px solid #EEF2F7;border-radius:16px;padding:11px 13px;}
.nadmin-note-modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid #EEF2F7;background:#FAFCFE;}
@media(max-width:760px){.nadmin-note-modal-bg{align-items:flex-end;padding:12px}.nadmin-note-modal{border-radius:24px 24px 18px 18px}}

/* ════════════════════════════════════════════════════════════
   ENTREGA 5 · Calculadora — capa visual premium (v2)
   Leyenda de objetivos + distribución por intensidad
   Estética DTR: navy/blue, blue-soft, radius 18-24, Inter
   ════════════════════════════════════════════════════════════ */

.calc-top-grid{align-items:stretch;}

/* Afford. global: chip "Editable" en los paneles configurables */
.legend-panel .calc-panel-title,
.calc-targets-panel .calc-panel-title{display:inline-flex;align-items:center;gap:9px;}
.legend-panel .calc-panel-title::after,
.calc-targets-panel .calc-panel-title::after{
  content:"✏ editable";
  font-size:9.5px;font-weight:900;letter-spacing:.5px;text-transform:uppercase;
  color:var(--blue);background:var(--blue-soft);
  border:1px solid rgba(47,125,209,.22);
  border-radius:999px;padding:3px 9px;line-height:1;
}

/* Inputs editables del tab: que se vean como campos, no como texto plano */
.calc-admin-card .goal-delta-row .inp,
.calc-admin-card .dt-row .inp{
  background:#fff;
  border:1.5px solid rgba(47,125,209,.28);
  box-shadow:0 1px 2px rgba(10,26,47,.05);
  font-weight:850;color:var(--navy);
  cursor:text;
}
.calc-admin-card .goal-delta-row .inp:hover,
.calc-admin-card .dt-row .inp:hover{
  border-color:rgba(47,125,209,.5);
  box-shadow:0 2px 8px rgba(47,125,209,.12);
}
.calc-admin-card .goal-delta-row .inp:focus,
.calc-admin-card .dt-row .inp:focus{
  border-color:var(--blue);
  box-shadow:0 0 0 4px rgba(47,125,209,.16);
  transform:translateY(-1px);
}

/* ── LEYENDA DE OBJETIVOS ──────────────────────────────────── */
.goal-delta-list{display:flex;flex-direction:column;gap:9px;}
.goal-delta-row{
  position:relative;overflow:hidden;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  border:1px solid rgba(10,26,47,.08);
  border-radius:16px;
  background:#fff;
  padding:11px 14px 11px 18px;
  transition:background .18s var(--ease),border-color .18s var(--ease),box-shadow .18s var(--ease),transform .18s var(--ease);
}
.goal-delta-row::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:4px;
  background:rgba(10,26,47,.12);transition:background .18s var(--ease);
}
.goal-delta-row:hover{border-color:rgba(47,125,209,.3);box-shadow:0 6px 16px rgba(10,26,47,.06);}
.goal-delta-row.active{
  border-color:transparent;
  background:linear-gradient(180deg,#F2F8FF,#FBFDFF);
  box-shadow:0 10px 26px rgba(47,125,209,.16);
  transform:translateY(-1px);
}
.goal-delta-row.active::before{background:linear-gradient(180deg,var(--blue),#1F5FA8);width:5px;}
.gdr-name{font-size:14px;font-weight:880;color:var(--navy);display:flex;align-items:center;gap:9px;}
.goal-delta-row.active .gdr-name{color:var(--navy);}
.gdr-active-badge{
  display:none;font-style:normal;font-size:9px;font-weight:900;letter-spacing:.6px;
  text-transform:uppercase;color:#fff;
  background:linear-gradient(135deg,var(--blue),#1F5FA8);
  border-radius:999px;padding:3px 9px;line-height:1;
  box-shadow:0 3px 8px rgba(47,125,209,.32);
}
.goal-delta-row.active .gdr-active-badge{display:inline-block;}
.gdr-input{display:flex;align-items:center;gap:7px;margin:0;}
.gdr-input .inp{width:96px;min-height:38px;text-align:right;font-size:14.5px;padding:8px 11px;}
.gdr-input>span{font-size:10.5px;font-weight:850;color:#9AA6B2;text-transform:uppercase;letter-spacing:.6px;}

/* ── PANEL DISTRIBUCIÓN POR INTENSIDAD ─────────────────────── */
.calc-targets-panel{
  margin-top:14px;
  background:linear-gradient(180deg,#FFFFFF,#FBFDFE);
}
/* Encabezado de sección bien legible (no translúcido) */
.calc-targets-panel .calc-panel-title,
.legend-panel .calc-panel-title{color:var(--navy)!important;font-weight:900;}
.calc-targets-panel .calc-panel-sub,
.legend-panel .calc-panel-sub{color:#5A6B7E!important;font-weight:680;}
.calc-targets-panel .calc-panel-head{align-items:center;}
.calc-validation-warn{
  font-size:11.5px;font-weight:850;color:#B43B3B;
  background:#FDECEC;border:1px solid #F4C4C4;border-radius:13px;
  padding:8px 13px;max-width:330px;line-height:1.4;
  box-shadow:0 4px 12px rgba(180,59,59,.1);
}

.dt-rows{display:flex;flex-direction:column;gap:9px;}
.dt-row{
  position:relative;overflow:hidden;
  --dt-accent:#9AA6B2;
  border:1px solid rgba(10,26,47,.08);
  border-radius:18px;
  background:#fff;
  padding:12px 16px 12px 20px;
  box-shadow:0 5px 15px rgba(10,26,47,.04);
  transition:border-color .18s var(--ease),box-shadow .18s var(--ease),transform .18s var(--ease);
}
.dt-row::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:5px;
  background:var(--dt-accent);
}
.dt-row:hover{box-shadow:0 12px 28px rgba(10,26,47,.09);transform:translateY(-1px);}
.dt-row.bad{
  border-color:#F0B9B9;
  background:linear-gradient(180deg,#FFF9F9,#FFFCFC);
  box-shadow:0 6px 18px rgba(192,57,43,.08);
}
.dt-row.bad::before{background:#D9663C!important;}

/* Escala de intensidad (heat scale, sutil y premium) */
.dt-row[data-day="descanso"]        {--dt-accent:#9AA6B2;}
.dt-row[data-day="intensidad_baja"] {--dt-accent:#5BA3D8;}
.dt-row[data-day="intensidad_media"]{--dt-accent:#2F7DD1;}
.dt-row[data-day="intensidad_alta"] {--dt-accent:#2563B0;}
.dt-row[data-day="tirada_larga"]    {--dt-accent:#E0A33C;}
.dt-row[data-day="sobrecarga"]      {--dt-accent:#DD7E3A;}
.dt-row[data-day="competicion"]     {--dt-accent:#CE5050;}

/* Cabecera de fila */
.dt-head{
  display:grid;
  grid-template-columns:minmax(130px,1.2fr) minmax(150px,1fr) auto auto;
  align-items:center;gap:14px;
  padding-bottom:10px;margin-bottom:10px;
  border-bottom:1px solid rgba(10,26,47,.07);
}
.dt-name{
  font-size:15px;font-weight:900;color:var(--navy);letter-spacing:-.3px;
  display:flex;align-items:center;gap:9px;
}
.dt-name::before{
  content:'';width:9px;height:9px;border-radius:50%;
  background:var(--dt-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--dt-accent) 22%,transparent);
  flex:none;
}
.dt-field{display:flex;flex-direction:column;gap:4px;margin:0;min-width:0;}
.dt-field>span{font-size:9.5px;font-weight:900;text-transform:uppercase;letter-spacing:.6px;color:#9AA6B2;}
.dt-field .inp{min-height:34px;text-align:right;font-size:14px;padding:7px 11px;}
.dt-kcalbox{
  display:flex;flex-direction:column;align-items:flex-end;gap:1px;min-width:92px;
  border-radius:14px;padding:6px 13px;
  background:linear-gradient(135deg,#0A1A2F,#16314F);
  box-shadow:0 6px 16px rgba(10,26,47,.2);
}
.dt-kcalbox b{font-size:18px;font-weight:900;line-height:1.05;color:#fff;letter-spacing:-.5px;}
.dt-kcalbox span{font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.6px;color:rgba(255,255,255,.6);}
.dt-sumbox{
  display:flex;flex-direction:column;align-items:center;gap:2px;min-width:82px;
  border-radius:14px;padding:6px 11px;
  background:rgba(46,139,87,.1);border:1px solid rgba(46,139,87,.22);
  transition:background .18s var(--ease),border-color .18s var(--ease);
}
.dt-sumbox>span{font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.55px;color:#5A8A6E;}
.dt-sum{font-size:16px;font-weight:900;line-height:1;color:#2E8B57;}
.dt-row.bad .dt-sumbox{background:rgba(206,80,80,.1);border-color:rgba(206,80,80,.28);}
.dt-row.bad .dt-sumbox>span{color:#B05A5A;}
.dt-row.bad .dt-sum{color:#C0392B;}

/* Macros en horizontal con color-code por macro */
.dt-macros{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;}
.dt-macro{
  position:relative;overflow:hidden;
  --m-accent:#2F7DD1;--m-tint:rgba(47,125,209,.07);
  border:1px solid rgba(10,26,47,.06);
  background:var(--m-tint);
  border-radius:14px;padding:9px 11px 8px;
  display:flex;flex-direction:column;gap:7px;min-width:0;
  transition:box-shadow .18s var(--ease),transform .18s var(--ease);
}
.dt-macro::before{content:'';position:absolute;left:0;right:0;top:0;height:3px;background:var(--m-accent);opacity:.85;}
.dt-macro:hover{box-shadow:0 8px 18px color-mix(in srgb,var(--m-accent) 16%,transparent);transform:translateY(-1px);}
.dt-macro:has(.day-pct-c)     {--m-accent:#2F7DD1;--m-tint:rgba(47,125,209,.08);}
.dt-macro:has(.day-pct-p)     {--m-accent:#6C6FD6;--m-tint:rgba(108,111,214,.09);}
.dt-macro:has(.day-pct-f)     {--m-accent:#E0A33C;--m-tint:rgba(224,163,60,.11);}
.dt-macro:has(.day-fiber-input){--m-accent:#3FA66A;--m-tint:rgba(63,166,106,.1);}
.dt-macro-top{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.dt-macro-lbl{
  font-size:11px;font-weight:900;letter-spacing:.55px;text-transform:uppercase;
  color:var(--m-accent);display:flex;align-items:center;gap:6px;
}
.dt-macro-lbl::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--m-accent);flex:none;}
.dt-pct{display:flex;align-items:center;gap:5px;margin:0;}
.dt-pct .inp{width:62px;min-height:32px;text-align:right;font-size:14px;padding:6px 9px;}
.dt-pct>span{font-size:12.5px;font-weight:900;color:var(--m-accent);}
.dt-macro-bot{
  display:flex;align-items:baseline;justify-content:space-between;gap:8px;
  padding-top:6px;border-top:1px dashed color-mix(in srgb,var(--m-accent) 28%,transparent);
}
.dt-macro-bot>span:first-child{font-size:14.5px;font-weight:900;color:var(--navy);letter-spacing:-.3px;}
.dt-macro-bot>span:last-child{
  font-size:10.5px;font-weight:850;color:var(--m-accent);
  background:#fff;border-radius:999px;padding:2px 8px;border:1px solid color-mix(in srgb,var(--m-accent) 22%,transparent);
}

/* Botón guardar bloqueado por validación */
.menu-admin-premium .mini-btn.good.is-disabled,
.menu-admin-premium .mini-btn.good:disabled{
  opacity:.42;cursor:not-allowed;transform:none;box-shadow:none;filter:grayscale(.3);
}

/* Responsive */
@media(max-width:1100px){.calc-top-grid{grid-template-columns:1fr;}}
@media(max-width:860px){
  .dt-head{grid-template-columns:1fr 1fr;gap:11px;}
  .dt-name{grid-column:1 / -1;}
  .dt-macros{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:560px){
  .dt-macros{grid-template-columns:1fr 1fr;}
  .dt-kcalbox,.dt-sumbox{min-width:0;}
  .gdr-input .inp{width:84px;}
}

/* Fallback si el navegador no soporta color-mix (degradado elegante) */
@supports not (background:color-mix(in srgb,red 50%,blue)){
  .dt-name::before{box-shadow:none;}
  .dt-macro-bot{border-top-color:rgba(10,26,47,.1);}
  .dt-macro-bot>span:last-child{border-color:rgba(10,26,47,.12);}
}

/* ════════════════════════════════════════════════════════════
   Editor de día (modal) · capa visual azul (identidad del menú)
   Da relieve y separa las tarjetas de comida, que estaban planas
   ════════════════════════════════════════════════════════════ */

/* Tarjetas de comida: franja azul lateral + leve tinte para despegar del fondo */
.day-editor-modal .day-editor-meal{
  position:relative;
  background:linear-gradient(180deg,#FFFFFF,#F4F9FE)!important;
  border:1px solid rgba(47,125,209,.16)!important;
  box-shadow:0 8px 22px rgba(16,49,92,.06)!important;
  transition:border-color .18s var(--ease),box-shadow .18s var(--ease),transform .18s var(--ease);
}
.day-editor-modal .day-editor-meal::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:4px;z-index:3;
  background:linear-gradient(180deg,#5BA3D8,#2F7DD1);
  opacity:.55;transition:opacity .18s var(--ease),width .18s var(--ease);
}
.day-editor-modal .day-editor-meal:hover{
  border-color:rgba(47,125,209,.32)!important;
  box-shadow:0 12px 28px rgba(16,49,92,.1)!important;
}
.day-editor-modal .day-editor-meal[open]{
  background:#fff!important;
  border-color:rgba(47,125,209,.42)!important;
  box-shadow:0 18px 38px rgba(16,49,92,.13)!important;
}
.day-editor-modal .day-editor-meal[open]::before{
  opacity:1;width:5px;
  background:linear-gradient(180deg,#2F7DD1,#1F5FA8);
}

/* Cabecera de cada comida: tinte azul al abrir + punto azul guía */
.day-editor-modal .day-editor-meal-top{padding-left:16px!important;}
.day-editor-modal .day-editor-meal[open] .day-editor-meal-top{
  background:linear-gradient(180deg,#EFF6FF,#F8FBFF);
}
.day-editor-modal .day-editor-meal-top b{
  color:var(--navy)!important;display:flex!important;align-items:center;gap:8px;
}
.day-editor-modal .day-editor-meal-top b::before{
  content:'';width:8px;height:8px;border-radius:50%;flex:none;
  background:#2F7DD1;box-shadow:0 0 0 3px rgba(47,125,209,.16);
}
.day-editor-modal .day-editor-meal[open] .day-editor-meal-top b::before{
  background:#1F5FA8;box-shadow:0 0 0 3px rgba(47,125,209,.24);
}

/* Chip de macros (colapsado): azul sólido del menú, más legible */
.day-editor-modal .day-meal-live{
  color:#1F5FA8!important;
  background:var(--blue-soft)!important;
  border:1px solid rgba(47,125,209,.28)!important;
  font-weight:900!important;
  box-shadow:0 2px 6px rgba(47,125,209,.1)!important;
}

/* Chevron: estado por defecto con un punto de azul para que se vea clicable */
.day-editor-modal .day-editor-meal-top::after{
  background:var(--blue-soft)!important;color:#2F7DD1!important;
}

/* Kicker de sección con identidad azul */
.day-editor-modal .day-editor-section-kicker{color:#3E6FA3!important;}

/* "Objetivo comida": ya es azul, lo reforzamos un pelín */
.day-editor-modal .day-editor-meal-target{
  background:var(--blue-soft)!important;
  border-color:rgba(47,125,209,.22)!important;
  color:#1F5FA8!important;
}

/* Icono de cabecera del modal con tono del menú */
.day-editor-modal .day-editor-icon{
  background:linear-gradient(135deg,#EAF3FC,#DCEBFA)!important;
  box-shadow:0 6px 16px rgba(47,125,209,.18)!important;
}

/* ════════════════════════════════════════════════════════════
   ENTREGA 5c · Plan semanal — rejilla limpia food-first + drawer
   ════════════════════════════════════════════════════════════ */
.wf-card{position:relative;overflow:hidden;}
.wf-scroll{overflow-x:auto;border-radius:18px;border:1px solid var(--line);}
.wf-grid{display:grid;background:#EEF1F5;gap:1px;width:100%;}
.wf-grid .gcell{background:#fff;padding:8px 9px;min-height:48px;min-width:0;}

/* Cabecera de días: nombre + generar + selector de tipo */
.wf-dayhead,.wf-corner{display:flex;flex-direction:column;gap:6px;justify-content:center;
  border-bottom:2px solid #E4E9EF;background:linear-gradient(180deg,#fff,#FAFCFE);}
.wf-corner{position:sticky;left:0;z-index:4;}
.wf-corner small{font-size:9.5px;font-weight:850;letter-spacing:.4px;text-transform:uppercase;color:#B4BECA;}
.wf-dh-top{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.wf-dayhead .wf-d{font-size:15px;font-weight:900;color:var(--navy);letter-spacing:-.2px;}
.wf-day-gen{border:1px solid rgba(47,125,209,.3);background:#fff;color:var(--blue);
  width:26px;height:26px;border-radius:9px;font-size:13px;font-weight:900;cursor:pointer;flex:none;
  display:grid;place-items:center;transition:background .14s var(--ease);}
.wf-day-gen:hover{background:var(--blue-soft);}
.wf-day-gen.regen{color:#5A6B7E;border-color:rgba(10,26,47,.14);}
.wf-type-sel{min-height:27px!important;font-size:10.5px!important;font-weight:800!important;padding:3px 6px!important;border-radius:9px!important;
  border:1px solid rgba(47,125,209,.22)!important;background:#fff!important;color:#3E6FA3!important;}

/* Botón por día · Post-entreno recovery 3:1 */
.wf-post-toggle{width:100%;min-height:27px;border:1px solid rgba(10,26,47,.12);background:#fff;color:#5A6B7E;border-radius:9px;
  display:flex;align-items:center;justify-content:center;gap:5px;font-size:10.5px;font-weight:900;cursor:pointer;transition:all .14s var(--ease);}
.wf-post-toggle span{font-size:12px;line-height:1;filter:grayscale(.25);}
.wf-post-toggle b{font-size:10.5px;font-weight:950;line-height:1;}
.wf-post-toggle:hover{background:#F6FAFF;border-color:rgba(47,125,209,.28);color:var(--blue);}
.wf-post-toggle.on{background:linear-gradient(180deg,#EAF7F1,#F7FCFA);border-color:rgba(46,139,87,.34);color:#2E8B57;box-shadow:inset 0 0 0 1px rgba(46,139,87,.08);}
.wf-post-toggle.on span{filter:none;}


/* Celda de comida: receta + alimentos con gramos */
.wf-cell{cursor:pointer;display:flex;flex-direction:column;gap:6px;justify-content:flex-start;position:relative;transition:background .14s var(--ease),box-shadow .14s var(--ease);}
.wf-cell:hover{background:#F6FAFF;box-shadow:inset 0 0 0 2px rgba(47,125,209,.16);}
.wf-cell.sel{background:var(--blue-soft);box-shadow:inset 0 0 0 2px var(--blue);}
.wf-recipe{font-size:12.5px;font-weight:850;color:var(--navy);line-height:1.22;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.wf-foods{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px;}
.wf-foods li{display:flex;align-items:baseline;justify-content:space-between;gap:5px;
  font-size:10.5px;line-height:1.25;border-top:1px dashed rgba(10,26,47,.06);padding-top:2px;}
.wf-foods li:first-child{border-top:0;padding-top:0;}
.wf-f-n{color:#5A6B7E;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;}
.wf-f-q{color:var(--navy);font-weight:850;flex:none;font-variant-numeric:tabular-nums;white-space:nowrap;}
.wf-cell.wf-empty{cursor:default;justify-content:center;align-items:flex-start;}
.wf-cell.wf-empty:hover{background:#fff;box-shadow:none;}
.wf-empty-t{color:#C7CED7;font-weight:700;}
.wf-pen{position:absolute;top:6px;right:7px;font-size:10px;color:var(--blue);opacity:0;transition:opacity .14s;}
.wf-cell:hover .wf-pen{opacity:.85;}
.wf-meal-lbl{position:sticky;left:0;z-index:3;background:linear-gradient(180deg,#FFFFFF,#F6FAFE);
  border-right:2px solid #E4E9EF;display:flex;flex-direction:column;justify-content:center;}
.wf-meal-lbl b{font-size:11.5px;font-weight:850;color:var(--navy);display:inline-flex;align-self:flex-start;align-items:center;gap:6px;
  background:#EDF2F8;border:1px solid rgba(10,26,47,.06);border-radius:999px;padding:5px 11px 5px 9px;}
.wf-meal-lbl b::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--blue);flex:none;}
.wf-meal-lbl.wf-row-pre b{background:#E1EEFF;border-color:rgba(47,125,209,.16);}
.wf-meal-lbl.wf-row-snack b{background:#DFF3F9;border-color:rgba(63,166,194,.18);}
.wf-meal-lbl.wf-row-post b{background:#EAF7F1;border-color:rgba(46,139,87,.18);}
.wf-meal-lbl.wf-row-post b::before{background:#2E8B57;}

/* Fila total por día: reutiliza .week-day-kcal/.week-day-gkg/.week-status */
/* Fila total por día: fondo CLARO para que las clases base (.week-day-kcal/.week-day-gkg/.week-status) se lean */
.wf-tot-lbl{position:sticky;left:0;z-index:3;background:#F1F5FA;border-right:2px solid #E4E9EF;border-top:2px solid #E4E9EF;
  display:flex;flex-direction:column;justify-content:center;gap:2px;}
.wf-tot-lbl b{font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.4px;color:var(--navy);}
.wf-tot-lbl small{font-size:9px;color:#94A0AD;font-weight:750;text-transform:uppercase;letter-spacing:.4px;}
.wf-tot{border-top:2px solid #E4E9EF;display:flex;flex-direction:column;gap:6px;justify-content:flex-start;padding:9px 9px 10px;background:#F7FAFE;}
.wf-tot.ok{background:linear-gradient(180deg,#F1FAF4,#FBFEFC);}
.wf-tot.warn{background:linear-gradient(180deg,#FFF8EE,#FFFDFA);}
.wf-tot.bad{background:linear-gradient(180deg,#FEF1F1,#FFFAFA);}
.wf-tot.muted{background:#F4F6F9;}
.wf-tot-kcal{display:flex;align-items:baseline;gap:5px;}
.wf-tot-kcal b{font-size:18px;font-weight:900;color:var(--navy);letter-spacing:-.5px;line-height:1;}
.wf-tot-kcal span{font-size:10px;font-weight:800;color:#9AA6B2;}
.wf-tot-bar{height:5px;border-radius:999px;background:rgba(10,26,47,.08);overflow:hidden;}
.wf-tot-bar i{display:block;height:100%;border-radius:999px;background:var(--blue);transition:width .3s var(--ease);}
.wf-tot.ok .wf-tot-bar i{background:#2E8B57;}
.wf-tot.warn .wf-tot-bar i{background:#E0A33C;}
.wf-tot.bad .wf-tot-bar i{background:#D9534F;}
.wf-tot.muted .wf-tot-bar i{background:#C7CED7;}
.wf-tot-macros{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;}
.wf-tot-macros span{display:flex;flex-direction:column;align-items:center;gap:1px;border-radius:9px;padding:4px 2px;
  font-size:8px;font-weight:850;letter-spacing:.3px;line-height:1;}
.wf-tot-macros b{font-size:12px;font-weight:900;line-height:1;}
.wf-tot-macros .m-ch{background:rgba(47,125,209,.10);color:#2F7DD1;}
.wf-tot-macros .m-pro{background:rgba(108,111,214,.13);color:#5457CC;}
.wf-tot-macros .m-gr{background:rgba(224,163,60,.16);color:#B27A22;}
/* Teórica: mismo grid y misma geometría que los chips reales de arriba,
   pero neutros (sin color de fondo, borde muy suave). Al usar los mismos
   valores de padding/font/line-height que .wf-tot-macros span, la altura
   sale idéntica sola sin forzar height. */
.wf-tot-teorica{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:4px;}
.wf-tot-teorica span{display:flex;flex-direction:column;align-items:center;gap:1px;border-radius:9px;padding:3px 2px;
  font-size:8px;font-weight:500;letter-spacing:.3px;line-height:1;
  background:transparent;border:1px solid rgba(10,26,47,.10);color:rgba(10,26,47,.42);box-sizing:border-box;height:29px;}
.wf-tot-teorica b{font-size:12px;font-weight:600;line-height:1;color:rgba(10,26,47,.60);}
.wf-tot-status{align-self:flex-start;font-size:9.5px;font-weight:900;border-radius:999px;padding:2px 9px;}
.wf-tot-status.ok{background:#E6F6EC;color:#2E8B57;}
.wf-tot-status.warn{background:#FFF4E0;color:#C9803A;}
.wf-tot-status.bad{background:#FDECEC;color:#C0392B;}
.wf-tot-status.muted{background:#EEF2F7;color:#9AA6B2;}

/* Tintes de fila para pre-entreno y snack (más alegre) */
.wf-meal-lbl.wf-row-pre{background:linear-gradient(180deg,#E7F1FF,#F1F8FF);}
.wf-meal-lbl.wf-row-snack{background:linear-gradient(180deg,#E6F6FB,#F1FBFD);}
.wf-meal-lbl.wf-row-post{background:linear-gradient(180deg,#EAF7F1,#F8FDFB);}
.wf-cell.wf-row-pre{background:#F3F8FF;}
.wf-cell.wf-row-snack{background:#F1FAFC;}
.wf-cell.wf-row-post{background:#F6FCF9;}
.wf-cell.wf-row-pre.wf-empty,.wf-cell.wf-row-snack.wf-empty{background:#F3F8FF;}
.wf-cell.wf-row-snack.wf-empty{background:#F1FAFC;}
.wf-cell.wf-row-post.wf-empty{background:#F6FCF9;}
.wf-meal-lbl.wf-row-pre b::before{background:#2F7DD1;}
.wf-meal-lbl.wf-row-snack b::before{background:#3FA6C2;}
.wf-meal-lbl.wf-row-post b::before{background:#2E8B57;}

/* Acento de color superior en los widgets */
.wf-stat{position:relative;overflow:hidden;}
.wf-stat::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:#CBD5E1;}
.wf-stat.s-obj::before{background:#94A0AD;}
.wf-stat.s-real::before{background:#2F7DD1;}
.wf-stat.s-diff::before{background:#6C6FD6;}
.wf-stat.s-gasto::before{background:#0D1B2A;}
.wf-stat-state.ok::before{background:#2E8B57;}
.wf-stat-state.over::before{background:#E0A33C;}
.wf-stat-state.under::before{background:#2F7DD1;}
.wf-stat-state.muted::before{background:#C7CED7;}

/* Tira total semanal */
.wf-weektot{margin-top:14px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 16px;display:flex;flex-direction:column;gap:12px;}
.wf-weekbar-row{display:flex;flex-direction:column;gap:7px;}
.wf-weekbar-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.wf-weekbar-head b{font-size:13.5px;font-weight:900;color:var(--navy);}
.wf-weekbar-head span{font-size:11.5px;font-weight:750;color:#7C8A99;}
.wf-weekbar{height:9px;border-radius:999px;background:rgba(10,26,47,.07);overflow:hidden;}
.wf-weekbar i{display:block;height:100%;border-radius:999px;background:var(--blue);transition:width .35s var(--ease);}
.wf-weekbar.ok i{background:#2E8B57;}
.wf-weekbar.warn i{background:#E0A33C;}
.wf-weekbar.bad i{background:#D9534F;}
.wf-weekbar.muted i{background:#C7CED7;}
.wf-weektot .wf-stats{margin:0;}

/* Drawer lateral de edición de comida */
.wf-backdrop{position:fixed;inset:0;background:rgba(10,26,47,.3);z-index:1200;animation:wfFade .2s var(--ease);}
@keyframes wfFade{from{opacity:0}to{opacity:1}}
.wf-drawer{position:fixed;top:0;right:0;height:100vh;height:100dvh;width:380px;max-width:94%;background:#fff;
  box-shadow:-18px 0 50px rgba(10,26,47,.2);z-index:1201;display:flex;flex-direction:column;animation:wfSlide .24s var(--ease);}
@keyframes wfSlide{from{transform:translateX(100%)}to{transform:translateX(0)}}
.wf-dr-head{position:relative;padding:14px 18px;border-bottom:1px solid var(--line);
  background:radial-gradient(circle at 90% 0%,rgba(47,125,209,.1),transparent 42%),#fff;}
.wf-dr-x{position:absolute;top:14px;right:14px;width:32px;height:32px;border:0;border-radius:999px;
  background:rgba(10,26,47,.07);color:var(--navy);font-size:20px;cursor:pointer;line-height:1;}
.wf-dr-eyebrow{font-size:10px;font-weight:900;letter-spacing:.6px;text-transform:uppercase;color:var(--blue);}
.wf-dr-title{font-size:18px;font-weight:900;color:var(--navy);margin-top:3px;}
.wf-dr-live{margin-top:8px;font-size:12px;font-weight:850;color:#16426D;background:var(--blue-soft);
  border:1px solid rgba(47,125,209,.18);border-radius:10px;padding:7px 11px;display:inline-block;}
.wf-dr-live b{color:var(--navy);}
.wf-dr-vs{color:#7C93AC;font-weight:700;margin-left:6px;}
.wf-dr-body{padding:14px 18px;overflow:auto;flex:1;min-height:0;}
/* En el drawer la comida va siempre desplegada y sin chrome de acordeón */
.wf-dr-body .day-editor-meal{border:0!important;box-shadow:none!important;background:transparent!important;}
.wf-dr-body .day-editor-meal::before{display:none!important;}
.wf-dr-body .day-editor-meal>summary{display:none!important;}
.wf-dr-body .day-editor-meal{list-style:none!important;}
.wf-dr-body summary::-webkit-details-marker{display:none!important;}
.wf-dr-body .day-editor-meal-body{display:block!important;padding:0!important;}
.wf-dr-foot{padding:12px 18px;border-top:1px solid var(--line);display:flex;gap:10px;background:#fff;box-shadow:0 -8px 18px rgba(10,26,47,.06);}
.wf-dr-save{flex:1;border:none;border-radius:12px;padding:12px;font-weight:850;font-size:13px;cursor:pointer;
  background:linear-gradient(135deg,#2F7DD1,#1F5FA8);color:#fff;box-shadow:0 8px 20px rgba(47,125,209,.28);}
.wf-dr-ghost{border:1px solid var(--line);background:#fff;color:#5A6B7E;border-radius:12px;padding:12px 16px;font-weight:800;cursor:pointer;}

@media(max-width:760px){
  .wf-drawer{width:100%;max-width:100%;}
}

/* Plan semanal · auto-zoom de la rejilla (cabe toda la semana sin scroll lateral) */
.wf-fit{position:relative;width:100%;overflow-x:auto;border-radius:18px;border:1px solid var(--line);}
.wf-fit .wf-grid{width:100%;}
/* En móvil damos un ancho mínimo legible por columna y permitimos scroll */
@media(max-width:640px){
  .wf-fit .wf-grid{grid-template-columns:84px repeat(7,minmax(116px,1fr))!important;width:max-content;}
}

/* Plan semanal · widgets de contabilización calórica semanal */
.wf-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 14px;max-width:100%;}
.wf-stat{background:linear-gradient(180deg,#fff,#F8FBFE);border:1px solid rgba(10,26,47,.07);
  border-radius:16px;padding:12px 14px;display:flex;flex-direction:column;gap:2px;box-shadow:0 5px 14px rgba(10,26,47,.04);min-width:0;}
.wf-stat>span{font-size:9.5px;font-weight:850;letter-spacing:.5px;text-transform:uppercase;color:#8A96A4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.wf-stat>b{font-size:21px;font-weight:900;color:var(--navy);letter-spacing:-.5px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.wf-stat>b.pos{color:var(--warn,#C9803A);} .wf-stat>b.neg{color:var(--blue);}
.wf-stat>small{font-size:10px;font-weight:750;color:#94A0AD;}
.wf-stat-state{border-width:1.5px;}
.wf-stat-state.ok{background:linear-gradient(180deg,#F3FBF6,#FBFEFC);border-color:rgba(46,139,87,.3);}
.wf-stat-state.ok>b{color:#2E8B57;}
.wf-stat-state.over{background:linear-gradient(180deg,#FFF8F3,#FFFCFA);border-color:rgba(201,128,58,.32);}
.wf-stat-state.over>b{color:#C9803A;}
.wf-stat-state.under{background:linear-gradient(180deg,#F2F8FF,#FAFCFF);border-color:rgba(47,125,209,.32);}
.wf-stat-state.under>b{color:#1F5FA8;}
.wf-stat-state.muted>b{color:#9AA6B2;}
.wf-stat-state b{font-size:15px;}
@media(max-width:980px){ .wf-stats{grid-template-columns:repeat(2,1fr);} }
@media(max-width:520px){ .wf-stats{grid-template-columns:1fr;} }


/* ============================================================
   DTR · GPT Fix v4 — Post activo visible + picker alimentos editor
============================================================ */
.wf-post-toggle.on{
  background:linear-gradient(180deg,#2F7DD1,#1F63B2)!important;
  border-color:#1F63B2!important;
  color:#fff!important;
  box-shadow:0 10px 20px rgba(47,125,209,.34), inset 0 0 0 1px rgba(255,255,255,.18)!important;
}
.wf-post-toggle.on span,
.wf-post-toggle.on b{color:#fff!important;filter:none!important;}
.wf-post-toggle.on:hover{
  background:linear-gradient(180deg,#3688E3,#1F63B2)!important;
  border-color:#174F91!important;
  color:#fff!important;
  transform:translateY(-1px);
}
.day-editor-food-combo{
  position:relative;
  min-width:0;
  width:100%;
}
.day-editor-food-picker-input{
  width:100%!important;
}
.day-editor-food-panel{
  position:absolute;
  top:calc(100% + 7px);
  left:0;
  right:0;
  display:none;
  z-index:180;
  padding:8px;
  border-radius:16px;
  border:1px solid rgba(226,232,238,.98);
  background:rgba(255,255,255,.98);
  box-shadow:0 18px 46px rgba(10,26,47,.18);
}
.day-editor-food-panel.open{display:block;}
.day-editor-food-options{
  display:grid;
  gap:4px;
  max-height:250px;
  overflow:auto;
  overscroll-behavior:contain;
  padding-right:2px;
}
.day-food-picker-option{
  grid-template-columns:24px minmax(0,1fr) auto!important;
  min-height:38px;
  text-align:left;
}
.day-food-picker-option span:nth-child(2){
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.day-food-picker-empty{
  padding:12px 10px;
  color:#7B8A9C;
  font-size:12px;
  font-weight:800;
  text-align:center;
}
.day-editor-food-row{
  overflow:visible!important;
}
@media(max-width:760px){
  .day-editor-food-panel{
    max-width:calc(100vw - 42px);
  }
  .day-editor-food-options{max-height:220px;}
}
