Skip to content

Sistema de Diseño Unificado

Este documento describe la estructura estratégica para la identidad visual de la aplicación, cerrando la brecha entre el Front Office (Invitado/Landing) y el Back Office (Panel).

1. Tokens de Diseño (Variables CSS)

Todos los estilos DEBEN usar estas variables para asegurar la consistencia del tema. Los valores hexadecimales fijos están prohibidos fuera de las definiciones :root.

CategoríaTokenDescripción
Superficies--bg-bodyFondo principal de la aplicación.
--bg-cardFondo para tarjetas y paneles elevados.
--bg-inputFondo para entradas de formulario.
--bg-table-headerFondo para encabezados de tabla.
Texto--text-mainColor de texto primario.
--text-mutedColor de texto secundario/atenuado.
--text-brandColor usado para logos y branding.
Marca--primaryColor de acento principal (ej: Púrpura).
--primary-hoverVariante más oscura/brillante para estados hover.
--primary-glowColor de sombra/resplandor sutil para botones.
Feedback--success, --danger, --warningColores de estado estándar.
Bordes--borderColor de borde por defecto.
--border-focusColor de borde cuando un elemento tiene foco.
Efectos--glass-blurCantidad de desenfoque para elementos glassmórficos.
--shadow-lgSombra de elevación estándar.

2. Componentes Compartidos

Superficies

  • .card: El contenedor base para contenido. Soporta la variante .glass-card.
  • .stat-card: Optimizado para métricas de dashboard.

Acciones

  • .btn: Reset de botón base.
  • .btn-primary: Color sólido de marca.
  • .btn-block: Botón de ancho completo.
  • .btn-link: Solo texto, comportamiento de botón.

Formularios

  • .form-control: Estilo estándar para input, select y textarea.
  • .form-label: Etiquetas limpias y atenuadas.

3. Arquitectura de Layout

Utilizaremos un sistema de layouts escalonado para maximizar la reutilización de código:

mermaid
graph TD
    Base[layouts.base] --> Guest[layouts.guest]
    Base --> Panel[layouts.panel]
    Guest --> Welcome[welcome.blade.php]
    Guest --> Login[auth.login.blade.php]
    Panel --> Dashboard[panel.index.blade.php]
    Panel --> CRUD[panel.users.index.blade.php...]

layouts.base

  • Estructura HTML maestra.
  • Inyecta enlaces CSS dinámicos basados en AssetController.
  • Maneja etiquetas <meta> y CSRF.
  • Incluye scripts comunes (ej: Tom Select).

layouts.guest (Front Office)

  • Extiende base.
  • Establece theme-dark por defecto (a menos que el usuario esté logueado).
  • Navegación horizontal o encabezado mínimo.

layouts.panel (Back Office)

  • Extiende base.
  • Estructura de Sidebar + Header + Contenido principal.
  • Tema específico del usuario desde la DB.