:root{--bg: #f5f6f8;--panel: #ffffff;--sidebar: #1f2a44;--sidebar-texto: #cbd3e1;--texto: #1f2a2e;--suave: #6b7280;--borde: #e2e4ea;--acento: #f97316;--acento-fuerte: #c2560c;--acento-bg: #fde9d8;--navy: #1f2a44;--error: #b42318;--error-bg: #fef3f2;--exito: #1a7a4c;--exito-bg: #e7f6ee;--azul-bg: #e9f0f5;--sombra: 0 10px 30px rgba(31, 42, 68, .06)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--texto);font-size:15px}h1{font-size:26px;line-height:1.2;font-weight:700;letter-spacing:-.02em;margin:0 0 5px}h2{font-size:18px;font-weight:700;margin:0 0 8px}h3,strong{font-weight:700}.sub{color:var(--suave);margin:0 0 20px}a{color:var(--acento-fuerte);text-decoration:none}a:hover{text-decoration:underline}button{background:var(--navy);color:#fff;border:none;border-radius:8px;padding:9px 16px;font-size:14px;cursor:pointer}button:hover{filter:brightness(1.12);transform:translateY(-1px)}button:disabled{opacity:.6;cursor:default}button.ligero{background:transparent;color:var(--error);padding:4px 8px}button.ligero:hover{text-decoration:underline}input,select{border:1px solid var(--borde);border-radius:8px;padding:9px 11px;font-size:14px;background:var(--panel);width:100%}input:focus,select:focus{outline:2px solid var(--acento-bg);border-color:var(--acento)}label{display:block;font-size:13px;color:var(--suave);margin:10px 0 4px}.centro{min-height:100vh;display:grid;place-items:center;padding:20px}.tarjeta{background:var(--panel);border:1px solid var(--borde);border-radius:12px;padding:18px 20px;margin-bottom:16px;box-shadow:var(--sombra)}.login{width:340px}.login h1{margin-bottom:2px;font-size:21px}.login button{width:100%;margin-top:16px}.error{background:var(--error-bg);color:var(--error);border-radius:8px;padding:9px 12px;font-size:14px;margin:8px 0}.aviso{background:var(--acento-bg);color:var(--acento-fuerte);border-radius:8px;padding:9px 12px;font-size:14px;margin:8px 0}.exito{background:var(--exito-bg);color:var(--exito);border-radius:8px;padding:9px 12px;font-size:14px;margin:8px 0}.app{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:var(--sidebar);color:var(--sidebar-texto);border-right:1px solid #172038;padding:24px 16px 16px;display:flex;flex-direction:column}.marca{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;padding:0 8px 22px;color:#fff}.marca>span:last-child{display:grid;line-height:1.05}.marca small{color:#8b96b3;font-size:11px;margin-top:3px}.marca-icono{display:grid;place-items:center;width:36px;height:36px;flex:0 0 auto;border-radius:10px;background:var(--acento);color:#fff;font-weight:800}.sidebar nav{display:flex;flex-direction:column;gap:3px;flex:1}.nav-bloque{display:contents}.nav-grupo{color:#8b96b3;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;padding:15px 12px 5px}.sidebar nav a{display:flex;align-items:center;gap:11px;min-height:43px;color:var(--sidebar-texto);padding:9px 11px;border:1px solid transparent;border-left-width:4px;border-radius:10px}.sidebar nav a svg{width:19px;height:19px;flex:0 0 auto}.sidebar nav a:hover{background:#ffffff0f;text-decoration:none}.sidebar nav a.activo{background:#f9731624;border-color:#f973164d;border-left-color:var(--acento);color:#fff}.usuario{border-top:1px solid rgba(255,255,255,.1);padding:14px 5px 0;display:flex;align-items:center;gap:9px;font-size:13px;color:#fff}.avatar{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;border-radius:50%;background:var(--acento);color:#fff;font-weight:800}.usuario-datos{display:grid;min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.usuario-datos small{color:#8b96b3;font-size:11px}.usuario button.salir{display:grid;place-items:center;width:32px;height:32px;padding:0;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.15)}.usuario button.salir svg{width:16px;height:16px}.cabecera-movil,.barra-movil,.menu-movil,.fondo-menu-movil,.aviso-sin-conexion{display:none}.contenido{width:100%;max-width:1460px;padding:34px 42px 48px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tabla{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--borde);border-radius:12px;overflow:hidden}.tabla th,.tabla td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--borde);font-size:14px}.tabla th{color:var(--suave);font-weight:700;font-size:12px;letter-spacing:.015em}.tabla tr:last-child td{border-bottom:none}.der{text-align:right}button.secundario{background:transparent;color:var(--acento-fuerte);border:1px solid var(--borde)}button.secundario:hover{background:var(--bg);filter:none}button.chico{padding:6px 12px;font-size:13px;margin-top:10px}.badge{display:inline-block;background:var(--bg);color:var(--suave);border:1px solid var(--borde);border-radius:999px;padding:2px 9px;font-size:12px;font-weight:700;margin-left:8px;text-transform:capitalize}.badge.alerta{color:var(--error);background:var(--error-bg);border-color:#efc1bc}.badge.ok{color:var(--exito);background:var(--exito-bg);border-color:#bdd8c8}.fila-form-auto{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.fila-form-auto input,.fila-form-auto select{flex:1;min-width:130px;width:auto}.fila-form-auto button{flex:0 0 auto}.acciones-card{display:flex;gap:6px;align-items:center;justify-content:flex-end}button.mini{padding:3px 9px;font-size:12px;background:var(--acento-bg);color:var(--acento-fuerte);border:none;border-radius:999px}button.mini:hover{filter:brightness(.97)}.gastos-filtros{display:grid;grid-template-columns:minmax(240px,1.25fr) auto auto minmax(185px,.55fr) auto;align-items:center;gap:12px;padding-top:12px;padding-bottom:12px}.gastos-filtros .gastos-buscador{max-width:430px}.gastos-filtros label{display:flex;align-items:center;gap:7px;margin:0;white-space:nowrap}.gastos-filtros label input{width:176px}.gastos-filtros select{min-width:185px}.monto-con-total{min-width:145px}.monto-con-total span,.monto-con-total strong,.monto-con-total small{display:block;text-align:right}.monto-con-total span{color:var(--suave);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.monto-con-total strong{color:var(--exito);font-size:15px;line-height:1.25;margin:2px 0 4px;white-space:nowrap;font-variant-numeric:tabular-nums}.monto-con-total small{color:var(--suave);font-size:12px;font-weight:700}.ventas-totales-filtrados{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:0;padding:0;overflow:hidden}.ventas-totales-filtrados>div{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 22px}.ventas-totales-filtrados>div+div{border-left:1px solid var(--borde)}.ventas-totales-filtrados span{color:var(--suave);font-size:13px;font-weight:700}.ventas-totales-filtrados strong{color:var(--exito);font-size:20px;white-space:nowrap;font-variant-numeric:tabular-nums}.gastos-total-filtrado{grid-template-columns:1fr}.selector-descripcion-gasto{min-width:175px}.selector-gasto-frecuente{min-width:245px}.gasto-descripcion span{display:block}.gasto-descripcion small{display:block;max-width:360px;margin-top:3px;color:var(--suave);font-size:11px;line-height:1.3;font-weight:500;white-space:normal;text-transform:none}.reportes-historial-cabecera{display:flex;justify-content:space-between;align-items:center;gap:20px}.reportes-historial-cabecera .sub{margin-bottom:0}.ultimo-reporte{min-width:220px;border-radius:10px;padding:10px 14px;background:var(--exito-bg);border:1px solid #bdd8c8;text-align:right}.ultimo-reporte span,.ultimo-reporte small{display:block;color:var(--suave);font-size:11px}.ultimo-reporte span{font-weight:800;text-transform:uppercase;letter-spacing:.04em}.ultimo-reporte strong{display:block;color:var(--exito);font-size:17px;margin:2px 0}.reportes-guardados-titulo{margin:22px 0 8px;font-size:15px}.historial-vacio{margin-top:12px;padding:16px;border:1px dashed var(--borde);border-radius:9px;color:var(--suave);text-align:center;font-size:13px;background:var(--bg)}.reportes-generar h2,.calculadora-margenes h2{margin-bottom:4px}.reportes-generar>.fila-form-auto{padding:0;margin-top:14px}.reportes-generar label,.margenes-filtros label{display:grid;gap:5px;margin:0;color:var(--suave);font-size:12px;font-weight:700}.reportes-generar label input,.margenes-filtros label input{min-width:165px}.margenes-filtros{display:grid;grid-template-columns:repeat(2,minmax(165px,1fr)) auto auto;gap:14px;align-items:end;padding:13px 16px;margin:14px 0;border-radius:10px;background:var(--exito-bg)}.margenes-resumen{max-width:900px;margin:0 auto}.margen-ingresos{padding:9px 10px;border-top:1px solid #bdd8c8;color:var(--exito);font-weight:800}.margen-inventario{margin-top:7px;padding:10px 12px;border-radius:8px;background:#edf8f2;color:#126b47;font-weight:800}.margen-final{margin-top:7px;padding:11px 12px;border-radius:8px;background:#ccefd8;color:#0d6542;font-size:18px;font-weight:800}.margenes-ratios{display:grid;grid-template-columns:1fr 1fr;margin-top:9px;border-radius:9px;overflow:hidden;background:#edf8f2}.margenes-ratios>div{padding:10px 16px}.margenes-ratios>div+div{border-left:1px solid #bdd8c8}.margenes-ratios span,.margenes-ratios strong{display:block}.margenes-ratios span{color:var(--suave);font-size:12px;font-weight:800}.margenes-ratios strong{margin-top:3px;color:#0d6542;font-size:23px}.margenes-formulas{display:flex;flex-wrap:wrap;gap:5px 18px;margin-top:9px;color:var(--suave);font-size:11px}.margenes-vacio{padding:18px;border:1px dashed var(--borde);border-radius:9px;text-align:center;background:var(--bg)}.titulo-accion{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.acciones{display:flex;gap:10px}.transferencia-flecha{display:flex;align-items:center;min-height:42px;padding:0 12px;border-radius:9px;background:#e8f5e9;color:#176b3a;font-weight:700;white-space:nowrap}.obs-icono{cursor:help;opacity:.75;font-size:13px}.obs-icono:hover{opacity:1}.encabezado-reporte{font-size:17px;font-weight:700;color:var(--acento-fuerte);margin:0 0 4px}.fila-total.volumen{align-items:baseline}.fila-total.volumen span:last-child{font-size:19px;font-weight:700;color:var(--texto)}.fila-total.verde{background:#eaf6ee;color:#2f6b45;padding:8px 10px;border-radius:8px}.fila-total.verde span{color:#2f6b45}.fila-total.verde span:last-child{font-weight:500}.fila-total.rojo{background:#fbeaea;color:#a33c3c;padding:8px 10px;border-radius:8px}.fila-total.rojo span{color:#a33c3c}.fila-total.rojo span:last-child{font-weight:500}.reporte-rubro{margin-left:0;white-space:nowrap;font-size:10px}.resumen-reporte-doble{display:grid;grid-template-columns:minmax(280px,1fr) minmax(360px,1fr);align-items:end;gap:32px;margin-top:24px}.resumen-gastos-rubro{max-width:520px;padding:14px 16px;border:1px solid var(--borde);border-radius:10px;background:var(--bg)}.resumen-gastos-rubro h3{margin:0 0 9px;font-size:14px;color:var(--texto)}.resumen-gastos-rubro .fila-total{border-bottom:1px solid var(--borde);font-size:13px;padding:5px 0}.resumen-gastos-rubro .total-rubros{border:0;border-top:2px solid #b42318;margin-top:6px;padding-top:9px;color:#a33c3c;font-weight:800}.totales.totales-reporte{max-width:none;width:100%;margin:0}.ciclo-anual{margin-top:24px}.ciclo-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.ciclo-kpis>div{padding:11px 12px;border-radius:9px;background:var(--bg);border:1px solid var(--borde)}.ciclo-kpis span,.ciclo-kpis strong{display:block}.ciclo-kpis span{color:var(--suave);font-size:11px;font-weight:700}.ciclo-kpis strong{margin-top:4px;font-size:17px}.metricas{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:20px 0 28px}.metrica{background:var(--panel);border:1px solid var(--borde);border-top:3px solid var(--acento);border-radius:12px;padding:15px 17px;box-shadow:var(--sombra)}.metrica span{display:block;color:var(--suave);font-size:12.5px;font-weight:700}.metrica strong{display:block;font-size:24px;line-height:1.15;margin:7px 0 2px;font-variant-numeric:tabular-nums}.metrica small{color:var(--suave);font-size:12px}.metricas.ventas-resumen-metricas{grid-template-columns:minmax(0,1.45fr) minmax(310px,.9fr)}.ventas-mes-semanas{grid-column:auto}.ventas-semanas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:8px;margin-top:10px}.venta-semana{min-width:0;padding:8px 10px;border:1px solid var(--borde);border-radius:8px;background:var(--bg)}.venta-semana small,.venta-semana b{display:block}.venta-semana small{font-size:10.5px;white-space:nowrap}.venta-semana strong{font-size:clamp(16px,1.3vw,20px);margin:4px 0 1px;white-space:nowrap}.venta-semana b{color:var(--exito);font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.ventas-semanales-grafico{padding:13px 15px;min-width:0}.grafico-ventas-semanales{width:100%;height:142px;margin-top:3px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.totales{margin-top:12px;max-width:420px;margin-left:auto}.fila-total{display:flex;justify-content:space-between;padding:4px 0;font-variant-numeric:tabular-nums}.fila-total.suave{color:var(--suave)}.fila-total.grande{border-top:2px solid var(--borde);margin-top:6px;padding-top:10px;font-weight:700;font-size:18px;color:var(--acento-fuerte)}.dosif-controles{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px}.dosif-controles label{margin-top:0}.dosif-resultados{display:grid;grid-template-columns:repeat(3,minmax(190px,1fr));gap:12px}.dosif-resultados article{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--borde);border-left:4px solid var(--acento);border-radius:10px;overflow:hidden;background:#fffaf6}.dosif-mitad{min-width:0;padding:15px 14px;display:flex;flex-direction:column;justify-content:center}.dosif-mitad.conversion{background:#e7f6ee;border-left:1px solid #c8e5d4}.dosif-resultados span,.dosif-resultados small{display:block;color:var(--suave);line-height:1.25}.dosif-resultados span{min-height:30px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.025em}.dosif-resultados small{min-height:20px;font-size:12px}.dosif-resultados strong{display:block;font-size:clamp(17px,1.35vw,22px);line-height:1.12;margin:5px 0 7px;font-variant-numeric:tabular-nums;white-space:nowrap}.dosif-resultados strong em{font-size:.64em;font-style:normal;font-weight:700;color:var(--suave)}.dosif-mitad.conversion strong{color:var(--exito)}.dosif-mitad.conversion strong em{color:#43805e}.dosif-resumen{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:14px;padding:12px 14px;border-radius:9px;background:var(--azul-bg)}.tabla-scroll{overflow-x:auto}.dosif-tabla{min-width:980px}.dosif-tabla tbody tr{cursor:pointer}.dosif-tabla tbody tr:hover,.dosif-tabla tbody tr.seleccionada{background:var(--acento-bg)}.dosif-tabla td:not(:first-child),.dosif-tabla th:not(:first-child){text-align:right}.costo-maestro-editor{display:flex;align-items:center;justify-content:flex-end;gap:6px;white-space:nowrap}.costo-maestro-editor>span{font-weight:700}.costo-maestro-editor input{width:105px;text-align:right;font-weight:700;padding:7px 8px}.costo-maestro-editor button{white-space:nowrap}.costos-dosif td small{display:block;margin-top:2px;color:var(--suave);font-size:11px}.costos-dosif .costo-total td{background:var(--acento);color:#fff;font-size:16px;font-weight:800;border-bottom:none}.costos-dosif .costo-margen td{background:#16815b;color:#fff;font-size:16px;font-weight:800;border-bottom:none}.nota-costo{color:var(--suave);font-size:12px;margin:10px 0 0}.costos-editables th:nth-child(2),.costos-editables th:nth-child(3){width:22%}.costos-editables th:nth-child(4){width:18%}.costos-editables td{vertical-align:middle}.campo-compra{display:flex;align-items:center;gap:7px}.campo-compra input{width:135px;text-align:right;font-weight:750}.campo-compra span{color:var(--suave);font-size:13px;white-space:nowrap}.campo-compra.dinero span{font-weight:750;color:var(--texto)}.costos-editables td small{margin-top:5px}.costo-adicional>td:first-child>input{width:100%;font-weight:750}.campo-compra .unidad-editable{width:62px;text-align:left}.eliminar-costo{display:block;margin:5px 0 0 auto;padding:0;border:0;background:transparent;color:#c6281b;font-size:12px}.agregar-costo td{padding:9px 16px}.boton-mas{display:inline-flex;align-items:center;gap:8px;border:1px dashed var(--acento);background:#fff8f2;color:#c94f00;padding:8px 13px}.boton-mas span{font-size:20px;line-height:1;font-weight:800}@media(max-width:1100px){.app{grid-template-columns:214px minmax(0,1fr)}.contenido{padding:30px 28px 42px}.grid2,.grid3{grid-template-columns:1fr}.dosif-controles,.dosif-resultados{grid-template-columns:repeat(2,minmax(0,1fr))}.gastos-filtros{grid-template-columns:minmax(220px,1fr) auto auto}.gastos-filtros .gastos-buscador{max-width:none}.metricas.ventas-resumen-metricas{grid-template-columns:minmax(0,1.35fr) minmax(245px,1fr)}}@media(max-width:760px){.app{display:block}body{font-size:14px;padding-bottom:calc(68px + env(safe-area-inset-bottom))}h1{font-size:23px}.sidebar{display:none}.cabecera-movil{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;height:62px;padding:8px 14px;background:var(--navy);box-shadow:0 3px 16px #141e372e}.cabecera-movil .marca{padding:0;font-size:15px}.cabecera-movil .marca-icono{width:34px;height:34px}.boton-menu{background:transparent;border:1px solid rgba(255,255,255,.2);font-size:22px;padding:4px 10px}.contenido{padding:20px 14px 24px}.tarjeta{padding:15px 14px;border-radius:11px}.tabla-scroll{margin-left:-14px;margin-right:-14px;padding:0 14px}.metricas,.metricas.ventas-resumen-metricas{grid-template-columns:1fr}.ventas-mes-semanas{grid-column:span 1}.ventas-semanas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dosif-controles,.dosif-resultados,.gastos-filtros{grid-template-columns:1fr}.gastos-filtros label{display:grid;grid-template-columns:48px 1fr}.gastos-filtros label input,.gastos-filtros select{width:100%;min-width:0}.ventas-totales-filtrados{grid-template-columns:1fr}.ventas-totales-filtrados>div+div{border-left:0;border-top:1px solid var(--borde)}.reportes-historial-cabecera{align-items:stretch;flex-direction:column}.resumen-reporte-doble{grid-template-columns:1fr;gap:18px}.ciclo-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ultimo-reporte{text-align:left;min-width:0}.titulo-accion{flex-direction:column}.acciones{width:100%;flex-wrap:wrap}.acciones button{flex:1}.barra-movil{position:fixed;left:0;right:0;bottom:0;z-index:35;display:grid;grid-template-columns:repeat(5,1fr);padding:5px 4px calc(5px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--borde);box-shadow:0 -5px 20px #1f2a441a}.barra-movil a,.barra-movil button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;height:54px;padding:4px 2px;border-radius:8px;background:transparent;color:#667085;font-size:10px;font-weight:700}.barra-movil a:hover{text-decoration:none}.barra-movil a.activo{color:var(--acento);background:var(--acento-bg)}.barra-movil svg{width:21px;height:21px}.puntos-menu{font-size:20px;line-height:17px;letter-spacing:1px}.fondo-menu-movil{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:39;width:100%;height:100%;padding:0;border-radius:0;background:#0f172a80}.menu-movil{display:flex;position:fixed;z-index:40;top:0;right:0;bottom:0;width:min(88vw,360px);flex-direction:column;background:var(--navy);color:#fff;padding:16px 12px calc(18px + env(safe-area-inset-bottom));box-shadow:-10px 0 30px #0f172a40;overflow-y:auto}.menu-movil-cabecera{display:flex;justify-content:space-between;align-items:flex-start;padding:4px 6px 12px;border-bottom:1px solid rgba(255,255,255,.12)}.menu-movil-cabecera div{display:grid}.menu-movil-cabecera small{color:#9ca7c0;margin-top:3px;max-width:240px;overflow:hidden;text-overflow:ellipsis}.menu-movil-cabecera button{font-size:25px;line-height:1;padding:2px 9px;background:transparent}.nav-completa-movil{display:flex;flex-direction:column;gap:2px;margin-top:8px}.nav-completa-movil .nav-grupo{display:block}.nav-completa-movil a{display:flex;align-items:center;gap:11px;min-height:44px;padding:9px 11px;border-radius:9px;color:var(--sidebar-texto)}.nav-completa-movil a svg{width:19px;height:19px}.nav-completa-movil a.activo{color:#fff;background:#f973162e}.nav-completa-movil a:hover{text-decoration:none}.instalar-app{margin:12px 4px 4px;background:var(--acento);font-weight:750}.cerrar-sesion-movil{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;background:#ffffff14;border:1px solid rgba(255,255,255,.15)}.cerrar-sesion-movil svg{width:18px;height:18px}.aviso-sin-conexion{display:block;position:sticky;top:62px;z-index:29;background:#fff3cd;color:#7a5b00;padding:8px 14px;text-align:center;font-size:12px}.tabla th,.tabla td{padding:9px 10px;font-size:12px}.fila-form-auto input,.fila-form-auto select,.fila-form-auto button{min-width:100%;width:100%}.contenido>div{min-width:0;max-width:100%}.tabla:not(.dosif-tabla){display:block;max-width:100%;overflow-x:auto;white-space:nowrap}.costos-editables{min-width:720px}.campo-compra input{width:115px}}.af-encabezado{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.af-encabezado h1{margin-bottom:4px}.af-filtros{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.af-filtros label{display:flex;flex-direction:column;gap:5px;color:#667085;font-size:.82rem;min-width:155px}.af-filtros input,.af-filtros select{min-width:155px}.af-periodo{color:#667085;font-size:.86rem;margin:12px 0}.af-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:20px}.af-kpis .metrica small{display:block;color:#667085;margin-top:7px}.af-resumen-grid,.af-tablas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:20px}.af-resumen-grid .tarjeta,.af-tablas .tarjeta{margin:0}.af-comparacion>div,.af-caja>div{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #e5e7eb}.af-caja>div{grid-template-columns:1fr auto}.af-comparacion>div:last-child,.af-caja>div:last-child{border:0}.af-positiva{color:#16815b!important}.af-negativa{color:#b42318!important}.af-sin-base{color:#98a2b3;font-size:.8rem}.af-tipos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.af-tipos>div{background:#edf8f2;border-radius:10px;padding:14px}.af-tipos span,.af-tipos small{display:block;color:#667085;text-transform:capitalize}.af-tipos strong{display:block;color:#16815b;font-size:1.18rem;margin:5px 0}.af-recomendaciones{border-left:5px solid #16815b}.af-recomendaciones li{margin:8px 0;line-height:1.45}.af-nota{font-size:.8rem;color:#667085;line-height:1.5}.af-etiqueta-tipo{display:inline-block;padding:3px 8px;border-radius:999px;font-size:.7rem;font-weight:750;white-space:nowrap}.af-fijo{background:#e8f0fe;color:#2457a7}.af-variable{background:#edf8f2;color:#16815b}.af-no-recurrente{background:#fff0e5;color:#c44f00}.af-mixto{background:#f0eafb;color:#6e3aa8}.af-no-recurrentes{border-top:4px solid #f97316}.af-actualizacion{display:flex;align-items:center;gap:6px;color:#667085;font-size:.78rem;margin:6px 0 0}.af-en-vivo{width:8px;height:8px;border-radius:50%;background:#16a36a;box-shadow:0 0 0 3px #d9f4e8}.af-disponible{background:#e9f7f0!important;border-top-color:#16815b!important}.af-disponible strong{color:#16815b}.af-reparto{display:grid;grid-template-columns:1fr auto 1fr auto 1.15fr;gap:14px;align-items:center;background:#1f2a44;color:#fff;border-radius:12px;padding:16px 18px;margin:-2px 0 10px}.af-reparto div{padding:3px 8px}.af-reparto span{display:block;color:#cbd5e1;font-size:.78rem}.af-reparto b{display:block;margin-top:5px;font-size:1.12rem}.af-reparto>strong{font-size:1.3rem}.af-reparto-resultado{background:#e9f7f0;border-radius:9px}.af-reparto-resultado span{color:#49685a}.af-explicacion-reparto{margin:0 0 20px;padding:10px 14px;background:#edf8f2;border-left:4px solid #16815b;border-radius:5px;color:#39584a;font-size:.84rem;line-height:1.5}.af-glosario{margin-top:20px;border-top:4px solid #1f2a44}.af-glosario dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:10px 0 0}.af-glosario dl>div{padding:12px 0;border-bottom:1px solid var(--borde)}.af-glosario dt{font-weight:800;color:var(--texto)}.af-glosario dd{margin:4px 0 0;color:var(--suave);font-size:.83rem;line-height:1.45}.resumen-inventario{margin:18px 0}.tarjeta-interna{border:1px solid #cfe5d9;border-radius:12px;padding:16px;background:#f8fcfa}.inventario-encabezado{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.inventario-encabezado h2,.inventario-encabezado h3{margin:0 0 4px}.inventario-encabezado p{margin:0;color:var(--suave);font-size:.82rem}.inventario-encabezado>strong{color:#16815b;font-size:1.15rem;white-space:nowrap}.inventario-costo{display:block;color:var(--suave);font-size:.7rem;margin-top:2px}.inventario-totales,.af-inventario-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.inventario-totales span,.af-inventario-kpis>div{background:#edf8f2;border-radius:8px;padding:10px;color:var(--suave)}.inventario-totales b,.af-inventario-kpis b{display:block;color:var(--texto);margin-top:4px}.inventario-totales .positivo{color:#16815b}.inventario-totales .negativo{color:#b42318}.af-inventario{border-top:4px solid #16815b}.af-inventario-kpis{grid-template-columns:repeat(4,1fr);margin:14px 0}.af-inventario-kpis span{display:block;color:var(--suave);font-size:.78rem}.af-inventario-kpis b{font-size:1.08rem}.inventario-totales{grid-template-columns:repeat(4,1fr)}.inventario-materiales-resumen{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.inventario-materiales-resumen article{background:#f1f7f4;border-radius:10px;padding:13px}.inventario-materiales-resumen span{display:block;color:var(--suave);font-size:.76rem;font-weight:700}.inventario-materiales-resumen strong{display:block;margin-top:7px;font-size:1.03rem}.inventario-materiales-resumen b{display:block;margin-top:3px;color:#16815b;font-size:.82rem}.inventario-movimiento{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:12px;padding:11px 13px;background:#edf8f2;border-radius:8px;color:var(--suave);font-size:.82rem}.inventario-movimiento b{color:var(--texto)}.inventario-detalle{margin-top:10px}.inventario-detalle summary{color:#16815b;font-size:.8rem;font-weight:750;cursor:pointer}.inventario-detalle[open] summary{margin-bottom:10px}.cemento-filtros{display:grid;grid-template-columns:minmax(190px,1.25fr) auto auto minmax(185px,.65fr) auto;align-items:center;gap:12px;padding-top:12px;padding-bottom:12px}.cemento-filtros .cemento-buscador{background:#f1f7f4;color:#16815b;font-weight:750}.cemento-filtros label{display:flex;align-items:center;gap:7px;margin:0;white-space:nowrap;font-size:.82rem;color:var(--suave)}.cemento-filtros label input{width:176px}.cemento-filtros select{min-width:185px}.cemento-totales-filtrados{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:0;padding:0;overflow:hidden}.cemento-totales-filtrados>div{padding:13px 18px;border-top:3px solid var(--acento)}.cemento-totales-filtrados>div+div{border-left:1px solid var(--borde)}.cemento-totales-filtrados span{display:block;color:var(--suave);font-size:.75rem}.cemento-totales-filtrados strong{display:block;margin-top:5px;color:#16815b;font-size:1.05rem;font-variant-numeric:tabular-nums;white-space:nowrap}.venta-termos-detalle{display:block;margin-top:3px;color:var(--suave);font-size:.68rem;white-space:normal;line-height:1.3}.ayuda-instalacion{margin:10px 4px 2px;padding:9px 10px;border-radius:8px;background:#ffffff14;color:#cbd3e1;font-size:11px;line-height:1.4}.capital-trabajo{border-top:4px solid #16815b}.capital-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.capital-kpis article{background:#f5f7fa;border:1px solid #e2e6ec;border-radius:12px;padding:16px}.capital-kpis article.principal{background:#e9f7f0;border-color:#b9e3cf}.capital-kpis span,.capital-kpis small{display:block;color:var(--suave)}.capital-kpis strong{display:block;color:var(--texto);font-size:1.45rem;margin:7px 0}.capital-kpis .principal strong{color:#16815b}.capital-desglose{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--borde);border:1px solid var(--borde);border-radius:9px;overflow:hidden}.capital-desglose div{display:flex;justify-content:space-between;gap:12px;background:#fff;padding:11px 14px}.capital-desglose span{color:var(--suave)}@media(max-width:800px){.capital-kpis,.capital-desglose{grid-template-columns:1fr}}@media(max-width:1000px){.af-kpis,.af-inventario-kpis{grid-template-columns:repeat(2,1fr)}.cemento-filtros{grid-template-columns:1fr auto auto}.cemento-filtros .cemento-buscador{grid-column:1/-1}.cemento-totales-filtrados,.inventario-materiales-resumen{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.af-encabezado,.inventario-encabezado{display:block}.af-encabezado button{margin-top:12px}.inventario-encabezado>strong{display:block;margin-top:10px}.af-kpis,.af-resumen-grid,.af-tablas,.af-tipos,.af-inventario-kpis,.inventario-totales,.inventario-materiales-resumen,.af-glosario dl{grid-template-columns:1fr}.af-reparto{grid-template-columns:1fr;text-align:center}.af-reparto>strong{transform:rotate(90deg)}.af-filtros>*{width:100%}.af-filtros input,.af-filtros select{width:100%}.cemento-filtros{grid-template-columns:1fr}.cemento-filtros .cemento-buscador{grid-column:auto}.cemento-filtros label{display:grid;grid-template-columns:48px 1fr}.cemento-filtros label input,.cemento-filtros select{width:100%;min-width:0}.cemento-totales-filtrados{grid-template-columns:1fr}.cemento-totales-filtrados>div+div{border-left:0;border-top:1px solid var(--borde)}.inventario-movimiento{display:grid}}@media(max-width:720px){.margenes-filtros{grid-template-columns:1fr}.margenes-filtros>*{width:100%}.margenes-filtros label input{width:100%;min-width:0}.margenes-ratios strong{font-size:20px}.margenes-formulas{display:grid}.resumen-reporte-doble{grid-template-columns:1fr}}.cargando-seccion{min-height:45vh;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--suave);font-weight:700}.cargando-seccion span{width:20px;height:20px;border:3px solid #d8dde8;border-top-color:#f97316;border-radius:50%;animation:giro .7s linear infinite}@keyframes giro{to{transform:rotate(360deg)}}.error-seccion{max-width:560px;margin:50px auto;padding:24px;border:1px solid #f3c4bf;border-radius:12px;background:#fff4f2}.error-seccion h2{margin-top:0}.error-seccion p{color:var(--suave)}.error-seccion details{margin-top:16px;color:var(--suave);font-size:.78rem}.error-seccion code{display:block;margin-top:6px;overflow-wrap:anywhere}.mostrar-mas{display:flex;align-items:center;justify-content:center;gap:16px;padding:14px;color:var(--suave);font-size:.85rem}.inventario-gastos-compacto{margin:-10px 0 20px;padding:14px 18px;border:1px solid #cfe5d9;border-radius:12px;background:#f8fcfa}.inventario-gastos-cabecera{display:flex;align-items:center;justify-content:space-between;gap:16px}.inventario-gastos-cabecera h2{font-size:1rem;margin:0 0 2px}.inventario-gastos-cabecera small{color:var(--suave)}.inventario-gastos-cabecera>strong{color:#16815b;font-size:1.15rem;white-space:nowrap}.inventario-gastos-materiales{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.inventario-gastos-materiales>div{padding:8px 10px;border-radius:8px;background:#edf8f2}.inventario-gastos-materiales span,.inventario-gastos-materiales small{display:block;color:var(--suave);font-size:.72rem}.inventario-gastos-materiales b{display:block;margin:2px 0;font-size:.9rem}.inventario-gastos-materiales small{color:#16815b;font-weight:700}@media(max-width:700px){.inventario-gastos-materiales{grid-template-columns:repeat(2,1fr)}.inventario-gastos-cabecera{align-items:flex-start}.inventario-gastos-cabecera>strong{font-size:1rem}}.ajuste-inventario{margin-top:10px}.ajuste-inventario summary{cursor:pointer;color:#16815b;font-size:.78rem;font-weight:700}.ajuste-inventario form{display:grid;grid-template-columns:140px 150px 150px 1fr auto;gap:8px;margin:10px 0 5px}.ajuste-inventario input,.ajuste-inventario select,.ajuste-inventario button{min-width:0}.ajuste-inventario>small{color:var(--suave)}@media(max-width:900px){.ajuste-inventario form{grid-template-columns:1fr 1fr}.ajuste-inventario form input:nth-of-type(3),.ajuste-inventario form button{grid-column:1/-1}}.grafico-ventas-css{height:155px;display:flex;align-items:flex-end;justify-content:space-around;gap:10px;padding:12px 8px 0;border-bottom:1px solid #dfe3ea}.barra-semana{height:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px}.barra-semana>div{width:100%;height:125px;display:flex;align-items:flex-end;justify-content:center}.barra-semana i{display:block;width:min(38px,70%);background:#f97316;border-radius:5px 5px 0 0;min-height:0;transition:height .2s}.barra-semana small{font-weight:700;color:var(--suave)}
