/* Agenda del tecnólogo */
.ag-form .pcard{margin-bottom:18px}
.ag-atajos{margin-bottom:14px}
.ag-dia{border:1px solid var(--line); border-radius:var(--r-m,12px); padding:12px 14px; margin-bottom:10px; background:var(--surface)}
.ag-dia-h{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:8px}
.ag-estado{font-size:.78rem; font-weight:700; color:var(--blue); background:var(--blue-tint); padding:3px 10px; border-radius:999px}
.ag-estado.ag-off{color:var(--ink-3); background:var(--surface-2)}
.ag-bloque,.ag-bloqueo{display:flex; flex-wrap:wrap; align-items:flex-end; gap:10px; margin-bottom:8px}
.ag-bloque label,.ag-bloqueo label{display:flex; flex-direction:column; gap:4px; font-size:.78rem; color:var(--ink-3)}
.ag-bloque input,.ag-bloqueo input,.ag-bloqueo select{min-height:42px; padding:8px 10px; border:1px solid var(--line); border-radius:10px; font:inherit; background:var(--surface); color:var(--ink)}
.ag-dia-f{display:flex; flex-wrap:wrap; gap:8px; margin-top:6px}
.ag-bloqueo{padding:10px 12px; border:1px dashed var(--line); border-radius:12px}
.ag-bloqueo[data-tipo="dia_libre"] .ag-solo-horas{display:none}
.ag-bloqueo:not([data-tipo="dia_libre"]) .ag-solo-dias{display:none}
.ag-bloqueo .ag-motivo{flex:1 1 180px}
.ag-bloqueo .ag-motivo input{width:100%}
.ag-tiempos{display:flex; flex-wrap:wrap; gap:16px}
.ag-conflictos ul{margin:8px 0 0 18px}
@media (max-width:600px){.ag-bloque label,.ag-bloqueo label{flex:1 1 120px}.ag-bloque input,.ag-bloqueo input,.ag-bloqueo select{width:100%}}

/* Reserva del paciente: tecnólogos y horas */
.ag-picker{border:1px solid var(--line); border-radius:14px; padding:14px 16px; background:var(--surface)}
.ag-picker-t{font-weight:700; margin-bottom:8px}
.ag-ayuda{color:var(--ink-3); font-size:.9rem}
.ag-tec{padding:10px 0; border-top:1px solid var(--line)}
.ag-tec:first-child{border-top:0}
.ag-tec-h{display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; margin-bottom:8px}
.ag-tec-h span{color:var(--ink-3); font-size:.85rem}
.ag-horas{display:flex; flex-wrap:wrap; gap:8px}
.ag-hora{min-width:68px; min-height:44px; padding:8px 12px; border:1.5px solid var(--line); border-radius:10px; background:var(--surface); color:var(--ink); font:inherit; font-weight:600; cursor:pointer}
.ag-hora:hover{border-color:var(--blue); color:var(--blue)}
.ag-hora.on{background:var(--blue); border-color:var(--blue); color:#fff}
.ag-sel{margin-top:10px; font-weight:700; color:var(--blue)}
.ag-sel.ag-error{color:var(--bad,#C0392B)}

/* Agenda del tecnólogo */
.ag-tabs{display:flex; flex-wrap:wrap; gap:6px; margin:0 0 14px}
.ag-tabs a{padding:9px 16px; min-height:40px; border:1.5px solid var(--line); border-radius:999px; color:var(--ink); text-decoration:none; font-weight:600; background:var(--surface)}
.ag-tabs a:hover{border-color:var(--blue); color:var(--blue)}
.ag-tabs a.on{background:var(--blue); border-color:var(--blue); color:#fff}
.ag-tabs a i{font-style:normal; opacity:.75; margin-left:4px; font-size:.85em}
.ag-sub a{padding:7px 13px; min-height:34px; font-size:.9rem}
.vcard-acc{display:flex; flex-wrap:wrap; gap:8px; align-items:center}
.vcard-informe{display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:12px; padding:12px; border:1px dashed var(--line); border-radius:12px}
.vcard-informe b{flex:1 1 100%}
.ag-hist{margin-top:14px; font-size:.88rem; color:var(--ink-2,#445)}
.ag-hist ul{list-style:none; margin:6px 0 0; padding:0}
.ag-hist li{padding:5px 0; border-top:1px solid var(--line)}
.ag-hist time{font-weight:700; margin-right:6px}
.ag-hist i{color:var(--ink-3); font-style:normal}
/* Semana */
.ag-sem{display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:8px}
.ag-dia{border:1px solid var(--line); border-radius:12px; padding:8px; min-height:110px; background:var(--surface)}
.ag-dia.hoy{border-color:var(--blue); box-shadow:0 0 0 2px var(--blue-tint)}
.ag-dia h4{margin:0 0 6px; font-size:.82rem; color:var(--ink-3); display:flex; justify-content:space-between}
.ag-dia h4 span{font-weight:800; color:var(--ink)}
.ag-chip{display:block; padding:6px 8px; margin-bottom:6px; border-radius:8px; background:var(--blue-tint); color:var(--ink); text-decoration:none; font-size:.82rem; border-left:4px solid var(--blue)}
.ag-chip b{margin-right:4px}
.ag-chip small{display:block; color:var(--ink-3); font-size:.72rem}
.ag-chip.st-solicitada,.ag-chip.st-informe_pendiente{border-left-color:#C98A1B; background:#FBF3E2}
.ag-chip.st-atendida,.ag-chip.st-informe_disponible{border-left-color:#177A52; background:#E5F4EC}
.ag-chip.st-cancelada{border-left-color:#B23F37; background:#F8E7E5; text-decoration:line-through}
.ag-vacio{margin:0; color:var(--ink-3)}
@media (max-width:820px){.ag-sem{grid-template-columns:1fr}.ag-dia{min-height:0}}
/* Panel de administración */
.ag-resumen{display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:10px; margin-bottom:16px}
.ag-resumen div{padding:12px 14px; border:1px solid var(--line); border-radius:12px; background:var(--surface)}
.ag-resumen b{display:block; font-size:1.6rem; line-height:1.1}
.ag-resumen span{color:var(--ink-3); font-size:.85rem}
.ag-resumen .warn{border-color:#E4B764; background:#FBF3E2}
.ag-resumen .bad{border-color:#D9807A; background:#F8E7E5}
.ag-asig{display:flex; flex-wrap:wrap; gap:6px; align-items:center}
.ag-asig select{min-height:38px; max-width:200px}
.ag-filtro select{min-height:38px}
/* Paciente */
.hcard-x{grid-column:1/-1; border-top:1px solid var(--line); padding-top:12px; margin-top:4px}
.ag-linea{list-style:none; display:flex; flex-wrap:wrap; gap:6px 4px; margin:0 0 10px; padding:0}
.ag-linea li{position:relative; padding:5px 12px; border-radius:999px; background:#EEF2F7; color:var(--ink-3); font-size:.82rem; font-weight:600}
.ag-linea li.hecho{background:var(--blue-tint); color:var(--blue)}
.ag-linea li.ahora{background:var(--blue); color:#fff}
.ag-acc{display:flex; flex-wrap:wrap; gap:8px; align-items:center}
.ag-cancel{display:flex; flex-wrap:wrap; gap:8px}
.ag-nota{margin:0; color:var(--ink-3); font-size:.88rem}
.ag-cancelada{margin:0; color:#B23F37; font-weight:600}
