/* ==========================================================
   Mi Alimentación v2
   Cada tipo de dato tiene su color y lo conserva en toda la app:
   ámbar = energía que entra · coral = energía que sale
   celeste = agua · lila = pasos · verde = peso
   ========================================================== */

:root{
  --noche:#0D1422;
  --capa:#151E32;
  --capa-2:#1C2742;
  --borde:#25324F;
  --tinta:#E9EFFC;
  --tinta-2:#8B9BBD;
  --tinta-3:#5E6D8C;

  --ambar:#FFAE4B;
  --coral:#FF5F6D;
  --agua:#35C6F4;
  --pasos:#A98BFF;
  --peso:#3FDCA8;
  --proteina:#6EA8FF;

  --r-grande:22px;
  --r-media:14px;
  --r-chica:10px;
  --sombra:0 18px 40px -24px rgba(0,0,0,.9);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}

body{
  margin:0;
  font-family:'Outfit',system-ui,-apple-system,'Segoe UI',sans-serif;
  background:var(--noche);
  color:var(--tinta);
  font-size:16px;
  line-height:1.45;
  font-variant-numeric:tabular-nums;
  -webkit-tap-highlight-color:transparent;
}

button,input,select,textarea{font-family:inherit;font-size:1rem;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--ambar);outline-offset:2px;border-radius:6px}

.app{max-width:520px;margin:0 auto;padding:0 18px;}
.espaciador{height:120px}

/* ---------- Cabecera de día ---------- */
.barra-dia{
  position:sticky;top:0;z-index:20;
  display:flex;align-items:center;gap:8px;
  padding:14px 0 12px;
  background:linear-gradient(var(--noche) 72%,transparent);
}
.nav-dia{
  background:var(--capa);border:1px solid var(--borde);color:var(--tinta-2);
  width:38px;height:38px;border-radius:50%;font-size:1.3rem;line-height:1;
  display:flex;align-items:center;justify-content:center;
}
.nav-dia:active{background:var(--capa-2)}
.nav-dia:disabled{opacity:.3}
.sel-dia{
  position:relative;flex:1;background:none;border:none;text-align:center;padding:0;
}
.sel-dia-txt{display:block;font-size:1.05rem;font-weight:600;letter-spacing:-.01em}
.sel-dia-sub{display:block;font-size:.76rem;color:var(--tinta-3)}
.sel-dia input[type=date]{
  position:absolute;inset:0;opacity:0;width:100%;height:100%;border:none;background:none;
}

