.narrow2{max-width:660px}form#agenda{display:grid;gap:1.1rem}.hp{position:absolute;left:-9999px}.err{background:#7a1f2b;color:var(--err-c);padding:.8rem 1rem;border-radius:12px}
.cal{padding:1rem;border-radius:18px;background:color-mix(in srgb,var(--bg) 55%,transparent);border:1px solid rgb(var(--ov)/0.102)}.calhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem}.calhead strong{font:700 1.1rem var(--f-head)}
.calhead button{background:var(--surface);color:var(--text);border:1px solid rgb(var(--ov)/0.2);border-radius:12px;width:2.5rem;height:2.5rem;cursor:pointer;font-size:1.3rem;transition:.2s}.calhead button:hover{border-color:var(--primary);color:var(--primary);transform:scale(1.08)}
.calgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem;text-align:center}.calgrid.slide{animation:slide .4s}@keyframes slide{from{opacity:0;transform:translateX(18px)}}.calgrid b{font-size:.8rem;opacity:.6}
.calgrid button{aspect-ratio:1;background:0;border:1px solid transparent;border-radius:12px;color:var(--text);font:inherit;cursor:pointer;transition:.2s;animation:pop .4s both;animation-delay:calc(var(--d,1)*14ms)}@keyframes pop{from{opacity:0;transform:scale(.5)}}
.calgrid button:disabled{opacity:.22;cursor:not-allowed}.calgrid button:not(:disabled):hover{border-color:var(--primary);transform:scale(1.12);box-shadow:0 0 14px color-mix(in srgb,var(--primary) 40%,transparent)}.calgrid button.today{border-color:var(--accent)}
.calgrid button.sel{background:var(--primary);color:var(--on-primary);font-weight:700;animation:pop .4s both,sel 1.8s infinite}@keyframes sel{70%{box-shadow:0 0 0 10px transparent}0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--primary) 70%,transparent)}}
.horas{display:flex;flex-wrap:wrap;gap:.5rem;min-height:2.6rem}.horas button{background:0;border:1px solid var(--primary);color:var(--primary);padding:.45rem 1rem;border-radius:99px;font:inherit;cursor:pointer;transition:.2s;animation:pop .35s both;animation-delay:calc(var(--d,0)*45ms)}.horas button:hover{background:color-mix(in srgb,var(--primary) 18%,transparent)}.horas button.sel{background:var(--primary);color:var(--on-primary);box-shadow:0 0 16px var(--primary)}
.cta:disabled{opacity:.4;cursor:not-allowed;animation:none}

/* Fase 11: selector de sede y doctor */
.picks{display:grid;gap:.5rem}.picks[hidden]{display:none}.pkset{border:0;padding:0;margin:0;display:grid;gap:.5rem}.pkset legend{font:700 .95rem var(--f-head);margin-bottom:.45rem;padding:0}
.pk{display:flex;gap:.7rem;align-items:flex-start;padding:.7rem .9rem;border:1px solid rgb(var(--ov)/0.149);border-radius:14px;cursor:pointer;transition:.2s;background:color-mix(in srgb,var(--bg) 40%,transparent)}
.pk:hover{border-color:var(--primary)}.pk input{margin-top:.25rem;accent-color:var(--primary)}.pk strong{display:block}.pk small{display:block;opacity:.7;font-size:.82rem}
.pk:has(input:checked){border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent)}.pk:has(input:focus-visible){outline:2px solid var(--primary);outline-offset:2px}
