.cita-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:1rem}.cita-modal-overlay.hidden{display:none}.cita-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:citaFadeIn .2s ease}.cita-modal-container{position:relative;width:100%;max-width:540px;max-height:90vh;overflow-y:auto;background:#fff;border-radius:1rem;box-shadow:0 25px 50px -12px #00000040;animation:citaSlideUp .3s ease}.cita-datetime-row{display:flex;gap:.75rem}.cita-date-wrapper{position:relative;flex:1.5}.cita-time-wrapper{position:relative;flex:1;display:flex;align-items:center}.cita-date-icon{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);pointer-events:none;font-size:1.125rem}.cita-form-checkbox-group{margin:1.25rem 0;padding:1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem}.cita-checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cita-checkbox-input{position:absolute;opacity:0;pointer-events:none}.cita-checkbox-custom{width:1.25rem;height:1.25rem;border:2px solid #d1d5db;border-radius:.25rem;background:#fff;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.cita-checkbox-input:checked+.cita-checkbox-custom{background:#ef4444;border-color:#ef4444}.cita-checkbox-input:checked+.cita-checkbox-custom:after{content:"✓";color:#fff;font-size:.75rem;font-weight:700}.cita-input-error{border-color:#ef4444!important;animation:citaShake .3s ease}.cita-success-icon{animation:citaBounceIn .5s ease}.cita-datepicker{position:absolute;top:calc(100% + .5rem);left:0;z-index:100;width:280px;background:#fff;border-radius:.75rem;box-shadow:0 10px 40px #00000026;border:1px solid #e5e7eb;overflow:hidden;animation:citaFadeInDown .2s ease}.cita-datepicker.hidden{display:none}.datepicker-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background:#f9fafb;border-bottom:1px solid #e5e7eb}.datepicker-nav{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;background:#fff;border-radius:.375rem;color:#6b7280;cursor:pointer;transition:all .2s}.datepicker-nav:hover{background:#e5e7eb;color:#1f2937}.datepicker-selectors{display:flex;gap:.5rem}.datepicker-month-select,.datepicker-year-select{padding:.375rem .5rem;font-size:.875rem;font-weight:500;border:1px solid #d1d5db;border-radius:.375rem;background:#fff;color:#1f2937;cursor:pointer}.datepicker-month-select:focus,.datepicker-year-select:focus{outline:none;border-color:#6366f1}.datepicker-weekdays{display:grid;grid-template-columns:repeat(7,1fr);padding:.5rem .75rem;background:#f9fafb;border-bottom:1px solid #e5e7eb}.datepicker-weekday{font-size:.75rem;font-weight:600;color:#6b7280;text-align:center;text-transform:uppercase}.datepicker-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.125rem;padding:.5rem}.datepicker-day{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;font-size:.875rem;color:#1f2937;border-radius:50%;cursor:pointer;transition:all .15s}.datepicker-day:hover:not(.disabled):not(.other-month){background:#eef2ff;color:#4f46e5}.datepicker-day.today{font-weight:600;color:#4f46e5;background:#eef2ff}.datepicker-day.selected{background:#4f46e5;color:#fff;font-weight:600}.datepicker-day.selected:hover{background:#4338ca;color:#fff}.datepicker-day.other-month{color:#d1d5db}.datepicker-day.disabled{color:#d1d5db;cursor:not-allowed}@keyframes citaFadeIn{0%{opacity:0}to{opacity:1}}@keyframes citaSlideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes citaFadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes citaBounceIn{0%{transform:scale(0)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes citaShake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@media(max-width:480px){.cita-modal-container{max-height:97vh;margin-bottom:10px;border-radius:1rem;position:fixed;bottom:0;left:0;right:0;max-width:100%;animation:citaSlideUpMobile .3s ease}.cita-datetime-row{flex-direction:column}.cita-datepicker{width:100%;left:0;right:0}@keyframes citaSlideUpMobile{0%{transform:translateY(100%)}to{transform:translateY(0)}}}.cita-user-greeting{display:flex;gap:.5rem;align-items:center;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9375rem;color:#065f46;background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:1px solid #6ee7b7;border-radius:.5rem}.cita-greeting-icon{font-size:1.25rem}.cita-greeting-text{line-height:1.4}.cita-greeting-text strong{font-weight:600}.cita-pending-banner{display:flex;gap:.75rem;align-items:flex-start;margin-bottom:1rem;padding:.875rem 1rem;font-size:.875rem;color:#1e40af;background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:1px solid #93c5fd;border-radius:.5rem;animation:citaFadeIn .3s ease}.cita-pending-banner.hidden{display:none}.cita-pending-banner-icon{font-size:1.5rem;line-height:1;flex-shrink:0}.cita-pending-banner-content{flex:1;min-width:0}.cita-pending-banner-content strong{display:block;font-weight:600;color:#1e3a8a;margin-bottom:.25rem}.cita-pending-banner-content p{margin:0;line-height:1.4}.cita-pending-banner-content p strong{display:inline;font-weight:600;color:#1e3a8a}.cita-pending-banner-hint{margin-top:.5rem!important;font-size:.8125rem;color:#3b82f6;font-style:italic}.cita-banner-confirmed{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-color:#86efac;color:#166534}.cita-banner-confirmed .cita-pending-banner-content strong,.cita-banner-confirmed .cita-pending-banner-content p strong{color:#14532d}.cita-banner-confirmed .cita-pending-banner-hint{color:#16a34a}.cita-banner-update{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#fcd34d;color:#92400e}.cita-banner-update .cita-pending-banner-content strong,.cita-banner-update .cita-pending-banner-content p strong{color:#78350f}.cita-banner-update .cita-pending-banner-hint{color:#d97706}.cita-chat-container{max-height:300px;min-height:150px;padding:1rem;overflow-y:auto;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.75rem;display:flex;flex-direction:column;gap:.75rem}.cita-chat-message{display:flex;max-width:85%;animation:citaChatMessageSlideIn .3s ease}.cita-chat-message-cliente{align-self:flex-end;margin-left:auto}.cita-chat-message-agencia{align-self:flex-start;margin-right:auto}.cita-chat-message-content{padding:.625rem .875rem;border-radius:1rem;box-shadow:0 1px 2px #0000000d}.cita-chat-message-cliente .cita-chat-message-content{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-bottom-right-radius:.25rem}.cita-chat-message-agencia .cita-chat-message-content{background:#fff;color:#1f2937;border:1px solid #e5e7eb;border-bottom-left-radius:.25rem}.cita-chat-message-text{font-size:.9375rem;line-height:1.5;word-wrap:break-word;white-space:pre-wrap;margin-bottom:.25rem}.cita-chat-message-time{font-size:.75rem;opacity:.7;margin-top:.25rem}.cita-chat-message-cliente .cita-chat-message-time{color:#fffc;text-align:right}.cita-chat-message-agencia .cita-chat-message-time{color:#6b7280}.cita-chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;text-align:center;color:#9ca3af}.cita-chat-empty-icon{font-size:3rem;margin-bottom:.5rem;opacity:.5}.cita-chat-empty-text{font-size:.875rem;color:#6b7280}@keyframes citaChatMessageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.cita-chat-container::-webkit-scrollbar{width:6px}.cita-chat-container::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.cita-chat-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.cita-chat-container::-webkit-scrollbar-thumb:hover{background:#94a3b8}.cita-phase.hidden{display:none}.cita-spinner{display:inline-block;width:1.25rem;height:1.25rem;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:citaSpin .8s linear infinite}@keyframes citaSpin{to{transform:rotate(360deg)}}
