:root,[data-theme=dark]{--fondo: #0b1120;--superficie: #111a2e;--superficie-2: #16213a;--borde: #23304d;--texto: #e6ebf5;--tenue: #8d9ab5;--primario: #4f8cff;--primario-texto: #ffffff;--ok: #22c55e;--aviso: #f59e0b;--error: #f87171;--sombra: 0 10px 30px rgba(0, 0, 0, .35);color-scheme:dark}[data-theme=light]{--fondo: #f4f6fb;--superficie: #ffffff;--superficie-2: #f0f3f9;--borde: #dde3ee;--texto: #142033;--tenue: #5b6b85;--primario: #1f5fd6;--primario-texto: #ffffff;--ok: #15803d;--aviso: #b45309;--error: #b91c1c;--sombra: 0 10px 30px rgba(20, 32, 51, .12);color-scheme:light}*{box-sizing:border-box}html,body{margin:0}body{background:var(--fondo);color:var(--texto);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:var(--primario);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:1.5rem;margin:0 0 4px;letter-spacing:-.01em}h2{font-size:1.1rem;margin:0}h3{font-size:1rem;margin:0 0 10px}small{font-size:.8em}.tenue{color:var(--tenue)}.bloque{display:block}.texto-error{color:var(--error)}:focus-visible{outline:2px solid var(--primario);outline-offset:2px}.marco{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}.lateral{background:var(--superficie);border-right:1px solid var(--borde);display:flex;flex-direction:column;gap:20px;padding:20px 14px;position:sticky;top:0;height:100vh}.marca{display:flex;align-items:center;gap:10px;padding:0 6px}.marca strong{display:block;font-size:.95rem}.marca span{display:block;font-size:.75rem;color:var(--tenue);text-transform:uppercase;letter-spacing:.08em}.lateral nav{display:flex;flex-direction:column;gap:4px}.lateral nav a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;color:var(--tenue);font-weight:500}.lateral nav a i{width:18px;text-align:center}.lateral nav a:hover{background:var(--superficie-2);color:var(--texto);text-decoration:none}.lateral nav a.active{background:color-mix(in srgb,var(--primario) 16%,transparent);color:var(--primario)}.lateral-pie{margin-top:auto;display:flex;align-items:center;gap:6px;border-top:1px solid var(--borde);padding-top:12px}.usuario{flex:1;min-width:0;font-size:.8rem;color:var(--tenue);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contenido{padding:28px 32px 48px;min-width:0}.boton{display:inline-flex;align-items:center;gap:8px;justify-content:center;background:var(--primario);color:var(--primario-texto);border:1px solid transparent;border-radius:8px;padding:8px 14px;font:inherit;font-weight:600;cursor:pointer;white-space:nowrap}.boton:hover{filter:brightness(1.08)}.boton:disabled{opacity:.6;cursor:progress}.boton--secundario{background:transparent;color:var(--texto);border-color:var(--borde)}.boton--secundario:hover{background:var(--superficie-2);filter:none}.boton-icono{background:transparent;border:1px solid transparent;color:var(--tenue);width:32px;height:32px;border-radius:8px;cursor:pointer;display:inline-grid;place-items:center}.boton-icono:hover{background:var(--superficie-2);color:var(--texto)}.boton-icono.peligro:hover{color:var(--error)}.boton-icono:disabled{opacity:.5;cursor:progress}.enlace{background:none;border:none;color:var(--primario);cursor:pointer;font:inherit;padding:0}.enlace-volver{display:inline-flex;align-items:center;gap:6px;color:var(--tenue);margin-bottom:12px;font-size:.85rem}.botonera{display:flex;gap:8px;flex-wrap:wrap}.pagina-cabeza{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.pagina-cabeza p{margin:0}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}.kpi{background:var(--superficie);border:1px solid var(--borde);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:2px}.kpi span{color:var(--tenue);font-size:.8rem}.kpi strong{font-size:1.35rem;font-variant-numeric:tabular-nums}.kpi small{color:var(--tenue)}.kpi--alerta{border-color:color-mix(in srgb,var(--error) 50%,var(--borde))}.kpi--alerta strong{color:var(--error)}.barra{display:flex;gap:12px;margin-bottom:12px}.buscador{display:flex;align-items:center;gap:8px;background:var(--superficie);border:1px solid var(--borde);border-radius:8px;padding:0 12px;width:min(360px,100%)}.buscador i{color:var(--tenue)}.buscador input{border:none;background:transparent;color:var(--texto);font:inherit;padding:9px 0;width:100%;outline:none}.tabla-envoltura{background:var(--superficie);border:1px solid var(--borde);border-radius:12px;overflow-x:auto}.tabla{width:100%;border-collapse:collapse}.tabla th{text-align:left;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--tenue);background:var(--superficie-2);padding:10px 14px;white-space:nowrap}.tabla td{padding:12px 14px;border-top:1px solid var(--borde);vertical-align:top}.tabla .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.tabla--clic tbody tr{cursor:pointer}.tabla--clic tbody tr:hover{background:var(--superficie-2)}.acciones-fila{white-space:nowrap;text-align:right}.vacio{color:var(--tenue);text-align:center;padding:32px 16px}.insignia{display:inline-block;font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:999px;margin:0 4px 4px 0;border:1px solid;text-transform:capitalize}.insignia--ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,transparent);background:color-mix(in srgb,var(--ok) 12%,transparent)}.insignia--aviso{color:var(--aviso);border-color:color-mix(in srgb,var(--aviso) 40%,transparent);background:color-mix(in srgb,var(--aviso) 12%,transparent)}.insignia--error{color:var(--error);border-color:color-mix(in srgb,var(--error) 40%,transparent);background:color-mix(in srgb,var(--error) 12%,transparent)}.insignia--neutro{color:var(--tenue);border-color:var(--borde)}.chips{display:flex;flex-wrap:wrap;gap:4px}.chip{font-size:.75rem;padding:2px 8px;border-radius:6px;background:var(--superficie-2);border:1px solid var(--borde)}.pestanas{display:flex;gap:20px;border-bottom:1px solid var(--borde);margin-bottom:16px;overflow-x:auto}.pestanas button{background:none;border:none;border-bottom:2px solid transparent;color:var(--tenue);font:inherit;font-weight:600;padding:10px 0;cursor:pointer;white-space:nowrap}.pestanas button.activa{color:var(--primario);border-bottom-color:var(--primario)}.filtros{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.filtros button{background:var(--superficie);border:1px solid var(--borde);color:var(--tenue);border-radius:999px;padding:6px 12px;font:inherit;font-size:.85rem;cursor:pointer}.filtros button.activo{color:var(--primario);border-color:var(--primario);background:color-mix(in srgb,var(--primario) 10%,transparent)}.tarjetas{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.tarjeta{background:var(--superficie);border:1px solid var(--borde);border-radius:12px;padding:16px}.contrato header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.contrato h3{margin:0}.contrato-alcance{color:var(--tenue);margin:6px 0 12px;font-size:.85rem}.contrato dl{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:0;font-size:.85rem}.contrato dt{color:var(--tenue)}.contrato dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.contrato footer{margin-top:12px;text-align:right}.reparto-lista{list-style:none;padding:10px 0 0;margin:10px 0 0;border-top:1px dashed var(--borde);font-size:.85rem}.reparto-lista li{display:flex;justify-content:space-between;gap:8px;padding:2px 0}.lista-empresas{list-style:none;padding:0;margin:0}.lista-empresas li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;border-top:1px solid var(--borde)}.lista-empresas li:first-child{border-top:none}.alinear-arriba{align-items:start}.formulario{display:flex;flex-direction:column;gap:14px}.rejilla-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rejilla-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.campo{display:flex;flex-direction:column;gap:5px;min-width:0}.campo-etiqueta{font-size:.8rem;font-weight:600;color:var(--texto)}.campo-ayuda{font-size:.78rem;color:var(--tenue);margin:0}input,select,textarea{font:inherit;color:var(--texto);background:var(--superficie-2);border:1px solid var(--borde);border-radius:8px;padding:8px 10px;width:100%;min-width:0}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primario);box-shadow:0 0 0 3px color-mix(in srgb,var(--primario) 22%,transparent)}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--primario)}input[type=file]{padding:6px}.grupo-opciones{border:1px solid var(--borde);border-radius:10px;padding:10px 14px;display:flex;flex-direction:column;gap:8px;margin:0}.grupo-opciones legend{font-size:.8rem;font-weight:600;padding:0 6px}.grupo-opciones label,.interruptor{display:flex;align-items:center;gap:8px;cursor:pointer}.interruptor{padding:6px 0}.reparto{display:flex;flex-direction:column;gap:8px}.reparto-fila{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:10px;align-items:center}.reparto-fila small{display:block;color:var(--tenue)}.acciones{display:flex;justify-content:flex-end;gap:8px}.error{color:var(--error);margin:0}.modal-fondo{position:fixed;inset:0;background:#050a1499;display:grid;place-items:center;padding:16px;z-index:50}.modal{background:var(--superficie);border:1px solid var(--borde);border-radius:14px;box-shadow:var(--sombra);width:100%;max-height:calc(100vh - 32px);display:flex;flex-direction:column}.modal-cabeza{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--borde)}.modal-cuerpo{padding:18px 20px 20px;overflow-y:auto}.aviso{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:10px;margin-bottom:14px;border:1px solid}.aviso--ok{color:var(--ok);background:color-mix(in srgb,var(--ok) 10%,transparent)}.aviso--error{color:var(--error);background:color-mix(in srgb,var(--error) 10%,transparent)}.estado-pantalla{min-height:100vh;display:grid;place-content:center;text-align:center;gap:8px;padding:16px;color:var(--tenue)}.estado-pantalla i{font-size:2rem}.estado-pantalla h1{color:var(--texto)}@media(max-width:860px){.marco{grid-template-columns:minmax(0,1fr)}.lateral{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;padding:12px 16px;gap:12px}.lateral nav{flex-direction:row}.lateral-pie{margin:0 0 0 auto;border:none;padding:0}.usuario{display:none}.contenido{padding:20px 16px 40px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.rejilla-2,.rejilla-3{grid-template-columns:minmax(0,1fr)}.reparto-fila{grid-template-columns:minmax(0,1fr) 120px}}
