Files
SKEEN-Proyecto/frontend/src/index.css
Consultoría Alcaraz Salazar 01f6007e30 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
2026-08-13 23:30:08 +00:00

271 lines
7.0 KiB
CSS

@import "tailwindcss";
@config "../tailwind.config.js";
@import "./styles/fonts.css";
/* =========================================================
Tema SKEEN Derma Experts (default)
========================================================= */
:root,
[data-theme="skeen"] {
/* Paleta */
--color-coral: #EDA588;
--color-coral-hover: #d98b6c;
--color-mint: #CAE2C1;
--color-lilac: #C7BCDD;
--color-sky: #A4CCE2;
--color-dark: #1A1A1A;
--color-charcoal: #2D2D2D;
--color-gray: #6B6B6B;
--color-light: #F8F6F4;
--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: rgba(26, 26, 26, 0.08);
--border-strong: #E5E0DC;
--accent: var(--color-coral);
--accent-hover: var(--color-coral-hover);
--accent-bg: rgba(237, 165, 136, 0.12);
--success: var(--color-mint);
--success-text: var(--color-dark);
--warning: #FEF3C7;
--warning-text: #92400E;
--font-sans: 'Sans Essential', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--font-display: 'Carefree Serif', Georgia, serif;
--font-heading: 'TT Hoves Pro', 'Sans Essential', system-ui, sans-serif;
--font-mono: 'JetBrains Mono', monospace;
--sidebar-bg: var(--color-dark);
--sidebar-text: rgba(255, 255, 255, 0.7);
--sidebar-text-active: var(--color-white);
--sidebar-active-bg: var(--color-coral);
--header-bg: rgba(255, 255, 255, 0.8);
--logo: '/skeen-brand/logos/Logo%20Completo%20Blanco.png';
}
/* =========================================================
Tema HomeNest
========================================================= */
[data-theme="homenest"] {
/* Paleta */
--color-coral: #8B5E3C;
--color-coral-hover: #6F4B30;
--color-mint: #D9F99D;
--color-lilac: #F3E2B3;
--color-sky: #E9D5B7;
--color-dark: #3E2C1C;
--color-charcoal: #5C4634;
--color-gray: #7A5C44;
--color-light: #FEF3C7;
--color-white: #FFF9E6;
/* Semántico */
--text: var(--color-dark);
--text-muted: var(--color-gray);
--text-heading: var(--color-dark);
--text-inverse: var(--color-light);
--bg: var(--color-light);
--surface: var(--color-white);
--surface-elevated: var(--color-white);
--border: var(--color-sky);
--border-strong: var(--color-sky);
--accent: var(--color-coral);
--accent-hover: var(--color-coral-hover);
--accent-bg: var(--color-lilac);
--success: var(--color-mint);
--success-text: var(--color-dark);
--warning: #FEF3C7;
--warning-text: var(--color-dark);
--font-sans: 'DM Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--font-display: 'Alike', Georgia, serif;
--font-heading: 'Alike', Georgia, serif;
--font-mono: 'JetBrains Mono', monospace;
--sidebar-bg: var(--color-white);
--sidebar-text: var(--color-gray);
--sidebar-text-active: var(--color-dark);
--sidebar-active-bg: var(--color-coral);
--header-bg: rgba(255, 249, 230, 0.8);
--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
========================================================= */
html {
font-family: var(--font-sans);
font-size: 16px;
line-height: 1.5;
color: var(--text);
background: var(--bg);
font-synthesis: none;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
#root {
width: 100%;
max-width: 100%;
margin: 0;
text-align: left;
border: none;
min-height: 100svh;
display: flex;
flex-direction: column;
box-sizing: border-box;
}
body {
margin: 0;
font-family: var(--font-sans);
color: var(--text);
background: var(--bg);
}
h1, h2, h3, h4, h5, h6 {
font-family: var(--font-heading);
font-weight: 700;
color: var(--text-heading);
letter-spacing: -0.02em;
margin: 0;
}
[data-theme="homenest"] h1,
[data-theme="homenest"] h2,
[data-theme="homenest"] h3,
[data-theme="homenest"] h4,
[data-theme="homenest"] h5,
[data-theme="homenest"] h6 {
font-weight: 400;
letter-spacing: -0.01em;
}
.font-display {
font-family: var(--font-display);
}
.font-mono {
font-family: var(--font-mono);
}
p {
margin: 0;
}
/* Scrollbar */
::-webkit-scrollbar {
width: 8px;
height: 8px;
}
::-webkit-scrollbar-track {
background: transparent;
}
::-webkit-scrollbar-thumb {
background: var(--color-coral);
opacity: 0.25;
border-radius: 4px;
}
::-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%;
}
}