/* ---------- Vistas ---------- */
.vista{display:none;animation:entra .18s ease}
.vista.activa{display:block}
@keyframes entra{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---------- Presupuesto del día ---------- */
.presupuesto{padding:6px 0 18px}
.presupuesto-cifra{display:flex;align-items:baseline;gap:8px}
.cifra{font-size:3.4rem;font-weight:600;letter-spacing:-.04em;line-height:1}
.cifra-unidad{font-size:1rem;color:var(--tinta-2)}
.presupuesto-texto{margin:2px 0 18px;color:var(--tinta-2);font-size:.9rem}
.presupuesto.excedido .cifra{color:var(--coral)}

.barra-energia{position:relative;padding-bottom:20px}
.barra-pista{
  position:relative;height:14px;border-radius:8px;background:var(--capa-2);
  overflow:hidden;display:flex;
}
.barra-comido{height:100%;background:var(--ambar);border-radius:8px 0 0 8px;transition:width .45s ease;width:0}
.barra-exceso{height:100%;background:var(--coral);transition:width .45s ease;width:0}
.barra-meta{
  position:absolute;top:-4px;bottom:6px;width:2px;background:var(--tinta-2);opacity:.75;
  transition:left .45s ease;
}
.barra-meta span{
  position:absolute;top:22px;right:0;
  font-size:.68rem;color:var(--tinta-3);white-space:nowrap;text-align:right;
}

.balance{display:flex;gap:16px;flex-wrap:wrap;font-size:.84rem;color:var(--tinta-2);margin-top:4px}
.balance b{color:var(--tinta);font-weight:600;margin-left:3px}
.punto{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:6px;vertical-align:1px}
.punto.comida{background:var(--ambar)}
.punto.ejercicio{background:var(--coral)}
.punto.agua{background:var(--agua)}
.punto.pasos{background:var(--pasos)}
.punto.neto{background:var(--tinta-2)}

/* ---------- Anillos secundarios ---------- */
.dials{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:22px}
.dial{
  position:relative;background:var(--capa);border:1px solid var(--borde);border-radius:var(--r-media);
  padding:12px 6px;display:flex;flex-direction:column;align-items:center;
}
.dial:active{background:var(--capa-2)}
.dial-svg{width:64px;height:64px;transform:rotate(-90deg)}
.dial-fondo{fill:none;stroke:var(--capa-2);stroke-width:5}
.dial-valor{
  fill:none;stroke-width:5;stroke-linecap:round;
  stroke-dasharray:163.4;stroke-dashoffset:163.4;
  transition:stroke-dashoffset .5s ease;
}
.dial-valor.agua{stroke:var(--agua)}
.dial-valor.pasos{stroke:var(--pasos)}
.dial-valor.ejercicio{stroke:var(--coral)}
.dial-icono{
  position:absolute;top:12px;left:0;right:0;height:64px;
  display:flex;align-items:center;justify-content:center;font-size:1.2rem;
}
.dial-cifra{font-size:1.05rem;font-weight:600;margin-top:6px;line-height:1.1}
.dial-lbl{font-size:.68rem;color:var(--tinta-3);text-align:center;line-height:1.2}

/* ---------- Bloques ---------- */
.bloque{
  background:var(--capa);border:1px solid var(--borde);border-radius:var(--r-grande);
  padding:16px;margin-bottom:14px;
}
.bloque-cabecera{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.bloque-cabecera h2{margin:0;font-size:.95rem;font-weight:600}
.bloque-nota{font-size:.74rem;color:var(--tinta-3)}
.enlace{background:none;border:none;color:var(--ambar);font-size:.82rem;padding:0;font-weight:500}
.enlace.centrado{display:block;margin:10px auto 0;color:var(--tinta-2)}

/* ---------- Macros ---------- */
.macro{margin-bottom:12px}
.macro:last-child{margin-bottom:0}
.macro-info{display:flex;justify-content:space-between;font-size:.82rem;margin-bottom:5px}
.macro-info span{color:var(--tinta-2)}
.macro-info b{font-weight:600}
.macro-pista{height:6px;border-radius:4px;background:var(--capa-2);overflow:hidden}
.macro-fill{display:block;height:100%;border-radius:4px;transition:width .4s ease}
.macro-fill.proteina{background:var(--proteina)}
.macro-fill.carbo{background:var(--ambar)}
.macro-fill.grasa{background:#FF8FA3}
.macro-fill.azucar{background:#E9C46A}
.macro-fill.sodio{background:#8FA0C4}
.macros-extra{margin-top:14px;padding-top:14px;border-top:1px solid var(--borde)}

/* ---------- Línea de tiempo ---------- */
.timeline{position:relative}
.hito{
  position:relative;display:grid;grid-template-columns:46px 1fr auto;gap:10px;
  align-items:flex-start;padding:10px 0;
}
.hito::before{
  content:'';position:absolute;left:56px;top:0;bottom:0;width:1px;background:var(--borde);
}
.hito:first-child::before{top:21px}
.hito:last-child::before{bottom:calc(100% - 21px)}
.hito-hora{font-size:.76rem;color:var(--tinta-3);padding-top:2px;text-align:right}
.hito-cuerpo{position:relative;padding-left:18px;min-width:0}
.hito-cuerpo::before{
  content:'';position:absolute;left:-5px;top:5px;width:11px;height:11px;border-radius:50%;
  box-sizing:border-box;background:var(--noche);border:2.5px solid var(--tinta-3);
}
.hito.comida .hito-cuerpo::before{border-color:var(--ambar)}
.hito.ejercicio .hito-cuerpo::before{border-color:var(--coral)}
.hito.agua .hito-cuerpo::before{border-color:var(--agua)}
.hito.pasos .hito-cuerpo::before{border-color:var(--pasos)}
.hito.peso .hito-cuerpo::before{border-color:var(--peso)}
.hito-titulo{font-size:.92rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hito-detalle{font-size:.76rem;color:var(--tinta-3)}
.hito-kcal{font-size:.86rem;font-weight:600;white-space:nowrap;padding-top:2px}
.hito.comida .hito-kcal{color:var(--ambar)}
.hito.ejercicio .hito-kcal{color:var(--coral)}
.hito-quitar{
  background:none;border:none;color:var(--tinta-3);font-size:.95rem;padding:2px 0 2px 10px;
}
.hito-quitar:active{color:var(--coral)}

/* ---------- Comidas agrupadas ---------- */
.comida-grupo{border-bottom:1px solid var(--borde);padding:11px 0}
.comida-grupo:last-child{border-bottom:none;padding-bottom:0}
.comida-titulo{display:flex;justify-content:space-between;align-items:center;gap:8px}
.comida-titulo b{font-weight:500;font-size:.92rem}
.comida-kcal{font-size:.82rem;color:var(--tinta-2)}
.comida-mas{
  background:var(--capa-2);border:1px solid var(--borde);color:var(--tinta-2);
  border-radius:8px;width:28px;height:28px;font-size:1rem;line-height:1;
}
.comida-items{margin-top:6px;font-size:.8rem;color:var(--tinta-2)}
.comida-items div{display:flex;justify-content:space-between;gap:10px;padding:2px 0}

/* ---------- Vacíos ---------- */
.vacio{
  text-align:center;color:var(--tinta-3);font-size:.85rem;padding:22px 10px;
  border:1px dashed var(--borde);border-radius:var(--r-media);
}

/* ---------- Buscador y chips ---------- */
.buscador{display:flex;gap:8px;margin-bottom:12px}
.buscador input{flex:1}
input,select,textarea{
  background:var(--capa);border:1px solid var(--borde);color:var(--tinta);
  border-radius:var(--r-chica);padding:11px 12px;width:100%;
}
textarea{resize:vertical;line-height:1.5;font-size:.85rem}
input::placeholder,textarea::placeholder{color:var(--tinta-3)}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--tinta-2) 50%),linear-gradient(135deg,var(--tinta-2) 50%,transparent 50%);
  background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}

.chips{display:flex;gap:7px;overflow-x:auto;padding-bottom:4px;margin-bottom:12px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{
  background:var(--capa);border:1px solid var(--borde);color:var(--tinta-2);
  border-radius:999px;padding:7px 14px;font-size:.8rem;white-space:nowrap;
}
.chip.activo{background:var(--tinta);border-color:var(--tinta);color:var(--noche);font-weight:600}
.chips.sutil .chip{padding:5px 11px;font-size:.75rem}

/* ---------- Categorías de alimentos ---------- */
.categoria{background:var(--capa);border:1px solid var(--borde);border-radius:var(--r-media);margin-bottom:8px;overflow:hidden}
.categoria-cab{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:13px 14px;background:none;border:none;width:100%;text-align:left;
}
.categoria-cab b{font-weight:500;font-size:.92rem}
.categoria-cab small{color:var(--tinta-3);font-size:.75rem;margin-left:8px}
.categoria-flecha{color:var(--tinta-3);transition:transform .2s ease}
.categoria.abierta .categoria-flecha{transform:rotate(90deg)}
.categoria-cuerpo{display:none;padding:0 14px 8px}
.categoria.abierta .categoria-cuerpo{display:block}

.alimento{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--borde)}
.alimento-info{flex:1;min-width:0}
.alimento-info b{display:block;font-weight:500;font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.alimento-info span{font-size:.74rem;color:var(--tinta-3)}
.alimento-acciones{display:flex;gap:4px}
.icono-btn{
  background:var(--capa-2);border:1px solid var(--borde);border-radius:8px;
  width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:.85rem;
}
.icono-btn:active{background:var(--borde)}
.icono-btn.fav{color:var(--ambar)}
.alimento.archivado{opacity:.55}

/* ---------- Historial ---------- */
.dia-historial{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--borde);width:100%;background:none;border-left:none;border-right:none;border-top:none;text-align:left}
.dia-historial:last-child{border-bottom:none}
.dia-fecha{width:78px;font-size:.8rem;color:var(--tinta-2)}
.dia-barra{flex:1;height:5px;border-radius:3px;background:var(--capa-2);overflow:hidden}
.dia-barra i{display:block;height:100%;background:var(--ambar)}
.dia-kcal{font-size:.82rem;font-weight:600;width:62px;text-align:right}
.dia-extra{font-size:.7rem;color:var(--tinta-3);width:74px;text-align:right}

/* ---------- Formularios ---------- */
.rejilla-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rejilla-3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.campo{display:block;margin-bottom:10px}
.campo>span{display:block;font-size:.74rem;color:var(--tinta-2);margin-bottom:5px}
.campo input:disabled{opacity:.6}
.interruptor{display:flex;align-items:center;gap:10px;margin:12px 0;font-size:.84rem;color:var(--tinta-2)}
.interruptor input{width:20px;height:20px;accent-color:var(--ambar);flex:none}
.ayuda{font-size:.76rem;color:var(--tinta-3);margin:6px 0 14px;line-height:1.5}

.btn-solido{
  background:var(--ambar);color:#241403;border:none;border-radius:var(--r-chica);
  padding:12px 16px;font-weight:600;font-size:.9rem;
}
.btn-solido:active{filter:brightness(.92)}
.btn-solido:disabled{opacity:.4}
.btn-solido.peligro{background:var(--coral);color:#2A0508}
.btn-borde{
  background:var(--capa-2);border:1px solid var(--borde);color:var(--tinta);
  border-radius:var(--r-chica);padding:12px 16px;font-size:.86rem;font-weight:500;
}
.btn-borde:active{background:var(--borde)}
.ancho{width:100%;display:block;margin-top:6px}

.sugerencia{
  background:var(--capa-2);border:1px solid var(--borde);border-left:3px solid var(--ambar);
  border-radius:var(--r-chica);padding:12px;font-size:.8rem;color:var(--tinta-2);margin-top:6px;
}
.sugerencia b{color:var(--tinta)}
.sugerencia button{margin-top:10px}

.dato-linea{display:flex;justify-content:space-between;padding:8px 0;font-size:.85rem;color:var(--tinta-2);border-bottom:1px solid var(--borde)}
.dato-linea:last-child{border-bottom:none}
.dato-linea b{color:var(--tinta)}
.pie{text-align:center;color:var(--tinta-3);font-size:.74rem;margin:18px 0}

.lista-ejercicios .alimento{border-top:1px solid var(--borde)}
.lista-ejercicios .alimento:first-child{border-top:none}

/* ---------- Navegación y botón añadir ---------- */
.menu{
  position:fixed;left:0;right:0;bottom:0;z-index:30;
  max-width:520px;margin:0 auto;
  display:grid;grid-template-columns:repeat(4,1fr);
  background:rgba(13,20,34,.92);backdrop-filter:blur(14px);
  border-top:1px solid var(--borde);
  padding:8px 0 calc(8px + env(safe-area-inset-bottom));
}
.menu button{
  background:none;border:none;color:var(--tinta-3);
  display:flex;flex-direction:column;align-items:center;gap:3px;font-size:.66rem;padding:4px 0;
}
.menu button span{font-size:1.15rem;line-height:1}
.menu button.activo{color:var(--tinta)}

.fab{
  position:fixed;right:max(18px,calc(50% - 242px));bottom:calc(74px + env(safe-area-inset-bottom));
  z-index:31;width:56px;height:56px;border-radius:50%;
  background:var(--ambar);color:#241403;border:none;
  font-size:1.9rem;line-height:1;font-weight:400;
  box-shadow:0 10px 26px -8px rgba(255,174,75,.6);
}
.fab:active{transform:scale(.94)}

/* ---------- Hojas inferiores ---------- */
.hoja-fondo{
  position:fixed;inset:0;z-index:40;background:rgba(5,8,14,.72);
  display:none;align-items:flex-end;justify-content:center;
}
.hoja-fondo.abierta{display:flex}
.hoja{
  background:var(--capa);width:100%;max-width:520px;
  border-radius:24px 24px 0 0;border-top:1px solid var(--borde);
  padding:10px 18px calc(22px + env(safe-area-inset-bottom));
  max-height:92vh;overflow-y:auto;
  animation:sube .22s ease;
}
@keyframes sube{from{transform:translateY(26px)}to{transform:none}}
.hoja-asa{width:38px;height:4px;border-radius:2px;background:var(--borde);margin:0 auto 12px}
.hoja-cabecera{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.hoja h3{margin:0;font-size:1.05rem;font-weight:600}
.cerrar{background:none;border:none;color:var(--tinta-3);font-size:1.1rem;padding:4px}
.hoja-compacta{padding-bottom:calc(26px + env(safe-area-inset-bottom))}

.acciones-rapidas{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.acciones-rapidas button{
  background:var(--capa-2);border:1px solid var(--borde);border-radius:var(--r-media);
  color:var(--tinta);padding:16px 6px;display:flex;flex-direction:column;align-items:center;gap:7px;font-size:.76rem;
}
.acciones-rapidas button span{font-size:1.45rem;line-height:1}
.acciones-rapidas button:active{background:var(--borde)}

.lista-seleccion{max-height:38vh;overflow-y:auto;margin:10px 0;border:1px solid var(--borde);border-radius:var(--r-media)}
.lista-seleccion.baja{max-height:26vh}
.opcion{
  display:flex;align-items:center;gap:10px;width:100%;text-align:left;
  background:none;border:none;border-bottom:1px solid var(--borde);padding:11px 13px;
}
.opcion:last-child{border-bottom:none}
.opcion.elegida{background:var(--capa-2);box-shadow:inset 3px 0 0 var(--ambar)}
.opcion-info{flex:1;min-width:0}
.opcion-info b{display:block;font-weight:500;font-size:.87rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.opcion-info span{font-size:.73rem;color:var(--tinta-3)}
.opcion-kcal{font-size:.8rem;color:var(--tinta-2);white-space:nowrap}

.seleccion-actual{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:var(--capa-2);border-radius:var(--r-media);padding:12px;margin-bottom:12px;
}
.seleccion-info{min-width:0}
.seleccion-info b{display:block;font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.seleccion-info span{font-size:.74rem;color:var(--tinta-3)}
.cantidad{display:flex;align-items:center;gap:6px;flex:none}
.cantidad button{
  width:34px;height:34px;border-radius:9px;background:var(--capa);border:1px solid var(--borde);
  color:var(--tinta);font-size:1.1rem;line-height:1;
}
.cantidad input{width:62px;text-align:center;padding:8px 4px}

.agua-total{display:flex;align-items:baseline;gap:8px;margin-bottom:12px}
.agua-total b{font-size:1.9rem;font-weight:600;color:var(--agua)}
.agua-total span{font-size:.85rem;color:var(--tinta-3)}
.vasos{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.vaso{width:26px;height:34px;border-radius:4px 4px 9px 9px;border:2px solid var(--borde);background:none}
.vaso.lleno{background:var(--agua);border-color:var(--agua)}
.acciones-agua{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.acciones-agua .btn-borde{padding:13px 8px}

.lista-simple{margin-top:14px}
.lista-simple div.fila{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:9px 0;border-bottom:1px solid var(--borde);font-size:.83rem;color:var(--tinta-2);
}
.lista-simple div.fila:last-child{border-bottom:none}
.lista-simple b{color:var(--tinta);font-weight:500}

/* ---------- Aviso flotante ---------- */
.aviso{
  position:fixed;left:50%;bottom:96px;transform:translate(-50%,14px);z-index:60;
  background:var(--capa-2);border:1px solid var(--borde);color:var(--tinta);
  padding:11px 17px;border-radius:999px;font-size:.83rem;
  box-shadow:var(--sombra);opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;
  max-width:88vw;text-align:center;
}
.aviso.visible{opacity:1;transform:translate(-50%,0)}

canvas{width:100%!important;display:block}

/* ---------- Foto analizada por IA ---------- */
.foto-ia{
  background:var(--capa-2);border:1px solid var(--borde);border-radius:var(--r-media);
  padding:12px;margin-bottom:14px;
}
.foto-acciones{display:flex;align-items:center;justify-content:space-between;gap:10px}
.foto-acciones .btn-borde{flex:1;background:var(--capa);padding:11px 12px}
.foto-estado{
  margin-top:10px;font-size:.8rem;color:var(--tinta-2);
  display:flex;align-items:center;gap:8px;
}
.foto-estado::before{
  content:'';width:13px;height:13px;border-radius:50%;flex:none;
  border:2px solid var(--borde);border-top-color:var(--ambar);
  animation:girar .7s linear infinite;
}
.foto-estado.error{color:var(--coral)}
.foto-estado.error::before{content:'!';border:none;color:var(--coral);animation:none;font-weight:700;text-align:center;line-height:13px}
@keyframes girar{to{transform:rotate(360deg)}}

.foto-resultado{display:flex;gap:12px;margin-top:12px}
.foto-resultado img{
  width:82px;height:82px;object-fit:cover;border-radius:var(--r-chica);
  border:1px solid var(--borde);flex:none;
}
.foto-detalle{min-width:0;flex:1}
.confianza{
  display:inline-block;font-size:.68rem;padding:3px 9px;border-radius:999px;
  border:1px solid var(--borde);color:var(--tinta-2);margin-bottom:6px;
}
.confianza.alta{color:var(--peso);border-color:var(--peso)}
.confianza.media{color:var(--ambar);border-color:var(--ambar)}
.confianza.baja{color:var(--coral);border-color:var(--coral)}
.foto-detalle p{margin:0 0 6px;font-size:.76rem;color:var(--tinta-3);line-height:1.45}
.foto-detalle ul{margin:0;padding-left:16px;font-size:.75rem;color:var(--tinta-2)}
.foto-detalle li{padding:1px 0}

.foto-manual{margin-top:12px;border-top:1px solid var(--borde);padding-top:10px}
.foto-manual .ayuda{margin-bottom:8px}
.foto-manual textarea{margin:8px 0;font-size:.78rem}

/* ---------- Escáner de código de barras ---------- */
.escaner{margin-top:12px;text-align:center}
.escaner video{
  width:100%;max-height:200px;object-fit:cover;
  border-radius:var(--r-chica);border:1px solid var(--borde);background:#000;
}
.escaner .ayuda{margin:8px 0 4px}
.foto-ia .enlace{display:block;margin-top:10px}

/* Los mensajes de error pueden traer claves o URLs sin espacios */
.foto-estado{overflow-wrap:anywhere;word-break:break-word;align-items:flex-start}
.foto-estado::before{margin-top:3px}

/* ==========================================================
   v3
   ========================================================== */

/* Macro que se pasa de la meta */
.macro-fill.excedido{background:var(--coral)}
.macro-info b.sobre{color:var(--coral)}

/* Equivalencia bajo el presupuesto */
.equivalencia{
  display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;
  margin-top:14px;padding:10px 12px;border:1px dashed var(--borde);border-radius:var(--r-chica);
  background:transparent;color:var(--tinta-2);font-size:.78rem;text-align:left;cursor:pointer;
}
.equivalencia i{font-style:normal;color:var(--tinta-3);flex:none}
.equivalencia:active{background:var(--capa-2)}

/* Plan del día */
.ventana-chip{
  display:inline-block;font-size:.74rem;color:var(--tinta-2);
  border:1px solid var(--borde);border-radius:999px;padding:5px 12px;margin-bottom:14px;
}
.ventana-chip b{color:var(--tinta);font-weight:600}
.ventana-chip.larga{border-color:var(--ambar);color:var(--ambar)}
.ventana-chip.larga b{color:var(--ambar)}

.plan-comida{margin-bottom:11px}
.plan-comida:last-child{margin-bottom:0}
.plan-comida.hecha .plan-info span{color:var(--tinta-3)}
.plan-info{display:flex;justify-content:space-between;font-size:.8rem;margin-bottom:5px}
.plan-info span{color:var(--tinta-2)}
.plan-info b{font-weight:600;font-size:.78rem}
.plan-info b.sobre{color:var(--coral)}
.plan-pista{height:5px;border-radius:4px;background:var(--capa-2);overflow:hidden}
.plan-pista i{display:block;height:100%;border-radius:4px;background:var(--ambar);transition:width .4s ease}
.plan-pista i.sobre{background:var(--coral)}
.plan-nota{
  margin:12px 0 0;padding-top:11px;border-top:1px solid var(--borde);
  font-size:.76rem;color:var(--tinta-3);line-height:1.5;
}

/* Repetir comidas */
.repetir-titulo{
  margin:16px 0 9px;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;
  color:var(--tinta-3);font-weight:600;
}
.repetir-titulo:first-child{margin-top:4px}
.repetir-item{
  display:block;width:100%;text-align:left;margin-bottom:9px;padding:12px 14px;
  background:var(--capa-2);border:1px solid var(--borde);border-radius:var(--r-media);
  color:var(--tinta);cursor:pointer;
}
.repetir-item:active{border-color:var(--ambar)}
.repetir-item:disabled{opacity:.5}
.repetir-cab{display:flex;align-items:center;gap:8px;margin-bottom:5px}
.repetir-cab b{font-size:.86rem}
.repetir-kcal{margin-left:auto;font-size:.78rem;color:var(--ambar);font-weight:600}
.repetir-veces,.repetir-dia{
  font-size:.68rem;padding:2px 8px;border-radius:999px;
  border:1px solid var(--borde);color:var(--tinta-3);
}
.repetir-veces{border-color:var(--peso);color:var(--peso)}
.repetir-item p{
  margin:0;font-size:.75rem;color:var(--tinta-3);line-height:1.45;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}

/* Informe semanal */
.informe{
  background:linear-gradient(160deg,var(--capa-2),var(--capa));
  border:1px solid var(--borde);border-radius:var(--r-grande);
  padding:18px;margin-bottom:16px;
}
.informe-cargando{color:var(--tinta-3);font-size:.82rem;text-align:center;padding:10px 0}
.informe-cab{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.informe h3{margin:0;font-size:1.02rem;font-weight:600}
.informe-fechas{font-size:.72rem;color:var(--tinta-3)}
.informe p{margin:0 0 9px;font-size:.84rem;line-height:1.55;color:var(--tinta-2)}
.insignias{display:flex;flex-wrap:wrap;gap:7px;margin:13px 0}
.insignia{
  font-size:.72rem;padding:4px 11px;border-radius:999px;
  border:1px solid var(--borde);color:var(--tinta-2);
}
.insignia.buena{border-color:var(--peso);color:var(--peso)}
.insignia.ojo{border-color:var(--ambar);color:var(--ambar)}
.accion{
  margin-top:15px;padding:14px;border-radius:var(--r-media);
  background:var(--noche);border-left:3px solid var(--ambar);
}
.accion-etiqueta{
  display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.07em;
  color:var(--ambar);margin-bottom:6px;font-weight:600;
}
.accion b{display:block;font-size:.92rem;margin-bottom:6px}
.accion p{margin:0;font-size:.81rem;color:var(--tinta-3)}

/* Gasto real */
.gasto-real{
  margin-top:14px;padding:16px;border-radius:var(--r-media);
  background:var(--capa-2);border:1px solid var(--borde);
}
.gasto-real h4{margin:0 0 4px;font-size:.86rem;font-weight:600;display:flex;align-items:center;gap:8px}
.gasto-real p{margin:8px 0 0;font-size:.78rem;color:var(--tinta-3);line-height:1.5}
.gasto-cifra{font-size:1.8rem;font-weight:300;color:var(--peso);letter-spacing:-.02em}
.gasto-cifra span{font-size:.8rem;color:var(--tinta-3);font-weight:400}
.gasto-botones{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}
.gasto-botones .btn-borde{flex:1;min-width:150px;font-size:.76rem;padding:10px}

/* ---------- Cuenta ---------- */
.cuenta{margin-top:14px;padding:16px;border-radius:var(--r-media);background:var(--capa-2);border:1px solid var(--borde)}
.cuenta h4{margin:0 0 6px;font-size:.86rem;font-weight:600}
.cuenta p{margin:0;font-size:.78rem;color:var(--tinta-3)}
.cuenta p b{color:var(--tinta)}
.cuenta-botones{display:flex;gap:8px;margin-top:13px}
.cuenta-botones .btn-borde{flex:1;font-size:.78rem;padding:10px}

/* ---------- Confirmar antes de gastar ---------- */
.foto-confirmar{
  margin-top:12px;padding:13px;border-radius:var(--r-media);
  background:var(--noche);border:1px solid var(--ambar);
}
.confirmar-fila{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.confirmar-fila img{
  width:64px;height:64px;object-fit:cover;border-radius:var(--r-chica);
  border:1px solid var(--borde);flex:none;
}
.confirmar-fila b{display:block;font-size:.84rem;margin-bottom:3px}
.confirmar-fila p{margin:0;font-size:.74rem;color:var(--tinta-3);line-height:1.45}
.confirmar-fila .tenue{color:var(--tinta-3);opacity:.75}
.foto-confirmar .campo span i{font-style:normal;color:var(--tinta-3);font-weight:400}
.foto-confirmar textarea{font-size:.8rem}
.confirmar-botones{display:flex;gap:9px;margin-top:4px}
.confirmar-botones button{flex:1;padding:11px}
