:root{--azul-profundo: #0b2545;--azul-medio: #1d4ed8;--turquesa: #0d9488;--bg: #f4f7fb;--panel: #ffffff;--panel-2: #eef2f9;--border: #dbe3ef;--text: #101828;--muted: #5b6b85;--accent: var(--azul-medio);--green: #16a34a;--red: #dc2626;--amber: #d97706;--shadow-card: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .06);font-family:Segoe UI,system-ui,-apple-system,sans-serif;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}h2{margin-top:0}.app-shell{display:flex;flex-direction:column;min-height:100vh}.topbar{display:flex;align-items:center;gap:14px;padding:0 20px;height:56px;flex-shrink:0;background:var(--panel);border-bottom:1px solid var(--border);box-shadow:var(--shadow-card);position:sticky;top:0;z-index:15}.topbar-menu-btn{background:transparent;color:var(--azul-profundo);border:1px solid var(--border);border-radius:6px;width:36px;height:36px;padding:0;font-size:18px;display:flex;align-items:center;justify-content:center}.topbar-menu-btn:hover{background:var(--panel-2)}.topbar-marca{font-weight:700;color:var(--azul-profundo);font-size:15px;white-space:nowrap}.topbar-contexto{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.topbar-contexto select{max-width:220px}.topbar-derecha{display:flex;align-items:center;gap:14px;margin-left:auto}.topbar-usuario{display:flex;align-items:center;gap:8px;font-size:13px}.topbar-usuario .nombre{font-weight:600}.topbar-sylexa{font-size:11px;color:var(--muted);white-space:nowrap}.nav-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b254559;z-index:25}.nav-drawer{position:fixed;top:0;left:0;bottom:0;width:280px;max-width:85vw;background:var(--panel);border-right:1px solid var(--border);z-index:26;display:flex;flex-direction:column;overflow-y:auto;box-shadow:4px 0 24px #10182826}.nav-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.nav-drawer nav{display:flex;flex-direction:column;padding:8px 0}.nav-drawer a{color:var(--text);text-decoration:none;padding:10px 16px;font-size:14px;border-left:3px solid transparent}.nav-drawer a.active{color:var(--azul-medio);background:var(--panel-2);border-left-color:var(--azul-medio);font-weight:600}.nav-drawer a:hover{background:var(--panel-2)}.nav-section-title{padding:14px 16px 4px;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--turquesa)}.nav-divider{height:1px;background:var(--border);margin:10px 16px}.empresa-selector select{padding:6px;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:4px;font-size:13px}.main{flex:1;padding:24px 32px;width:100%;max-width:1800px;margin:0 auto}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:24px}.card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:14px 16px}.card .label{font-size:12px;color:var(--muted);margin-bottom:6px}.card .value{font-size:22px;font-weight:600}.card .value.green{color:var(--green)}.card .value.red{color:var(--red)}.card .value.amber{color:var(--amber)}.quick-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}button,.btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:8px 14px;cursor:pointer;font-size:13px}button.secondary{background:var(--panel-2);border:1px solid var(--border);color:var(--text)}button.danger{background:var(--red)}button:disabled{opacity:.5;cursor:not-allowed}table{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:24px}th,td{padding:8px 10px;border-bottom:1px solid var(--border);text-align:left}th{color:var(--muted);font-weight:500}tr.vencida td{color:var(--red)}.badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;background:var(--panel-2);border:1px solid var(--border)}.badge.PAGADA,.badge.COBRADA,.badge.CONFIRMADO,.badge.ACREDITADO,.badge.LIQUIDADA,.badge.REVISADO{color:var(--green);border-color:var(--green)}.badge.VENCIDA,.badge.VENCIDO{color:var(--red);border-color:var(--red)}.badge.PARCIAL,.badge.PARCIALMENTE_ACREDITADO,.badge.CON_DIFERENCIA{color:var(--amber);border-color:var(--amber)}.badge.ANULADA,.badge.ANULADO{color:var(--muted);text-decoration:line-through}.filtros{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;align-items:flex-end}.filtros label{display:flex;flex-direction:column;font-size:12px;color:var(--muted);gap:4px}input,select,textarea{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:6px 8px;font-size:13px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto;z-index:20}.modal{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:20px;width:100%;max-width:480px}.modal h3{margin-top:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.form-grid label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.form-grid label.full{grid-column:1 / -1}.form-actions{display:flex;justify-content:flex-end;gap:8px}.error-msg{color:var(--red);font-size:13px;margin-bottom:10px}.hint{color:var(--muted);font-size:12px}.aplicaciones-lista{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.aplicacion-fila{display:flex;align-items:center;gap:8px;font-size:13px}.tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--border)}.tabs button{background:transparent;color:var(--muted);border-radius:6px 6px 0 0;border-bottom:2px solid transparent}.tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.posicion-header{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:12px;margin-bottom:8px}.posicion-header .fecha-corte{color:var(--muted);font-size:12px}.section-block{margin:28px 0}.section-block h3{font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:10px}.card.clickable{cursor:pointer;transition:border-color .15s}.card.clickable:hover{border-color:var(--accent)}.posicion-neta-banner{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(90deg,var(--panel-2),var(--panel));border:1px solid var(--border);border-radius:8px;padding:16px 20px;margin-bottom:24px}.posicion-neta-banner .titulo{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.posicion-neta-banner .subtitulo{font-size:11px;color:var(--muted);margin-top:2px}.posicion-neta-banner .valor{font-size:26px;font-weight:700}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media (max-width: 900px){.two-col{grid-template-columns:1fr}}.brecha-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.table-wrap{overflow-x:auto;margin-bottom:8px}.row-clickable{cursor:pointer}.row-clickable:hover td{background:var(--panel-2)}.empty-state{color:var(--muted);font-size:13px;padding:12px 0}.red{color:var(--red)}.green{color:var(--green)}.amber{color:var(--amber)}.ranking-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.ranking-list li{display:flex;justify-content:space-between;font-size:13px;padding:6px 0;border-bottom:1px solid var(--border)}.chart-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px}@media (max-width: 900px){.chart-grid{grid-template-columns:1fr}}.chart-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:14px 16px}.chart-card h4{margin:0 0 10px;font-size:13px;color:var(--muted);font-weight:500}.legend{display:flex;gap:14px;font-size:11px;color:var(--muted);margin-top:6px}.legend span.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}.badge.CON_DIFERENCIA{color:var(--amber);border-color:var(--amber)}.wizard-steps{display:flex;gap:4px;list-style:none;margin:0 0 24px;padding:0;flex-wrap:wrap}.wizard-steps li{padding:6px 12px;border-radius:14px;font-size:12px;background:var(--panel);border:1px solid var(--border);color:var(--muted)}.wizard-steps li.activo{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.wizard-steps li.hecho{color:var(--green);border-color:var(--green)}.dropzone{border:1px dashed var(--border);border-radius:8px;padding:20px;margin-bottom:12px}.archivo-info{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.conciliar-dos-paneles{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;align-items:start}@media (max-width: 1000px){.conciliar-dos-paneles{grid-template-columns:1fr}}.panel-izquierdo table tr.fila-activa td{background:var(--panel-2);border-left:2px solid var(--accent)}.panel-derecho{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:16px;position:sticky;top:16px;max-height:calc(100vh - 32px);overflow-y:auto}.detalle-movimiento{display:flex;flex-direction:column;gap:6px;font-size:13px;margin-bottom:16px}.detalle-movimiento .hint{display:inline-block;width:100px}.alerta-ambigua{background:#f2b84b1f;border:1px solid var(--amber);color:var(--amber);border-radius:6px;padding:8px 12px;font-size:12px;margin-bottom:12px}.candidato-bloque{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border)}.candidato-bloque:last-child{border-bottom:none}.candidato-card{background:var(--panel-2);border:1px solid var(--border);border-radius:6px;padding:10px 12px;margin-bottom:8px}.candidato-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.explicacion-match{margin:8px 0 0;font-style:italic}.lista-seleccionable{max-height:220px;overflow-y:auto;border:1px solid var(--border);border-radius:6px;padding:6px;display:flex;flex-direction:column;gap:2px}.fila-seleccionable{display:flex;align-items:center;gap:8px;font-size:12px;padding:4px;cursor:pointer}.fila-seleccionable:hover{background:var(--panel-2);border-radius:4px}:focus-visible{outline:2px solid var(--azul-medio);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.login-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}@media (max-width: 860px){.login-shell{grid-template-columns:1fr}.login-marca{display:none}}.login-formulario{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:32px;background:var(--panel)}.login-formulario-caja{width:100%;max-width:360px}.login-formulario h1{font-size:22px;color:var(--azul-profundo);margin:18px 0 4px}.login-formulario .bienvenida{color:var(--muted);font-size:14px;margin-bottom:28px}.login-campo{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.login-campo label{font-size:13px;font-weight:600;color:var(--text)}.login-campo input{padding:10px 12px;font-size:14px}.login-fila-opciones{display:flex;justify-content:space-between;align-items:center;margin:4px 0 20px;font-size:13px}.login-fila-opciones label{display:flex;align-items:center;gap:6px;color:var(--muted);font-weight:400}.login-fila-opciones a{color:var(--azul-medio);text-decoration:none;font-size:13px}.login-fila-opciones a:hover{text-decoration:underline}.login-formulario button[type=submit]{width:100%;padding:11px;font-size:14px;font-weight:600;background:var(--azul-medio)}.login-marca{background:linear-gradient(160deg,var(--azul-profundo),#123b6e 60%,var(--turquesa));color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px;gap:20px}.login-marca .tagline{font-size:15px;max-width:340px;opacity:.92;line-height:1.5}.marca-sylexa{display:inline-flex;align-items:baseline;gap:2px;font-weight:800;letter-spacing:.02em}.marca-sylexa .sy{color:var(--turquesa)}.marca-sylexa .lexa{color:#fff}.marca-sy-tesoreria{display:inline-flex;flex-direction:column;align-items:flex-start;line-height:1.1}.marca-sy-tesoreria .sy{font-weight:800;color:var(--azul-profundo);font-size:1.15em}.marca-sy-tesoreria .tesoreria{font-weight:500;color:var(--turquesa);font-size:.6em;letter-spacing:.08em;text-transform:uppercase}.selector-empresa-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:24px}.selector-empresa-caja{background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-card);padding:32px;width:100%;max-width:420px}.lista-empresas-selector{display:flex;flex-direction:column;gap:8px;margin-top:16px}.opcion-empresa{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--panel);cursor:pointer;text-align:left;width:100%;color:var(--text)}.opcion-empresa:hover{border-color:var(--azul-medio);background:var(--panel-2)}.opcion-empresa .rol{font-size:12px;color:var(--muted)}.toast-contenedor{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:8px;z-index:60;max-width:360px}.toast{background:var(--panel);border:1px solid var(--border);border-left:4px solid var(--azul-medio);border-radius:8px;box-shadow:var(--shadow-card);padding:12px 14px;font-size:13px;display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.toast.exito{border-left-color:var(--green)}.toast.error{border-left-color:var(--red)}.toast.advertencia{border-left-color:var(--amber)}.toast button{background:transparent;color:var(--muted);padding:0 4px;font-size:14px}.confirm-dialog .mensaje{font-size:14px;margin-bottom:20px}.pantalla-error{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center}.pantalla-error h2{color:var(--azul-profundo)}
