Mejoras integrales: visitas, POS, WACRM, reportes, temas y módulos legacy
- Módulo Visitas completo (auto desde agenda, insumos con descargo de inventario, fotos antes/después y documentos, receta imprimible) - Punto de Venta (catálogo + ticket sticky, cobro con cambio, pago con puntos monedero, ticket imprimible) - WACRM: leads automáticos desde WhatsApp, asignación de conversaciones y leads a agentes, conversión lead→paciente, ficha del paciente en chat - Pacientes: completitud de expediente, alertas clínicas, historial unificado con detalle, foto, WhatsApp, estado de cuenta, filtros rápidos (VIP/recientes/médico), documentos (expediente escaneado + galería) - Agenda: vistas por médico y por hora, filtros rápidos (libres, primera vez, check-in, no-show), modal de acciones, bloqueos por médico, drag&drop para mover citas - Reportes: 18 pestañas (diario, cortes, ingresos, inventario, adeudos, comisiones, pagos, devoluciones, top clientes, horas, paquetes, vendedores, concentrado, recomendaciones, KPIs) con exportación Excel - Temas: nuevo tema Clásico (look legacy AdminLTE) con submenús tipo treeview, selector de tema; accesos rápidos personalizables con 3 presentaciones; búsqueda global; notificaciones reales - Configuración: secciones (clínica, usuarios con permisos por sección, recetas, catálogos de diagnósticos y procedimientos) - Inventario: alertas de caducidad y sugerencia de compra, cron diario que descuenta artículos caducados, compras/bajas - Consultas Médicas, página Expedientes, importadores delta (citas/visitas legacy idempotentes), depuración de duplicados - Infra: tema Tailwind conectado (@config), gzip en nginx, secuencias Odoo corregidas (noupdate, company_id), rollback en validaciones
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
@import "tailwindcss";
|
||||
@config "../tailwind.config.js";
|
||||
@import "./styles/fonts.css";
|
||||
|
||||
/* =========================================================
|
||||
@@ -96,6 +97,77 @@
|
||||
--logo: '/skeen-brand/logos/Logo%20Completo%20Negro.png';
|
||||
}
|
||||
|
||||
/* =========================================================
|
||||
Tema Clásico (legacy AdminLTE 2.x)
|
||||
========================================================= */
|
||||
[data-theme="clasico"] {
|
||||
/* Paleta */
|
||||
--color-coral: #1abc9c;
|
||||
--color-coral-hover: #16a085;
|
||||
--color-mint: #2ecc71;
|
||||
--color-lilac: #d9edf7;
|
||||
--color-sky: #3498db;
|
||||
--color-dark: #333333;
|
||||
--color-charcoal: #444444;
|
||||
--color-gray: #777777;
|
||||
--color-light: #ecf0f5;
|
||||
--color-white: #FFFFFF;
|
||||
|
||||
/* Semántico */
|
||||
--text: var(--color-charcoal);
|
||||
--text-muted: var(--color-gray);
|
||||
--text-heading: var(--color-dark);
|
||||
--text-inverse: var(--color-white);
|
||||
--bg: var(--color-light);
|
||||
--surface: var(--color-white);
|
||||
--surface-elevated: var(--color-white);
|
||||
--border: #d2d6de;
|
||||
--border-strong: #dddddd;
|
||||
--accent: var(--color-coral);
|
||||
--accent-hover: var(--color-coral-hover);
|
||||
--accent-bg: rgba(26, 188, 156, 0.12);
|
||||
--success: #2ecc71;
|
||||
--success-text: var(--color-white);
|
||||
--warning: #f39c12;
|
||||
--warning-text: var(--color-white);
|
||||
|
||||
--font-sans: 'Source Sans Pro', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
||||
--font-display: 'Source Sans Pro', Georgia, serif;
|
||||
--font-heading: 'Source Sans Pro', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
||||
--font-mono: 'JetBrains Mono', monospace;
|
||||
|
||||
--sidebar-bg: #3E454C;
|
||||
--sidebar-text: #dbdee1;
|
||||
--sidebar-text-active: var(--color-white);
|
||||
--sidebar-active-bg: #394046;
|
||||
--sidebar-accent: #BED4AD;
|
||||
--sidebar-group-bg: #353b41;
|
||||
--sidebar-group-text: #6c7884;
|
||||
--header-bg: #BED4AD;
|
||||
--logo-block: #b1cb9c;
|
||||
--logo: '/skeen-brand/logos/Logo%20Completo%20Blanco.png';
|
||||
}
|
||||
|
||||
/* AdminLTE: esquinas casi cuadradas y sombras mínimas */
|
||||
[data-theme="clasico"] .rounded-3xl,
|
||||
[data-theme="clasico"] .rounded-2xl,
|
||||
[data-theme="clasico"] .rounded-xl {
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
[data-theme="clasico"] .rounded-lg {
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
[data-theme="clasico"] .shadow-card {
|
||||
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
|
||||
[data-theme="clasico"] .shadow-soft,
|
||||
[data-theme="clasico"] .shadow-sm {
|
||||
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
|
||||
/* =========================================================
|
||||
Base
|
||||
========================================================= */
|
||||
@@ -176,3 +248,23 @@ p {
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
opacity: 0.4;
|
||||
}
|
||||
|
||||
/* Impresión del ticket POS y de la receta médica */
|
||||
@media print {
|
||||
body * {
|
||||
visibility: hidden;
|
||||
}
|
||||
.print-ticket,
|
||||
.print-ticket *,
|
||||
.print-receta,
|
||||
.print-receta * {
|
||||
visibility: visible;
|
||||
}
|
||||
.print-ticket,
|
||||
.print-receta {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user