/* ---------- Agenda ---------- */
.ag-barra{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.8rem}
.ag-barra .espacio{flex:1}
.ag-barra select{width:auto}
.ag-nav{display:flex;align-items:center;gap:.3rem}
.ag-rango{font-family:var(--serif);font-size:1.45rem;font-weight:500;letter-spacing:-.01em;margin:0 .3rem}
.ag-resumen{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.9rem}
.chip{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;padding:.2rem .65rem;border-radius:99px;border:1px solid var(--linea);background:var(--tarjeta);color:var(--suave)}
.chip b{color:var(--tinta)}
.chip.aviso{color:var(--aviso);border-color:color-mix(in srgb,var(--aviso) 40%,var(--linea))}
.semana{gap:.55rem}
.dia{padding:0;gap:0;min-height:230px;overflow:hidden}
.dia-cab{padding:.5rem .6rem;border-bottom:1px solid var(--linea);text-transform:none}
.d-fecha{display:flex;align-items:baseline;gap:.4rem}
.d-wd{font-size:.6rem;font-weight:700;letter-spacing:.12em;color:var(--suave)}
.d-n{font-family:var(--serif);font-size:1.35rem;line-height:1}
.dia.hoy{box-shadow:none;border-color:var(--lateral)}
.dia.hoy .dia-cab{background:var(--lateral);border-bottom-color:var(--lateral);color:#fff}
.dia.hoy .d-wd{color:#cbd5e1}
.dia.hoy .dia-cab .mas{color:#cbd5e1;border-color:rgba(255,255,255,.25)}
.dia-cuerpo{display:flex;flex-direction:column;gap:.35rem;padding:.5rem;flex:1}
.ev{display:flex;flex-direction:column;gap:.05rem;padding:.4rem .5rem}
.ev:hover{filter:brightness(.97)}
.ev-h{font-size:.66rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--suave)}
.ev-t{font-size:.78rem;font-weight:600;overflow-wrap:anywhere}
.ev.tarea{cursor:pointer}
.ev.cancelada{opacity:.6}
.ahora{display:flex;align-items:center;gap:.4rem;font-size:.6rem;font-weight:800;color:var(--mal);letter-spacing:.06em}
.ahora::after{content:"";flex:1;height:1px;background:var(--mal)}
.libre{font-size:.7rem;color:var(--suave);padding:.2rem .1rem}

/* ---------- Tareas ---------- */
.tr-alta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;background:var(--tarjeta);border:1px solid var(--linea);border-radius:12px;padding:.5rem .6rem;margin-bottom:1rem}
.tr-alta input[name=titulo]{flex:1;min-width:200px;width:auto}
.tr-alta input[type=datetime-local]{width:auto}
.tareas-kpis{margin-bottom:1rem}

/* ---------- Ficha de contacto ---------- */
.ficha-card{padding:1.1rem 1.2rem}
.ficha-id{display:flex;align-items:center;gap:.9rem}
.avatar-g{width:52px;height:52px;border-radius:50%;background:var(--lateral);color:#fff;display:grid;place-items:center;font-weight:700;font-size:1rem;flex:none}
.ficha-id h2{font-family:var(--serif);font-size:1.6rem;font-weight:500;overflow-wrap:anywhere}
.ficha-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.3rem}
.ficha-acc{display:flex;flex-wrap:wrap;gap:.45rem}
.ficha-prox{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;border:1px solid color-mix(in srgb,var(--acento) 45%,var(--linea));background:color-mix(in srgb,var(--acento) 9%,var(--tarjeta));border-radius:12px;padding:.7rem .9rem;margin-top:1rem}
.ficha-prox.vencida{border-color:var(--mal);background:color-mix(in srgb,var(--mal) 8%,var(--tarjeta))}
.ficha-prox.vacia{border-style:dashed;border-color:var(--linea);background:var(--campo)}
.fp-txt{flex:1;min-width:200px}
.fp-txt small{display:block;font-size:.62rem;letter-spacing:.12em;font-weight:700;color:var(--suave)}
.ficha-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.linea{position:relative;margin-left:.45rem;padding-left:1.2rem;border-left:2px solid var(--linea);display:flex;flex-direction:column;gap:.9rem}
.tl{position:relative}
.tl::before{content:"";position:absolute;left:calc(-1.2rem - 7px);top:.3rem;width:12px;height:12px;border-radius:50%;background:var(--acento);border:2px solid var(--fondo)}
.tl-visita::before{background:var(--ok)}
.tl-llamada::before{background:var(--info)}
.tl-nota::before{background:var(--suave)}
.tl-oferta::before{background:var(--acento)}
.tl-cab{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem}
.tl-fecha{margin-left:auto;font-size:.7rem;color:var(--suave);white-space:nowrap}
.tl p{margin:.2rem 0 0;overflow-wrap:anywhere}

@media(max-width:899px){
  .ficha-cols{grid-template-columns:1fr}
  .ag-rango{font-size:1.2rem}
}
