@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{margin-bottom:14px}.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}.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}
