/* SIDEBAR */ .sidebar{width:230px;min-height:100vh;background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;} .sidebar-logo{padding:20px 20px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;} .logo-badge{width:36px;height:36px;background:linear-gradient(135deg,var(--primary),var(--accent));border-radius:9px;display:flex;align-items:center;justify-content:center;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:.75rem;color:#fff;flex-shrink:0;} .logo-name{font-family:'Plus Jakarta Sans',sans-serif;font-size:.88rem;font-weight:700;color:var(--accent);} .logo-sub{font-size:.65rem;color:var(--text-muted);margin-top:1px;} .sidebar-period{margin:12px 14px 0;background:var(--primary-subtle);border:1px solid rgba(21,101,160,.12);border-radius:var(--r);padding:9px 12px;} .period-label{font-size:.62rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;font-weight:600;} .period-val{font-size:.82rem;font-weight:600;color:var(--primary);margin-top:2px;} .sidebar-nav{padding:12px 10px;flex:1;overflow-y:auto;} .nav-section{margin-bottom:16px;} .nav-section-title{font-size:.6rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);padding:0 10px;margin-bottom:4px;font-weight:700;} .nav-item{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:8px;cursor:pointer;transition:all .15s;color:var(--text-secondary);font-size:.82rem;font-weight:500;text-decoration:none;} .nav-item:hover{background:var(--primary-subtle);color:var(--primary);} .nav-item.active{background:var(--primary-subtle);color:var(--primary);font-weight:600;} .nav-item i{width:15px;height:15px;flex-shrink:0;} .nav-badge{margin-left:auto;background:var(--red);color:#fff;font-size:.58rem;font-weight:700;padding:2px 6px;border-radius:20px;} .sidebar-user{padding:12px 16px;border-top:1px solid var(--border);display:flex;align-items:center;gap:9px;} .user-avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--accent));display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:700;color:#fff;flex-shrink:0;} .user-name{font-size:.78rem;font-weight:600;color:var(--text);} .user-role{font-size:.63rem;color:var(--text-muted);} /* MAIN */ .main{margin-left:230px;flex:1;display:flex;flex-direction:column;min-height:100vh;} .topbar{background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);padding:14px 28px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50;} .topbar-title{font-family:'DM Serif Display',serif;font-size:1.1rem;color:var(--accent);} .topbar-sub{font-size:.73rem;color:var(--text-muted);margin-top:1px;} .topbar-actions{display:flex;align-items:center;gap:10px;} .btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-family:'Plus Jakarta Sans',sans-serif;font-size:.8rem;font-weight:600;cursor:pointer;border:none;transition:all .15s;} .btn i{width:14px;height:14px;} .btn-primary{background:var(--primary);color:#fff;} .btn-primary:hover{background:var(--primary-light);transform:translateY(-1px);box-shadow:var(--sh-md);} .btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border);} .btn-ghost:hover{background:var(--bg-hover);} .content{padding:24px 28px;flex:1;} /* LUCA BANNER */ .luca-banner{background:linear-gradient(135deg,var(--accent),var(--primary));border-radius:var(--r-lg);padding:20px 24px;display:flex;align-items:center;gap:16px;margin-bottom:22px;box-shadow:0 8px 28px rgba(11,61,110,.18);} .luca-icon{width:44px;height:44px;border-radius:11px;background:rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;flex-shrink:0;} .luca-icon i{width:22px;height:22px;color:#fff;} .luca-title{font-family:'DM Serif Display',serif;font-size:1rem;color:#fff;margin-bottom:2px;} .luca-sub{font-size:.73rem;color:rgba(255,255,255,.8);} .luca-chip{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:9px 14px;font-size:.78rem;color:rgba(255,255,255,.75);cursor:pointer;white-space:nowrap;transition:all .2s;} .luca-chip:hover{background:rgba(255,255,255,.18);} /* KPIs */ .kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;} .kpi-card{background:var(--bg-card);border:1px solid var(--border);border-top:3px solid var(--kc,var(--primary));border-radius:var(--r);padding:18px;transition:all .2s;box-shadow:var(--sh-sm);} .kpi-card:hover{transform:translateY(-2px);box-shadow:var(--sh-md);} .kpi-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;} .kpi-label{font-size:.68rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;font-weight:700;} .kpi-icon{width:30px;height:30px;border-radius:7px;display:flex;align-items:center;justify-content:center;background:var(--ks,var(--primary-subtle));} .kpi-icon i{width:15px;height:15px;color:var(--kc,var(--primary));} .kpi-value{font-family:'JetBrains Mono',monospace;font-size:1.5rem;font-weight:500;color:var(--text);margin-bottom:6px;line-height:1;} .kpi-delta{font-size:.7rem;color:var(--text-muted);display:flex;align-items:center;gap:4px;} .du{color:var(--green);}.dd{color:var(--red);} /* LAYOUT */ .two-col{display:grid;grid-template-columns:1fr 340px;gap:16px;margin-bottom:16px;} .three-col{display:grid;grid-template-columns:1fr 1fr 280px;gap:16px;margin-bottom:16px;} .panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--sh-sm);overflow:hidden;} .panel-header{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;} .panel-title{font-size:.85rem;font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px;} .panel-title i{width:15px;height:15px;color:var(--primary);} .panel-action{font-size:.72rem;color:var(--primary);cursor:pointer;font-weight:600;} .panel-action:hover{text-decoration:underline;} .panel-body{padding:16px 18px;} /* CHART */ .chart-bars{display:flex;align-items:flex-end;gap:8px;height:130px;padding-bottom:22px;} .bar-wrap{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;} .bar{width:100%;border-radius:4px 4px 0 0;cursor:pointer;transition:opacity .2s;} .bar:hover{opacity:.75;} .bar-label{font-size:.6rem;color:var(--text-muted);margin-top:5px;} .chart-legend{display:flex;gap:16px;margin-top:10px;} .legend-item{display:flex;align-items:center;gap:6px;font-size:.68rem;color:var(--text-muted);} .legend-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0;} /* TABLE */ .table-wrap{overflow-x:auto;} table{width:100%;border-collapse:collapse;} th{font-size:.62rem;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);font-weight:700;padding:9px 14px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;} td{padding:10px 14px;font-size:.8rem;border-bottom:1px solid var(--border);vertical-align:middle;} tr:last-child td{border-bottom:none;} tr:hover td{background:var(--bg);} /* BADGES */ .badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:20px;font-size:.63rem;font-weight:700;} .bg{background:var(--green-s);color:var(--green);} .ba{background:var(--amber-s);color:var(--amber);} .br{background:var(--red-s);color:var(--red);} /* OBLIGACIONES */ .oblig-list{display:flex;flex-direction:column;gap:8px;} .oblig-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg);border-radius:8px;border:1px solid var(--border);} .oblig-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;} .oblig-name{font-size:.78rem;font-weight:600;color:var(--text);} .oblig-sub{font-size:.63rem;color:var(--text-muted);} .oblig-fecha{font-size:.68rem;color:var(--text-muted);font-family:'JetBrains Mono',monospace;} .oblig-status{font-size:.62rem;font-weight:700;margin-top:2px;} /* DONUT */ .donut-wrap{display:flex;align-items:center;gap:16px;margin-bottom:14px;} .dli{display:flex;align-items:center;gap:7px;margin-bottom:7px;} .dld{width:9px;height:9px;border-radius:2px;flex-shrink:0;} .dll{font-size:.72rem;color:var(--text-secondary);flex:1;} .dlv{font-size:.72rem;font-weight:700;font-family:'JetBrains Mono',monospace;color:var(--text);} /* STAT ROWS */ .sr{display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid var(--border);} .sr:last-child{border-bottom:none;} .sri{width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0;} .sri i{width:13px;height:13px;} .srl{font-size:.78rem;font-weight:600;color:var(--text);} .srs{font-size:.63rem;color:var(--text-muted);} .srv{font-family:'JetBrains Mono',monospace;font-size:.8rem;font-weight:500;margin-left:auto;color:var(--text);} .dash-footer{text-align:center;padding:16px 0 8px;font-size:.68rem;color:var(--text-muted);} .dash-footer span{color:var(--primary);font-weight:700;}
Dashboard General
Resumen fiscal
Luca está lista para ayudarte
Tienes 3 obligaciones próximas y 2 clientes sin CSD. ¿Qué necesitas revisar hoy?
  Pregunta algo a Luca  ›
Facturas Emitidas
cargando…
Ingresos Timbrados
cargando…
IVA por Trasladar
Vence 17 mar
ISR Provisional
Vence 17 mar
Clientes Activos
cargando…
Gastos Registrados
período actual
Gastos Sin CFDI
pendientes de facturar
DIOT del Período
operaciones capturadas
Ingresos vs Gastos — Últimos 6 meses
Ver detalle
Sep
Oct
Nov
Dic
Ene
Feb ●
Ingresos timbrados
Gastos registrados
Obligaciones Próximas
Ver calendario
IVA Mensual (8 clientes)
Declaración provisional
17 Mar
Urgente
ISR Provisional (8 clientes)
Pago provisional mensual
17 Mar
Próximo
DIOT Mensual
87 operaciones capturadas
17 Mar
En proceso
Nómina IMSS (3 clientes)
SUA bimestral
01 Abr
A tiempo
Contabilidad Electrónica
Catálogo + Balanza XML
03 Abr
Preparando
Últimas Facturas Emitidas
Ver todas
Folio Receptor (RFC) Concepto Total IVA Estatus
Cargando facturas…
Distribución por Régimen Fiscal
Ver clientes
clientes
PF Actividad Emp.
40%
RESICO
30%
Persona Moral
20%
Otros
10%
Top 3 Clientes por Facturación
Ver ranking
Cargando…