/* Agenda */
.ag{max-width:1200px;margin:0 auto;padding:12px 12px 40px}
.ag-barra{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.ag-nav,.ag-ops{display:flex;align-items:center;gap:6px}
.ag-nav input[type=date]{width:auto;height:36px;padding:4px 8px;font-size:14px}
.ag-ops{margin-left:auto}
.ag-ops select{width:auto;padding:8px;font-size:14px}
.ag-ops .btn{padding:9px 14px;font-size:14px}
.ag-tit{font-weight:bold;font-size:15px}
.ag-tit::first-letter{text-transform:uppercase}
@media(max-width:720px){ .ag-tit{order:3;width:100%} .ag-ops{margin-left:0} }

.ag-scroll{overflow-x:auto;background:#fff;border:1px solid var(--linea);border-radius:var(--radio)}
.ag-grid{display:grid;grid-template-columns:52px repeat(var(--ndias,1),minmax(0,1fr))}
.ag-grid.semana{min-width:720px}
.ag-esq,.ag-dia{position:sticky;top:0;background:var(--beige);border-bottom:1px solid var(--linea);z-index:3}
.ag-dia{padding:8px 4px;text-align:center;font-size:12px;color:var(--gris-2);text-transform:capitalize;border-left:1px solid var(--linea)}
.ag-dia b{display:block;font-size:17px;color:var(--tinta)}
.ag-dia.hoy b{color:var(--acento)}
.ag-horas{position:relative}
.ag-h{position:absolute;right:6px;font-size:11px;color:var(--gris);transform:translateY(-50%)}
.ag-h:first-child{transform:none}
.ag-col{
  position:relative;border-left:1px solid var(--linea);cursor:copy;
  background-image:
    repeating-linear-gradient(to bottom, var(--linea) 0 1px, transparent 1px var(--hora)),
    repeating-linear-gradient(to bottom, #F3ECE8 0 1px, transparent 1px var(--paso));
}
.ag-col.hoy{background-color:#FFFCF7}
.ag-ahora{position:absolute;left:0;right:0;height:2px;background:var(--err);z-index:2;pointer-events:none}
.ag-ahora::before{content:'';position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--err)}

.cita{
  position:absolute;left:3px;right:3px;border-radius:6px;padding:3px 6px;overflow:hidden;
  font-size:12px;line-height:1.3;cursor:pointer;z-index:1;
  background:var(--beige);border:1px solid var(--linea);border-left:4px solid var(--acento);
}
.cita:hover{box-shadow:0 2px 8px rgba(0,0,0,.12)}
.cita span{display:block;color:var(--gris-2);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cita.est-confirmada{background:#E8F3EC}
.cita.est-atendida{background:#F1F1F1;color:var(--gris-2)}
.cita.est-no_asistio{background:#FBEAEA;text-decoration:line-through}

.ag-acc{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.ag-acc .btn{flex:1 1 auto}
.chk{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--tinta);margin:0}
.chk input{width:auto}
.dias{display:flex;gap:12px;flex-wrap:wrap}
.prof-fila{display:flex;gap:8px;align-items:center;margin-bottom:8px;flex-wrap:wrap}
.prof-fila input[type=color]{width:42px;height:42px;padding:3px;flex:none}
.prof-fila input:not([type]){flex:1;min-width:140px}
.prof-fila select{width:auto}

/* ---------- Google Calendar ---------- */
.g-ocupado{
  position:absolute;left:0;right:0;z-index:0;pointer-events:none;overflow:hidden;
  background:repeating-linear-gradient(135deg, rgba(91,103,112,.14) 0 6px, rgba(91,103,112,.05) 6px 12px);
  border-top:1px solid rgba(91,103,112,.25);border-bottom:1px solid rgba(91,103,112,.25);
}
.g-ocupado span{position:absolute;bottom:2px;right:6px;font-size:10px;color:var(--gris-2);letter-spacing:.03em}
.g-chip{
  display:inline-flex;align-items:center;gap:5px;margin-left:8px;vertical-align:middle;
  font-size:11px;font-weight:normal;padding:3px 9px;border-radius:999px;cursor:pointer;
  background:#E6F2EB;color:#2F7D5A;border:1px solid #C9E3D3;font-family:inherit;
}
.g-chip::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor}
.g-chip.err{background:#FBEAEA;color:var(--err);border-color:#EBC9C9}
.prof-fila{flex-wrap:wrap}
.prof-g{flex-basis:100%;padding:8px 0 4px 50px}
.prof-g label{margin-top:8px}
.prof-g select{width:100%}
.g-con{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;font-size:14px}
.g-logo{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-weight:bold;font-size:13px;
  color:#fff;background:conic-gradient(#EA4335 0 25%, #FBBC05 0 50%, #34A853 0 75%, #4285F4 0)}
.g-est{font-size:13px;color:#2F7D5A}
.g-est.err{color:var(--err)}
.g-est small{display:block;color:var(--err);font-size:12px;margin-top:2px}
.g-acc{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.g-acc .btn{padding:7px 12px;font-size:13px}
@media(max-width:560px){ .prof-g{padding-left:0} }
