:root{--azul: #0f4c81;--azul-oscuro: #0a3559;--azul-claro: #e8f0f8;--texto: #1f2937;--suave: #6b7280;--borde: #e5e7eb;--fondo: #f4f6f9;--ok: #1e8e5a;--alerta: #c98a0b;--critico: #c0392b;font-family:Segoe UI,system-ui,-apple-system,Roboto,Arial,sans-serif;color:var(--texto);background:var(--fondo);font-size:14px}*{box-sizing:border-box}body{margin:0}h1{font-size:22px;margin:0 0 4px;color:var(--azul-oscuro)}h2{font-size:16px;margin:28px 0 10px;color:var(--azul-oscuro)}h3{font-size:14px;margin:0 0 12px;color:var(--azul-oscuro)}h4{margin:18px 0 8px}a{color:var(--azul)}.app{display:flex;min-height:100vh}.sidebar{width:236px;background:var(--azul-oscuro);color:#fff;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;flex-shrink:0}.marca{display:flex;flex-direction:column;padding:22px 20px 18px;border-bottom:1px solid rgba(255,255,255,.12)}.marca-logo{font-weight:800;letter-spacing:3px;font-size:18px}.marca-app{font-size:12px;opacity:.8;margin-top:2px}.sidebar nav{display:flex;flex-direction:column;padding:10px 0;overflow-y:auto;flex:1}.sidebar nav a{color:#dbe7f3;text-decoration:none;padding:9px 20px;border-left:3px solid transparent}.sidebar nav a:hover{background:#ffffff0f}.sidebar nav a.active{background:#ffffff1f;border-left-color:#f0a640;color:#fff;font-weight:600}.nav-titulo{font-size:11px;text-transform:uppercase;letter-spacing:1px;opacity:.55;padding:14px 20px 6px}.sidebar-pie{padding:14px 20px;border-top:1px solid rgba(255,255,255,.12);font-size:12px}.usuario-nombre{font-weight:600;font-size:13px}.usuario-detalle{opacity:.75;margin:4px 0 10px;line-height:1.5;word-break:break-all}.sidebar-acciones{display:flex;gap:12px}.sidebar-acciones a,.sidebar-acciones .link{color:#f0c27a;font-size:12px}.contenido{flex:1;padding:20px 28px 40px;min-width:0}.actualizado{text-align:right;font-size:12px;color:var(--suave);margin-bottom:6px}.pagina{max-width:1500px}.pagina.angosta{max-width:760px}.encabezado{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.subtitulo{color:var(--suave);font-size:13px;margin-top:4px}.acciones{display:flex;gap:8px;align-items:center;margin-top:10px}.encabezado .acciones{margin-top:0}.tarjeta{background:#fff;border:1px solid var(--borde);border-radius:10px;padding:16px 18px;margin-bottom:16px}.tarjeta.sin-padding{padding:0;overflow:hidden}.grilla-2{display:grid;grid-template-columns:1.4fr 1fr;gap:16px}.grilla-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.columna{display:flex;flex-direction:column;gap:0}.grafico h3{margin-bottom:4px}@media(max-width:1100px){.grilla-2,.grilla-3{grid-template-columns:1fr}}.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}.kpi{background:#fff;border:1px solid var(--borde);border-left:4px solid var(--azul);border-radius:10px;padding:14px 16px}.kpi-titulo{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--suave)}.kpi-valor{font-size:21px;font-weight:700;margin-top:6px;color:var(--azul-oscuro)}.kpi-nota{font-size:11px;color:var(--suave);margin-top:4px}.kpi.ok{border-left-color:var(--ok)}.kpi.alerta{border-left-color:var(--alerta)}.kpi.critico{border-left-color:var(--critico)}@media(max-width:1100px){.kpis{grid-template-columns:repeat(2,1fr)}}.filtros{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:16px}.campo{display:flex;flex-direction:column;gap:4px;min-width:150px}.campo.ancho{min-width:260px;flex:1;max-width:420px}.campo>span,.contador>span{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--suave)}input,select{font:inherit;padding:7px 10px;border:1px solid #cfd6df;border-radius:6px;background:#fff;color:var(--texto)}input:focus,select:focus{outline:2px solid #9cc0e3;border-color:var(--azul)}select:disabled{background:#f3f4f6}.check{display:flex;align-items:center;gap:6px;padding-bottom:8px}.contador{display:flex;flex-direction:column;gap:4px;padding:0 8px}.contador strong{font-size:20px;color:var(--azul)}.form{display:flex;flex-direction:column;gap:14px}.form .campo{min-width:0}.boton{background:var(--azul);color:#fff;border:0;border-radius:6px;padding:9px 16px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;text-align:center;display:inline-block}.boton:hover{background:var(--azul-oscuro)}.boton:disabled{opacity:.6;cursor:default}.boton.secundario{background:#fff;color:var(--azul);border:1px solid var(--azul)}.boton.secundario:hover{background:var(--azul-claro)}.boton.chico{padding:4px 10px;font-size:12px;margin-left:6px}.link{background:none;border:0;color:var(--azul);cursor:pointer;padding:0;font:inherit;text-decoration:underline}.link-centro{text-align:center;font-size:13px}.multi{position:relative}.multi-boton{font:inherit;padding:7px 10px;border:1px solid #cfd6df;border-radius:6px;background:#fff;text-align:left;min-width:200px;cursor:pointer}.multi-panel{position:absolute;top:100%;left:0;z-index:20;background:#fff;border:1px solid var(--borde);border-radius:8px;box-shadow:0 8px 24px #0000001f;padding:8px 12px;max-height:320px;overflow-y:auto;min-width:240px}.multi-opcion{display:flex;gap:8px;align-items:center;padding:4px 0;font-size:13px}.tabla-contenedor{overflow-x:auto}.tabla{width:100%;border-collapse:collapse;font-size:13px}.tabla th{background:var(--azul-claro);color:var(--azul-oscuro);text-align:left;padding:8px 10px;font-weight:600;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;position:sticky;top:0}.tabla td{padding:7px 10px;border-bottom:1px solid var(--borde);vertical-align:top}.tabla tbody tr:nth-child(2n){background:#fafbfc}.tabla tr.clic{cursor:pointer}.tabla tr.clic:hover{background:#eef5fc}.tabla tfoot td{font-weight:700;background:#f1f4f8;border-top:2px solid #cbd5e1}.tabla .num{text-align:right;white-space:nowrap}.tabla .vacio{text-align:center;color:var(--suave);padding:20px}.tabla.compacta td,.tabla.compacta th{padding:6px 8px}.tabla tr.inactivo td{color:#9ca3af}.tabla-resumen{padding:10px 14px;border-bottom:1px solid var(--borde);font-size:13px}.tabla-nota{padding:8px 14px}.nowrap{white-space:nowrap}.acciones-fila{display:flex;gap:12px;white-space:nowrap}.semaforo{padding:2px 8px;border-radius:10px;font-weight:600}.semaforo.ok{background:#e3f4ec;color:var(--ok)}.semaforo.alerta{background:#fdf3dc;color:var(--alerta)}.semaforo.critico{background:#fbe4e1;color:var(--critico)}.icono-uso{font-weight:600;white-space:nowrap}.icono-uso .icono{display:inline-block;width:18px;height:18px;line-height:18px;border-radius:50%;text-align:center;color:#fff;font-size:11px}.icono-uso.ok .icono{background:var(--ok)}.icono-uso.alerta .icono{background:var(--alerta)}.icono-uso.critico .icono{background:var(--critico)}.chip{font-size:11px;padding:2px 8px;border-radius:10px;white-space:nowrap;font-weight:600}.chip.abierta{background:#e3f4ec;color:var(--ok)}.chip.cerrada{background:#eceff3;color:#4b5563}.chip.proceso{background:#fdf3dc;color:var(--alerta)}.negativo{color:var(--critico)}.texto-suave{color:var(--suave)}.aviso-texto{color:var(--alerta);font-weight:600}.error{background:#fbe4e1;color:var(--critico);padding:9px 12px;border-radius:6px;font-size:13px}.exito{background:#e3f4ec;color:var(--ok);padding:9px 12px;border-radius:6px;font-size:13px}.aviso{background:#fdf3dc;color:#8a5d00;padding:8px 12px;border-radius:6px;font-size:13px;margin:8px 0}.aviso-caja{border-color:#f0d48a;background:#fffaf0}.cargando,.cargando-pagina{color:var(--suave);padding:30px;text-align:center}.ficha{display:grid;grid-template-columns:repeat(4,1fr);gap:14px 20px}.ficha div{display:flex;flex-direction:column;gap:3px}.ficha span{font-size:11px;text-transform:uppercase;color:var(--suave);letter-spacing:.4px}.bloque{margin-bottom:12px}.fila-dato{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px dashed var(--borde);gap:12px}.fila-dato:last-child{border-bottom:0}.editor{border-color:#9cc0e3}.acceso{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--azul-oscuro),var(--azul));padding:20px}.acceso-caja{background:#fff;border-radius:12px;padding:32px 34px;width:100%;max-width:400px;box-shadow:0 20px 50px #00000040}.acceso-marca{color:var(--azul-oscuro);padding:0 0 18px;border-bottom:1px solid var(--borde);margin-bottom:18px}.acceso h1{font-size:18px;margin-bottom:18px}@media print{@page{size:A4 landscape;margin:10mm}.no-print,.sidebar{display:none!important}:root{background:#fff;font-size:11px}.contenido{padding:0}.tarjeta{break-inside:avoid;border-color:#ccc}.tabla th{position:static}.grilla-3{grid-template-columns:repeat(3,1fr)}.grilla-2{grid-template-columns:1.4fr 1fr}.kpis{grid-template-columns:repeat(5,1fr)}}
