:root{--azul-900:#0b1f3a;--azul-800:#102a4c;--azul-700:#173d68;--azul-600:#1f5f9e;--acento:#1f6feb;--acento-claro:#e8f1ff;--verde:#0f766e;--verde-claro:#e6f5f2;--fondo:#f4f6fb;--superficie:#fff;--texto:#16233a;--texto-suave:#64718a;--borde:#dfe5ef;--borde-fuerte:#c7d2e3;--rojo:#b42318;--rojo-claro:#fdecea;--ambar:#9a6700;--ambar-claro:#fff6dd;--sombra:0 10px 30px #102a4c14;--radio:12px;--radio-sm:8px;--transicion:.16s ease;--t-xs:.72rem;--t-sm:.8rem;--t-base:.9rem;--t-md:1rem;--t-lg:1.1rem;--t-xl:1.55rem;--t-2xl:1.9rem;--t-3xl:clamp(1.8rem, 3vw, 2.6rem);--espacio-1:4px;--espacio-2:8px;--espacio-3:12px;--espacio-4:16px;--espacio-5:24px;--espacio-6:32px;--espacio-7:48px;--duracion:.16s;--drawer-fondo:#16294c;--drawer-texto:#eef3ff;--drawer-suave:#d2e0f6b8;--drawer-hover:#ffffff17;--drawer-activo:#ffffff29;--drawer-icono:#ffffff1f;--drawer-borde:#ffffff1f}*{box-sizing:border-box}:focus-visible{outline:2px solid var(--acento);outline-offset:2px}:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html,body{height:100%}body{color:var(--texto);background:var(--fondo);font-family:Segoe UI,system-ui,-apple-system,Roboto,Arial,sans-serif;font-size:var(--t-base);margin:0;line-height:1.5}h1,h2,h3,h4{color:var(--azul-900);margin:0;line-height:1.25}p{margin:0}a{color:var(--acento)}[hidden]{display:none!important}.texto-suave{color:var(--texto-suave);font-size:var(--t-base)}.ancho{width:100%}.oculto{display:none!important}.centrado{text-align:center}.derecha{text-align:right}.login{background:var(--superficie);grid-template-columns:1.05fr 1fr;min-height:100vh;display:grid}.login-panel{color:#eaf2ff;background:radial-gradient(circle at 85% 15%, #1f6feb73, transparent 45%), radial-gradient(circle at 10% 85%, #0f766e59, transparent 45%), linear-gradient(150deg, var(--azul-900), var(--azul-700));flex-direction:column;justify-content:space-between;padding:42px 56px;display:flex;position:relative;overflow:hidden}.login-panel:after{content:"";border:1px solid #ffffff1f;border-radius:50%;width:380px;height:380px;position:absolute;inset:auto -120px -160px auto}.marca{align-items:center;gap:12px;display:flex}.marca strong{font-size:var(--t-md);letter-spacing:.2px;display:block}.marca small{opacity:.7;font-size:var(--t-sm);display:block}.marca-icono{color:#fff;width:40px;height:40px;font-weight:700;font-size:var(--t-lg);background:linear-gradient(135deg, var(--acento), var(--verde));border-radius:11px;place-items:center;display:grid;box-shadow:0 6px 16px #1f6feb59}.login-texto{max-width:480px}.login-texto h1{color:#fff;font-size:var(--t-3xl);letter-spacing:-.5px;margin-bottom:18px}.login-texto p{color:#c8d8ee;font-size:var(--t-md)}.lista-beneficios{gap:12px;margin:28px 0 0;padding:0;list-style:none;display:grid}.lista-beneficios li{color:#dce8f8;font-size:var(--t-base);align-items:center;gap:10px;display:flex}.lista-beneficios li:before{content:"✓";color:#bcd7ff;width:20px;height:20px;font-size:var(--t-xs);background:#1f6feb59;border-radius:50%;place-items:center;display:grid}.login-pie{color:#8fa5c4;font-size:var(--t-sm)}.login-formulario{background:linear-gradient(#fff,#f8faff);place-items:center;padding:32px;display:grid}.login-caja{width:min(400px,100%)}.login-caja h2{font-size:var(--t-xl);margin-bottom:4px}.login-caja form{gap:8px;margin-top:24px;display:grid}.cuentas-demo{border:1px dashed var(--borde-fuerte);border-radius:var(--radio-sm);font-size:var(--t-sm);color:var(--texto-suave);background:#fbfcff;margin-top:26px;padding:12px 14px}.cuentas-demo summary{cursor:pointer;color:var(--azul-700);font-weight:600}.cuentas-demo table{border-collapse:collapse;width:100%;margin-top:10px}.cuentas-demo th,.cuentas-demo td{text-align:left;padding:3px 0}.cuentas-demo th{color:var(--texto-suave);font-weight:600}.cuentas-demo p{font-size:var(--t-sm);margin-top:8px}.app{min-height:100vh;display:flex}.drawer-fondo{z-index:39;background:#0f172a73;position:fixed;inset:0}.nav{background:var(--drawer-fondo);height:100vh;color:var(--drawer-texto);display:flex;position:sticky;top:0;overflow:visible}.riel{flex-direction:column;flex:0 0 84px;align-items:center;gap:6px;width:84px;padding:12px 6px;display:flex;overflow:visible}.riel-menu{flex:1;align-content:start;gap:4px;width:100%;min-height:0;margin-top:6px;display:grid;overflow-y:auto}.riel-pie{justify-items:center;gap:6px;margin-top:auto;padding-top:10px;display:grid}.riel-item{width:100%;color:var(--drawer-texto);cursor:pointer;transition:background var(--transicion);background:0 0;border:0;border-radius:14px;flex-direction:column;align-items:center;gap:2px;padding:8px 2px;display:flex}.riel-item:hover{background:var(--drawer-hover)}.riel-item.activo{background:var(--drawer-activo)}.riel-item.activo .drawer-icono{background:0 0}.riel-item:not(.activo) .drawer-icono{background:var(--drawer-icono);color:var(--drawer-texto)}.riel-texto{font-size:var(--t-xs);text-align:center;line-height:1.1}.submenu{background:linear-gradient(150deg, var(--drawer-fondo), var(--azul-700));border-left:1px solid var(--drawer-borde);flex:0 0 232px;width:232px;padding:16px 12px;overflow-y:auto}.submenu-titulo{font-size:var(--t-md);margin:0 0 10px;padding:0 10px}.submenu nav{gap:2px;display:grid}.submenu-item{width:100%;color:var(--drawer-texto);font:inherit;font-size:var(--t-base);text-align:left;cursor:pointer;transition:background var(--transicion);background:0 0;border:0;border-radius:0 20px 20px 0;align-items:center;gap:12px;padding:8px 14px 8px 10px;text-decoration:none;display:flex}.submenu-item:hover{background:var(--drawer-hover)}.submenu-item.activo{background:var(--drawer-activo);font-weight:600}.submenu-item .drawer-icono{background:var(--drawer-icono);color:var(--drawer-texto)}.submenu-item.activo .drawer-icono{background:0 0}.drawer-icono{border-radius:50%;flex:0 0 38px;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.drawer-icono svg{fill:currentColor;width:20px;height:20px}.riel-nueva{width:100%;position:relative}.menu-flotante{border:1px solid var(--drawer-borde);z-index:45;background:#223a5f;border-radius:8px;width:190px;padding:6px 0;position:absolute;top:100%;left:calc(100% + 4px);box-shadow:0 4px 16px #0000004d}.menu-flotante button{width:100%;font:inherit;font-size:var(--t-base);text-align:left;cursor:pointer;color:var(--drawer-texto);white-space:nowrap;background:0 0;border:0;padding:9px 18px;display:block}.menu-flotante button:hover{background:var(--drawer-hover)}.drawer-texto{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.avatar{background:var(--acento-claro);width:36px;height:36px;color:var(--azul-800);font-weight:700;font-size:var(--t-base);text-transform:uppercase;border-radius:50%;flex:0 0 36px;place-items:center;display:grid}.btn-salir:hover,.btn-salir:hover .drawer-icono{color:#ffd7d4;background:#e5393552}.nav.colapsado .riel{flex:0 0 60px;width:60px}.nav.colapsado .riel-texto{display:none}.contenido{flex:1;min-width:0;padding:26px 30px 40px}.cabecera{align-items:center;gap:14px;margin-bottom:22px;display:flex}.cabecera h1{font-size:var(--t-xl);letter-spacing:-.3px}.cabecera .texto-suave{margin-top:3px}.cabecera .badge{margin-left:auto}.vista{outline:none}.btn{border-radius:var(--radio-sm);border:1px solid var(--borde-fuerte);color:var(--texto);font:inherit;font-size:var(--t-base);cursor:pointer;transition:transform var(--transicion), background var(--transicion), border-color var(--transicion), box-shadow var(--transicion);background:#fff;justify-content:center;align-items:center;gap:7px;padding:10px 16px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--acento);color:var(--acento)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.primario{background:var(--acento);border-color:var(--acento);color:#fff;box-shadow:0 6px 16px #1f6feb40}.btn.primario:hover{background:#1a5fcc}.btn.peligro{background:var(--rojo);border-color:var(--rojo);color:#fff}.btn.peligro:hover{color:#fff;background:#971d13}.btn.exito{background:var(--verde);border-color:var(--verde);color:#fff}.btn.exito:hover{color:#fff;background:#0b5f58}.btn.pequeno{font-size:var(--t-sm);padding:6px 11px}.btn.icono{font-size:var(--t-lg);padding:8px 11px;line-height:1}.btn.icono svg{fill:currentColor;width:20px;height:20px}.tarjeta{background:var(--superficie);border:1px solid var(--borde);border-radius:var(--radio);box-shadow:var(--sombra);padding:20px}.acciones-vista{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.filtros{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.filtros .campo{min-width:160px}label{font-size:var(--t-sm);color:var(--azul-800);margin-bottom:5px;font-weight:600;display:block}input,select,textarea{border:1px solid var(--borde-fuerte);border-radius:var(--radio-sm);width:100%;color:var(--texto);font:inherit;font-size:var(--t-base);transition:border-color var(--transicion), box-shadow var(--transicion);background:#fff;padding:9px 11px}input:focus,select:focus,textarea:focus{border-color:var(--acento);outline:none;box-shadow:0 0 0 3px #1f6feb26}input[readonly]{color:var(--texto-suave);background:#f2f5fa}textarea{resize:vertical;min-height:76px}.campo{flex-direction:column;display:flex}.campo small{color:var(--texto-suave);font-size:var(--t-sm);margin-top:4px}.rejilla{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.rejilla .completo{grid-column:1/-1}.rejilla-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.form-cabecera{border-bottom:1px solid var(--borde);justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;padding-bottom:12px;display:flex}.form-cabecera h2{font-size:var(--t-lg)}.form-acciones{border-top:1px solid var(--borde);justify-content:flex-end;gap:10px;margin-top:18px;padding-top:16px;display:flex}#contenedor-formulario{margin-bottom:18px}.tabla-responsive{padding:0;overflow-x:auto}table.tabla{border-collapse:collapse;width:100%;min-width:720px}table.tabla th,table.tabla td{text-align:left;border-bottom:1px solid var(--borde);vertical-align:middle;padding:12px 14px}table.tabla th{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--texto-suave);white-space:nowrap;background:#f8faff;font-weight:700}table.tabla tbody tr:hover{background:#fafcff}table.tabla tbody tr:last-child td{border-bottom:0}table.tabla td.acciones{white-space:nowrap}table.tabla td.acciones .btn{margin-right:4px}.vacio{text-align:center;color:var(--texto-suave);padding:44px 20px}.vacio strong{color:var(--azul-800);margin-bottom:4px;display:block}.tarjetas-resumen{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}.tarjeta-dato{background:var(--superficie);border:1px solid var(--borde);border-radius:var(--radio);box-shadow:var(--sombra);padding:18px;position:relative;overflow:hidden}.tarjeta-dato:after{content:"";background:var(--acento);width:4px;position:absolute;inset:0 auto 0 0}.tarjeta-dato.verde:after{background:var(--verde)}.tarjeta-dato.ambar:after{background:#d29b16}.tarjeta-dato.rojo:after{background:var(--rojo)}.tarjeta-dato .etiqueta{font-size:var(--t-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--texto-suave);font-weight:700}.tarjeta-dato .valor{font-size:var(--t-2xl);color:var(--azul-900);margin-top:6px;font-weight:700}.tarjeta-dato .detalle{font-size:var(--t-sm);color:var(--texto-suave);margin-top:2px}.seccion-titulo{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.seccion-titulo h2{font-size:var(--t-lg)}.lista-reciente{gap:0;display:grid}.item-reciente{border-bottom:1px solid var(--borde);cursor:pointer;text-align:left;font:inherit;width:100%;color:inherit;background:0 0;border-top:0;border-left:0;border-right:0;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:13px 4px;display:grid}.item-reciente:hover{background:#fafcff}.item-reciente:last-child{border-bottom:0}.item-reciente strong{font-size:var(--t-base);display:block}.item-reciente small{color:var(--texto-suave)}.item-reciente .meta{align-items:center;gap:10px;display:flex}.badge{font-size:var(--t-xs);letter-spacing:.02em;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:4px 9px;font-weight:700;display:inline-flex}.badge.pendiente{background:var(--ambar-claro);color:var(--ambar)}.badge.aprobado{background:var(--acento-claro);color:var(--azul-600)}.badge.procesado{background:var(--verde-claro);color:var(--verde)}.badge.rechazado{background:var(--rojo-claro);color:var(--rojo)}.badge.rol{background:var(--acento-claro);color:var(--azul-600)}.badge.inactivo{color:var(--texto-suave);background:#eef1f6}.modal-fondo{z-index:50;background:#0b1f3a8c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-caja{border-radius:var(--radio);background:#fff;flex-direction:column;width:min(720px,100%);max-height:88vh;display:flex;overflow:hidden;box-shadow:0 24px 60px #00000047}.modal-cabecera{border-bottom:1px solid var(--borde);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.modal-cabecera h2{font-size:var(--t-lg)}.modal-cuerpo{padding:20px;overflow-y:auto}.detalle-lista{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;margin:0 0 18px;display:grid}.detalle-lista div{min-width:0}.detalle-lista dt{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--texto-suave);font-weight:700}.detalle-lista dd{font-size:var(--t-base);word-break:break-word;margin:3px 0 0}.detalle-lista .completo{grid-column:1/-1}.historial{border-top:1px solid var(--borde);margin-top:6px;padding-top:16px}.historial h3{font-size:var(--t-base);margin-bottom:10px}.historial-item{border-left:2px solid var(--borde-fuerte);padding:0 0 12px 14px;position:relative}.historial-item:before{content:"";background:var(--acento);border-radius:50%;width:8px;height:8px;position:absolute;top:5px;left:-5px}.historial-item:last-child{padding-bottom:0}.historial-item strong{font-size:var(--t-base)}.historial-item small{color:var(--texto-suave);font-size:var(--t-sm);display:block}.historial-item p{font-size:var(--t-base);margin-top:3px}.caja-revision{border-top:1px solid var(--borde);gap:10px;margin-top:18px;padding-top:16px;display:grid}.caja-revision h3{font-size:var(--t-base)}.mensaje-error{color:var(--rojo);background:var(--rojo-claro);border-radius:var(--radio-sm);font-size:var(--t-sm);border:1px solid #f5c2bd;padding:9px 11px}.mensaje-exito{color:var(--verde);background:var(--verde-claro);border-radius:var(--radio-sm);font-size:var(--t-sm);border:1px solid #b7e3dc;padding:9px 11px}.avisos{z-index:80;gap:10px;max-width:min(360px,100vw - 40px);display:grid;position:fixed;bottom:20px;right:20px}.aviso{background:var(--azul-900);color:#fff;border-radius:var(--radio-sm);font-size:var(--t-base);padding:12px 15px;animation:.18s aparecer;box-shadow:0 12px 30px #00000040}.aviso.error{background:var(--rojo)}.aviso.exito{background:var(--verde)}@keyframes aparecer{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.cargando{text-align:center;color:var(--texto-suave);padding:36px}.solo-movil{display:none}@media (width<=1024px){.tarjetas-resumen{grid-template-columns:repeat(2,minmax(0,1fr))}.login{grid-template-columns:1fr}.login-panel{display:none}.login-formulario{min-height:100vh}}@media (width<=820px){.nav{z-index:40;flex-direction:column;width:min(320px,86vw);transition:transform .2s;position:fixed;inset:0 auto 0 0;overflow-y:auto;transform:translate(-105%);box-shadow:20px 0 50px #00000040}.nav.abierta{transform:none}.nav .riel{flex-direction:column;flex:none;align-items:stretch;width:100%}.nav .riel-menu{grid-auto-flow:column;justify-content:start;gap:4px}.nav .submenu{border-left:0;border-top:1px solid var(--drawer-borde);flex:none;width:100%}.nav.colapsado .riel{flex:none;width:100%}.nav.colapsado .riel-texto{display:initial}.contenido{padding:18px 16px 32px}.rejilla,.rejilla-3,.detalle-lista{grid-template-columns:1fr}.tarjetas-resumen{grid-template-columns:1fr 1fr}}@media (width<=560px){.tarjetas-resumen{grid-template-columns:1fr}.cabecera h1{font-size:var(--t-lg)}.login-formulario{padding:22px}.tarjeta{padding:16px}.acciones-vista{align-items:stretch}.filtros{width:100%}.filtros .campo{flex:100%}.acciones-vista>.btn{width:100%}}@media (width<=820px){input,select,textarea{font-size:16px}.btn,.riel-item,.submenu-item,.item-reciente{min-height:44px}.btn.pequeno{min-height:44px;padding:10px 14px}.btn.icono{justify-content:center;min-width:44px;min-height:44px}}.reporte-timeline{margin-top:var(--espacio-4)}.reporte-graficos{gap:var(--espacio-4);margin-top:var(--espacio-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.reporte-graficos .tarjeta{flex-direction:column;min-width:0;display:flex}.reporte-graficos h3{font-size:var(--t-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--texto-suave);margin-bottom:var(--espacio-3)}.reporte-resumen{gap:var(--espacio-3);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}@media (width<=1024px){.reporte-graficos{grid-template-columns:repeat(2,minmax(0,1fr))}.reporte-resumen{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=560px){.reporte-graficos{grid-template-columns:1fr}.reporte-resumen{grid-template-columns:repeat(2,minmax(0,1fr))}}
