:root{--bg:#f6f7f9;--card:#ffffff;--ink:#16191d;--muted:#6b7280;--line:#e3e6ea;--brand:#0f62fe;--ok:#067647;--warn:#b54708;--err:#b42318;--radius:10px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.wrap{max-width:920px;margin:0 auto;padding:24px 16px 64px}h1{font-size:20px;margin:0 0 4px}h2{font-size:16px;margin:0 0 12px}p.sub{color:var(--muted);margin:0 0 24px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:16px}.row{display:flex;gap:12px;flex-wrap:wrap}.row>*{flex:1 1 200px}.estado-lista{list-style:none;padding:0;margin:12px 0}.estado-lista li{padding:6px 0;border-bottom:1px solid rgba(0,0,0,.06)}.estado-lista li:last-child{border-bottom:none}label{display:block;font-weight:500;margin-bottom:4px}.hint{color:var(--muted);font-size:12px;margin-top:4px}input,select{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;font:inherit}input:focus,select:focus{outline:2px solid var(--brand);outline-offset:-1px}.field{margin-bottom:14px}button{font:inherit;font-weight:500;padding:9px 16px;border-radius:8px;border:1px solid transparent;background:var(--brand);color:#fff;cursor:pointer}button.secondary{background:#fff;border-color:var(--line);color:var(--ink)}button:disabled{opacity:.55;cursor:default}.steps{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.step{padding:6px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--muted);font-size:13px}.step.active{border-color:var(--brand);color:var(--brand);font-weight:500}.step.done{border-color:var(--ok);color:var(--ok)}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}th{text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.badge,th{font-size:12px}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-weight:500}.badge.ok{background:#e7f6ee;color:var(--ok)}.badge.warn{background:#fef3e6;color:var(--warn)}.badge.err{background:#fdeceb;color:var(--err)}.badge.neutral{background:#eef0f3;color:var(--muted)}.alert{padding:12px 14px;border-radius:8px;margin-bottom:14px;background:#eef2f7;color:#334155}.alert.err{background:#fdeceb;color:var(--err)}.alert.ok{background:#e7f6ee;color:var(--ok)}.empty{text-align:center;color:var(--muted);padding:36px 12px}.metrics{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}.metric{flex:1 1 140px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.metric .n{font-size:22px;font-weight:600}.metric .l{color:var(--muted);font-size:12px}.seccion{display:flex;align-items:baseline;gap:10px;margin:36px 0 14px}.seccion:first-of-type{margin-top:8px}.seccion h2{margin:0;font-size:15px;letter-spacing:-.01em}.seccion .linea{flex:1 1;height:1px;background:var(--line)}.seccion .nota{color:var(--muted);font-size:12.5px}.plegable{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;overflow:hidden}.plegable>summary{display:flex;align-items:center;gap:10px;padding:14px 18px;cursor:pointer;list-style:none;font-weight:500;-webkit-user-select:none;-moz-user-select:none;user-select:none}.plegable>summary::-webkit-details-marker{display:none}.plegable>summary:hover{background:#fafbfc}.plegable>summary .flecha{color:var(--muted);font-size:11px;transition:transform .15s ease}.plegable[open]>summary .flecha{transform:rotate(90deg)}.plegable>summary .resumen{margin-left:auto;color:var(--muted);font-weight:400;font-size:12.5px;text-align:right}.plegable .cuerpo{padding:4px 18px 18px;border-top:1px solid var(--line)}.barra{gap:10px;align-items:center;margin-bottom:14px}.barra,.chips{display:flex;flex-wrap:wrap}.chips{gap:6px}.chip{padding:5px 12px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--muted);font-size:13px;font-weight:500;cursor:pointer}.chip:hover{border-color:#c9ced6;color:var(--ink)}.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}.chip .n{opacity:.6;margin-left:5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.buscador{flex:1 1 200px;min-width:160px;max-width:280px}.seleccion{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;margin-bottom:12px;border-radius:8px;background:#eef2f7;color:#334155;font-size:13px}.seleccion button{padding:6px 14px;font-size:13px}td.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}td.acciones{text-align:right;white-space:nowrap}.sin-resultados{text-align:center;color:var(--muted);padding:28px 12px}input:-moz-read-only{background:#f7f8fa;color:var(--muted)}input:read-only{background:#f7f8fa;color:var(--muted)}.ops{--ops-bg:#0f1115;--ops-panel:#171a21;--ops-panel-2:#1d212a;--ops-ink:#e8eaed;--ops-muted:#9aa2ae;--ops-line:#262b35;--ops-brand:#4d8dff;--ops-ok:#34d399;--ops-warn:#fbbf24;--ops-err:#f87171;--ops-crit:#fb7185;min-height:100vh;background:var(--ops-bg);color:var(--ops-ink)}.ops a{color:var(--ops-brand)}.ops-bar{border-bottom:1px solid var(--ops-line);background:#12151b;position:-webkit-sticky;position:sticky;top:0;z-index:10}.ops-bar .inner{max-width:1240px;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:4px;flex-wrap:wrap;min-height:52px}.ops-logo{font-weight:600;margin-right:18px;letter-spacing:-.01em}.ops-logo span{color:var(--ops-muted);font-weight:400}.ops-bar nav{display:flex;gap:2px;flex-wrap:wrap}.ops-bar nav a{padding:7px 12px;border-radius:7px;text-decoration:none;color:var(--ops-muted);font-size:13.5px}.ops-bar nav a.on,.ops-bar nav a:hover{background:var(--ops-panel-2);color:var(--ops-ink)}.ops-bar nav a.on{font-weight:500}.ops-bar .pushed{margin-left:auto;display:flex;align-items:center;gap:12px}.ops-bar form button{background:none;border:1px solid var(--ops-line);color:var(--ops-muted);padding:6px 12px;font-size:13px}.ops-bar form button:hover{color:var(--ops-ink)}.ops-main{max-width:1240px;margin:0 auto;padding:24px 20px 72px}.ops h1{font-size:19px;margin:0 0 2px;letter-spacing:-.01em}.ops h2{font-size:14px;margin:0 0 12px;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.ops .lede,.ops h2{color:var(--ops-muted)}.ops .lede{margin:0 0 22px}.ops-card{background:var(--ops-panel);border:1px solid var(--ops-line);border-radius:12px;padding:18px;margin-bottom:18px;overflow-x:auto}.ops-card.tight{padding:0;overflow-x:auto}.ops-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));grid-gap:12px;gap:12px;margin-bottom:22px}.ops-tile{background:var(--ops-panel);border:1px solid var(--ops-line);border-radius:12px;padding:15px 16px;position:relative;overflow:hidden}.ops-tile:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ops-line)}.ops-tile.ok:before{background:var(--ops-ok)}.ops-tile.warn:before{background:var(--ops-warn)}.ops-tile.err:before{background:var(--ops-err)}.ops-tile .n{font-size:25px;font-weight:600;letter-spacing:-.02em;line-height:1.15}.ops-tile .l{color:var(--ops-muted);font-size:12px;margin-top:3px}.ops-tile .s{color:var(--ops-muted);font-size:11.5px;margin-top:8px}.ops-tile.ok .n{color:var(--ops-ok)}.ops-tile.warn .n{color:var(--ops-warn)}.ops-tile.err .n{color:var(--ops-err)}.ops table{width:100%;border-collapse:collapse;font-size:13.5px}.ops thead th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--ops-line);color:var(--ops-muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;background:#14171d;white-space:nowrap}.ops tbody td a{text-decoration:none}.ops tbody td a:hover{text-decoration:underline}.ops tbody td{padding:10px 12px;border-bottom:1px solid var(--ops-line);vertical-align:top}.ops tbody tr:last-child td{border-bottom:0}.ops tbody tr:hover{background:var(--ops-panel-2)}.ops td.num,.ops th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ops .nowrap{white-space:nowrap}.ops .mono{font:12.5px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}.ops td.parte{max-width:380px;overflow-wrap:anywhere}.ops a.plano{text-decoration:none}.ops a.plano:hover{text-decoration:underline}.ops .dim{color:var(--ops-muted)}.ops .cortado{display:block;max-width:380px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ops-chip{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:500;border:1px solid transparent;white-space:nowrap}.ops-chip.ok{background:rgba(52,211,153,.13);color:var(--ops-ok)}.ops-chip.warn{background:rgba(251,191,36,.13);color:var(--ops-warn)}.ops-chip.err{background:rgba(248,113,113,.13);color:var(--ops-err)}.ops-chip.crit{background:rgba(251,113,133,.16);color:var(--ops-crit)}.ops-chip.neutral{background:#22262f;color:var(--ops-muted)}.ops-chip.brand{background:rgba(77,141,255,.14);color:var(--ops-brand)}.ops-filtros{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end;margin-bottom:16px}.ops-filtros .f{display:flex;flex-direction:column;gap:4px}.ops-filtros label{font-size:11px;color:var(--ops-muted);text-transform:uppercase;letter-spacing:.05em;margin:0}.ops-filtros input,.ops-filtros select{background:var(--ops-panel);border:1px solid var(--ops-line);color:var(--ops-ink);border-radius:8px;padding:7px 10px;font:inherit;font-size:13.5px;min-width:150px;width:auto}.ops-filtros input:focus,.ops-filtros select:focus{outline:2px solid var(--ops-brand);outline-offset:-1px}.ops-filtros button{background:var(--ops-brand);font-size:13.5px;padding:8px 16px}.ops-filtros a.limpiar{align-self:center;color:var(--ops-muted);font-size:13px;text-decoration:none;padding-bottom:8px}.ops-vacio{text-align:center;color:var(--ops-muted);padding:48px 16px}.ops-vacio strong{display:block;color:var(--ops-ink);margin-bottom:6px;font-weight:500}.ops pre.bloque{background:#0c0e12;border:1px solid var(--ops-line);border-radius:10px;padding:14px;overflow-x:auto;margin:0;font:12.5px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;color:#cbd2dc}.ops dl.pares{display:grid;grid-template-columns:190px 1fr;grid-gap:9px 18px;gap:9px 18px;margin:0}.ops dl.pares dt{color:var(--ops-muted);font-size:13px}.ops dl.pares dd{margin:0;font-size:13.5px;word-break:break-word}.ops-acciones{display:flex;gap:6px;flex-wrap:nowrap;white-space:nowrap}.ops-acciones button{font-size:12.5px;padding:6px 10px;white-space:nowrap;background:var(--ops-panel-2);border:1px solid var(--ops-line);color:var(--ops-ink)}.ops-acciones button.peligro{color:var(--ops-err)}.ops-acciones button:hover{border-color:var(--ops-brand)}.ops-paginas{display:flex;gap:10px;align-items:center;margin-top:16px;color:var(--ops-muted);font-size:13px}.ops-paginas a{text-decoration:none;border:1px solid var(--ops-line);padding:6px 12px;border-radius:8px}.ops-login{min-height:100vh;display:grid;place-items:center;padding:24px}.ops-login .caja{width:100%;max-width:370px}.ops-login .ops-card{padding:26px}.ops-login h1{margin-bottom:6px}.ops-login p{color:var(--ops-muted);margin:0 0 20px;font-size:13.5px}.ops-login input{width:100%;background:var(--ops-panel-2);border:1px solid var(--ops-line);color:var(--ops-ink);border-radius:9px;padding:11px 12px;font:inherit}.ops-login input:focus{outline:2px solid var(--ops-brand);outline-offset:-1px}.ops-login button{width:100%;margin-top:14px;background:var(--ops-brand);padding:11px}.ops-login .error{background:rgba(248,113,113,.12);color:var(--ops-err);padding:10px 12px;border-radius:9px;margin-bottom:16px;font-size:13.5px}.ops-login .pie{color:var(--ops-muted);font-size:12px;text-align:center;margin-top:18px}@media (max-width:700px){.ops dl.pares{grid-template-columns:1fr;gap:3px 0}.ops dl.pares dd{margin-bottom:10px}.ops-main{padding:18px 14px 60px}.ops .cortado{max-width:240px}}.ops-prosa{max-width:760px}.ops-prosa h2{font-size:15px;color:var(--ops-ink);text-transform:none;letter-spacing:-.01em;margin:34px 0 10px;padding-top:18px;border-top:1px solid var(--ops-line)}.ops-prosa h3{font-size:14px;margin:24px 0 8px;color:var(--ops-brand);font-weight:600}.ops-prosa p{margin:0 0 13px;line-height:1.65;color:#cdd3db}.ops-prosa b{color:var(--ops-ink);font-weight:600}.ops-prosa i{color:var(--ops-ink);font-style:normal;background:#22262f;padding:1px 6px;border-radius:5px;font-size:13px}.ops-prosa dl.pares{grid-template-columns:250px 1fr;gap:16px 22px;margin:16px 0 8px}.ops-prosa dl.pares dt{color:var(--ops-ink);font-weight:500;font-size:13.5px}.ops-prosa dl.pares dd{color:#cdd3db;line-height:1.6}.ops-prosa code.mono{background:#0c0e12;border:1px solid var(--ops-line);padding:2px 7px;border-radius:6px;font-size:12px}@media (max-width:700px){.ops-prosa dl.pares{grid-template-columns:1fr;gap:4px 0}.ops-prosa dl.pares dd{margin-bottom:16px}}