@font-face{font-family:Archivo;src:url(/fonts/archivo.woff2)format("woff2");font-weight:500 800;font-style:normal;font-display:swap}@font-face{font-family:Public Sans;src:url(/fonts/publicsans.woff2)format("woff2");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/plexmono.woff2)format("woff2");font-weight:500 600;font-style:normal;font-display:swap}:root{--bg:#f5f7f4;--surface:#fff;--surface-2:#eef1ec;--ink:#12201d;--ink-muted:#56655f;--ink-faint:#8b978f;--border:#d8ded6;--accent:#0b5d66;--accent-ink:#fff;--accent-soft:#e1efec;--seal:#a8532a;--success:#2e8f5c;--success-soft:#e3f1e8;--warning:#b8862b;--warning-soft:#f6edda;--critical:#b23b2e;--critical-soft:#f8e4e0;--regime-pf:#3e6b8a;--regime-pf-soft:#e4ebf0;--regime-pfr:#0b5d66;--regime-pfr-soft:#e1efec;--regime-pm:#a8532a;--regime-pm-soft:#f3e4da;--regime-pmr:#6b7a3a;--regime-pmr-soft:#ebeedd;--font-display:"Archivo", ui-sans-serif, system-ui, sans-serif;--font-body:"Public Sans", ui-sans-serif, system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace}@media (prefers-color-scheme:dark){:root{--bg:#0c1514;--surface:#121e1c;--surface-2:#182624;--ink:#e7eeea;--ink-muted:#9aaca5;--ink-faint:#64756e;--border:#24352f;--accent:#3fb8ac;--accent-ink:#06211f;--accent-soft:#16332f;--seal:#d68a4c;--success:#4fbe84;--success-soft:#143024;--warning:#e0ac4e;--warning-soft:#2e2410;--critical:#e2695a;--critical-soft:#331715;--regime-pf:#7fa6c4;--regime-pf-soft:#182734;--regime-pfr:#3fb8ac;--regime-pfr-soft:#16332f;--regime-pm:#d68a4c;--regime-pm-soft:#2e2115;--regime-pmr:#a6b96b;--regime-pmr-soft:#232b15}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}button{font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.login-grid{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}@media (width<=860px){.login-grid{grid-template-columns:1fr}}.login-brand{color:#eaf3f1;background:radial-gradient(120% 140% at 15% 10%,#124b54 0%,#0c1514 68%);flex-direction:column;justify-content:space-between;padding:56px 48px;display:flex}.seal{border:1.5px solid #eaf3f159;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.seal span{font-family:var(--font-display);color:#d68a4c;font-size:15px;font-weight:800}.login-brand .wordmark{font-size:40px;font-weight:800;font-family:var(--font-display);margin:24px 0 6px}.login-brand .tagline{color:#b7cbc6;max-width:30ch;font-size:14px;line-height:1.55}.persona-row{flex-wrap:wrap;gap:8px;margin-top:36px;display:flex}.persona-chip{letter-spacing:.03em;color:#dcebe8;border:1px solid #eaf3f140;border-radius:999px;padding:6px 12px;font-size:11.5px;font-weight:600}.login-brand .meta{font-family:var(--font-mono);letter-spacing:.06em;color:#6e8b85;text-transform:uppercase;font-size:11px}.login-form-wrap{flex-direction:column;justify-content:center;max-width:420px;padding:56px 52px;display:flex}.login-form-wrap h2{margin:0 0 6px;font-size:26px;font-weight:700}.login-form-wrap .sub{color:var(--ink-muted);margin:0 0 28px;font-size:13.5px}.field{margin-bottom:18px}.field label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:7px;font-size:11.5px;font-weight:600;display:block}.field input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--ink);border-radius:8px;padding:12px 14px;font-size:14.5px}.btn-primary{background:var(--accent);width:100%;color:var(--accent-ink);cursor:pointer;border:none;border-radius:8px;margin-top:6px;padding:13px;font-size:14.5px;font-weight:700}.btn-primary:disabled{opacity:.6;cursor:default}.error{color:var(--critical);margin:-8px 0 14px;font-size:13px}.cartera-shell{max-width:960px;margin:0 auto;padding:40px 24px 60px}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:28px;display:flex}.topbar h1{margin:0 0 4px;font-size:22px}.despacho-name{color:var(--ink-muted);margin:0;font-size:13px}.user-chip{align-items:center;gap:14px;display:flex}.user-chip .who{text-align:right;line-height:1.25}.user-chip .who b{font-size:13px;display:block}.user-chip .who span{color:var(--ink-muted);font-size:11px}.btn-logout{border:1px solid var(--border);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:8px;padding:8px 14px;font-size:12.5px;font-weight:600}.status-msg{color:var(--ink-muted);font-size:14px}.status-msg.error{color:var(--critical)}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}table{border-collapse:collapse;width:100%}thead th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-faint);border-bottom:1px solid var(--border);padding:12px 18px;font-size:10.5px;font-weight:700}tbody td{border-bottom:1px solid var(--border);vertical-align:middle;padding:13px 18px;font-size:13px}tbody tr:last-child td{border-bottom:none}tbody td b{font-size:13px;display:block}.rfc{color:var(--ink-faint);font-size:11px}.badge{letter-spacing:.02em;border-radius:6px;align-items:center;padding:4px 9px;font-size:10.5px;font-weight:700;display:inline-flex}.badge.pf{background:var(--regime-pf-soft);color:var(--regime-pf)}.badge.pfr{background:var(--regime-pfr-soft);color:var(--regime-pfr)}.badge.pm{background:var(--regime-pm-soft);color:var(--regime-pm)}.badge.pmr{background:var(--regime-pmr-soft);color:var(--regime-pmr)}.pill{border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.pill.activo{background:var(--success-soft);color:var(--success)}.pill.suspendido{background:var(--critical-soft);color:var(--critical)}.empty{text-align:center;color:var(--ink-faint);padding:30px 18px}.new-client-row{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.btn-secondary{border:1px solid var(--border);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:8px;padding:9px 14px;font-size:12.5px;font-weight:600;text-decoration:none;display:inline-block}.new-client-form{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;align-items:end;gap:14px;margin-bottom:18px;padding:16px 18px;display:flex}.new-client-form .field{margin:0}.new-client-form label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:6px;font-size:10.5px;font-weight:600;display:block}.new-client-form input,.new-client-form select{border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:8px;padding:9px 12px;font-size:13.5px}.actions-cell{text-align:right}.btn-action{border:1px solid var(--border);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:7px;padding:6px 12px;font-size:11.5px;font-weight:600}.btn-action:disabled{opacity:.6;cursor:default}.obligaciones-row td{background:var(--surface-2);padding:12px 18px}.obligaciones-lista{flex-wrap:wrap;gap:8px;display:flex}.obligacion-chip{background:var(--accent-soft);color:var(--accent);border-radius:999px;align-items:center;padding:5px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.resico-shell{max-width:960px;margin:0 auto;padding:40px 24px 60px}.resico-grid{grid-template-columns:1fr 1fr;align-items:start;gap:18px;display:grid}@media (width<=720px){.resico-grid{grid-template-columns:1fr}}.resico-form{flex-direction:column;padding:22px 22px 20px;display:flex}.resico-form .field{margin-bottom:18px}.ingreso-sugerido{color:var(--ink-muted);flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 0;font-size:12px;display:flex}.btn-usar-sugerido{border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:0 0;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:600}.resico-form label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:7px;font-size:10.5px;font-weight:600;display:block}.resico-form input,.resico-form select{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--ink);border-radius:8px;padding:11px 13px;font-size:14px}.resico-resultado{padding:22px}.resico-resultado-vacio{justify-content:center;align-items:center;min-height:140px;display:flex}.resultado-cliente{flex-wrap:wrap;align-items:baseline;gap:10px;margin:0 0 4px;display:flex}.resultado-concepto{color:var(--ink-muted);margin:0 0 18px;font-size:12.5px}.resultado-cifras{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding-top:6px;display:flex}.resultado-cifras>div{justify-content:space-between;align-items:center;padding:6px 0;display:flex}.cifra-label{color:var(--ink-muted);font-size:12.5px}.cifra-valor{font-size:14px;font-weight:600}.cifra-total{border-top:1px solid var(--border);margin-top:4px;padding-top:14px}.cifra-total .cifra-label{color:var(--ink);font-weight:700}.cifra-total .cifra-valor{color:var(--accent);font-size:20px}.resultado-vigencia{color:var(--ink-faint);margin:16px 0 0;font-size:11px}.resico-side{flex-direction:column;gap:18px;display:flex}.paquete-checklist{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin-top:16px;padding-top:14px;display:flex}.paquete-label{text-transform:uppercase;letter-spacing:.03em;color:var(--ink-muted);margin-bottom:2px;font-size:10.5px;font-weight:700}.paquete-item{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.paquete-item input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent)}.paquete-nota{color:var(--ink-faint);margin:8px 0 0;font-size:11.5px}.tope-anual-card{padding:18px 20px}.tope-anual-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.tope-anual-header h3{text-transform:uppercase;letter-spacing:.03em;color:var(--ink-muted);margin:0;font-size:12.5px;font-weight:700}.tope-badge{background:var(--warning-soft);color:var(--warning);border-radius:999px;padding:3px 9px;font-size:10.5px;font-weight:700}.tope-anual-card.tope-limiterebasado .tope-badge{background:var(--critical-soft);color:var(--critical)}.tope-anual-barra{background:var(--surface-2);border-radius:999px;height:8px;overflow:hidden}.tope-anual-relleno{background:var(--success);border-radius:999px;height:100%}.tope-anual-card.tope-cercadellimite .tope-anual-relleno{background:var(--warning)}.tope-anual-card.tope-limiterebasado .tope-anual-relleno{background:var(--critical)}.tope-anual-cifras{color:var(--ink-muted);margin:10px 0 0;font-size:12.5px}.tope-anual-nota{color:var(--critical);margin:10px 0 0;font-size:12px}.estado-chip{letter-spacing:.02em;border-radius:999px;align-items:center;padding:3px 9px;font-size:10.5px;font-weight:700;display:inline-flex}.estado-abierto{background:var(--success-soft);color:var(--success)}.estado-enrevision{background:var(--warning-soft);color:var(--warning)}.estado-cerrado{background:var(--surface-2);color:var(--ink-muted)}.btn-cerrar{width:100%;margin-top:16px}.resico-historial{padding:20px 22px}.resico-historial h3{margin:0 0 14px;font-size:13.5px}.historial-table{border-collapse:collapse;width:100%}.historial-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-faint);border-bottom:1px solid var(--border);padding:8px 6px;font-size:10px;font-weight:700}.historial-table td{border-bottom:1px solid var(--border);padding:9px 6px;font-size:12.5px}.historial-table tr:last-child td{border-bottom:none}.cfdi-shell{max-width:1040px;margin:0 auto;padding:40px 24px 60px}.back-link{color:var(--ink-muted);margin-bottom:20px;font-size:13px;text-decoration:none;display:inline-block}.back-link:hover{color:var(--ink)}.cfdi-selector{flex-wrap:wrap;gap:14px;margin-bottom:18px;padding:16px 18px;display:flex}.cfdi-selector .field{flex:1;min-width:160px}.cfdi-ver-todos{color:var(--ink-muted);cursor:pointer;white-space:nowrap;align-self:flex-end;align-items:center;gap:8px;padding-bottom:10px;font-size:13px;display:flex}.cfdi-ver-todos input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent)}.cfdi-selector label,.cfdi-form label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:7px;font-size:10.5px;font-weight:600;display:block}.cfdi-selector input,.cfdi-selector select,.cfdi-form input,.cfdi-form select{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--ink);border-radius:8px;padding:10px 12px;font-size:13.5px}.cfdi-grid{grid-template-columns:1fr 1fr;align-items:start;gap:18px;display:grid}@media (width<=760px){.cfdi-grid{grid-template-columns:1fr}}.cfdi-form{flex-direction:column;padding:20px 22px 22px;display:flex}.cfdi-form h3{margin:0 0 16px;font-size:13.5px}.cfdi-form .field{margin-bottom:16px}.field-row{gap:12px;display:flex}.field-row .field{flex:1}.cfdi-side{flex-direction:column;gap:18px;display:flex}.cfdi-confirmacion{border-left:3px solid var(--ink-faint);padding:18px 20px}.cfdi-confirmacion.rol-flujo{border-left-color:var(--success)}.cfdi-confirmacion.rol-evidencia{border-left-color:var(--ink-faint)}.cfdi-confirmacion.rol-reptardioreapertura{border-left-color:var(--warning)}.confirmacion-titulo{flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 8px;display:flex}.confirmacion-periodo{color:var(--ink-muted);margin:0 0 8px;font-size:12.5px}.confirmacion-motivo{color:var(--ink-faint);margin:0;font-size:11.5px}.cfdi-lista{padding:20px 22px}.cfdi-lista h3{margin:0 0 14px;font-size:13.5px}.cfdi-table{border-collapse:collapse;width:100%}.cfdi-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-faint);border-bottom:1px solid var(--border);padding:8px 6px;font-size:10px;font-weight:700}.cfdi-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:9px 6px;font-size:12.5px}.cfdi-table tr:last-child td{border-bottom:none}.uuid-cell{text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:11px;overflow:hidden}.rol-chip{letter-spacing:.02em;white-space:nowrap;border-radius:999px;align-items:center;padding:3px 9px;font-size:10.5px;font-weight:700;display:inline-flex}.rol-flujo{background:var(--success-soft);color:var(--success)}.rol-evidencia{background:var(--surface-2);color:var(--ink-muted)}.rol-reptardioreapertura{background:var(--warning-soft);color:var(--warning)}.sat-shell{max-width:1040px;margin:0 auto;padding:40px 24px 60px}.sat-selector{flex-wrap:wrap;gap:14px;margin-bottom:14px;padding:16px 18px;display:flex}.sat-selector .field{flex:1;min-width:220px}.sat-aviso{color:var(--warning);background:var(--warning-soft);border-radius:8px;margin:0 0 18px;padding:10px 14px;font-size:12px}.sat-selector label,.sat-form label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:7px;font-size:10.5px;font-weight:600;display:block}.sat-selector input,.sat-selector select,.sat-form input,.sat-form select{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--ink);border-radius:8px;padding:10px 12px;font-size:13.5px}.sat-grid{grid-template-columns:1fr 1fr;align-items:start;gap:18px;display:grid}@media (width<=760px){.sat-grid{grid-template-columns:1fr}}.sat-form{flex-direction:column;padding:20px 22px 22px;display:flex}.sat-form h3{margin:0 0 16px;font-size:13.5px}.sat-form .field{margin-bottom:16px}.sat-lista{padding:20px 22px}.sat-lista h3{margin:0 0 14px;font-size:13.5px}.sat-table{border-collapse:collapse;width:100%}.sat-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-faint);border-bottom:1px solid var(--border);padding:8px 6px;font-size:10px;font-weight:700}.sat-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:9px 6px;font-size:12.5px}.sat-table tr:last-child td{border-bottom:none}.direccion-tag{background:var(--surface-2);width:16px;height:16px;color:var(--ink-faint);border-radius:4px;justify-content:center;align-items:center;margin-left:6px;font-size:9.5px;font-weight:700;display:inline-flex}.estado-chip{letter-spacing:.02em;white-space:nowrap;border-radius:999px;align-items:center;padding:3px 9px;font-size:10.5px;font-weight:700;display:inline-flex}.estado-ok{background:var(--success-soft);color:var(--success)}.estado-pendiente{background:var(--surface-2);color:var(--ink-muted)}.estado-critica{background:var(--critical-soft);color:var(--critical)}.btn-small{padding:6px 12px;font-size:12px}
