@font-face{font-family:Mona Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/MonaSans-Regular.woff2) format("woff2")}@font-face{font-family:Mona Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/MonaSans-Medium.woff2) format("woff2")}@font-face{font-family:Mona Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/MonaSans-SemiBold.woff2) format("woff2")}@font-face{font-family:Mona Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/MonaSans-Bold.woff2) format("woff2")}:root{--canvas:#fff;--canvas-subtle:#f6f8fa;--canvas-inset:#f6f8fa;--overlay:rgba(31,35,40,.5);--fg:#1f2328;--fg-muted:#59636e;--fg-subtle:#6e7781;--fg-on-emphasis:#fff;--border:#d0d7de;--border-muted:#d8dee4;--accent:#0969da;--accent-emphasis:#0969da;--accent-muted:#ddf4ff;--success:#1a7f37;--success-emphasis:#1f883d;--success-muted:#dafbe1;--attention:#9a6700;--attention-emphasis:#bf8700;--attention-muted:#fff8c5;--severe:#bc4c00;--severe-muted:#fff1e5;--danger:#d1242f;--danger-emphasis:#cf222e;--danger-muted:#ffebe9;--done:#8250df;--done-emphasis:#8250df;--done-muted:#fbefff;--neutral-muted:rgba(175,184,193,.2);--btn-bg:#f6f8fa;--btn-hover:#f3f4f6;--btn-border:rgba(31,35,40,.15);--btn-shadow:0 1px 0 rgba(31,35,40,.04);--btn-primary-bg:#1f883d;--btn-primary-hover:#1a7f37;--sb-bg:#0d1117;--sb-fg:#e6edf3;--sb-muted:#8b949e;--sb-border:#30363d;--sb-hover:rgba(177,186,196,.12);--sb-active:#58a6ff;--sast:#8250df;--sast-muted:#fbefff;--dast:#0969da;--dast-muted:#ddf4ff;--shadow-sm:0 1px 0 rgba(31,35,40,.04);--shadow-md:0 3px 6px hsla(212,9%,59%,.15);--shadow-lg:0 8px 24px hsla(212,9%,59%,.2);--radius:6px;--radius-lg:12px;--focus:0 0 0 3px rgba(9,105,218,.3);--font-sans:"Mona Sans",-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;--grid:#d8dee4;--axis:#59636e}[data-theme=dark]{--canvas:#0d1117;--canvas-subtle:#161b22;--canvas-inset:#010409;--overlay:rgba(1,4,9,.7);--fg:#e6edf3;--fg-muted:#8b949e;--fg-subtle:#6e7681;--border:#30363d;--border-muted:#21262d;--accent:#2f81f7;--accent-emphasis:#1f6feb;--accent-muted:rgba(56,139,253,.15);--success:#3fb950;--success-emphasis:#238636;--success-muted:rgba(46,160,67,.15);--attention:#d29922;--attention-emphasis:#9e6a03;--attention-muted:rgba(187,128,9,.15);--severe:#db6d28;--severe-muted:rgba(219,109,40,.15);--danger:#f85149;--danger-emphasis:#da3633;--danger-muted:rgba(248,81,73,.15);--done:#a371f7;--done-emphasis:#8957e5;--done-muted:rgba(163,113,247,.15);--neutral-muted:hsla(215,8%,47%,.4);--btn-bg:#21262d;--btn-hover:#30363d;--btn-border:rgba(240,246,252,.1);--btn-shadow:0 0 transparent;--btn-primary-bg:#238636;--btn-primary-hover:#2ea043;--sast:#a371f7;--sast-muted:rgba(163,113,247,.15);--dast:#58a6ff;--dast-muted:rgba(56,139,253,.15);--shadow-md:0 3px 6px #010409;--shadow-lg:0 8px 24px #010409;--focus:0 0 0 3px rgba(31,111,235,.4);--grid:#21262d;--axis:#8b949e}*{box-sizing:border-box}body,html{margin:0;height:100%;background:var(--canvas);color:var(--fg)}body{font-family:var(--font-sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.01em;line-height:1.25}h1{font-size:24px}h2{font-size:16px}h3{font-size:14px}.muted{color:var(--fg-muted)}.subtle{color:var(--fg-subtle)}.mono,.small{font-size:12px}.mono{font-family:var(--font-mono)}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}svg.ic{width:16px;height:16px;vertical-align:-3px;flex:0 0 auto}.t{font-weight:600}.box,.card,.code,.grid>*,.pair>div{min-width:0}.shell{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.sidebar{background:var(--sb-bg);color:var(--sb-fg);border-right:1px solid var(--sb-border);display:flex;flex-direction:column;padding:12px;gap:2px}.brand{display:flex;align-items:center;gap:10px;padding:6px 8px 14px;color:#fff}.brand .logo{width:28px;height:28px;flex:0 0 28px}.brand .wordmark{font-weight:700;font-size:15px;letter-spacing:.08em}.brand .company{display:block;font-size:11px;color:var(--sb-muted);letter-spacing:0;font-weight:500;margin-top:1px}.nav{display:flex;flex-direction:column;gap:2px;width:100%}.nav-group{padding:14px 8px 4px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--sb-muted)}.nav a{display:flex;align-items:center;gap:10px;height:32px;padding:0 8px;border-radius:var(--radius);color:var(--sb-fg);font-size:14px;font-weight:500;position:relative}.nav a svg{width:16px;height:16px;color:var(--sb-muted);flex:0 0 16px}.nav a:hover{background:var(--sb-hover);text-decoration:none}.nav a.active{background:var(--sb-hover);font-weight:600}.nav a.active:before{content:"";position:absolute;left:-12px;top:6px;bottom:6px;width:3px;border-radius:0 3px 3px 0;background:var(--sb-active)}.nav .count,.nav a.active svg{color:var(--sb-fg)}.nav .count{margin-left:auto;font-size:12px;font-weight:500;line-height:18px;min-width:20px;padding:0 6px;border-radius:2em;text-align:center;background:hsla(215,8%,47%,.4)}.nav .count.hot{background:var(--danger-emphasis);color:#fff}.sidebar .spacer{flex:1 1}.sb-foot{border-top:1px solid var(--sb-border);padding-top:10px;display:flex;flex-direction:column;gap:6px}.sb-foot .me{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:var(--radius)}.sb-foot .me:hover{background:var(--sb-hover)}.sb-foot .me .name{font-size:13px;font-weight:600;color:#fff;line-height:1.2}.sb-foot .me .role{font-size:11px;color:var(--sb-muted)}.sb-foot .tools{display:flex;gap:6px;padding:0 4px}.sb-foot .tools button{flex:1 1;height:28px;border-radius:var(--radius);border:1px solid var(--sb-border);background:transparent;color:var(--sb-muted);display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:12px;cursor:pointer}.sb-foot .tools button:hover{background:var(--sb-hover);color:var(--sb-fg)}.sb-foot .tools button svg{width:14px;height:14px}.avatar{width:24px;height:24px;border-radius:50%;background:var(--accent-emphasis);color:#fff;display:grid;place-items:center;font-weight:600;font-size:10px}.engines{display:flex;flex-direction:column;gap:4px;padding:10px 8px 4px;font-size:12px;color:var(--sb-muted)}.engines span{display:flex;align-items:center;gap:8px}.engines i{width:8px;height:8px;border-radius:50%;display:inline-block;background:var(--success)}.engines i.off{background:var(--fg-subtle)}.main{padding:24px 32px 48px;min-width:0;background:var(--canvas)}.crumb{display:inline-flex;align-items:center;gap:6px;color:var(--fg-muted);font-size:13px;margin-bottom:8px}.crumb svg{width:16px;height:16px}.crumb:hover{color:var(--accent);text-decoration:none}.topbar{position:relative;z-index:20;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border-muted)}.topbar .title small{display:block;color:var(--fg-muted);font-size:14px;margin-top:4px}.topbar .actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.card{background:var(--canvas);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.card.panel{background:var(--canvas-subtle)}.card h2{margin-bottom:12px}.box{background:var(--canvas);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.box-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:var(--canvas-subtle);border-bottom:1px solid var(--border);font-size:14px;font-weight:600}.box-h .meta{font-weight:400;color:var(--fg-muted);font-size:12px}.box-b{padding:16px}.grid{display:grid;grid-gap:16px;gap:16px}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.grid.kpis{grid-template-columns:repeat(4,1fr)}@media (max-width:1100px){.grid.cols-3,.grid.kpis{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){.shell{grid-template-columns:1fr}.sidebar{display:none}.grid.cols-2,.grid.cols-3,.grid.kpis{grid-template-columns:1fr}}.kpi{display:flex;flex-direction:column;gap:4px}.kpi .label{color:var(--fg-muted);font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px}.kpi .label svg{width:16px;height:16px}.kpi .value{font-size:28px;font-weight:600;line-height:1.15;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi .delta{font-size:12px;color:var(--fg-muted)}.kpi.accent .value{color:var(--accent)}.spine{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));grid-gap:8px;gap:8px}.spine .seg{background:var(--canvas);border:1px solid var(--border);border-radius:var(--radius);padding:10px 10px 9px;min-height:92px;min-width:0;display:flex;flex-direction:column;gap:2px;position:relative;transition:border-color .12s ease,box-shadow .15s ease,transform .12s ease}.spine .seg:hover{border-color:var(--border-hover,#afb8c1);box-shadow:var(--shadow-md);transform:translateY(-1px)}.spine .seg-top{display:flex;align-items:center;justify-content:space-between;gap:4px}.spine .seg .k{font-family:var(--font-mono);font-size:11px;color:var(--fg-muted)}.spine .seg .share{font-size:10px;font-weight:600;color:var(--accent);background:var(--accent-muted);border-radius:10px;padding:1px 6px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.spine .seg .n{font-weight:600;font-size:22px;line-height:1.15;color:var(--fg);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.spine .seg .nm{font-size:11px;color:var(--fg-muted);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spine .seg .bar{display:block;height:4px;border-radius:2px;background:var(--neutral-muted);margin-top:6px;overflow:hidden}.spine .seg .bar i{display:block;height:100%;border-radius:2px;background:var(--accent);transform-origin:left;animation:zh-growx .8s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:.3s}.spine .seg.hot{border-color:var(--danger)}.spine .seg.hot .share{color:var(--danger);background:var(--danger-muted)}.spine .seg.hot .bar i{background:var(--danger-emphasis)}.spine .seg.hot .n{color:var(--danger)}.spine .seg.zero .n{color:var(--fg-subtle)}@keyframes zh-growx{0%{transform:scaleX(0)}to{transform:none}}@media (max-width:1400px){.spine{grid-template-columns:repeat(5,minmax(0,1fr))}}.badge{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 7px;border-radius:2em;font-size:12px;font-weight:500;line-height:18px;border:1px solid transparent;white-space:nowrap}.badge svg{width:12px;height:12px}.badge.INFO,.badge.LOW,.badge.leve{background:var(--neutral-muted);color:var(--fg-muted);border-color:var(--border)}.badge.MEDIUM,.badge.moderado{background:var(--attention-muted);color:var(--attention);border-color:rgba(212,167,44,.4)}.badge.HIGH,.badge.vulnerable{background:var(--severe-muted);color:var(--severe);border-color:rgba(188,76,0,.4)}.badge.CRITICAL,.badge.critico,.badge.crítico{background:var(--danger-emphasis);color:#fff;border-color:var(--danger-emphasis);font-weight:600}.badge.cat{background:var(--canvas-subtle);color:var(--fg);font-family:var(--font-mono);font-weight:500;border-color:var(--border)}.badge.status-ABIERTO{background:var(--accent-muted);color:var(--accent);border-color:rgba(9,105,218,.4)}.badge.status-FALSO_POSITIVO{background:var(--neutral-muted);color:var(--fg-muted);border-color:var(--border);text-decoration:line-through}.badge.status-REMEDIADO{background:var(--success-muted);color:var(--success);border-color:rgba(26,127,55,.4)}.badge.engine{background:var(--canvas-subtle);color:var(--fg-muted);border-color:var(--border)}.badge.sast{background:var(--sast-muted);color:var(--sast);border-color:rgba(130,80,223,.4)}.badge.dast{background:var(--dast-muted);color:var(--dast);border-color:rgba(9,105,218,.4)}.badge.integrado{background:var(--canvas);color:var(--fg);border-color:var(--border);font-weight:600;padding-left:5px}.badge.integrado svg{width:14px;height:14px}.badge.mode-INCREMENTAL{background:var(--done-muted);color:var(--done);border-color:rgba(130,80,223,.4)}.badge.mode-FULL{background:var(--neutral-muted);color:var(--fg-muted);border-color:var(--border)}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot.EN_ESCANEO{background:var(--attention-emphasis);animation:pulse 1.2s infinite}.dot.COMPLETADO{background:var(--success)}.dot.PENDIENTE{background:var(--fg-subtle)}.dot.ERROR{background:var(--danger)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.dot.EN_ESCANEO{animation:none}}.count{display:inline-block;min-width:20px;padding:0 6px;font-size:12px;font-weight:500;line-height:18px;border-radius:2em;text-align:center;background:var(--neutral-muted);color:var(--fg)}table.tbl{width:100%;border-collapse:collapse;font-size:14px}.tbl th{text-align:left;font-size:12px;color:var(--fg-muted);font-weight:600;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--canvas-subtle);white-space:nowrap}.tbl td{padding:10px 12px;border-bottom:1px solid var(--border-muted);vertical-align:middle}.tbl tbody tr:last-child td{border-bottom:0}.tbl tr:hover td{background:var(--canvas-subtle)}.tbl tr.clickable{cursor:pointer}.tbl td.num,.tbl th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tbl .t{font-weight:600}.tbl .t a{color:var(--fg)}.tbl .t a:hover{color:var(--accent)}.box>.tbl td:first-child,.box>.tbl th:first-child{padding-left:16px}.box>.tbl td:last-child,.box>.tbl th:last-child{padding-right:16px}.sev{width:4px;align-self:stretch;border-radius:2px;display:inline-block}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:32px;padding:0 12px;border:1px solid var(--btn-border);border-radius:var(--radius);font-weight:500;font-size:14px;line-height:20px;cursor:pointer;background:var(--btn-bg);color:var(--fg);box-shadow:var(--btn-shadow);white-space:nowrap;text-decoration:none}.btn svg{width:16px;height:16px;color:var(--fg-muted);flex:0 0 16px}.btn:hover{background:var(--btn-hover);text-decoration:none}.btn:focus-visible{outline:none;box-shadow:var(--focus)}.btn:disabled,.btn[aria-disabled=true]{color:var(--fg-subtle);background:var(--canvas-subtle);border-color:var(--border-muted);cursor:not-allowed;box-shadow:none}.btn:disabled svg{color:var(--fg-subtle)}.btn.primary{background:var(--btn-primary-bg);color:#fff;border-color:rgba(31,35,40,.15);box-shadow:0 1px 0 rgba(27,31,36,.1)}.btn.primary svg{color:hsla(0,0%,100%,.85)}.btn.primary:hover{background:var(--btn-primary-hover)}.btn.primary:disabled{background:#94d3a2;color:hsla(0,0%,100%,.8);border-color:rgba(31,35,40,.15)}.btn.danger,.btn.danger svg{color:var(--danger)}.btn.danger:hover{background:var(--danger-emphasis);color:#fff;border-color:rgba(31,35,40,.15)}.btn.danger:hover svg{color:#fff}.btn.invisible{background:transparent;border-color:transparent;box-shadow:none;color:var(--fg)}.btn.invisible:hover{background:var(--neutral-muted)}.btn.invisible.link{color:var(--accent)}.btn.ok{background:var(--btn-primary-bg);color:#fff;border-color:rgba(31,35,40,.15)}.btn.ok:hover{background:var(--btn-primary-hover)}.btn.sm{height:28px;padding:0 8px;font-size:12px;gap:4px}.btn.sm svg{width:14px;height:14px}.btn.lg{height:40px;padding:0 16px;font-size:16px}.btn.icon{width:32px;padding:0}.btn.icon.sm{width:28px}.btn.block{width:100%}.btn .kbd{font-family:var(--font-mono);font-size:11px;color:var(--fg-muted);border:1px solid var(--border);border-radius:4px;padding:0 4px;line-height:16px}.btngroup{display:inline-flex}.btn.on{background:var(--neutral-muted);box-shadow:inset 0 1px 0 rgba(0,0,0,.08);font-weight:600}.btngroup .btn{border-radius:0;margin-left:-1px}.btngroup .btn:first-child{border-radius:var(--radius) 0 0 var(--radius);margin-left:0}.btngroup .btn:last-child{border-radius:0 var(--radius) var(--radius) 0}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:14px;font-weight:600;color:var(--fg)}.field label .opt{font-weight:400;color:var(--fg-muted)}.field input,.field select,.field textarea,.input{height:32px;border:1px solid var(--border);border-radius:var(--radius);padding:5px 12px;font:inherit;font-size:14px;background:var(--canvas);color:var(--fg);box-shadow:inset 0 1px 0 rgba(208,215,222,.2)}.field textarea{height:auto;min-height:88px;line-height:1.5}.field select,select.input{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:28px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2359636e'%3E%3Cpath d='M4.4 6.2a.75.75 0 0 1 1.06-.04L8 8.7l2.54-2.54a.75.75 0 1 1 1.06 1.06l-3.07 3.07a.75.75 0 0 1-1.06 0L4.4 7.26a.75.75 0 0 1 0-1.06Z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:16px}.field input::placeholder{color:var(--fg-subtle)}.field input:focus,.field select:focus,.field textarea:focus,.input:focus{outline:none;border-color:var(--accent-emphasis);box-shadow:var(--focus)}.field.invalid input,.field.invalid textarea{border-color:var(--danger-emphasis)}.field .err{color:var(--danger);font-size:12px;display:flex;align-items:center;gap:6px}.field .err svg{width:14px;height:14px}.field .help{color:var(--fg-muted);font-size:12px}.field.check{flex-direction:row;align-items:center;gap:8px}.field.check label{font-weight:400}.field input[type=checkbox]{width:16px;height:16px;padding:0;accent-color:var(--accent-emphasis);margin:0}.search{position:relative}.search svg{position:absolute;left:10px;top:8px;width:16px;height:16px;color:var(--fg-subtle)}.search input{padding-left:32px;width:100%}.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:end;margin-bottom:16px}.filters .field{margin:0;min-width:150px}.filters .field label{font-size:12px;color:var(--fg-muted)}.chips{display:flex;flex-wrap:wrap;margin-bottom:16px;color:var(--fg-muted)}.chip,.chips{gap:6px;align-items:center;font-size:12px}.chip{display:inline-flex;height:28px;padding:0 10px;border-radius:2em;border:1px solid var(--border);background:var(--canvas);color:var(--fg);font-weight:500;cursor:pointer}.chip svg{width:12px;height:12px;color:var(--fg-muted)}.chip.on{background:var(--accent-muted);border-color:rgba(9,105,218,.4)}.chip.on,.chip.on svg{color:var(--accent)}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.empty{padding:40px 24px;text-align:center;color:var(--fg-muted);display:flex;flex-direction:column;align-items:center;gap:8px}.empty svg{width:24px;height:24px;color:var(--fg-subtle)}.empty strong{color:var(--fg);font-weight:600}.alert{display:flex;gap:10px;align-items:flex-start;padding:12px 16px;border-radius:var(--radius);font-size:14px;margin-bottom:16px;background:var(--accent-muted);border:1px solid rgba(9,105,218,.4);color:var(--fg)}.alert svg{width:16px;height:16px;flex:0 0 16px;margin-top:2px;color:var(--accent)}.alert.err{background:var(--danger-muted);border-color:rgba(209,36,47,.4)}.alert.err svg{color:var(--danger)}.alert.ok{background:var(--success-muted);border-color:rgba(26,127,55,.4)}.alert.ok svg{color:var(--success)}.alert.warn{background:var(--attention-muted);border-color:rgba(212,167,44,.4)}.alert.warn svg{color:var(--attention)}.code{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--canvas);font-family:var(--font-mono)}.code,.code-h{font-size:12px}.code-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;background:var(--canvas-subtle);border-bottom:1px solid var(--border);font-family:var(--font-sans);color:var(--fg-muted)}.code-h .p{font-family:var(--font-mono);color:var(--fg);font-weight:500;display:inline-flex;align-items:center;gap:6px}.code-h .p svg{width:16px;height:16px;color:var(--fg-muted)}.code-h .tools{display:flex;gap:4px}.code .body{padding:8px 0;overflow-x:auto}.code .ln{display:grid;grid-template-columns:52px 1fr;line-height:20px}.code .ln span:first-child{text-align:right;padding-right:12px;color:var(--fg-subtle);-webkit-user-select:none;-moz-user-select:none;user-select:none}.code .ln span:last-child{white-space:pre;padding:0 16px 0 8px;color:var(--fg)}.code .ln.hit{background:var(--danger-muted);box-shadow:inset 2px 0 0 var(--danger-emphasis)}.code .ln.hit span:first-child{color:var(--danger);font-weight:600}.code .ln.ctx span:last-child{color:var(--fg-muted)}.path{font-size:12px;padding:2px 6px;border-radius:var(--radius)}.method,.path{font-family:var(--font-mono);background:var(--neutral-muted);color:var(--fg)}.method{font-size:11px;font-weight:600;padding:1px 6px;border-radius:4px}details.tech{border:1px solid var(--border);border-radius:var(--radius);background:var(--canvas-subtle)}details.tech summary{list-style:none;cursor:pointer;padding:8px 12px;font-size:13px;font-weight:600;color:var(--fg-muted);display:flex;align-items:center;gap:8px}details.tech summary::-webkit-details-marker{display:none}details.tech summary svg{width:16px;height:16px;transition:transform .15s}details.tech[open] summary svg.chev{transform:rotate(90deg)}details.tech .kv{padding:4px 12px 12px}.kv{display:grid;grid-template-columns:160px 1fr;grid-gap:8px 16px;gap:8px 16px;font-size:14px}.kv dt{color:var(--fg-muted);font-weight:500}.kv dd{margin:0}.kv.small{font-size:12px;gap:6px 12px;grid-template-columns:100px 1fr}.modal-bg{position:fixed;inset:0;background:var(--overlay);display:grid;place-items:center;z-index:50}.modal{background:var(--canvas);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(560px,92vw);max-height:90vh;overflow:auto;box-shadow:var(--shadow-lg)}.modal-h{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.modal-h h2{margin:0;font-size:16px}.modal-b{padding:16px}.modal-b .field:last-of-type{margin-bottom:0}.modal-f{justify-content:flex-end;padding:12px 16px;border-top:1px solid var(--border);background:var(--canvas-subtle)}.modal-f,.verify{display:flex;gap:8px}.verify{padding:8px 12px;border-radius:var(--radius);font-size:12px;margin:8px 0 0;border:1px solid;align-items:flex-start}.verify svg{width:14px;height:14px;flex:0 0 14px;margin-top:2px}.verify.ok{background:var(--success-muted);color:var(--success);border-color:rgba(26,127,55,.4)}.verify.bad{background:var(--danger-muted);color:var(--danger);border-color:rgba(209,36,47,.4)}.verify.warn{background:var(--attention-muted);color:var(--attention);border-color:rgba(212,167,44,.4)}.scanitem{padding:10px 12px;border-radius:var(--radius);cursor:pointer;border:1px solid transparent;margin-bottom:4px}.scanitem:hover{background:var(--canvas-subtle)}.scanitem.sel{background:var(--accent-muted);border-color:rgba(9,105,218,.4)}.timeline{display:flex;flex-direction:column;gap:10px}.timeline .ev{display:grid;grid-template-columns:16px 1fr;grid-gap:10px;gap:10px;font-size:13px}.timeline .ev i{width:8px;height:8px;border-radius:50%;background:var(--fg-subtle);margin:6px 4px;display:block}.timeline .ev i.ok{background:var(--success)}.timeline .ev i.sast{background:var(--sast)}.timeline .ev i.dast{background:var(--dast)}.pair{display:grid;grid-template-columns:1fr 120px 1fr;grid-gap:0;gap:0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.pair>div{padding:14px 16px}.pair .mid{background:var(--canvas-subtle);border-left:1px solid var(--border);border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center}.pair .mid .pct{font-size:22px;font-weight:600}.pair .mid .logo{width:28px;height:28px}.bar{height:8px;background:var(--neutral-muted);overflow:hidden}.bar,.bar i{border-radius:4px}.bar i{display:block;height:100%}.levels{display:flex;gap:0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);height:28px}.levels span{flex:1 1;display:grid;place-items:center;font-size:12px;font-weight:600;color:#fff}.weights{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:6px;gap:6px}.weights span{display:flex;justify-content:space-between;padding:4px 8px;border:1px solid var(--border-muted);border-radius:4px;font-size:12px}.weights span b{font-family:var(--font-mono);font-weight:500}.drop{border:1px dashed var(--border);border-radius:var(--radius);padding:28px;text-align:center;color:var(--fg-muted);background:var(--canvas-subtle);display:flex;flex-direction:column;align-items:center;gap:8px}.drop svg{width:24px;height:24px;color:var(--fg-subtle)}.toast{position:fixed;right:24px;bottom:24px}.hbars{display:flex;flex-direction:column;gap:12px}.hbar{display:grid;grid-template-columns:84px 1fr 44px;align-items:center;grid-gap:12px;gap:12px;font-size:13px}.hbar .lab{color:var(--fg-muted)}.hbar .val{text-align:right;font-weight:600}.hbar .track{height:16px;border-radius:8px;background:var(--neutral-muted);overflow:hidden}.hbar .track i{display:block;height:100%;border-radius:8px}svg.arrow{width:18px;height:18px;vertical-align:-4px}.arrow.sev,.arrow.up{color:var(--severe)}.arrow.muted{color:var(--fg-muted)}.led{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--fg)}.led i{width:10px;height:10px;border-radius:50%;display:inline-block}.led.open i{background:var(--danger-emphasis);box-shadow:0 0 0 3px rgba(207,34,46,.22),0 0 10px rgba(207,34,46,.55)}.led.closed i{background:var(--success);box-shadow:0 0 0 3px rgba(26,127,55,.2)}.led.fp i{background:var(--fg-subtle)}.box.crit-vulnerable{border-color:rgba(188,76,0,.55);box-shadow:inset 4px 0 0 var(--severe)}.box.crit-vulnerable>.box-h{background:var(--severe-muted);border-color:rgba(188,76,0,.3)}.box.crit-critico{border-color:rgba(207,34,46,.6);box-shadow:inset 4px 0 0 var(--danger-emphasis)}.box.crit-critico>.box-h{background:var(--danger-muted);border-color:rgba(207,34,46,.3)}.box.crit-moderado{border-color:rgba(191,135,0,.55);box-shadow:inset 4px 0 0 var(--attention-emphasis)}.box.crit-moderado>.box-h{background:var(--attention-muted)}.box.crit-leve{box-shadow:inset 4px 0 0 var(--fg-subtle)}.pair2{display:grid;grid-template-columns:minmax(0,1fr) 340px}.pair2 .stack{display:flex;flex-direction:column}.pair2 .stack>div{padding:16px 20px}.pair2 .joint{display:flex;align-items:center;gap:10px;padding:6px 20px;background:var(--canvas-subtle);border-top:1px solid var(--border-muted);border-bottom:1px solid var(--border-muted);font-size:12px;color:var(--fg-muted);font-weight:600}.pair2 .joint .logo{width:18px;height:18px}.escala{border-left:1px solid var(--border);background:var(--canvas-subtle);padding:16px 20px;display:flex;flex-direction:column;gap:12px}.escala .head{display:flex;align-items:center;justify-content:space-between;gap:8px}.escala .pct{font-size:30px;font-weight:600;line-height:1}.escala .lbl{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted)}.score{position:relative;height:22px;border-radius:6px;background:var(--neutral-muted);overflow:hidden;display:flex}.score i{display:block;height:100%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:700}.score .thr{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--fg)}.thr-lbl{font-size:11px;color:var(--fg-muted);display:flex;justify-content:space-between}.contrib{display:flex;flex-direction:column;gap:6px}.contrib div{display:grid;grid-template-columns:54px 1fr;grid-gap:10px;gap:10px}.contrib b,.contrib div{align-items:center;font-size:12px}.contrib b{display:inline-flex;gap:2px;justify-content:center;height:22px;border-radius:6px;color:#fff}.contrib b.c1{background:var(--danger-emphasis)}.contrib b.c2{background:var(--severe)}.contrib b.c3{background:var(--attention-emphasis)}.contrib b.pen{background:var(--fg-subtle)}.result{border-top:1px solid var(--border);padding-top:12px;display:flex;flex-direction:column;gap:8px}.result .jump{display:flex;align-items:center;gap:8px;font-weight:600}.result .big{font-size:22px;font-weight:700;color:var(--severe)}.diffstat{position:relative;display:flex;gap:2px;height:14px}.diffstat i{flex:1 1;border-radius:2px;background:var(--neutral-muted)}.diffstat i.c1{background:var(--danger-emphasis)}.diffstat i.c2{background:var(--severe)}.diffstat i.c3{background:var(--attention-emphasis)}.diffstat i:nth-child(n+15){background:var(--success-muted);outline:1px solid rgba(26,127,55,.25);outline-offset:-1px}.diffstat .thr{position:absolute;top:-5px;bottom:-5px;left:70%;width:2px;background:var(--fg)}.thr-lbl .umbral{color:var(--fg);font-weight:600}.thr-lbl .zona{color:var(--success);font-weight:600;display:inline-flex;align-items:center;gap:4px}.thr-lbl .zona svg{width:12px;height:12px}.contrib div{grid-template-columns:56px 1fr}.contrib b{background:transparent!important;color:var(--fg);font-family:var(--font-mono);font-size:14px;font-weight:700;justify-content:flex-start;height:auto}.contrib b.t1{color:var(--danger)}.contrib b.t2{color:var(--severe)}.contrib b.t3{color:var(--attention)}.contrib b.t0{color:var(--fg-subtle)}.contrib b.tsum{color:var(--success)}.contrib div:last-child{border-top:1px solid var(--border);padding-top:6px;margin-top:2px}.ficha{display:grid;grid-template-columns:minmax(0,1fr) 300px}.ficha .kv2{display:grid;grid-template-columns:140px minmax(0,1fr) 140px minmax(0,1fr);grid-gap:10px 16px;gap:10px 16px;padding:16px 20px;font-size:14px;align-items:baseline}.ficha .kv2 dt{color:var(--fg-muted)}.ficha .kv2 dd{margin:0;min-width:0;overflow-wrap:anywhere}.ficha .stats{border-left:1px solid var(--border);background:var(--canvas-subtle);display:grid;grid-template-columns:1fr 1fr}.ficha .stats>div{padding:14px 18px;display:flex;flex-direction:column;gap:2px}.ficha .stats>div:nth-child(odd){border-right:1px solid var(--border)}.ficha .stats>div:nth-child(n+3){border-top:1px solid var(--border)}.ficha .stats .k{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted)}.ficha .stats .v{font-size:22px;font-weight:600;line-height:1.2}.ficha .stats .v.sm{font-size:14px}.seclist{display:flex;flex-direction:column}.seclist>div{display:grid;grid-template-columns:16px minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--border-muted);font-size:13px}.seclist>div:first-child{border-top:0;padding-top:0}.seclist .d,.seclist svg.ic{color:var(--fg-muted)}.seclist .d{font-size:12px;display:block}.sect{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);margin:16px 0 6px}.sect:first-child{margin-top:0}.where{display:grid;grid-template-columns:120px minmax(0,1fr);grid-gap:6px 12px;gap:6px 12px;font-size:14px}.where dt{color:var(--fg-muted)}.where dd{margin:0}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--fg-muted)}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:14px;height:3px;border-radius:2px}.legend i,.sep{display:inline-block}.sep{width:1px;height:12px;background:var(--border);margin:0 8px;vertical-align:-2px}.delta .sep,.meta .sep,.small .sep{height:10px;margin:0 7px}.side .sep,.sidebar .sep{background:var(--sb-border)}.btn .sep{display:none}.badge .sep{height:10px;margin:0 5px;background:currentColor;opacity:.35}.engines span{white-space:nowrap}@keyframes spin{to{transform:rotate(1turn)}}.spinner{width:14px;height:14px;animation:spin .9s linear infinite}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:1.6s}}.scanning{display:inline-flex;align-items:center;gap:6px;color:var(--attention);font-weight:600;white-space:nowrap}.scanning .spinner{color:var(--attention-emphasis)}.scanning.chip{height:24px;padding:0 10px 0 8px;border-radius:2em;background:var(--attention-muted);border:1px solid rgba(212,167,44,.45);font-size:12px}.box-h .scanning.chip{margin-left:8px}.dotsep{display:inline-block;margin:0 .5em;color:var(--fg-subtle);line-height:1;font-size:.9em}.delta .dotsep,.meta .dotsep,.small .dotsep{margin:0 .45em}.side .dotsep,.sidebar .dotsep{color:var(--sb-muted)}.badge .dotsep{margin:0 .35em;color:inherit;opacity:.6}.btn .dotsep{display:none}.alert,.alert .right{align-items:center}.alert .right{margin-left:auto;display:inline-flex}.kpi .delta.tags{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center}.badge.mini{height:18px;line-height:16px;font-size:11px;padding:0 6px}.sidebar{height:100vh;position:-webkit-sticky;position:sticky;top:0;overflow-y:auto}.topbar .title h1{overflow-wrap:anywhere}.chart-wrap{width:100%}.recharts-wrapper{font-family:var(--font-sans)}.srow{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center}.nav a:hover,a.brand:hover{text-decoration:none}button.chip{font:inherit;font-size:12px;font-weight:500}.drop.on{border-color:var(--accent-emphasis);background:var(--accent-muted)}.scanitem:focus-visible{outline:none;box-shadow:var(--focus)}.weights label{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;border:1px solid var(--border-muted);border-radius:4px;font-size:12px}span.arrow{display:inline-flex;align-items:center;flex:0 0 auto;margin:0 2px}span.arrow,span.arrow svg{width:18px;height:18px}.grid.dash2{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start}.grid.dash2>.col{display:flex;flex-direction:column;gap:16px;min-width:0}@media (max-width:1100px){.grid.dash2{grid-template-columns:1fr}.box.fixed.tall{height:520px}}.box.fixed{height:336px;display:flex;flex-direction:column}.box.fixed.tall{height:688px}.box.fixed>.box-h{flex:0 0 auto}.box-b.fill{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:12px}.box-b.fill .foot{margin:auto 0 0}.box-b.fill.scroll{overflow:auto;gap:0}.chart-wrap.grow{flex:1 1 auto;min-height:0}.chart-note{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;padding:0 12%;color:var(--fg-muted);font-size:12px;pointer-events:none}.chart-note.static{position:static;height:100%}.chart-note svg{width:22px;height:22px;margin-bottom:4px;color:var(--fg-subtle)}.chart-note strong{color:var(--fg);font-size:13px}.box-f{flex:0 0 auto;padding:10px 12px;border-radius:0 0 var(--radius) var(--radius)}.box-f .btn.block{justify-content:center}.mixbar{display:flex;gap:2px;height:8px;border-radius:4px;overflow:hidden;background:var(--neutral-muted);margin-top:2px}.mixbar i{display:block;height:100%;min-width:0;transition:width .7s cubic-bezier(.2,.7,.2,1)}.mixbar i:first-child{border-radius:4px 0 0 4px}.mixbar i:last-child{border-radius:0 4px 4px 0}.mixbar.none i{background:var(--neutral-muted)}.hbar .track i{transition:width .7s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i, 0) * 70ms)}.toplist{list-style:none;margin:0;padding:0}.toplist li+li{border-top:1px solid var(--border)}.toplist a{display:grid;grid-template-columns:18px minmax(0,1fr) auto 14px;grid-gap:10px;gap:10px;align-items:center;padding:8px 12px;color:var(--fg);text-decoration:none;transition:background-color .12s ease}.toplist a:hover{background:var(--canvas-subtle);text-decoration:none}.toplist a:hover .go{color:var(--fg);transform:translateX(2px)}.toplist .rank{font-size:11px;font-weight:600;color:var(--fg-subtle);text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.toplist .body{display:flex;flex-direction:column;gap:2px;min-width:0}.toplist .t{display:flex;align-items:center;gap:6px;min-width:0;font-size:13px}.toplist .ttl{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.toplist .sc{font-size:12px;font-weight:600;color:var(--fg-muted)}.toplist .sc,.toplist .t .badge{flex:0 0 auto}.toplist .loc{font-size:11px;color:var(--fg-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toplist .go{color:var(--fg-subtle);transition:transform .12s ease,color .12s ease}.badge,.box,.btn,.card,.chip,.crumb,.field input,.field select,.field textarea,.led i,.nav a,.search input,.tbl tr{transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .15s ease,transform .1s ease}.btn:active:not(:disabled){transform:translateY(1px)}.btn:focus-visible,.chip:focus-visible,.nav a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tbl tbody tr:hover{background:var(--canvas-subtle)}.box.crit-critico:hover,.box.crit-leve:hover,.box.crit-moderado:hover,.box.crit-vulnerable:hover,.card.kpi:hover{box-shadow:var(--shadow-md)}.crumb:hover svg{transform:translateX(-2px)}.crumb svg{transition:transform .12s ease}.led.open i{animation:zh-led 2.6s ease-in-out infinite}.escala:hover .diffstat i.c1,.escala:hover .diffstat i.c2,.escala:hover .diffstat i.c3{filter:brightness(1.08)}.contrib div{transition:background-color .12s ease;border-radius:4px;padding:2px 4px;margin:0 -4px}.contrib div:hover{background:var(--canvas)}.modal-bg{animation:zh-fade .16s ease-out both}.modal{animation:zh-pop .2s cubic-bezier(.2,.7,.2,1) both}details.tech>:not(summary){animation:zh-fade .2s ease-out both}@keyframes zh-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes zh-fade{0%{opacity:0}to{opacity:1}}@keyframes zh-pop{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}@keyframes zh-led{0%,to{box-shadow:0 0 0 3px rgba(207,34,46,.22),0 0 10px rgba(207,34,46,.55)}50%{box-shadow:0 0 0 4px rgba(207,34,46,.12),0 0 4px rgba(207,34,46,.35)}}@keyframes zh-cell{0%{transform:scaleY(.2);opacity:.3}to{transform:none;opacity:1}}@keyframes zh-page{0%{opacity:0}to{opacity:1}}.main.enter{animation:zh-page .28s ease-out both}.main>.crumb,.main>.topbar{animation:zh-up .32s cubic-bezier(.2,.7,.2,1) backwards}.main .box,.main .card,.main .filters,.main .pair2,.main>.alert,.main>.empty{animation:zh-up .45s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:.06s}.grid>:nth-child(2){animation-delay:.12s}.grid>:nth-child(3){animation-delay:.18s}.grid>:nth-child(4){animation-delay:.24s}.grid>:nth-child(5){animation-delay:.3s}.grid>:nth-child(6){animation-delay:.36s}.grid.dash2 .col>:nth-child(2){animation-delay:.22s}.grid.dash2>.box{animation-delay:.3s}.main>.box:nth-of-type(2),.main>div>.box:nth-of-type(2){animation-delay:.14s}.main>.box:nth-of-type(3),.main>div>.box:nth-of-type(3){animation-delay:.22s}.main>.box:nth-of-type(4){animation-delay:.3s}.main>.box:nth-of-type(5){animation-delay:.38s}.toplist li{animation:zh-up .35s ease-out both;animation-delay:calc(.25s + var(--i, 0) * 45ms)}.diffstat i{transform-origin:bottom;animation:zh-cell .3s ease-out both;animation-delay:calc(.2s + var(--i, 0) * 35ms)}.contrib div{animation:zh-up .3s ease-out both;animation-delay:calc(.5s + var(--i, 0) * 70ms)}.escala:hover .diffstat i{animation:zh-cell .3s ease-out both;animation-delay:calc(var(--i, 0) * 25ms)}.spine>*{animation:zh-up .35s ease-out backwards;animation-delay:calc(.15s + var(--i, 0) * 35ms)}.tbl tbody tr{animation:zh-fade .3s ease-out both}.tbl tbody tr:nth-child(2){animation-delay:.03s}.tbl tbody tr:nth-child(3){animation-delay:.06s}.tbl tbody tr:nth-child(4){animation-delay:.09s}.tbl tbody tr:nth-child(5){animation-delay:.12s}.tbl tbody tr:nth-child(6){animation-delay:.15s}.tbl tbody tr:nth-child(7){animation-delay:.18s}.tbl tbody tr:nth-child(8){animation-delay:.21s}.tbl tbody tr:nth-child(n+9){animation-delay:.24s}@media (prefers-reduced-motion:reduce){.contrib div,.main .box,.main .card,.main .filters,.main .pair2,.main>.alert,.main>.crumb,.main>.empty,.main>.topbar,.spine>*,.toplist li{animation-name:zh-fade}.diffstat i,.escala:hover .diffstat i,.led.open i,.spine .seg .bar i{animation:none}.hbar .track i,.mixbar i{transition:none}}.picker{position:relative}.picker>.btn.on{border-color:var(--accent);color:var(--accent)}.picker>.btn .count{margin-left:2px}.picker-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:40;width:320px;background:var(--canvas);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:10px;animation:zh-pop .18s cubic-bezier(.2,.7,.2,1) backwards}.picker-h{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 8px;font-size:14px}.picker-body{max-height:320px;overflow:auto;margin:0 -4px;padding:0 4px}.picker-f{display:flex;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.picker-f .btn{flex:1 1;justify-content:center}.src-group+.src-group{margin-top:8px;padding-top:8px;border-top:1px solid var(--border-muted)}.src-title{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-muted);padding:4px 4px 6px}.src-title .muted{text-transform:none;letter-spacing:0;font-weight:400}.src-row{display:grid;grid-template-columns:16px minmax(0,1fr);grid-column-gap:10px;column-gap:10px;align-items:center;padding:6px;border-radius:6px;cursor:pointer;transition:background-color .12s ease}.src-row:hover{background:var(--canvas-subtle)}.src-row input{margin:0;width:14px;height:14px;accent-color:var(--accent)}.src-name{font-size:13px;font-weight:500;color:var(--fg)}.src-name,.src-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.src-sub{grid-column:2;font-size:11px;color:var(--fg-muted)}.period-pop{width:316px}.period-h{justify-content:space-between;padding:2px 2px 8px;font-size:14px}.period-h,.period-y{display:flex;align-items:center}.period-y{flex-direction:column;line-height:1.2}.period-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:4px;gap:4px}.period-m{position:relative;height:40px;border:1px solid transparent;border-radius:6px;background:transparent;font:inherit;font-size:13px;color:var(--fg);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.period-m small{font-size:10px;line-height:1;color:var(--fg-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.period-m.has:after{content:"";position:absolute;top:5px;right:6px;width:5px;height:5px;border-radius:50%;background:var(--accent)}.period-m:hover{background:var(--canvas-subtle);border-color:var(--border)}.period-m.cur{font-weight:600;box-shadow:inset 0 0 0 1px var(--border)}.period-m.sel,.period-m.sel:hover{background:var(--accent);border-color:var(--accent);color:#fff}.period-m.sel small{color:hsla(0,0%,100%,.85)}.period-m.sel.has:after{background:#fff}.period-m.fut{color:var(--fg-subtle)}.period-f{display:flex;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.period-f .btn{flex:1 1;justify-content:center}.period-note{margin:8px 2px 0;line-height:1.35}.dash.busy{opacity:.55;filter:saturate(.6);pointer-events:none}.dash,.dash.busy{transition:opacity .25s ease,filter .25s ease}.toplist a{grid-template-columns:18px auto minmax(0,1fr) auto 14px}.toplist .crit{display:inline-flex}.toplist .crit .row{gap:8px}.toplist .crit .sev{height:34px}.filters .field .picker>.btn{height:32px;min-width:150px;max-width:260px;justify-content:flex-start;font-weight:500}.filters .field .picker>.btn .picker-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1;text-align:left}.filters .field .picker>.btn>svg:last-child{margin-left:auto;color:var(--fg-muted)}.picker-pop.left{left:0;right:auto}.src-row.src-extra{margin-top:6px;padding-top:10px;border-top:1px solid var(--border-muted);border-radius:0 0 6px 6px}.src-row .swatch{width:10px;height:10px;border-radius:2px;flex:none}.src-row .count{font-size:11px;line-height:16px;min-width:18px}.src-cnt{margin-left:auto;font-size:11px;font-weight:500;color:var(--fg-subtle);white-space:nowrap}.src-cnt.on{color:var(--accent);background:var(--accent-muted);padding:0 6px;border-radius:2em;line-height:16px}.picker-label{display:inline-block}.box-h .srcs{display:inline-flex;align-items:center;gap:6px;font-weight:400}.box-h .srcs svg{color:var(--fg-subtle)}.weights{grid-template-columns:repeat(auto-fill,minmax(176px,1fr))}.weights>label,.weights>span.w{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--border-muted);border-radius:6px;font-size:12px;background:var(--canvas)}.weights>label span,.weights>span.w span{display:inline;padding:0;border:0;background:none;font-size:inherit}.weights>label .wk,.weights>span.w .wk{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1 1 auto}.weights>label .wk .mono,.weights>span.w .wk .mono{font-size:12px;font-weight:600;color:var(--fg)}.weights .wk small{display:block;font-size:11px;overflow:hidden;text-overflow:ellipsis}.weights .wk small,.weights>span.w .wv{color:var(--fg-muted);white-space:nowrap}.weights>span.w .wv{display:inline-block;flex:none;font-family:inherit;font-size:14px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.weights>span.w.up .wv{color:var(--danger)}.weights>span.w.down .wv{color:var(--success)}.weights>span.w.up{border-color:rgba(207,34,46,.35);background:var(--danger-muted)}.weights>span.w.down{border-color:rgba(26,127,55,.35);background:var(--success-muted)}.weights>label .row{display:inline-flex;align-items:center}.weights>label .input{width:64px}.box-f{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:10px 16px;border-top:1px solid var(--border);background:var(--canvas-subtle)}.box-f .acts{display:flex;gap:6px;margin-left:auto}.link-more{display:inline-flex;align-items:center;gap:2px;font-size:12px;font-weight:600;color:var(--accent);text-decoration:none;margin-top:6px;width:-moz-fit-content;width:fit-content}.link-more svg{width:14px;height:14px;transition:transform .15s ease}.link-more:hover{text-decoration:underline}.link-more:hover svg{transform:translateX(2px)}.kpi .link-more{margin-top:4px}.corr{transition:opacity .25s ease,filter .25s ease}.corr.busy{opacity:.55;filter:saturate(.6);pointer-events:none}.contrib div.decisive{background:var(--success-muted)}.contrib div.blocker{background:var(--attention-muted)}.dec-tag{display:inline-block;margin-left:8px;font-style:normal;font-size:11px;font-weight:600;color:var(--success);background:var(--canvas);border:1px solid rgba(26,127,55,.35);border-radius:2em;padding:0 7px;line-height:16px;vertical-align:middle;white-space:nowrap}.dec-tag.block{color:var(--attention);border-color:rgba(212,167,44,.5)}.formula{display:grid;grid-template-columns:auto 1fr;grid-gap:4px 10px;gap:4px 10px;align-items:baseline;font-size:12px;color:var(--fg-muted)}.formula>small:nth-child(odd){font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-subtle)}.formula .num{font-family:var(--font-mono);color:var(--fg)}.formula .num.strong{font-weight:700;color:var(--severe)}.formula small{font-size:11px}.formula svg{color:var(--fg-subtle)}.tbl.pend tr.clickable .why svg{transition:transform .2s ease}.tbl.pend tr.open .why svg{transform:rotate(180deg)}.tbl.pend tr.open td{background:var(--canvas-subtle)}.pend-x{border-top:1px dashed var(--border);animation:zh-up .35s cubic-bezier(.2,.7,.2,1) backwards}.pend-x .lbl{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted)}.escala.pend-esc{margin-top:12px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--canvas)}.pend-badge{background:var(--neutral-muted);color:var(--fg-muted);border-color:var(--border)}.pend-fix{display:flex;gap:8px;align-items:flex-start;margin-top:10px;padding:8px 10px;border-radius:6px;background:var(--attention-muted);border:1px solid rgba(212,167,44,.45);font-size:12px}.pend-fix svg{flex:none;margin-top:2px;color:var(--attention)}.contrib div.miss span{color:var(--fg-muted)}.contrib div.miss b{color:var(--fg-subtle)}.contrib div.eng span{color:var(--fg-muted);font-style:italic}.contrib div.eng b{color:var(--fg-subtle)}.contrib div.eng span .dec-tag,.contrib div.miss span .dec-tag{font-style:normal}.corr-top{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);grid-gap:16px;gap:16px;align-items:stretch}.corr-top .grid.kpis{grid-template-columns:repeat(2,1fr);grid-auto-rows:1fr}.corr-top .kpi{height:100%;box-sizing:border-box;justify-content:center}.corr-top .box.how{display:flex;flex-direction:column}.corr-top .box.how .box-b{flex:1 1;padding:14px 16px}@media (max-width:1200px){.corr-top{grid-template-columns:1fr}.corr-top .grid.kpis{grid-template-columns:repeat(4,1fr)}}@media (max-width:760px){.corr-top .grid.kpis{grid-template-columns:1fr 1fr}}.src-group{margin-bottom:16px}.grp-h{padding:10px 16px}.grp-src{gap:8px;flex-wrap:wrap;min-width:0}.grp-src svg{color:var(--fg-muted);flex:none}.grp-src strong{font-weight:600}.grp-n{gap:6px;flex:none}.grp-n .chip{height:24px;padding:0 9px;cursor:default;font-weight:500}.grp-n .chip .logo{width:13px;height:13px}.grp-sect{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:9px 16px;border-top:1px solid var(--border);border-bottom:1px solid var(--border-muted);background:var(--canvas);font-size:12px;font-weight:600}.grp-sect>.logo,.grp-sect>svg{color:var(--fg-muted);flex:none}.grp-sect .logo{width:14px;height:14px}.grp-sect .n{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;border-radius:2em;background:var(--neutral-muted);color:var(--fg);font-size:11px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.grp-sect .muted{font-weight:400}.grp-sect.last{border-bottom:0}.grp-sect .grp-more{margin-left:auto;font-weight:600}.src-group>.grp-sect:first-of-type{border-top:0}.grp-empty{padding:10px 16px 12px;font-size:13px;color:var(--fg-muted)}@media (prefers-reduced-motion:reduce){.fold{animation:none;transition:none}}.contrib div{grid-template-columns:56px 1fr auto}.contrib .mark{display:inline-flex;align-items:center;gap:3px;font-style:normal;font-size:11px;font-weight:600;white-space:nowrap;padding:0 7px;height:18px;border-radius:2em}.contrib .mark.ok{color:var(--success);background:var(--canvas);border:1px solid rgba(26,127,55,.35)}.contrib .mark.ok svg{width:12px;height:12px}.contrib .mark.block{color:var(--attention);background:var(--canvas);border:1px solid rgba(212,167,44,.5)}.pcard .lect{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;font-weight:600;color:var(--fg-muted)}.pcard .lect .src{display:inline-flex;align-items:center;gap:4px;font-weight:500;color:var(--fg);background:var(--canvas-subtle);border:1px solid var(--border);border-radius:2em;padding:0 8px;height:20px}.corr-top .kpi{padding:18px 20px;gap:6px;justify-content:space-between}.corr-top .kpi .label{font-size:13px}.corr-top .kpi .value{font-size:40px;line-height:1;letter-spacing:-.02em}.corr-top .kpi .delta{font-size:12.5px}.pend-cols{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);grid-gap:16px;gap:16px;align-items:start}@media (max-width:1100px){.pend-cols{grid-template-columns:1fr}}.pend-x{padding:14px 16px 16px}.escala.pend-esc{margin-top:0}.pend-why{padding:2px 0 0}.pend-why .lbl{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted)}.pend-why p{margin:4px 0 12px;font-size:13px;line-height:1.5}.pend-why p strong{font-weight:600}.dec-tag{display:none}.pcards{display:flex;flex-direction:column;gap:10px;padding:12px 16px 14px}.pcard{margin:0}.pcard>.pcard-h{width:100%;text-align:left;font:inherit;cursor:pointer;border:0;border-bottom:1px solid var(--border);color:var(--fg)}.pcard>.pcard-h:hover{filter:brightness(.985)}.pcard>.pcard-h .pct{font-family:var(--font-mono);font-size:15px;font-weight:700}.pcard>.pcard-h .pct.ok{color:var(--success)}.pcard>.pcard-h .why{display:inline-flex;color:var(--fg-muted)}.pcard>.pcard-h .why svg{transition:transform .2s ease}.pcard.open>.pcard-h .why svg{transform:rotate(180deg)}.pcard.closing>.pcard-h .why svg{transform:none}.pcard.crit-leve>.pcard-h{background:var(--canvas-subtle)}.pcard-sum{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:16px;gap:16px;align-items:center;padding:10px 16px 12px;cursor:pointer}.pcard-sum:hover{background:var(--canvas-subtle)}.pcard-sum .t{font-weight:600}.pcard-sum .sum-eff{display:flex;flex-direction:column;gap:3px;align-items:flex-end;white-space:nowrap}@media (max-width:1000px){.pcard-sum{grid-template-columns:1fr}.pcard-sum .sum-eff{align-items:flex-start}}.pcard .pair2{animation:none}.pcard .pair2 .stack>div{padding:14px 16px}.pcard .pair2 .joint{padding:6px 16px}.pcard .pair-f{padding:10px 16px;border-top:1px solid var(--border);background:var(--canvas-subtle)}.pcard .pend-x{border-top:0;animation:none}.pcard .pend-x .t a{color:var(--fg)}.pcard:hover{box-shadow:var(--shadow-md)}.box.crit-vulnerable.pcard:hover{box-shadow:inset 4px 0 0 var(--severe),var(--shadow-md)}.box.crit-critico.pcard:hover{box-shadow:inset 4px 0 0 var(--danger-emphasis),var(--shadow-md)}.box.crit-moderado.pcard:hover{box-shadow:inset 4px 0 0 var(--attention-emphasis),var(--shadow-md)}.box.crit-leve.pcard:hover{box-shadow:inset 4px 0 0 var(--fg-subtle),var(--shadow-md)}.fold{overflow:hidden;will-change:height,opacity}.n-pill{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;border-radius:2em;background:var(--neutral-muted);color:var(--fg);font-size:11px;font-weight:700}.grp-sect .n,.n-pill{font-family:var(--font-mono)}.grp-n .chip{cursor:pointer;gap:4px}.grp-n .chip b{font-family:var(--font-mono);font-weight:700;font-size:12px;margin-right:2px}.grp-n .chip:hover{border-color:var(--fg-subtle)}.grp-n .chip.on:hover{border-color:var(--accent)}.pcard>.pcard-h .pct{display:none}.pcard-sum{grid-template-columns:1fr}.boot{min-height:100vh;flex-direction:column;justify-content:center;gap:22px;background:var(--sb-bg);color:var(--sb-fg);padding:24px}.boot,.boot-brand{display:flex;align-items:center}.boot-brand{gap:20px}.boot-brand svg{width:clamp(56px,5.2vw,84px);height:clamp(56px,5.2vw,84px)}.boot-brand .wordmark{font-size:clamp(34px,3.4vw,56px);font-weight:700;letter-spacing:.12em;color:#fff}.boot-msg{align-items:center;gap:10px;min-height:34px;font-size:clamp(18px,1.5vw,24px);font-weight:500;color:var(--sb-fg);animation:zh-up .5s cubic-bezier(.2,.7,.2,1) .1s both}.boot-msg,.dots{display:inline-flex}.dots{gap:5px;margin-left:4px;vertical-align:middle}.dots i{width:6px;height:6px;border-radius:50%;background:currentColor;animation:zh-dot 1.2s ease-in-out infinite}.dots i:nth-child(2){animation-delay:.2s}.dots i:nth-child(3){animation-delay:.4s}@keyframes zh-dot{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.boot-bar{width:min(320px,70vw);height:3px;border-radius:2px;background:hsla(0,0%,100%,.08);overflow:hidden;animation:zh-up .5s cubic-bezier(.2,.7,.2,1) .2s both}.boot-bar i{display:block;width:40%;height:100%;border-radius:2px;background:linear-gradient(90deg,#a371f7,#58a6ff,#3fb950);animation:zh-slide 1.6s ease-in-out infinite}@keyframes zh-slide{0%{transform:translateX(-100%)}to{transform:translateX(260%)}}.boot-slow{font-size:14px;color:var(--sb-muted)}.boot-msg.boot-err{font-size:16px;font-weight:400;flex-wrap:wrap;justify-content:center;text-align:center;max-width:560px}.boot-msg.boot-err>svg{color:#f85149}.boot-msg.boot-err .btn{margin-left:4px}@media (prefers-reduced-motion:reduce){.boot-bar i,.dots i{animation:none}.boot-bar i{width:100%}}.btngroup.exports .btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.btngroup.exports .btn:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.btngroup.exports .btn[aria-busy=true]{color:var(--fg);background:var(--canvas)}.btngroup.exports .btn{white-space:nowrap}.topbar{flex-wrap:wrap}.topbar .title{flex:1 1 280px;min-width:0}.topbar .actions{flex:0 1 auto;margin-left:auto;max-width:100%}@media (max-width:1280px){.btngroup.exports{display:flex;flex-basis:100%}.btngroup.exports .btn{flex:1 1;justify-content:center;min-width:0}}@media (max-width:760px){.topbar .actions{margin-left:0;justify-content:flex-start;width:100%}.btngroup.exports{flex-direction:column}.btngroup.exports .btn{flex:none;margin-left:0;margin-top:-1px;border-radius:0}.btngroup.exports .btn:first-child{margin-top:0;border-radius:var(--radius) var(--radius) 0 0}.btngroup.exports .btn:last-child{border-radius:0 0 var(--radius) var(--radius)}}