:root{--indigo:#2b2f86;--indigo-700:#1e2160;--ink:#11142e;--spark:#ff5a4d;--marigold:#ffb23e;--peri:#e6e8fb;--peri-2:#eef0fb;--paper:#fbfbfe;--card:#fff;--line:#e7e8f3;--muted:#71749b;--A:#16a34a;--B:#65a30d;--C:#d99a2b;--D:#ea7a3c;--E:#dc4a4a;--ok:#1fa971;--okbg:#e4f6ee;--warnbg:#fff1dc;--warn:#9a6810;--bad:#ffe7e3;--badc:#d8412f}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--ink);background:var(--peri-2);-webkit-font-smoothing:antialiased;font-family:Manrope,sans-serif;line-height:1.45}.disp{font-family:Bricolage Grotesque,sans-serif}.shell{grid-template-columns:230px 1fr;min-height:100vh;display:grid}@media (width<=780px){.shell{grid-template-columns:1fr}}.side{background:var(--ink);color:#c6c9ef;height:100vh;padding:18px 14px;position:sticky;top:0;overflow-y:auto}@media (width<=780px){.side{flex-wrap:wrap;gap:6px;height:auto;padding:12px;display:flex;position:static}}.side .wm{color:#fff;letter-spacing:-.03em;padding:6px 10px 16px;font-family:Bricolage Grotesque;font-size:22px;font-weight:800}.side .wm .dot{color:var(--spark)}@media (width<=780px){.side .wm{width:100%;padding:4px 6px 8px;font-size:20px}}.nav{flex-direction:column;gap:3px;display:flex}@media (width<=780px){.nav{flex-flow:wrap;gap:6px}}.nav button{color:#c6c9ef;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:11px;align-items:center;gap:10px;width:100%;padding:11px 12px;font-family:Manrope;font-size:13.5px;font-weight:600;display:flex}@media (width<=780px){.nav button{width:auto;padding:8px 12px;font-size:12.5px}}.nav button:hover{background:#ffffff0f}.nav button.on{background:var(--indigo);color:#fff}.nav button .bdg{background:var(--spark);color:#fff;border-radius:99px;margin-left:auto;padding:1px 7px;font-size:10px;font-weight:800}.nav svg{flex:0 0 18px;width:18px;height:18px}.main{max-width:1080px;padding:22px}.htop{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.htop h1{letter-spacing:-.01em;font-family:Bricolage Grotesque;font-size:24px;font-weight:700}.htop .sub{color:var(--muted);font-size:13px}.btn{cursor:pointer;border:none;border-radius:11px;padding:10px 16px;font-family:Manrope;font-size:13.5px;font-weight:700;transition:transform 80ms}.btn:active{transform:scale(.97)}.btn-spark{background:var(--spark);color:#fff}.btn-ghost{background:var(--peri);color:var(--indigo)}.btn-out{border:1.5px solid var(--line);color:var(--ink);background:#fff}.btn-ok{background:var(--ok);color:#fff}.btn-bad{border:1.5px solid var(--bad);color:var(--badc);background:#fff}.btn-danger{background:var(--badc);color:#fff}.btn.sm{border-radius:9px;padding:7px 12px;font-size:12px}.kpis{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;display:grid}@media (width<=780px){.kpis{grid-template-columns:1fr 1fr}}.kpi{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:14px}.kpi.dark{background:var(--ink);color:#fff;border-color:var(--ink)}.kpi .l{text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-size:10.5px;font-weight:700}.kpi.dark .l{color:#9aa0d8}.kpi .v{margin-top:3px;font-family:Bricolage Grotesque;font-size:22px;font-weight:800}.kpi .v small{color:var(--muted);font-family:Manrope;font-size:12px}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;margin-bottom:16px;padding:18px}.card h3{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:12px;font-size:12px;font-weight:800}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--line);padding:0 8px 9px;font-size:10.5px;font-weight:700}td{border-bottom:1px solid var(--line);vertical-align:middle;padding:10px 8px}td.r,th.r{text-align:right;font-variant-numeric:tabular-nums}tr:last-child td{border:none}tbody tr.click{cursor:pointer}tbody tr.click:hover{background:var(--peri-2)}.badge{white-space:nowrap;border-radius:99px;padding:4px 10px;font-size:10.5px;font-weight:800}.b-new{background:var(--peri);color:var(--indigo)}.b-apr{background:var(--okbg);color:var(--ok)}.b-rej{background:var(--bad);color:var(--badc)}.b-act{color:#2257c5;background:#e8f0fe}.b-clo{color:#777;background:#eee}.b-pend{background:var(--warnbg);color:var(--warn)}.tier{color:#fff;border-radius:99px;padding:2px 9px;font-size:11px;font-weight:800}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border-radius:99px;padding:4px 10px;font-size:11px;font-weight:700}.chip.ok{background:var(--okbg);color:var(--ok)}.chip.warn{background:var(--warnbg);color:var(--warn)}.chip.bad{background:var(--bad);color:var(--badc)}.chip.neu{background:var(--peri);color:var(--indigo)}.fg{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (width<=560px){.fg{grid-template-columns:1fr}}.f label{color:var(--muted);margin-bottom:4px;font-size:11px;font-weight:700;display:block}.f input,.f select{border:1.5px solid var(--line);background:#fff;border-radius:9px;outline:none;width:100%;padding:8px 9px;font-family:Manrope;font-size:13.5px}.f input:focus,.f select:focus{border-color:var(--indigo)}.f.full{grid-column:1/-1}.chk{align-items:center;gap:7px;margin-top:4px;font-size:12.5px;font-weight:600;display:flex}.chk input{width:16px;height:16px;accent-color:var(--indigo)}.two{grid-template-columns:1fr 320px;align-items:start;gap:16px;display:grid}@media (width<=820px){.two{grid-template-columns:1fr}}.tierbox{color:#fff;text-align:center;border-radius:14px;margin-bottom:12px;padding:16px}.tierbox .tg{font-family:Bricolage Grotesque;font-size:40px;font-weight:800;line-height:1}.tierbox .ts{opacity:.95;font-size:12.5px}.prow{border-bottom:1px solid var(--line);justify-content:space-between;padding:7px 0;font-size:12.5px;display:flex}.prow:last-child{border:none}.prow .k{color:var(--muted)}.ko{background:var(--bad);color:var(--badc);border-radius:10px;margin-bottom:10px;padding:10px 12px;font-size:12.5px;font-weight:700}.ev{border-bottom:1px solid var(--line);gap:10px;padding:10px 0;font-size:12.5px;display:flex}.ev:last-child{border:none}.ev .dot{border-radius:50%;flex:0 0 9px;width:9px;height:9px;margin-top:4px}.ev .a{text-transform:uppercase;letter-spacing:.3px;font-size:11px;font-weight:700}.ev .ts{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:11px}.a-cliente{color:#2257c5}.a-finanzas{color:var(--ok)}.a-riesgo{color:var(--badc)}.a-contabilidad{color:var(--indigo)}.a-sistema{color:var(--muted)}.d-cliente{background:#2257c5}.d-finanzas{background:var(--ok)}.d-riesgo{background:var(--badc)}.d-contabilidad{background:var(--indigo)}.d-sistema{background:var(--muted)}.empty{text-align:center;color:var(--muted);padding:34px 16px;font-size:13.5px}.note{color:var(--muted);font-size:11.5px;line-height:1.5}.back{color:var(--indigo);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:10px;font-size:13px;font-weight:700;display:inline-flex}.login{background:var(--peri-2);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--card);border:1px solid var(--line);text-align:center;border-radius:20px;width:100%;max-width:400px;padding:40px 36px}.login-logo{margin-bottom:8px}.login-title{color:var(--indigo);letter-spacing:-.03em;font-family:Bricolage Grotesque;font-size:28px;font-weight:800}.login-sub{color:var(--muted);margin-bottom:20px;font-size:13.5px}.login-err{background:var(--bad);color:var(--badc);border-radius:10px;margin-bottom:14px;padding:10px 12px;font-size:12.5px;font-weight:600}.login-field{text-align:left;margin-bottom:14px}.login-field label{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:5px;font-size:11px;font-weight:700;display:block}.login-field input{border:1.5px solid var(--line);background:#fff;border-radius:10px;outline:none;width:100%;padding:10px 12px;font-family:Manrope;font-size:14px}.login-field input:focus{border-color:var(--indigo)}.login-btn{background:var(--indigo);color:#fff;cursor:pointer;border:none;border-radius:11px;width:100%;margin-top:4px;padding:12px;font-family:Manrope;font-size:15px;font-weight:700}.login-btn:disabled{opacity:.5}.login-hint{color:var(--muted);margin-top:16px;font-size:12px}.side-user{border-top:1px solid #ffffff14;margin-top:auto;padding:12px 10px}.side-user-name{color:#fff;font-size:13px;font-weight:700}.side-user-role{color:#9aa0d8;text-transform:capitalize;font-size:11px}.side-logout{color:#c6c9ef;cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:6px;margin-top:6px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-block}.side-logout:hover{background:#ffffff14}@media (width<=780px){.side-user{display:none}}.modal-over{z-index:100;background:#00000059;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--card);border-radius:20px;width:100%;max-width:600px;max-height:90vh;padding:28px;overflow-y:auto}.modal h2{margin-bottom:16px;font-family:Bricolage Grotesque;font-size:22px;font-weight:800}.perm-groups{flex-direction:column;gap:10px;margin-top:6px;display:flex}.perm-group{border:1px solid var(--line);border-radius:10px;padding:10px 12px}.perm-group-label{color:var(--muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px;font-size:12px;font-weight:700}.perm-group-items{flex-wrap:wrap;gap:8px;display:flex}.perm-check{cursor:pointer;align-items:center;gap:5px;font-size:12.5px;display:flex}.perm-check input{width:15px;height:15px;accent-color:var(--indigo)}.perm-badges{flex-wrap:wrap;gap:4px;display:flex}.perm-badges .badge{background:var(--peri);color:var(--indigo);border-radius:5px;padding:2px 7px;font-size:10.5px;font-weight:600}.actions{gap:6px;display:flex}.table td .muted{margin-top:2px;font-size:11.5px}.alert{border-radius:10px;margin-bottom:14px;padding:10px 14px;font-size:12.5px;font-weight:600}.alert-err{background:var(--bad);color:var(--badc)}.form{flex-direction:column;gap:14px;display:flex}.field{flex-direction:column;gap:4px;display:flex}.field span{color:var(--muted);text-transform:uppercase;letter-spacing:.3px;font-size:11.5px;font-weight:700}.field input,.field select{border:1.5px solid var(--line);background:#fff;border-radius:10px;outline:none;padding:10px 12px;font-family:Manrope;font-size:14px}.field input:focus{border-color:var(--indigo)}.two-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-actions{gap:8px;margin-top:4px;display:flex}
