:root{--celeste:#7cc4f6;--violeta:#4b3fd8;--magenta:#f2199c;--primario:#4b3fd8;--primario-oscuro:#3a2fb8;--primario-suave:#eeedfb;--acento:#f2199c;--gradiente:linear-gradient(135deg, #7cc4f6 0%, #4b3fd8 55%, #f2199c 100%);--fondo:#f7f7fb;--superficie:#fff;--borde:#e6e7ef;--borde-fuerte:#cfd1dd;--texto:#15162b;--texto-suave:#5b5e78;--texto-tenue:#8c8fa6;--ok:#15803d;--ok-suave:#e7f6ec;--alerta:#b45309;--alerta-suave:#fdf3e3;--error:#b91c1c;--error-suave:#fdecec;--radio:12px;--radio-sm:8px;--sombra:0 1px 2px #15162b0a, 0 8px 24px -12px #15162b1f;--fuente:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html{font-family:var(--fuente);color:var(--texto);background:var(--fondo);-webkit-font-smoothing:antialiased;font-size:14px}body{margin:0}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:600}h1{font-size:22px}h2{font-size:18px}h3{font-size:15px}a{color:var(--primario);text-decoration:none}a:hover{text-decoration:underline}p{margin:0 0 10px}code{font-family:var(--mono);font-size:12px}.marca{align-items:center;gap:10px;display:flex}.marca img{object-fit:contain;width:34px;height:34px}.marca-nombre{letter-spacing:-.02em;color:var(--texto);font-size:16px;font-weight:700;line-height:1.1}.marca-sub{color:var(--texto-tenue);font-size:11px}.marca-grande img{width:72px;height:72px}.btn{border-radius:var(--radio-sm);font:inherit;cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-weight:500;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:default}.btn-primario{background:var(--primario);color:#fff}.btn-primario:hover:not(:disabled){background:var(--primario-oscuro)}.btn-secundario{background:var(--superficie);color:var(--texto);border-color:var(--borde-fuerte)}.btn-secundario:hover:not(:disabled){background:var(--fondo)}.btn-fantasma{color:var(--primario);background:0 0}.btn-fantasma:hover:not(:disabled){background:var(--primario-suave)}.btn-ok{background:var(--ok);color:#fff}.btn-peligro{background:var(--superficie);color:var(--error);border-color:#f1c6c6}.btn-peligro:hover:not(:disabled){background:var(--error-suave)}.btn-sm{border-radius:6px;padding:4px 10px;font-size:12px}.btn-lg{padding:12px 20px;font-size:15px}.btn-gradiente{background:var(--gradiente);color:#fff}.campo{margin-bottom:12px;display:block}.campo-etiqueta{color:var(--texto-suave);margin-bottom:4px;font-size:12px;font-weight:500;display:block}.campo-error{color:var(--error);margin-top:3px;font-size:12px;display:block}.entrada,select.entrada,textarea.entrada{border:1px solid var(--borde-fuerte);border-radius:var(--radio-sm);background:var(--superficie);width:100%;font:inherit;color:var(--texto);padding:8px 10px;transition:border-color .15s,box-shadow .15s}.entrada:focus{border-color:var(--primario);box-shadow:0 0 0 3px var(--primario-suave);outline:none}.entrada:disabled{background:var(--fondo);color:var(--texto-tenue)}select.entrada[multiple]{min-height:96px}.check{cursor:pointer;align-items:center;gap:8px;margin:4px 0;font-size:13px;display:flex}.check input{accent-color:var(--primario);width:15px;height:15px}.tarjeta{background:var(--superficie);border:1px solid var(--borde);border-radius:var(--radio);box-shadow:var(--sombra);padding:18px}.tarjeta+.tarjeta{margin-top:14px}.tarjeta-titulo{justify-content:space-between;align-items:center;margin-bottom:10px;font-size:14px;font-weight:600;display:flex}.aviso{border-radius:var(--radio-sm);align-items:flex-start;gap:8px;margin:8px 0;padding:10px 12px;font-size:13px;line-height:1.4;display:flex}.aviso-ok{background:var(--ok-suave);color:var(--ok)}.aviso-alerta{background:var(--alerta-suave);color:var(--alerta)}.aviso-error{background:var(--error-suave);color:var(--error)}.pastilla{background:var(--primario-suave);color:var(--primario);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.pastilla-ok{background:var(--ok-suave);color:var(--ok)}.pastilla-alerta{background:var(--alerta-suave);color:var(--alerta)}.pastilla-error{background:var(--error-suave);color:var(--error)}.pastilla-neutra{background:var(--fondo);color:var(--texto-suave)}.tabla-envoltura{background:var(--superficie);border:1px solid var(--borde);border-radius:var(--radio);box-shadow:var(--sombra);overflow:auto}.tabla{border-collapse:collapse;width:100%;font-size:13px}.tabla th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--texto-tenue);border-bottom:1px solid var(--borde);background:#fafafd;padding:10px 12px;font-size:11px;font-weight:600}.tabla td{border-bottom:1px solid var(--borde);vertical-align:top;padding:10px 12px}.tabla tr:last-child td{border-bottom:none}.tabla tr:hover td{background:#fafafd}.tabla-vacia{color:var(--texto-tenue);padding:18px 12px}.tabla-compacta th,.tabla-compacta td{padding:6px 8px}.tabla .total td{background:var(--primario-suave);font-weight:600}.modal-fondo{z-index:20;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#15162b73;justify-content:center;align-items:flex-start;padding:40px 20px;display:flex;position:fixed;inset:0;overflow:auto}.modal{background:var(--superficie);border-radius:var(--radio);width:100%;padding:22px;box-shadow:0 24px 60px -20px #15162b66}.modal-cabecera{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.modal-cerrar{cursor:pointer;color:var(--texto-tenue);background:0 0;border:none;font-size:20px;line-height:1}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.toolbar-acciones{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.form-grid{gap:0 14px;display:grid}.cols-2{grid-template-columns:repeat(2,1fr)}.cols-3{grid-template-columns:repeat(3,1fr)}.cols-5{grid-template-columns:2fr 1fr 1fr 1fr 1fr}.span-todo{grid-column:1/-1}.form-inline{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:10px;display:flex}.form-inline .campo{margin-bottom:12px}.grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.pila{flex-direction:column;gap:6px;display:flex}.fila-acciones{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.texto-suave{color:var(--texto-suave);font-size:13px}.texto-tenue{color:var(--texto-tenue);font-size:12px}.mono{font-family:var(--mono);word-break:break-all;font-size:12px}.seccion-titulo{margin-bottom:14px}.seccion-titulo p{color:var(--texto-suave);margin-top:4px}.app{grid-template-columns:236px 1fr;min-height:100vh;display:grid}.app-lateral{background:var(--superficie);border-right:1px solid var(--borde);flex-direction:column;gap:18px;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0}.app-nav{flex-direction:column;gap:2px;display:flex}.app-nav a{border-radius:var(--radio-sm);color:var(--texto-suave);align-items:center;gap:10px;padding:8px 10px;font-size:13px;font-weight:500;display:flex}.app-nav a:hover{background:var(--fondo);color:var(--texto);text-decoration:none}.app-nav a.activo{background:var(--primario-suave);color:var(--primario)}.app-nav svg{flex:none;width:16px;height:16px}.app-pie{color:var(--texto-suave);border-top:1px solid var(--borde);margin-top:auto;padding-top:12px;font-size:12px}.app-contenido{width:100%;max-width:1400px;padding:28px 32px}.app-empresa{background:var(--fondo);border-radius:var(--radio-sm);padding:10px 12px;font-size:13px}.app-empresa strong{font-weight:600;display:block}.app-empresa select{width:100%}.portada{flex-direction:column;min-height:100vh;display:flex}.portada-cabecera{justify-content:space-between;align-items:center;padding:18px 32px;display:flex}.portada-centro{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;padding:40px 20px;display:flex}.portada-titulo{letter-spacing:-.03em;background:var(--gradiente);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:38px;font-weight:700}.portada-sub{color:var(--texto-suave);max-width:560px;font-size:16px}.portada-accesos{grid-template-columns:repeat(4,200px);gap:14px;margin-top:20px;display:grid}.acceso{background:var(--superficie);border:1px solid var(--borde);border-radius:var(--radio);text-align:left;box-shadow:var(--sombra);padding:18px;transition:transform .15s,border-color .15s}.acceso:hover{border-color:var(--violeta);text-decoration:none;transform:translateY(-2px)}.acceso strong{color:var(--texto);margin-bottom:4px;display:block}.acceso span{color:var(--texto-suave);font-size:13px}.portada-pie{color:var(--texto-tenue);justify-content:space-between;padding:16px 32px;font-size:12px;display:flex}.centrado{flex-direction:column;align-items:center;min-height:100vh;padding:48px 20px;display:flex}.centrado .tarjeta{width:100%;max-width:420px}.contenedor{max-width:1200px;margin:0 auto;padding:24px 32px}.cabecera-pagina{border-bottom:1px solid var(--borde);justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:14px;display:flex}.menu-reportes{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.menu-reportes button{background:var(--superficie);border:1px solid var(--borde-fuerte);color:var(--texto);font:inherit;cursor:pointer;border-radius:999px;padding:7px 14px;font-size:13px}.menu-reportes button.activo{background:var(--primario);border-color:var(--primario);color:#fff}.filtros{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;display:grid}.reporte-vista{font-family:Arial,Helvetica,sans-serif;font-size:11px}.reporte-vista h2{margin:8px 0 2px;font-size:15px}.reporte-vista h3{margin:14px 0 4px;font-size:13px}.reporte-vista table{border-collapse:collapse;table-layout:fixed;width:100%;margin-bottom:4px}.reporte-vista th,.reporte-vista td{vertical-align:top;word-break:break-word;border:1px solid #c9cbd6;padding:2px 4px;font-size:11px}.reporte-vista th{text-align:left;background:#f0f0f6}.reporte-vista tr.total td{background:#f6f6fa;font-weight:700}.reporte-vista td.ajuste{color:#1d4ed8;font-weight:700}.reporte-vista .encabezado td{border:none;padding:1px 6px 1px 0}.reporte-vista .encabezado td:first-child{font-weight:700}.lista-empresas{border:1px solid var(--borde);border-radius:var(--radio-sm);max-height:440px;margin:0;padding:0;list-style:none;overflow:auto}.lista-empresas li button{text-align:left;border:none;border-bottom:1px solid var(--borde);cursor:pointer;width:100%;font:inherit;background:0 0;padding:10px 12px}.lista-empresas li button:hover{background:var(--primario-suave)}@media (width<=900px){.app{grid-template-columns:1fr}.app-lateral{height:auto;position:static}.cols-3,.cols-5,.grid-2,.portada-accesos{grid-template-columns:1fr}.app-contenido,.contenedor{padding:16px}}@media print{.app-lateral,.toolbar,.filtros,.menu-reportes,.cabecera-pagina,.fila-acciones{display:none!important}.app{display:block}body{background:#fff}}.avisos-globales{z-index:1000;gap:8px;max-width:420px;display:grid;position:fixed;bottom:16px;right:16px}.avisos-globales .aviso{cursor:pointer;box-shadow:0 4px 16px #00000026}@media (width<=600px){.tabla,table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}.form-grid{grid-template-columns:1fr!important}}
