/* ── Agenda / calendario ── */
.agenda-memoria{
  display:flex; align-items:center; gap:12px; margin:0 0 12px; padding:10px 12px;
  border:1.5px solid var(--sello); border-radius:var(--radio); background:var(--blanco);
  cursor:pointer;
}
.agenda-memoria:hover{background:#FAF3F3}
.agenda-memoria-fecha{
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  width:42px; height:42px; border-radius:50%; background:var(--sello); color:#fff;
  font-family:'IBM Plex Mono',monospace; font-size:.58rem; font-weight:700; letter-spacing:.08em;
}
.agenda-memoria div{min-width:0; flex:1}
.agenda-memoria h3{font-family:'Bricolage Grotesque',sans-serif; font-size:.94rem; line-height:1.1}
.agenda-memoria p{margin:3px 0 0; font-family:'IBM Plex Mono',monospace; font-size:.56rem; color:var(--tinta-suave)}
.cal-nav{display:flex; align-items:center; justify-content:space-between; gap:6px; margin-bottom:10px}
.cal-nav h2{font-family:'Bricolage Grotesque',sans-serif; font-weight:800; font-size:1.15rem; text-transform:capitalize; display:flex; gap:4px; min-width:0}
/* El título es un desplegable doble (mes + año) disfrazado de título: mismo
 * tipo y peso, sin marco hasta que pasas por encima. En móvil el suelo de
 * 16px de 01-base.css no aplica a estos select porque son navegación, no un
 * campo que dispare el teclado — pero se dejan por encima del umbral de zoom
 * igualmente al heredar del h2. */
.cal-nav h2 select{
  font:inherit; text-transform:inherit; color:inherit; background:transparent;
  border:1.5px solid transparent; border-radius:8px; padding:2px 2px; cursor:pointer; max-width:100%;
}
.cal-nav h2 select:hover,.cal-nav h2 select:focus-visible{border-color:var(--linea); background:var(--blanco)}
.cal-nav button{
  font-family:'IBM Plex Mono',monospace; font-weight:600; background:var(--blanco); border:1.5px solid var(--tinta);
  border-radius:9px; width:38px; height:38px; font-size:1rem; cursor:pointer; color:var(--tinta); flex-shrink:0;
}
.cal-nav button.cal-hoy{
  width:auto; padding:0 10px; font-size:.66rem; letter-spacing:.08em; text-transform:uppercase;
  border-color:var(--visado); color:var(--visado);
}
.cal-grid{display:grid; grid-template-columns:repeat(7,1fr); gap:4px}
.cal-dow{font-family:'IBM Plex Mono',monospace; font-size:.56rem; letter-spacing:.1em; text-transform:uppercase; color:var(--tinta-suave); text-align:center; padding:4px 0}
.celda{
  background:var(--blanco); border:1.5px solid var(--linea); border-radius:8px; min-height:46px;
  padding:3px 4px; font-size:.72rem; cursor:pointer; position:relative;
}
.celda.fuera{visibility:hidden}
.celda.viaje{background:#DDEAE2; border-color:var(--visado)}
.celda .bandera-fondo{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  opacity:.4; overflow:hidden; pointer-events:none; border-radius:6px; line-height:1;
}
.celda .bandera-fondo .bandera-img{width:70%; height:auto}
.celda .num, .celda .icos{position:relative; z-index:1}
.celda.hoy{outline:2px solid var(--ambar); outline-offset:1px}
.celda.sel{border-color:var(--sello); border-width:2px}
.celda .num{font-family:'IBM Plex Mono',monospace; font-weight:600; color:var(--tinta-suave)}
.celda .icos{font-size:.72rem; line-height:1.15; letter-spacing:-1px; display:block; margin-top:1px}
.dia-panel{margin-top:12px}
.dia-item{display:flex; gap:10px; align-items:baseline; padding:8px 2px; border-bottom:1px dashed var(--linea)}
.dia-item .ico{flex-shrink:0}
/* Título arriba; debajo, en pequeño, el dónde y las notas si las hay. */
.dia-item-cuerpo{flex:1; min-width:0; display:flex; flex-direction:column; gap:2px}
.dia-item-cuerpo i{font-style:normal; font-size:.76rem; color:var(--tinta-suave); overflow-wrap:break-word}
.dia-editar{
  flex-shrink:0; background:none; border:1px solid var(--linea); border-radius:6px; cursor:pointer;
  font-family:'IBM Plex Mono',monospace; font-size:.6rem; color:var(--tinta-suave); padding:3px 7px;
}
.dia-editar:hover{border-color:var(--tinta); color:var(--tinta)}

