/* CSS Reset for Vet Appointments Form */
/* Styles are now handled by Tailwind CSS via CDN and inline configuration */

/* Red border for required/validation error state (always loaded, not purged) */
.vaf-field-error,
input.vaf-field-error,
select.vaf-field-error,
textarea.vaf-field-error {
    border: 2px solid #ef4444 !important;
    box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.2);
}
.vaf-field-error:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.3);
}

/* Spinner de carga reutilizable para campos (fecha/hora compactos) */
.vaf-loading-field {
    position: relative;
}
.vaf-loading-field::after {
    content: "";
    position: absolute;
    right: 0.75rem;
    top: 50%;
    width: 1rem;
    height: 1rem;
    margin-top: -0.5rem;
    border-radius: 9999px;
    border: 2px solid rgba(148, 163, 184, 0.7);
    border-top-color: rgba(37, 99, 235, 1);
    animation: vaf-spin 0.6s linear infinite;
    pointer-events: none;
}

/* Texto más clarito mientras carga (fecha/hora compactas) */
.vaf-loading-field input,
.vaf-loading-field select {
    color: #9ca3af !important;
}

@keyframes vaf-spin {
    to {
        transform: rotate(360deg);
    }
}
/* Ventanas de la página de gestión de mascotas del cliente. */
.vaf-cancellation-form .vaf-day-modal-overlay {
    display:none;
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.5);
    z-index:2147483647;
    justify-content:center;
    align-items:center;
}
.vaf-cancellation-form .vaf-day-modal-overlay[style*="flex"] { display:flex !important; }
.vaf-cancellation-form .vaf-day-modal-card { background:#fff; border-radius:0.75rem; max-width:480px; width:90%; max-height:85vh; overflow:hidden;
    box-shadow:0 10px 15px -3px rgba(45,153,102,0.15), 0 10px 40px rgba(0,0,0,0.12); position:relative; display:flex; flex-direction:column; }
.vaf-cancellation-form .vaf-day-modal-header { background:linear-gradient(to right, rgba(45,153,102,0.1), rgba(0,102,204,0.1)); padding:1rem 1.25rem;
    border-radius:0.75rem 0.75rem 0 0; display:flex; align-items:center; justify-content:space-between; gap:0.75rem; }
.vaf-cancellation-form .vaf-day-modal-title { margin:0; font-size:1.125rem; font-weight:600; color:#1e293b; }
.vaf-cancellation-form .vaf-day-modal-close { background:none; border:none; font-size:1.5rem; line-height:1; cursor:pointer; color:#64748b; padding:0.25rem; width:2rem; height:2rem;
    display:flex; align-items:center; justify-content:center; border-radius:0.375rem; transition:color 0.15s, background 0.15s; }
.vaf-cancellation-form .vaf-day-modal-close:hover { color:#2D9966; background:rgba(45,153,102,0.1); }
.vaf-cancellation-form .vaf-day-modal-content { padding:1.25rem 1.5rem; overflow-y:auto; flex:1; }
.vaf-cancellation-form .vaf-day-modal-desc { margin:0 0 0.75rem; font-size:0.875rem; color:#64748b; }
.vaf-cancellation-form .vaf-confirm-cancel-btn { background:#e2e8f0; color:#334155; border-radius:0.375rem; font-size:0.875rem; font-weight:500; padding:0.5rem 1rem; border:none; cursor:pointer; }
.vaf-cancellation-form .vaf-confirm-cancel-btn:hover { background:#cbd5e1; opacity:0.9; }
.vaf-cancellation-form .vaf-confirm-accept-btn { background:#2D9966; color:#fff; border-radius:0.375rem; font-size:0.875rem; font-weight:500; padding:0.5rem 1rem; border:none; cursor:pointer; }
.vaf-cancellation-form .vaf-confirm-accept-btn:hover { background:#248556; opacity:0.95; }
/* Separadores más visibles entre secciones en gestión de mascotas */
.vaf-cancellation-form .vaf-cancel-section-divider {
    border-top-width: 1px !important;
    border-top-style: solid !important;
    border-top-color: rgba(15,23,42,0.22) !important;
}

/* Botón «Volver al panel» (panel y formulario de la clínica). */
.vaf-back-btn { display:inline-flex; align-items:center; gap:0.5rem; padding:0.55rem 1.1rem; font-size:0.875rem; font-weight:500; border-radius:999px; margin-bottom:1.5rem; border:1px solid rgba(55,65,81,0.12); background:linear-gradient(to right,#ffffff,#f9fafb); color:#1f2933; cursor:pointer; text-decoration:none; box-shadow:0 8px 16px -8px rgba(15,23,42,0.18); transition:all 0.18s ease-out; }
.vaf-back-btn:hover { background:linear-gradient(to right,#eff6ff,#ecfdf5) !important; border-color:rgba(37,99,235,0.35); transform:translateY(-1px); box-shadow:0 12px 22px -10px rgba(15,23,42,0.25); }
.vaf-back-btn svg { transition:transform 0.18s ease-out; }
.vaf-back-btn:hover svg { transform:translateX(-2px); }
