:root{--accent:#2f7d5d;--accent-border:color-mix(in srgb, var(--accent) 42%, var(--border));--accent-hover:#2a7054;--accent-soft:color-mix(in srgb, var(--accent) 13%, var(--panel));--accent-strong:#0a87af;--accent-text:#fff;--bg:#f4f2ee;--bg-glow-a:color-mix(in srgb, var(--accent) 10%, transparent);--bg-glow-b:color-mix(in srgb, var(--accent) 6%, transparent);--bg-glow-c:color-mix(in srgb, var(--accent) 3.6%, transparent);--bg-glow-d:color-mix(in srgb, var(--accent) 4.8%, transparent);--bg-glow-e:color-mix(in srgb, var(--accent) 4.2%, transparent);--bg-noise-opacity:.032;--border:#d8d3c8;--border-soft:#e2ded6;--attention-bg:#fff0df;--attention-text:#9a4d12;--danger-bg:#fdecec;--danger-text:#a83232;--muted:#70766e;--muted-strong:#687068;--panel:#fff;--panel-subtle:#fffefa;--rail-bg:#f9f8f5;--shadow-line:#ffffffc2;--state-bg:#e7e4dc;--state-text:#3e4641;--success-bg:#e7f2ea;--success-text:#1f6c45;--text:#1d2527;--text-strong:#182220;--text-soft:#26302d;--warning-bg:#fff5cf;--warning-text:#7b5d10;color:var(--text);background:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{--accent:#61b890;--accent-border:color-mix(in srgb, var(--accent) 42%, var(--border));--accent-hover:#75c49e;--accent-soft:color-mix(in srgb, var(--accent) 13%, var(--panel));--accent-strong:#17352b;--accent-text:#0b1712;--bg:#111613;--bg-glow-a:color-mix(in srgb, var(--accent) 9%, transparent);--bg-glow-b:color-mix(in srgb, var(--accent) 5.4%, transparent);--bg-glow-c:color-mix(in srgb, var(--accent) 3.2%, transparent);--bg-glow-d:color-mix(in srgb, var(--accent) 4.2%, transparent);--bg-glow-e:color-mix(in srgb, var(--accent) 3.8%, transparent);--bg-noise-opacity:.026;--border:#34423b;--border-soft:#2a352f;--attention-bg:#382816;--attention-text:#f4b36b;--danger-bg:#3b1d1f;--danger-text:#f09a9a;--muted:#a3ada5;--muted-strong:#b0bab2;--panel:#171e1a;--panel-subtle:#141b17;--rail-bg:#121916;--shadow-line:#ffffff0a;--state-bg:#26302c;--state-text:#dbe3dc;--success-bg:#173528;--success-text:#93dab5;--text:#e7ece7;--text-strong:#f3f6f2;--text-soft:#d7ddd8;--warning-bg:#332a13;--warning-text:#f2d47a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:radial-gradient(ellipse 980px 560px at 86% 8%, var(--bg-glow-a), transparent 70%), radial-gradient(ellipse 860px 520px at 15% 78%, var(--bg-glow-b), transparent 72%), radial-gradient(ellipse 980px 520px at 74% 118%, var(--bg-glow-c), transparent 74%), radial-gradient(ellipse 760px 460px at 108% 88%, var(--bg-glow-e), transparent 76%), radial-gradient(ellipse 720px 420px at 47% 38%, var(--bg-glow-d), transparent 78%), var(--bg);min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}body:before{content:"";z-index:0;pointer-events:none;mix-blend-mode:soft-light;opacity:var(--bg-noise-opacity);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.78' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='0.58'/%3E%3C/svg%3E");background-size:180px 180px;position:fixed;inset:0}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit}.app-shell{z-index:1;grid-template-columns:auto minmax(0,1fr);min-height:100vh;display:grid;position:relative}.workspace{min-width:0;max-width:100vw;padding:0 32px 48px}.topbar{z-index:20;border-bottom:1px solid color-mix(in srgb, var(--border) 62%, transparent);background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:none;justify-content:space-between;align-items:flex-start;gap:24px;margin:0 -32px 18px;padding:22px 32px 18px;display:flex;position:sticky;top:0}h1,h2,h3,p{margin:0}h1{color:var(--text-strong);font-size:28px;font-weight:760;line-height:1.1}h2{color:var(--text-strong);font-size:17px;font-weight:720;line-height:1.2}h3{color:var(--text-soft);font-size:14px;font-weight:760;line-height:1.25}.topbar p,.panel-heading p,.page-intro{color:var(--muted);margin-top:6px;font-size:13px;line-height:1.45}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.topbar-actions .button{width:auto}.actions{grid-template-columns:repeat(3,minmax(138px,1fr));gap:10px;min-width:min(100%,468px);display:grid}.button{white-space:nowrap;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:38px;padding:0 13px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.button.primary{background:var(--accent);color:var(--accent-text)}.button.primary:hover{background:var(--accent-hover)}.button.secondary{background:var(--panel);border-color:var(--border);color:var(--text-soft)}.button.dark{background:var(--accent-strong);color:var(--accent-text)}.button.ghost{border-color:var(--border);width:auto;color:var(--text-soft);background:0 0}.notice{border-radius:8px;align-items:center;gap:10px;margin-bottom:16px;padding:12px 14px;font-size:14px;font-weight:650;display:flex}.notice.success{background:var(--success-bg);color:var(--success-text)}.notice.warning{background:var(--warning-bg);color:var(--warning-text)}.notice.error,.setup-panel{background:var(--danger-bg);color:var(--danger-text)}.setup-panel,.empty-panel{border:1px solid var(--border);border-radius:8px;align-items:center;gap:18px;padding:24px;display:flex}.empty-panel{background:var(--panel);min-height:280px;color:var(--text-soft);text-align:center;flex-direction:column;justify-content:center}.setup-panel p{color:var(--danger-text);margin-top:6px;font-size:13px}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0;display:grid}.metric{border:1px solid var(--border);background:var(--panel);border-radius:8px;align-content:start;min-width:0;min-height:112px;padding:16px;display:grid}.metric svg{color:var(--accent);width:20px;height:20px;margin-bottom:12px}.metric span{color:var(--muted-strong);text-transform:uppercase;margin-bottom:4px;font-size:12px;font-weight:700;display:block}.metric strong{color:var(--text-strong);font-size:20px;line-height:1.15;display:block}.data-panel{border:1px solid var(--border);background:var(--panel);border-radius:8px;max-width:100%;margin-top:18px;overflow:hidden}.panel-heading{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:flex-start;gap:16px;min-height:82px;padding:16px 18px;display:flex}.panel-heading>div{gap:6px;min-width:0;display:grid}.panel-heading p{margin-top:0}.panel-details{display:block}.collapsible-heading{cursor:pointer;list-style:none}.collapsible-heading::-webkit-details-marker{display:none}.panel-details:not([open])>.collapsible-heading{border-bottom:0}.panel-collapse-status{color:var(--muted);text-align:right;place-self:center end;font-size:12px;font-weight:800;line-height:1.25}.panel-collapse-status .when-open,.panel-details[open]>.collapsible-heading .panel-collapse-status .when-closed{display:none}.panel-details[open]>.collapsible-heading .panel-collapse-status .when-open{display:inline}.panel-action-row{border-top:1px solid var(--border-soft);grid-template-columns:repeat(2,minmax(180px,260px));justify-content:center;gap:10px;padding:14px 16px 16px;display:grid}.panel-action-row.single{grid-template-columns:minmax(180px,530px)}.panel-action-chip{border:1px solid var(--border);min-height:42px;color:var(--text-strong);border-radius:8px;justify-content:center;align-items:center;padding:0 14px;font-size:14px;font-weight:760;text-decoration:none;display:inline-flex}.panel-action-chip:hover{border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent-strong)}.table-wrap{max-width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:760px}th,td{border-bottom:1px solid var(--border-soft);text-align:left;vertical-align:middle;padding:13px 16px}th{color:var(--muted-strong);letter-spacing:0;text-transform:uppercase;font-size:11px;font-weight:800}td{color:var(--text-soft);font-size:13px}tr:last-child td{border-bottom:0}.mono{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px}.muted,.empty-cell{color:var(--muted)}.empty-cell{text-align:center;padding:24px 16px}.amount{white-space:nowrap;font-weight:750}.state{background:var(--state-bg);min-height:24px;color:var(--state-text);text-transform:uppercase;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:0 9px;font-size:11px;font-weight:800;display:inline-flex}.state.ok,.state.activo,.state.validado,.state.validada,.state.hecha,.state.hecho,.state.aprobada,.state.aprobado,.state.cerrada,.state.completado,.state.conciliada,.state.confirmada,.state.documento-origen-recibido,.state.enviado,.state.finalizado,.state.generado,.state.incluida-en-lote,.state.listo,.state.pagada,.state.pagado,.state.procesada,.state.ready,.state.recibido,.state.suficiente{background:var(--success-bg);color:var(--success-text)}.state.selected,.state.brand{background:var(--accent-soft);color:var(--accent-strong)}.state.blocked,.state.anulada,.state.anulado,.state.blocker,.state.bloqueada,.state.bloqueado,.state.cancelada,.state.cancelado,.state.con-errores,.state.error,.state.fallido,.state.faltante,.state.inactiva,.state.inactivo,.state.rechazada,.state.rechazado{background:var(--danger-bg);color:var(--danger-text)}.state.draft,.state.borrador{background:var(--state-bg);color:var(--state-text)}.state.waiting,.state.abierta,.state.en-curso,.state.en-preparacion,.state.espera-externa,.state.espera-respuesta-externa,.state.in-progress,.state.pendiente,.state.presentado-externamente,.state.presentado,.state.warning{background:var(--warning-bg);color:var(--warning-text)}.state.attention,.state.ajuste-requerido,.state.lista-aprobacion,.state.needs-review,.state.no-aplica,.state.observada,.state.observado,.state.parcialmente-pagada,.state.propuesta,.state.reemplazado,.state.revisar{background:var(--attention-bg);color:var(--attention-text)}.link-cell{color:var(--accent);font-weight:760;text-decoration:none}.link-cell:hover{text-decoration:underline}.stack-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.stack-card{border:1px solid var(--border-soft);background:var(--panel);border-radius:8px;padding:14px}.stack-card header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.stack-card p{color:var(--muted);font-size:13px;line-height:1.45}:root[data-theme=dark] body{color:var(--text)}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{border-color:var(--border)!important;background:var(--panel)!important;color:var(--text)!important}:root[data-theme=dark] input::placeholder,:root[data-theme=dark] textarea::placeholder{color:var(--muted)!important}:root[data-theme=dark] input[type=color]{background:0 0!important}:root[data-theme=dark] .topbar,:root[data-theme=dark] .table-tools,:root[data-theme=dark] .form-section,:root[data-theme=dark] .compact-workflow,:root[data-theme=dark] .payroll-controls,:root[data-theme=dark] .new-period-form,:root[data-theme=dark] .receipt-row,:root[data-theme=dark] .account-row,:root[data-theme=dark] .timeline-row,:root[data-theme=dark] .employee-filters,:root[data-theme=dark] .bulk-body,:root[data-theme=dark] .action-card form{border-color:var(--border-soft)!important;background:var(--panel-subtle)!important;color:var(--text)!important}:root[data-theme=dark] .data-panel,:root[data-theme=dark] .metric,:root[data-theme=dark] .stack-card,:root[data-theme=dark] .step-strip,:root[data-theme=dark] .empty-panel,:root[data-theme=dark] .setup-panel,:root[data-theme=dark] .payroll-command,:root[data-theme=dark] .next-step,:root[data-theme=dark] .summary-card,:root[data-theme=dark] .workflow-card,:root[data-theme=dark] .treasury-summary,:root[data-theme=dark] .treasury-status,:root[data-theme=dark] .status-box,:root[data-theme=dark] .comparison-panel,:root[data-theme=dark] .claims-card,:root[data-theme=dark] .bulk-panel,:root[data-theme=dark] .action-card,:root[data-theme=dark] .request-card,:root[data-theme=dark] .task-card,:root[data-theme=dark] .requirement-card,:root[data-theme=dark] .process-card,:root[data-theme=dark] .detail-card,:root[data-theme=dark] .document-card,:root[data-theme=dark] .timeline-card,:root[data-theme=dark] .service-card,:root[data-theme=dark] .bank-card,:root[data-theme=dark] .filter-panel,:root[data-theme=dark] .profile-card,:root[data-theme=dark] .company-card,:root[data-theme=dark] .team-card,:root[data-theme=dark] .secondary-action-panel,:root[data-theme=dark] .panel-body{border-color:var(--border)!important;background:var(--panel)!important;color:var(--text)!important}:root[data-theme=dark] .panel-heading,:root[data-theme=dark] .stack-card header,:root[data-theme=dark] .card-heading,:root[data-theme=dark] th,:root[data-theme=dark] td,:root[data-theme=dark] tr,:root[data-theme=dark] .table-wrap,:root[data-theme=dark] .status-box footer{border-color:var(--border-soft)!important}:root[data-theme=dark] .button.secondary,:root[data-theme=dark] .button.ghost,:root[data-theme=dark] .secondary-button,:root[data-theme=dark] .ghost-button,:root[data-theme=dark] .mini-button,:root[data-theme=dark] .new-period-details>summary{border-color:var(--border)!important;background:var(--panel)!important;color:var(--text)!important}:root[data-theme=dark] .button.primary,:root[data-theme=dark] .primary-button,:root[data-theme=dark] .mini-button.primary{border-color:var(--accent)!important;background:var(--accent)!important;color:var(--accent-text)!important}:root[data-theme=dark] .button.dark,:root[data-theme=dark] .dark-button{border-color:var(--accent-strong)!important;background:var(--accent-strong)!important;color:var(--accent-text)!important}:root[data-theme=dark] .mini-button.danger{border-color:color-mix(in srgb, var(--danger-text) 42%, var(--border))!important;background:var(--danger-bg)!important;color:var(--danger-text)!important}:root[data-theme=dark] h1,:root[data-theme=dark] h2,:root[data-theme=dark] h3,:root[data-theme=dark] strong,:root[data-theme=dark] .amount,:root[data-theme=dark] .metric strong,:root[data-theme=dark] .treasury-status strong,:root[data-theme=dark] .summary-card strong,:root[data-theme=dark] .status-box strong,:root[data-theme=dark] .workflow-card strong,:root[data-theme=dark] .request-card strong,:root[data-theme=dark] .task-card strong,:root[data-theme=dark] .document-card strong,:root[data-theme=dark] .detail-card strong,:root[data-theme=dark] .team-card strong,:root[data-theme=dark] td strong{color:var(--text-strong)!important}:root[data-theme=dark] .status-pill,:root[data-theme=dark] strong.status-pill,:root[data-theme=dark] .state{background:var(--state-bg)!important;color:var(--state-text)!important}:root[data-theme=dark] .status-pill.blocked,:root[data-theme=dark] .status-pill.bloqueado,:root[data-theme=dark] strong.status-pill.blocked,:root[data-theme=dark] strong.status-pill.bloqueado,:root[data-theme=dark] .state.blocked,:root[data-theme=dark] .state.anulada,:root[data-theme=dark] .state.anulado,:root[data-theme=dark] .state.blocker,:root[data-theme=dark] .state.bloqueada,:root[data-theme=dark] .state.bloqueado,:root[data-theme=dark] .state.cancelada,:root[data-theme=dark] .state.cancelado,:root[data-theme=dark] .state.con-errores,:root[data-theme=dark] .state.error,:root[data-theme=dark] .state.fallido,:root[data-theme=dark] .state.faltante,:root[data-theme=dark] .state.inactiva,:root[data-theme=dark] .state.inactivo,:root[data-theme=dark] .state.rechazada,:root[data-theme=dark] .state.rechazado{background:var(--danger-bg)!important;color:var(--danger-text)!important}:root[data-theme=dark] .status-pill.listo,:root[data-theme=dark] .status-pill.completado,:root[data-theme=dark] strong.status-pill.listo,:root[data-theme=dark] strong.status-pill.completado,:root[data-theme=dark] .state.ok,:root[data-theme=dark] .state.done,:root[data-theme=dark] .state.hecha,:root[data-theme=dark] .state.hecho,:root[data-theme=dark] .state.validado,:root[data-theme=dark] .state.validada,:root[data-theme=dark] .state.aprobada,:root[data-theme=dark] .state.aprobado,:root[data-theme=dark] .state.cerrada,:root[data-theme=dark] .state.completado,:root[data-theme=dark] .state.conciliada,:root[data-theme=dark] .state.confirmada,:root[data-theme=dark] .state.documento-origen-recibido,:root[data-theme=dark] .state.enviado,:root[data-theme=dark] .state.finalizado,:root[data-theme=dark] .state.generado,:root[data-theme=dark] .state.incluida-en-lote,:root[data-theme=dark] .state.listo,:root[data-theme=dark] .state.pagada,:root[data-theme=dark] .state.pagado,:root[data-theme=dark] .state.procesada,:root[data-theme=dark] .state.ready,:root[data-theme=dark] .state.recibido,:root[data-theme=dark] .state.suficiente{background:var(--success-bg)!important;color:var(--success-text)!important}:root[data-theme=dark] .state.waiting,:root[data-theme=dark] .state.abierta,:root[data-theme=dark] .state.en-curso,:root[data-theme=dark] .state.en-preparacion,:root[data-theme=dark] .state.espera-externa,:root[data-theme=dark] .state.espera-respuesta-externa,:root[data-theme=dark] .state.in-progress,:root[data-theme=dark] .state.pendiente,:root[data-theme=dark] .state.presentado-externamente,:root[data-theme=dark] .state.presentado,:root[data-theme=dark] .state.warning{background:var(--warning-bg)!important;color:var(--warning-text)!important}:root[data-theme=dark] .state.attention,:root[data-theme=dark] .state.ajuste-requerido,:root[data-theme=dark] .state.lista-aprobacion,:root[data-theme=dark] .state.needs-review,:root[data-theme=dark] .state.no-aplica,:root[data-theme=dark] .state.observada,:root[data-theme=dark] .state.observado,:root[data-theme=dark] .state.parcialmente-pagada,:root[data-theme=dark] .state.propuesta,:root[data-theme=dark] .state.reemplazado,:root[data-theme=dark] .state.revisar{background:var(--attention-bg)!important;color:var(--attention-text)!important}:root[data-theme=dark] p,:root[data-theme=dark] small,:root[data-theme=dark] label,:root[data-theme=dark] .muted,:root[data-theme=dark] .empty-cell,:root[data-theme=dark] .page-intro,:root[data-theme=dark] .panel-heading p,:root[data-theme=dark] .stack-card p,:root[data-theme=dark] .result-count,:root[data-theme=dark] .metric span,:root[data-theme=dark] .field-hint,:root[data-theme=dark] .form-help,:root[data-theme=dark] .card-subtitle{color:var(--muted)!important}:root[data-theme=dark] .collapsible-panel>summary:after{border-color:var(--border)!important;background-color:var(--panel)!important;color:var(--text)!important}:root[data-theme=dark] .field-warning,:root[data-theme=dark] .inline-warning{color:var(--danger-text)!important}:root[data-theme=dark] .inline-warning,:root[data-theme=dark] input[aria-invalid=true]{border-color:color-mix(in srgb, var(--danger-text) 42%, var(--border))!important;background:var(--danger-bg)!important}:root[data-theme=dark] .step-item{border-color:var(--border-soft)!important;color:var(--muted)!important}:root[data-theme=dark] .step-item span{background:var(--state-bg)!important;color:var(--state-text)!important}:root[data-theme=dark] .step-item.active span,:root[data-theme=dark] .step-item.done span{background:var(--accent)!important;color:var(--accent-text)!important}:root[data-theme=dark] .step-item.done strong{color:var(--success-text)!important}:root[data-theme=dark] .claim-list .warning{background:var(--warning-bg)!important;color:var(--warning-text)!important}:root[data-theme=dark] .claim-list .blocker{background:var(--danger-bg)!important;color:var(--danger-text)!important}:root[data-theme=dark] .metric.warning{border-color:color-mix(in srgb, var(--danger-text) 42%, var(--border))!important;background:var(--danger-bg)!important}:root[data-theme=dark] .metric.warning svg,:root[data-theme=dark] .metric.warning strong{color:var(--danger-text)!important}:root[data-theme=dark] .status-box.ok,:root[data-theme=dark] .treasury-status.ok,:root[data-theme=dark] .workflow-card.ok,:root[data-theme=dark] .comparison-panel.ok{border-color:color-mix(in srgb, var(--success-text) 42%, var(--border))!important;background:var(--success-bg)!important}:root[data-theme=dark] .status-box.blocked,:root[data-theme=dark] .treasury-status.blocked,:root[data-theme=dark] .workflow-card.blocked,:root[data-theme=dark] .comparison-panel.blocked,:root[data-theme=dark] .setup-panel{border-color:color-mix(in srgb, var(--danger-text) 42%, var(--border))!important;background:var(--danger-bg)!important}:root[data-theme=dark] .status-box.warning,:root[data-theme=dark] .treasury-status.warning,:root[data-theme=dark] .workflow-card.warning,:root[data-theme=dark] .comparison-panel.warning{border-color:color-mix(in srgb, var(--warning-text) 42%, var(--border))!important;background:var(--warning-bg)!important}@media (width<=960px){.app-shell{grid-template-columns:1fr}.workspace{padding:0 16px 36px}.topbar{margin:0 -16px 16px;padding:18px 16px 18px 72px;display:grid}.topbar-actions{justify-content:stretch}.actions{grid-template-columns:1fr;min-width:0}.actions form,.topbar-actions .button,.button{width:100%}.panel-action-row,.panel-action-row.single,.metrics-grid{grid-template-columns:1fr}}
