:root{--papel: #f2f6fa;--papel-alto: #ffffff;--tinta: #15233a;--tinta-sub: #647085;--tinta-tenue: #97a3b5;--linea: #e1e7ee;--linea-fuerte: #c9d3e0;--marca: #009fe3;--marca-osc: #1a365d;--marca-suave: #e1f2fb;--marca-texto: #eaf4fc;--rust: #f28c30;--rust-osc: #c96a18;--oro: #b8791f;--oro-cl: #fdf1de;--salvia: #2e7d55;--salvia-cl: #e1f5ea;--ladrillo: #dc4c4c;--ladrillo-cl: #fceaea;--violeta: #7c5cbf;--violeta-cl: #f1ecfa;--radio: 12px;--radio-chico: 8px;--sombra: 0 1px 2px rgba(33, 29, 25, .05), 0 10px 30px -14px rgba(33, 29, 25, .28);--sombra-chica: 0 1px 3px rgba(33, 29, 25, .08);--f-display: "Fraunces", "Iowan Old Style", serif;--f-cuerpo: "Public Sans", system-ui, -apple-system, sans-serif;--f-mono: "IBM Plex Mono", "Consolas", monospace;--ease: cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}::selection{background:var(--marca);color:var(--marca-texto)}body{margin:0;font-family:var(--f-cuerpo);color:var(--tinta);background:var(--papel);font-size:14px;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--f-display);color:var(--tinta);letter-spacing:-.01em}h1{font-size:30px;font-weight:600;margin:0 0 20px}h2{font-size:20px;font-weight:500;font-style:italic;margin:30px 0 14px;color:var(--marca-osc)}h3{font-size:15px;font-weight:700;font-style:normal;font-family:var(--f-cuerpo);margin:0 0 10px;letter-spacing:0}a{color:var(--marca);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--rust);outline-offset:2px;border-radius:4px}@keyframes entrar{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.contenido>*{animation:entrar .5s var(--ease) both}@keyframes crecerBarra{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.btn,.btn-sec{border:0;border-radius:999px;padding:10px 20px;font-size:13.5px;font-family:var(--f-cuerpo);cursor:pointer;font-weight:700;letter-spacing:.01em;transition:background .18s var(--ease),transform .12s var(--ease),box-shadow .18s var(--ease)}.btn{background:var(--marca);color:var(--marca-texto);box-shadow:var(--sombra-chica)}.btn:hover{background:var(--marca-osc);transform:translateY(-1px);box-shadow:var(--sombra)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.55;cursor:default;transform:none;box-shadow:none}.btn.exito{background:var(--salvia)}.btn.exito:hover{background:#235f41}.btn-sec{background:var(--papel-alto);color:var(--tinta);border:1px solid var(--linea-fuerte)}.btn-sec:hover{background:var(--marca-suave);border-color:var(--marca);transform:translateY(-1px)}.btn-sec:disabled{opacity:.5;cursor:default;transform:none}.btn-link{background:none;border:0;color:var(--marca);cursor:pointer;padding:0;font-size:13px;font-weight:700;background-image:linear-gradient(var(--marca),var(--marca));background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;transition:background-size .2s var(--ease)}.btn-link:hover{background-size:100% 1px;text-decoration:none}.btn-link.peligro{color:var(--ladrillo);background-image:linear-gradient(var(--ladrillo),var(--ladrillo))}.login-pagina{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;background:var(--papel)}.login-panel{position:relative;overflow:hidden;background:var(--marca-osc);display:flex;flex-direction:column;justify-content:space-between;padding:48px;color:var(--marca-texto)}.login-panel:before{content:"";position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background:radial-gradient(circle at 20% 20%,rgba(234,244,252,.18),transparent 45%),radial-gradient(circle at 80% 70%,rgba(242,140,48,.32),transparent 40%),radial-gradient(circle at 60% 15%,rgba(0,159,227,.35),transparent 40%);animation:derivar 18s ease-in-out infinite alternate}.login-panel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.35;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}@keyframes derivar{0%{transform:translate(0) rotate(0)}to{transform:translate(-4%,3%) rotate(6deg)}}.login-marca,.login-pie{position:relative;z-index:1}.login-marca{font-family:var(--f-display);font-size:22px;font-weight:600;display:flex;align-items:center;gap:12px}.login-tagline{position:relative;z-index:1;font-family:var(--f-display);font-style:italic;font-size:clamp(28px,3.4vw,40px);font-weight:500;line-height:1.25;max-width:480px}.login-pie{font-size:12.5px;color:#a9c3d9}.login-lado{display:flex;align-items:center;justify-content:center;padding:24px}.login-caja{background:var(--papel-alto);padding:44px 40px;border-radius:18px;box-shadow:var(--sombra);border:1px solid var(--linea);width:360px;display:flex;flex-direction:column;animation:entrar .6s var(--ease) both}.login-logo{height:44px;width:auto;align-self:flex-start;margin-bottom:14px}.login-caja h1{text-align:left;margin-bottom:4px;font-size:26px}.login-caja .sub{text-align:left;color:var(--tinta-sub);margin:0 0 26px;font-size:13.5px}.login-caja label{font-weight:700;margin:12px 0 5px;font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--tinta-sub)}.login-caja input{padding:11px 13px;border:1px solid var(--linea-fuerte);border-radius:var(--radio-chico);font-size:14px;font-family:var(--f-cuerpo);background:var(--papel);transition:border-color .15s,box-shadow .15s}.login-caja input:focus{border-color:var(--marca);box-shadow:0 0 0 3px var(--marca-suave);outline:none}.login-caja .btn{margin-top:22px}.app-shell{display:flex;min-height:100vh}.sidebar{width:246px;flex-shrink:0;background:var(--marca-osc);color:var(--marca-texto);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow:hidden}.sidebar:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.5;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.marca{position:relative;z-index:1;font-family:var(--f-display);font-style:italic;font-weight:600;font-size:19px;padding:22px 22px 16px;border-bottom:1px solid rgba(234,244,252,.16);display:flex;align-items:center;gap:12px}.marca:after{content:"·";color:var(--rust)}.marca-insignia{flex-shrink:0;width:34px;height:34px;border-radius:9px;background:#fff;display:flex;align-items:center;justify-content:center;padding:4px;box-shadow:0 1px 3px #0000004d}.marca-insignia img{width:100%;height:100%;object-fit:contain;display:block}.sidenav{position:relative;z-index:1;flex:1;padding:18px 14px;overflow-y:auto}.nav-grupo{margin-bottom:22px}.nav-titulo{font-size:10.5px;text-transform:uppercase;letter-spacing:.09em;color:#8ea9c4;font-weight:700;padding:0 12px 8px}.sidenav a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radio-chico);color:#cfe0ef;font-weight:600;margin-bottom:3px;position:relative;transition:background .16s var(--ease),color .16s var(--ease),padding-left .16s var(--ease)}.sidenav a:before{content:"";position:absolute;left:0;top:50%;width:3px;height:0;background:var(--rust);border-radius:2px;transform:translateY(-50%);transition:height .18s var(--ease)}.sidenav a:hover{background:#eaf4fc14;color:#fff;text-decoration:none;padding-left:15px}.sidenav a.active{background:#eaf4fc1f;color:#fff}.sidenav a.active:before{height:60%}.nav-icono{font-size:15px}.sidebar-pie{position:relative;z-index:1;border-top:1px solid rgba(234,244,252,.16);padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:10px}.usuario-info{font-size:13px;min-width:0}.usuario-nombre{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}.usuario-info em{color:var(--rust);font-style:normal;text-transform:capitalize;font-size:11.5px;font-weight:700;letter-spacing:.03em}.sidebar-pie .btn-sec{background:transparent;color:#cfe0ef;border-color:#eaf4fc47;padding:7px 14px;font-size:12.5px}.sidebar-pie .btn-sec:hover{background:#eaf4fc1f;color:#fff}.contenido{flex:1;max-width:1180px;margin:0 auto;padding:32px 28px;min-width:0}.cargando,.vacio{color:var(--tinta-sub);padding:30px;text-align:center}.filtros{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}.filtros input,.filtros select,.form-linea input,.form-linea select{padding:10px 13px;border:1px solid var(--linea-fuerte);border-radius:var(--radio-chico);font-size:14px;background:var(--papel-alto);font-family:var(--f-cuerpo);color:var(--tinta);transition:border-color .15s,box-shadow .15s}.filtros input:focus,.filtros select:focus,.form-linea input:focus,.form-linea select:focus{border-color:var(--marca);box-shadow:0 0 0 3px var(--marca-suave);outline:none}.filtros input:not([type=checkbox]){flex:1;min-width:200px}.check{display:flex;align-items:center;gap:6px;color:var(--tinta-sub)}.tabla-wrap{background:var(--papel-alto);border:1px solid var(--linea);border-radius:var(--radio);overflow:hidden;box-shadow:var(--sombra-chica)}.tabla{width:100%;border-collapse:collapse;background:var(--papel-alto)}.tabla th{text-align:left;padding:12px 16px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--tinta-sub);font-weight:700;border-bottom:1px solid var(--linea);background:#f7fafc}.tabla td{padding:13px 16px;border-bottom:1px solid var(--linea)}.tabla tbody tr{cursor:pointer;animation:entrar .4s var(--ease) both;animation-delay:calc(var(--i, 0) * 35ms);transition:background .12s}.tabla tbody tr:hover{background:#f5f9fc}.tabla tbody tr:last-child td{border-bottom:0}.tabla .der{text-align:right}.mono{font-variant-numeric:tabular-nums;font-family:var(--f-mono)}.prov{font-weight:700}.prov-nit{color:var(--tinta-sub);font-size:12px;font-family:var(--f-mono)}.sin{color:var(--oro);font-style:italic}.badge{display:inline-block;padding:4px 12px;border-radius:999px;font-size:11.5px;font-weight:700;letter-spacing:.02em}.badge.grande{padding:7px 18px;font-size:13.5px}.badge.tipo{background:var(--marca-suave);color:var(--marca-osc);font-family:var(--f-mono)}.e-nueva{background:#e5e9ef;color:#475569}.e-asignada{background:var(--marca-suave);color:var(--marca-osc)}.e-pendiente{background:var(--oro-cl);color:var(--oro)}.e-lista{background:var(--salvia-cl);color:var(--salvia)}.e-procesada{background:var(--salvia);color:#eef6ef}.e-aprobada{background:var(--marca);color:var(--marca-texto)}.e-contabilizada{background:var(--violeta-cl);color:var(--violeta)}.t-factura{background:var(--marca-suave);color:var(--marca-osc)}.t-equivalente{background:var(--oro-cl);color:var(--oro)}.filtro-fecha{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--tinta-sub)}.filtro-fecha input[type=date]{padding:8px 10px;border:1px solid var(--linea-fuerte);border-radius:var(--radio-chico);font-family:var(--f-cuerpo);font-size:13px;background:var(--papel-alto);color:var(--tinta)}.tabla .col-check{width:38px;padding-right:0;text-align:center}.tabla .col-check input{width:16px;height:16px;cursor:pointer;accent-color:var(--marca)}.tabla .col-check input:disabled{cursor:default;opacity:.35}.tabla tbody tr.marcada{background:var(--marca-suave)}.tabla tbody tr.marcada:hover{background:#d3ebf8}.marca-obs{margin-left:6px;cursor:help;font-size:12px}.barra-lote{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--marca-osc);color:var(--marca-texto);padding:12px 18px;border-radius:var(--radio);margin-bottom:14px;box-shadow:var(--sombra-chica);animation:entrar .3s var(--ease) both}.barra-lote select{padding:8px 10px;border-radius:var(--radio-chico);border:1px solid var(--linea-fuerte);background:var(--papel-alto);color:var(--tinta)}.barra-lote .ayuda{color:#cfe0ef}.barra-lote .btn-sec{background:transparent;color:#cfe0ef;border-color:#eaf4fc47}.barra-lote .btn-sec:hover{background:#eaf4fc1f;color:#fff}.lista-lote{margin:8px 0 4px;padding-left:20px;font-size:12.5px}.iva-desconocido{color:var(--oro);font-weight:700;margin-left:2px;cursor:help}.observaciones{background:var(--papel-alto);border:1px solid var(--linea);border-left:3px solid var(--rust);border-radius:var(--radio);padding:18px 20px;margin:0 0 18px;box-shadow:var(--sombra-chica)}.observaciones .ayuda{margin:0 0 14px;max-width:70ch}.obs-historial{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:10px}.obs-historial li{background:var(--papel);border:1px solid var(--linea);border-radius:var(--radio-chico);padding:10px 14px}.obs-meta{display:flex;gap:10px;align-items:baseline;font-size:12px;color:var(--tinta-sub);margin-bottom:4px}.obs-meta b{color:var(--tinta);font-size:12.5px}.obs-texto{white-space:pre-wrap;line-height:1.45}.obs-vacio{font-style:italic}.observaciones textarea{width:100%;padding:10px 12px;border:1px solid var(--linea-fuerte);border-radius:var(--radio-chico);background:var(--papel-alto);font-family:var(--f-cuerpo);font-size:14px;color:var(--tinta);resize:vertical}.observaciones textarea:focus{border-color:var(--marca);box-shadow:0 0 0 3px var(--marca-suave);outline:none}.observaciones-acciones{display:flex;gap:10px;margin-top:10px}.paginacion{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:20px;color:var(--tinta-sub);font-size:13px}.volver{background:none;border:0;color:var(--marca);cursor:pointer;font-size:14px;margin-bottom:14px;font-weight:600}.detalle-cabecera{display:flex;justify-content:space-between;align-items:flex-start}.detalle-cabecera h1{margin-bottom:4px}.prov-grande{font-size:16px;font-weight:700}.detalle-datos{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;background:var(--papel-alto);border:1px solid var(--linea);border-radius:var(--radio);padding:20px;margin:20px 0;box-shadow:var(--sombra-chica)}.detalle-datos>div{display:flex;flex-direction:column}.etiqueta{color:var(--tinta-sub);font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;font-weight:700}.valor{font-weight:600;font-size:16px;margin-top:4px;font-family:var(--f-mono)}.select-area{margin-top:4px;padding:7px 9px;border:1px solid var(--linea-fuerte);border-radius:var(--radio-chico);font-size:14px;font-weight:600;background:var(--papel-alto);color:var(--tinta);max-width:220px}.select-area:disabled{opacity:.6}.aviso{background:var(--oro-cl);color:#7a5713;padding:13px 18px;border-radius:var(--radio-chico);margin:14px 0;border:1px solid #ecd9a8}.acciones{margin-top:26px;display:flex;flex-direction:column;gap:18px}.cargar{background:var(--papel-alto);border:1px solid var(--linea);border-radius:var(--radio);padding:20px;box-shadow:var(--sombra-chica)}.cargar-fila{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.cargar-fila select,.cargar-fila input[type=file]{padding:9px;border:1px solid var(--linea-fuerte);border-radius:var(--radio-chico);background:var(--papel-alto)}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--linea);margin-bottom:22px}.tab{background:none;border:0;padding:11px 18px;cursor:pointer;color:var(--tinta-sub);font-weight:700;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}.tab:hover{color:var(--marca-osc)}.tab.activa{color:var(--marca-osc);border-bottom-color:var(--rust)}.panel{background:var(--papel-alto);border:1px solid var(--linea);border-radius:var(--radio);padding:22px;box-shadow:var(--sombra-chica)}.form-linea{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.dos-columnas{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:22px}.lista{list-style:none;padding:0;margin:0}.lista li{padding:8px 0;border-bottom:1px solid var(--linea)}.ayuda{color:var(--tinta-sub);font-size:12px}.ayuda code{background:var(--marca-suave);color:var(--marca-osc);padding:1px 6px;border-radius:4px;font-family:var(--f-mono)}.detalle-corto{max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--tinta-sub);font-size:12px}.error{background:var(--ladrillo-cl);color:var(--ladrillo-osc, #8a2f24);padding:11px 16px;border-radius:var(--radio-chico);margin:10px 0;border:1px solid #f3c9c2}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-bottom:30px}.kpi{background:var(--papel-alto);border:1px solid var(--linea);border-left:3px solid var(--linea-fuerte);border-radius:var(--radio);padding:18px 20px;box-shadow:var(--sombra-chica);transition:transform .18s var(--ease),box-shadow .18s var(--ease);animation:entrar .5s var(--ease) both;animation-delay:calc(var(--i, 0) * 70ms)}.kpi:hover{transform:translateY(-2px);box-shadow:var(--sombra)}.kpi:nth-child(1){border-left-color:var(--tinta-tenue)}.kpi:nth-child(2){border-left-color:var(--oro)}.kpi:nth-child(3){border-left-color:var(--salvia)}.kpi:nth-child(4){border-left-color:var(--rust)}.kpi-etiqueta{color:var(--tinta-sub);font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.kpi-valor{font-family:var(--f-mono);font-size:30px;font-weight:600;margin-top:6px;line-height:1.15;color:var(--tinta)}.kpi-sub{color:var(--tinta-sub);font-size:12px;margin-top:3px}.seccion-cabecera{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.seccion-cabecera h2{margin:0}.periodos{display:flex;gap:4px;background:var(--marca-suave);border-radius:999px;padding:4px}.periodo{border:0;background:none;padding:7px 14px;border-radius:999px;font-size:12.5px;font-weight:700;color:var(--marca-osc);cursor:pointer;transition:background .15s var(--ease),color .15s var(--ease),box-shadow .15s var(--ease)}.periodo.activo{background:var(--marca-osc);color:var(--marca-texto);box-shadow:var(--sombra-chica)}.panel.recargando{opacity:.55;transition:opacity .15s}.seccion-cabecera+.panel{margin-top:14px;margin-bottom:30px}.barras{display:flex;flex-direction:column;gap:14px}.barra-fila{display:grid;grid-template-columns:190px 1fr;gap:16px;align-items:center}.barra-info{display:flex;flex-direction:column;min-width:0}.barra-nombre{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.barra-nombre.sin{font-weight:600}.barra-cant{color:var(--tinta-sub);font-size:12px}.barra-nc{color:var(--oro);cursor:help}.barra-pista{display:flex;align-items:center;gap:8px;min-width:0}.barra-track{flex:1;min-width:0;display:flex}.barra-relleno{height:20px;background:linear-gradient(90deg,var(--marca),var(--rust));border-radius:0 6px 6px 0;flex-shrink:0;min-width:2px;transform-origin:left;animation:crecerBarra .7s var(--ease) both}.barra-relleno.neutro{background:linear-gradient(90deg,#cbd5e1,#94a3b8)}.barra-valor{font-family:var(--f-mono);font-size:13px;font-weight:600;color:var(--tinta);white-space:nowrap}.badge.d-ok{background:#e5e9ef;color:#475569}.badge.d-alerta{background:var(--oro-cl);color:var(--oro)}.badge.d-critico{background:var(--ladrillo-cl);color:var(--ladrillo)}.titulo-fila{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:20px}.titulo-fila h1{margin:0}.selector-mes{display:flex;align-items:center;gap:6px}.selector-mes select{padding:8px 12px;border:1px solid var(--linea-fuerte);border-radius:var(--radio-chico);font-family:var(--f-cuerpo);font-size:14px;font-weight:700;color:var(--marca-osc);background:var(--papel-alto);min-width:165px}.selector-mes select:focus{border-color:var(--marca);box-shadow:0 0 0 3px var(--marca-suave);outline:none}.mes-flecha{border:1px solid var(--linea-fuerte);background:var(--papel-alto);color:var(--marca-osc);width:34px;height:34px;border-radius:var(--radio-chico);cursor:pointer;font-size:18px;line-height:1;font-weight:700;transition:background .15s,border-color .15s}.mes-flecha:hover:not(:disabled){background:var(--marca-suave);border-color:var(--marca)}.mes-flecha:disabled{opacity:.4;cursor:default}.kpis.recargando{opacity:.55;transition:opacity .15s}.matriz-controles{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.escala{display:flex;align-items:center;gap:3px}.escala-texto{color:var(--tinta-sub);font-size:11.5px;margin:0 4px}.escala-paso{width:20px;height:12px;border-radius:3px;display:inline-block}.select-ventana{padding:7px 11px;border:1px solid var(--linea-fuerte);border-radius:var(--radio-chico);font-family:var(--f-cuerpo);font-size:12.5px;font-weight:700;color:var(--marca-osc);background:var(--papel-alto)}.seccion-cabecera+.ayuda{margin:8px 0 12px}.tabla-scroll{overflow-x:auto;background:var(--papel-alto);border:1px solid var(--linea);border-radius:var(--radio);box-shadow:var(--sombra-chica);margin-bottom:30px}.tabla-scroll.recargando{opacity:.55;transition:opacity .15s}.tabla.matriz{min-width:max-content}.tabla.matriz th{white-space:nowrap}.tabla.matriz tbody tr{cursor:default}.tabla.matriz tbody tr:hover{background:transparent}.tabla.matriz tbody td:hover{outline:2px solid var(--marca-osc);outline-offset:-2px}.tabla.matriz td{padding:10px 14px;border-bottom:0}.tabla.matriz tbody td{border:2px solid var(--papel-alto)}.tabla.matriz .col-area{position:sticky;left:0;z-index:1;background:var(--papel-alto);font-weight:700;white-space:nowrap;border-left:0}.tabla.matriz th.col-area{background:#f7fafc}.tabla.matriz .col-total{position:sticky;right:0;z-index:1;font-weight:700;background:#eef4fa;border-left:1px solid var(--linea-fuerte)}.tabla.matriz tfoot td{border-top:1px solid var(--linea-fuerte);font-weight:700;background:#f7fafc}.tabla.matriz tfoot .fila-acumulado td{color:var(--tinta-sub);font-weight:600}.celda-n1{background:#e1f2fb}.celda-n2{background:#b6e1f6}.celda-n3{background:#75c8ee}.celda-n4{background:#22a5e0}.celda-n5{background:#0b7cb5;color:#fff}.tabla.matriz td.celda-n0{color:var(--tinta-tenue)}.celda-neg{background:#fdeceb;color:#a12b1e;font-weight:600}.aprobar-panel{background:var(--papel-alto);border:1px solid var(--linea-fuerte);border-radius:var(--radio);box-shadow:var(--sombra-chica);padding:16px 18px;display:flex;flex-direction:column;gap:10px;max-width:440px}.aprobar-panel select{padding:9px 11px;border:1px solid var(--linea-fuerte);border-radius:var(--radio-chico);font-family:var(--f-cuerpo);font-size:14px;background:var(--papel)}.aprobar-acciones{display:flex;gap:10px}.firmas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;margin-top:18px}.firma-card{border:1px solid var(--linea);border-radius:var(--radio);padding:14px;display:flex;flex-direction:column;gap:8px;background:var(--papel-alto);box-shadow:var(--sombra-chica);transition:transform .16s var(--ease),box-shadow .16s var(--ease)}.firma-card:hover{transform:translateY(-2px);box-shadow:var(--sombra)}.firma-imagen{height:120px;display:flex;align-items:center;justify-content:center;background:var(--papel);border:1px dashed var(--linea-fuerte);border-radius:var(--radio-chico);overflow:hidden}.firma-imagen img{max-width:100%;max-height:110px;object-fit:contain}.firma-cargando{color:var(--tinta-tenue);font-size:13px}.firma-nombre{font-weight:700;font-size:14px}.firma-meta{font-size:12px;color:var(--tinta-sub);word-break:break-all;font-family:var(--f-mono)}.firma-card .btn-link{align-self:flex-start}.buscador{width:100%;max-width:420px;padding:9px 12px;margin:6px 0 12px;border:1px solid var(--linea-fuerte);border-radius:var(--radio-chico);font-size:14px;background:var(--papel-alto);font-family:var(--f-cuerpo)}.buscador:focus{border-color:var(--marca);box-shadow:0 0 0 3px var(--marca-suave);outline:none}.fila-edicion input,.fila-edicion select{width:100%;padding:6px 7px;border:1px solid var(--linea-fuerte);border-radius:6px;font-size:13px;font-family:var(--f-cuerpo)}.usuarios-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.usuarios-header .buscador{max-width:320px}.fila-usuario{display:flex;align-items:center;gap:10px}.avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-family:var(--f-display);font-size:14px}.avatar-grande{width:60px;height:60px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-family:var(--f-display);font-size:22px}.badge.rol-admin{background:var(--violeta-cl);color:var(--violeta)}.badge.rol-conta{background:var(--marca-suave);color:var(--marca-osc)}.badge.rol-aprueba{background:var(--salvia-cl);color:var(--salvia)}.drawer-fondo{position:fixed;top:0;right:0;bottom:0;left:0;background:#15233a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:60;display:flex;justify-content:flex-end}.drawer-panel{width:420px;max-width:100%;height:100%;background:var(--papel-alto);box-shadow:var(--sombra);padding:30px;overflow-y:auto;display:flex;flex-direction:column;gap:18px}.drawer-cabecera{display:flex;align-items:flex-start;justify-content:space-between}.drawer-cerrar{background:none;border:0;font-size:18px;cursor:pointer;color:var(--tinta-sub);line-height:1;padding:4px}.drawer-cerrar:hover{color:var(--tinta)}.drawer-acciones{display:flex;gap:10px;margin-top:auto;padding-top:8px;justify-content:flex-end}.campo{display:flex;flex-direction:column;gap:6px}.campo label{font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;font-weight:700;color:var(--tinta-sub)}.campo input,.campo select{padding:10px 12px;border:1px solid var(--linea-fuerte);border-radius:var(--radio-chico);font-family:var(--f-cuerpo);font-size:14px;background:var(--papel-alto);transition:border-color .15s,box-shadow .15s}.campo input:focus,.campo select:focus{border-color:var(--marca);box-shadow:0 0 0 3px var(--marca-suave);outline:none}.campo input:disabled{background:var(--papel);color:var(--tinta-sub)}.roles-grid{display:flex;flex-direction:column;gap:8px}.rol-card{border:1px solid var(--linea-fuerte);border-radius:var(--radio-chico);padding:10px 12px;cursor:pointer;display:flex;flex-direction:column;gap:6px;transition:border-color .15s var(--ease),background .15s var(--ease)}.rol-card:hover{border-color:var(--marca)}.rol-card.activo{border-color:var(--marca);background:var(--marca-suave);box-shadow:0 0 0 1px var(--marca) inset}.rol-card-nombre{font-weight:700;font-size:13.5px;text-transform:capitalize}.rol-card-permisos{display:flex;flex-wrap:wrap;gap:4px}.clave-campo{position:relative}.clave-campo input{width:100%;padding-right:66px}.clave-acciones{position:absolute;right:5px;top:50%;transform:translateY(-50%);display:flex;gap:2px}.clave-icono-btn{background:none;border:0;cursor:pointer;color:var(--tinta-sub);font-size:13px;padding:5px 7px;border-radius:6px}.clave-icono-btn:hover{background:var(--marca-suave);color:var(--marca-osc)}.fuerza-barra{height:5px;border-radius:3px;background:var(--linea);overflow:hidden}.fuerza-relleno{height:100%;border-radius:3px;transition:width .25s var(--ease),background .25s}.fuerza-texto{font-size:11px;color:var(--tinta-sub)}.switch{display:inline-flex;align-items:center;gap:9px;cursor:pointer;font-size:13.5px;font-weight:600;color:var(--tinta)}.switch input{display:none}.switch-pista{width:38px;height:22px;border-radius:999px;background:var(--linea-fuerte);position:relative;transition:background .18s;flex-shrink:0}.switch-pista:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform .18s var(--ease)}.switch input:checked+.switch-pista{background:var(--salvia)}.switch input:checked+.switch-pista:after{transform:translate(16px)}.badge.sistema{background:var(--marca-suave);color:var(--marca-osc);margin-left:8px;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em}.badge.permiso{background:var(--salvia-cl);color:var(--salvia);margin:2px 4px 2px 0;font-weight:600;font-size:11px}.permisos-checks{display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:13px}.permisos-checks .check{white-space:nowrap}.select-rol{padding:6px 8px;border:1px solid var(--linea-fuerte);border-radius:var(--radio-chico);font-size:13px;font-family:var(--f-cuerpo);background:var(--papel-alto);color:var(--tinta)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media(max-width:860px){.login-pagina{grid-template-columns:1fr}.login-panel{display:none}}@media(max-width:720px){.dos-columnas{grid-template-columns:1fr}.app-shell{flex-direction:column}.sidebar{width:100%;height:auto;position:static}.sidenav{display:flex;gap:12px;padding:8px 12px;overflow-x:auto}.nav-grupo{display:flex;margin-bottom:0}.nav-titulo{display:none}.barra-fila{grid-template-columns:130px 1fr}}.carga-manual{max-width:760px}.carga-manual>.ayuda{margin:4px 0 16px;font-size:13px;max-width:60ch}.carga-manual .panel{display:flex;flex-direction:column;gap:14px}.carga-form{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.carga-form label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:var(--tinta-sub)}.carga-form input,.carga-form select{padding:9px 12px;border:1px solid var(--linea-fuerte);border-radius:var(--radio-chico);background:var(--papel-alto);color:var(--tinta);font-family:var(--f-cuerpo);font-size:14px}.carga-form input:focus,.carga-form select:focus{outline:none;border-color:var(--marca)}.carga-form .carga-conversion{grid-column:1 / -1;margin:0;font-size:13px}.carga-form .carga-cufe{grid-column:1 / -1}.carga-form .carga-cufe input{font-family:var(--f-mono);font-size:12px}.carga-form .carga-acciones{grid-column:1 / -1;display:flex;justify-content:flex-end}.aviso.ok{background:var(--salvia-cl);color:var(--salvia);border-color:var(--salvia)}@media(max-width:720px){.carga-form{grid-template-columns:1fr}}
