# 🎯 FILOSOFÍA DE DISEÑO ## Principios Clave ### 1. Consistencia Visual Todos los componentes deben verse parte del mismo sistema. **Implementación:** - Paleta de colores unificada (Navy + Orange) - Tipografía consistente (Poppins) - Iconos del mismo sistema (Bootstrap Icons) - Espaciado coherente entre componentes ### 2. Espaciado Compacto Diseño eficiente que maximiza el espacio sin sacrificar usabilidad. **Implementación:** - Uso de `.form-control-sm` y `.btn-sm` - Padding ajustado en cards (`.p-3`) - Margins reducidos entre campos (`.mb-2`) - Grid compacto con `.g-3` ### 3. Jerarquía Clara Uso de colores, tamaños y pesos para guiar la atención. **Jerarquía visual:** 1. Header del Tab (Navy gradient + Orange icon) 2. Títulos de Card (Navy + Bold) 3. Labels de Campos (Neutral + Semibold + Orange icon) 4. Texto de ayuda (Muted + Small) ### 4. Feedback Instantáneo Vista previa en tiempo real de todos los cambios. **Implementación:** - Event listeners en todos los campos - Función `updatePreview()` conectada - Preview con HTML idéntico al front-end - Sin delay en la actualización ### 5. Mobile-First Diseño responsive que funciona en todos los dispositivos. **Implementación:** - Grid con breakpoint `col-lg-6` - Stack vertical en mobile (<992px) - Headers responsive con `flex-wrap` - Botones full-width en mobile --- ## Características Comunes Todos los componentes admin DEBEN incluir: - ✅ **Vista previa en tiempo real** - Card con border-left orange - HTML idéntico al front-end - Botones Desktop/Mobile - ✅ **Validación de formularios** - Campos requeridos marcados con `*` - Validación en JavaScript - Mensajes de error claros - ✅ **Contador de caracteres en campos de texto** - Display: `0/250` - Progress bar orange - Actualización en tiempo real - ✅ **Botón de reseteo a valores por defecto** - En el header del tab - Confirmación con `confirm()` - Restaura todos los campos - ✅ **Tooltips informativos** - Links a documentación externa - Hints con `` - Badges para información adicional - ✅ **Iconos descriptivos en cada campo** - Color orange (#FF8600) - Bootstrap Icons - Clase `.me-2` para espaciado - ✅ **Feedback visual inmediato** - Cambios reflejados sin delay - Console.logs informativos - Notificaciones de guardado --- ## Flujo de Interacción ### 1. Carga Inicial ``` Usuario abre admin panel ↓ loadConfig() carga valores guardados ↓ updatePreview() renderiza preview ↓ Panel listo para edición ``` ### 2. Edición de Campo ``` Usuario modifica campo ↓ Event listener detecta cambio ↓ updatePreview() actualiza preview ↓ saveConfig() guarda en localStorage (opcional) ``` ### 3. Guardado Final ``` Usuario confirma cambios (si hay botón guardar) ↓ validateForm() verifica datos ↓ saveConfig() guarda en config.json ↓ showNotification() confirma guardado ``` ### 4. Reset ``` Usuario presiona "Restaurar valores por defecto" ↓ confirm() pide confirmación ↓ resetToDefaults() aplica valores default ↓ updatePreview() actualiza preview ↓ saveConfig() guarda cambios ``` --- ## Principios de Accesibilidad ### Labels y Formularios - Todos los inputs tienen `