:root{--bg:#f3f5f8;--card:#fff;--ink:#1d2430;--muted:#5b6573;--line:#dde2e8;--brand:#0b5cab;--brand-d:#084a8a;--rojo:#b42318;--rojo-bg:#fef3f2;--naranja:#c4320a;--naranja-bg:#fff4ed;--ambar:#b54708;--ambar-bg:#fffaeb;--amarillo:#8a6d00;--amarillo-bg:#fefbe8;--verde:#067647;--verde-bg:#ecfdf3;--gris:#667085;--gris-bg:#f2f4f7;--r:8px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);margin:0;font:14px/1.45 Segoe UI,system-ui,-apple-system,Roboto,Arial,sans-serif}h1{margin:0;font-size:22px}h2{margin:0 0 10px;font-size:15px}h3{margin:0;font-size:16px}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}.muted{color:var(--muted)}.small,small{font-size:12px}.mono{font-family:Consolas,Courier New,monospace}.hidden{display:none}.center{place-items:center;height:100%;display:grid}button{font:inherit;border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:6px;padding:7px 14px}button:hover:not(:disabled){border-color:var(--brand)}button:disabled{opacity:.55;cursor:default}button.primary{background:var(--brand);border-color:var(--brand);color:#fff}button.primary:hover:not(:disabled){background:var(--brand-d)}button.danger{background:var(--rojo);border-color:var(--rojo);color:#fff}button.ghost{background:0 0}button.danger-t{color:var(--rojo)}button.small{padding:4px 10px;font-size:12px}button.block{width:100%;margin-top:6px}button.link{color:var(--brand);background:0 0;border:0;padding:0}input,select,textarea{font:inherit;border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:6px;padding:8px 10px}input:focus,select:focus,textarea:focus,button:focus-visible{outline-offset:1px;outline:2px solid #9ec5f0}.shell{grid-template-columns:220px 1fr;min-height:100%;display:grid}aside{color:#dbe6f3;background:#0f2540;flex-direction:column;height:100vh;padding:16px 12px;display:flex;position:sticky;top:0}.brand,.brand-lg{cursor:pointer;align-items:center;gap:10px;margin-bottom:18px;display:flex}.brand b,.brand-lg b{font-size:16px;display:block}.brand small{color:#9fb3cb}.brand-lg small{color:var(--muted)}.logo{background:var(--brand);color:#fff;border-radius:8px;place-items:center;width:34px;height:34px;font-weight:700;display:grid}aside nav{flex-direction:column;flex:1;gap:2px;display:flex}aside nav a{color:#dbe6f3;border-radius:6px;padding:9px 12px}aside nav a:hover{background:#1b3a5f;text-decoration:none}aside nav a.active{background:var(--brand);color:#fff}.me{border-top:1px solid #23456d;justify-content:space-between;align-items:center;gap:8px;padding-top:12px;display:flex}.me small{color:#9fb3cb;display:block}.me button{color:#dbe6f3;border-color:#23456d}main{min-width:0;padding:22px 28px 40px}.menu-btn{margin-bottom:12px;display:none}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.crumbs{color:var(--muted);margin:0 0 6px;font-size:13px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);margin-bottom:16px;padding:16px}.card.flush{padding:0}.card.flush>.empty,.card.flush>.card-actions{padding:14px 16px}.card.warn{background:var(--rojo-bg);border-color:#f5c2bd}.card-actions{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.card-actions h2{margin:0}.card-actions input{width:auto}.cols{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px;display:grid}.kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:16px;display:grid}.kpi{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:var(--r);padding:10px 12px}.kpi small{color:var(--muted);display:block}.kpi b{font-size:20px}.kpi.rojo{border-left-color:var(--rojo)}.kpi.naranja{border-left-color:var(--naranja)}.kpi.ambar{border-left-color:var(--ambar)}.kpi.amarillo{border-left-color:#e3c200}.table{border-collapse:collapse;width:100%}.table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);background:#fafbfc;padding:8px 12px;font-size:12px;font-weight:600}.table td{border-bottom:1px solid var(--line);vertical-align:top;padding:10px 12px}.table tr:last-child td{border-bottom:0}.table .num{text-align:right;white-space:nowrap}.table.clickable tbody tr{cursor:pointer}.table.clickable tbody tr:hover{background:#f6f9fd}.table tr.voided td{color:var(--gris);text-decoration:line-through}.row-actions{text-align:right;white-space:nowrap}.row-actions button{margin-left:4px}.badge{white-space:nowrap;border-radius:10px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}.badge.rojo{color:var(--rojo);background:var(--rojo-bg)}.badge.naranja{color:var(--naranja);background:var(--naranja-bg)}.badge.ambar{color:var(--ambar);background:var(--ambar-bg)}.badge.amarillo{color:var(--amarillo);background:var(--amarillo-bg)}.badge.verde{color:var(--verde);background:var(--verde-bg)}.badge.gris{color:var(--gris);background:var(--gris-bg)}.filters{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.filters input{flex:1;min-width:220px}.filters select{width:auto}.pager{color:var(--muted);justify-content:center;align-items:center;gap:12px;margin:12px 0;display:flex}.empty{color:var(--muted);padding:14px 0}.alert{background:var(--rojo-bg);color:var(--rojo);border:1px solid #f5c2bd;border-radius:6px;margin:10px 0;padding:8px 12px}.ok{background:var(--verde-bg);color:var(--verde);border-radius:6px;margin:10px 0;padding:8px 12px}.actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.actions.wrap{flex-wrap:wrap}.tabs{border-bottom:1px solid var(--line);gap:2px;margin-bottom:14px;display:flex;overflow-x:auto}.tabs button{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:9px 14px}.tabs button.on{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}iframe.sheet{border:1px solid var(--line);border-radius:var(--r);background:#e9edf2;width:100%;height:calc(100vh - 210px);min-height:640px}.field{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.field>span{font-size:13px;font-weight:600}.field .hint{color:var(--muted)}.field .err{color:var(--rojo)}.field.has-error input,.field.has-error select{border-color:var(--rojo)}.check{align-items:center;gap:8px;margin:4px 0 10px;display:flex}.check input{width:auto}.grid2{grid-template-columns:1fr 1fr;gap:0 14px;display:grid}.grid3{grid-template-columns:repeat(3,1fr);gap:0 14px;display:grid}.span2,.span3{grid-column:1/-1}.secret-row{gap:6px;display:flex}.secret{word-break:break-all;background:var(--gris-bg);border-radius:4px;padding:6px;display:block}ul.plain{margin:0;padding:0;list-style:none}ul.plain li{border-bottom:1px solid var(--line);padding:6px 0}.tpl{border:1px solid var(--line);border-radius:6px;margin-bottom:10px;padding:10px}.tpl pre{white-space:pre-wrap;background:#fafbfc;border-radius:4px;padding:8px;font:13px/1.4 Consolas,monospace}.modal-bg{z-index:50;background:#10182873;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:10px;flex-direction:column;width:100%;max-width:560px;max-height:92vh;display:flex;box-shadow:0 20px 50px #0004}.modal.wide{max-width:760px}.modal header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.modal-body{padding:16px 18px;overflow:auto}.login-wrap{background:linear-gradient(160deg,#0f2540,#0b5cab);place-items:center;min-height:100%;padding:16px;display:grid}.login{width:100%;max-width:400px}.login h2{margin:6px 0 12px;font-size:18px}.steps{color:var(--muted);padding-left:18px}.qr{width:220px;height:220px;margin:8px auto;display:block}.codes{columns:2;padding:0;list-style:none}.codes li{padding:4px 0;font-size:16px}@media (width<=820px){.shell{grid-template-columns:1fr}aside{z-index:40;transition:transform .2s;position:fixed;inset:0 30% 0 0;transform:translate(-100%)}.menu-open aside{transform:none}.menu-btn{display:inline-block}main{padding:14px 16px 30px}.grid2,.grid3,.cols{grid-template-columns:1fr}.table td,.table th{padding:8px}iframe.sheet{height:75vh;min-height:0}}@media print{aside,.menu-btn,.actions,.page-head button,.tabs,.crumbs{display:none!important}.shell{display:block}.login-wrap{background:#fff}.login{box-shadow:none;border:0}}
