@font-face{font-family:Archivo;src:url('./assets/fai-archivo-es-en-variable.woff2') format('woff2');font-weight:100 900;font-display:swap}@font-face{font-family:Jet;src:url('./assets/fai-jetbrains-mono-es-en-variable.woff2') format('woff2');font-weight:100 800;font-display:swap}
:root{color-scheme:dark;--bg:#101c29;--panel:#172737;--deep:#122130;--line:#3e5364;--muted:#b1bfca;--text:#f0eee5;--sand:#ddd5be;--blue:#a5c8ef;--lime:#c9de9d;--risk:#ffbaaa}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Archivo,Arial,sans-serif;line-height:1.55;font-size:15px}button,input,select,textarea{font:inherit}button,a,select,input,textarea{touch-action:manipulation}button,select,input[type=date],input[type=number]{min-height:44px}button{border:1px solid var(--line);border-radius:5px;color:var(--text);background:transparent;padding:9px 15px;cursor:pointer;font-size:13px;font-weight:600}button:hover:not(:disabled){background:#29435a;border-color:var(--blue)}button:disabled{opacity:.48;cursor:not-allowed}a{color:inherit;text-underline-offset:5px}:focus-visible{outline:3px solid var(--blue);outline-offset:4px}select,input[type=date],input[type=number]{background:var(--deep);color:var(--text);border:1px solid var(--line);border-radius:4px;padding:8px;max-width:100%}h1,h2,h3,h4,p{margin-top:0}h3{font-size:20px;line-height:1.3;font-weight:600;margin-bottom:12px}h4{font-size:13px}small{font-size:12px}strong{font-weight:650}.masthead{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 5%;border-bottom:1px solid var(--line)}.brand{font-size:31px;font-weight:750;letter-spacing:-1.5px;text-decoration:none}.brand span{font-family:Jet,monospace;font-size:10px;letter-spacing:1px;color:var(--muted);margin-left:14px}.product{font-size:18px;letter-spacing:2px;font-weight:650}.product span{color:var(--blue);font-weight:350}.product small{display:block;font-family:Jet,monospace;letter-spacing:1.5px;font-size:9px;text-align:center;color:var(--muted);margin-top:3px}.local{font-family:Jet,monospace;font-size:11px;color:var(--lime)}.local i{display:inline-block;width:6px;height:6px;margin-right:8px;background:var(--lime);border-radius:50%}main{max-width:1440px;padding:0 5%;margin:auto}.intro{display:grid;grid-template-columns:1.25fr 1fr;gap:10%;padding:66px 0 52px}.eyebrow{font-family:Jet,monospace;font-size:10px;letter-spacing:1.4px;color:var(--blue);margin-bottom:20px}h1{font-size:clamp(48px,5.5vw,78px);line-height:1.03;letter-spacing:-3px;font-weight:500;margin-bottom:26px;color:var(--sand)}.lede{font-size:17px;max-width:440px;color:var(--muted);margin-bottom:0}.brief{padding-left:30px;border-left:1px solid var(--line);align-self:center;position:relative}.brief-index{font-family:Jet,monospace;font-size:11px;color:var(--blue);display:block;margin-bottom:16px}.brief h2{font-size:25px;line-height:1.25;font-weight:500;letter-spacing:-.4px;margin-bottom:15px}.brief p{color:var(--muted);max-width:395px;font-size:14px}.brief a{display:inline-flex;gap:40px;align-items:center;font-size:14px;color:var(--lime);padding:10px 0;min-height:44px}.brief small{display:block;max-width:390px;color:var(--muted);margin-top:6px}.console{background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:0 14px 50px #07101b40;scroll-margin-top:20px}.console-head{padding:25px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px}.console-head .eyebrow{margin-bottom:8px}.console-head h2{font-size:21px;font-weight:500;letter-spacing:-.4px;margin:0}.preset-control{display:grid;gap:5px;min-width:205px}.preset-control label,.filter{font-size:11px;color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);background:var(--deep)}.metrics>div{padding:21px 28px;display:grid;align-content:start;gap:8px}.metrics>div+div{border-left:1px solid var(--line)}.metrics span{font-size:12px;color:var(--muted)}.metrics strong{font-family:Jet,monospace;font-size:36px;line-height:1.2;font-weight:400;letter-spacing:-2px}.metrics strong.risk{color:var(--risk)}.metrics small{color:var(--muted);line-height:1.5}.workbar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 28px 0}.tabs{display:flex;gap:6px;flex-wrap:wrap}.tab{border-color:transparent;color:var(--muted)}.tab.active,.tab.active:hover:not(:disabled){background:var(--blue);color:#112234}.history-controls{display:flex;gap:8px}.status{font-family:Jet,monospace;font-size:10px;margin:16px 28px;color:var(--lime);padding-bottom:16px;border-bottom:1px solid var(--line)}.view{padding:4px 28px 30px}.analysis-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr);gap:30px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:10px}.section-heading h3{margin-bottom:0}.filter{display:flex;gap:8px;align-items:center}.filter select{font-size:12px}.muted{color:var(--muted);font-size:12px;line-height:1.65}.policy-note{margin-bottom:22px}.finding{padding:20px 0;border-top:1px solid var(--line)}.finding-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.badge{display:inline-block;font-family:Jet,monospace;font-size:10px;letter-spacing:.5px;padding:3px 8px;border:1px solid var(--line);border-radius:3px}.badge.alta{color:var(--risk);border-color:#8d625d;background:#3c2d31}.badge.media{color:var(--sand);border-color:#797865;background:#333a38}.badge.baja{color:var(--blue)}.target{font-family:Jet,monospace;font-size:10px;color:var(--muted)}.finding h4{font-size:17px;line-height:1.35;margin-bottom:7px;font-weight:550}.finding p{font-size:13px;color:var(--muted);margin-bottom:12px}.finding .evidence{font-family:Jet,monospace;font-size:10px;background:var(--deep);border-left:2px solid var(--line);padding:10px 12px;color:var(--text);overflow-wrap:anywhere}.finding button{font-size:12px;color:var(--blue)}.proposal{padding:23px;background:var(--deep);border:1px solid var(--line);border-radius:6px;align-self:start;position:sticky;top:20px}.proposal .eyebrow{font-size:9px;margin-bottom:16px}.proposal p:not(.eyebrow){font-size:13px;color:var(--muted)}.proposal .muted{font-size:11px!important;margin-top:16px}.primary{background:var(--lime);color:#17252b;border-color:var(--lime)}button.primary:hover:not(:disabled){background:#d9eeb0;color:#17252b;border-color:var(--lime)}.proposal .primary{width:100%;margin-top:12px}.diff{font-family:Jet,monospace;font-size:11px;line-height:1.8;background:#0b1723;padding:14px;border:1px solid var(--line);border-radius:4px;white-space:pre-wrap;overflow-wrap:anywhere}.diff .minus{color:var(--risk)}.diff .plus{color:var(--lime)}.diff .path{color:var(--blue)}.audit-trail{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.audit-trail h4{color:var(--sand);margin-bottom:10px}.audit-trail ol{padding-left:18px;margin:0;font-size:11px;color:var(--muted)}.audit-trail li{padding:4px 0}.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:5px;margin:20px 0;overscroll-behavior-x:contain}table{border-collapse:collapse;width:100%;min-width:1350px;font-size:12px}caption{text-align:left;color:var(--muted);font-size:11px;padding:14px}th{text-align:left;background:var(--deep);font-size:10px;color:var(--sand);font-weight:500;white-space:nowrap}td,th{padding:10px;border-top:1px solid var(--line)}td:first-child{font-family:Jet,monospace;white-space:nowrap}td select{font-size:12px;max-width:165px}td input[type=date]{width:145px;font-size:12px}.flag{display:flex;justify-content:center;align-items:center;min-height:44px;min-width:44px;cursor:pointer}input[type=checkbox]{width:18px;height:18px;accent-color:var(--lime);margin:0}.settings{padding:18px;border:1px solid var(--line);display:flex;gap:24px;flex-wrap:wrap}.settings legend{font-size:12px;color:var(--sand);padding:0 8px}.settings label{display:flex;align-items:center;gap:10px;min-height:44px;font-size:12px}.settings input[type=number]{width:90px}.json-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:30px}.json-grid p{font-size:13px;color:var(--muted)}.json-grid label{font-size:12px;display:block;margin-bottom:8px}textarea{width:100%;resize:vertical;min-height:320px;max-height:700px;background:#0b1723;color:var(--text);font-family:Jet,monospace;font-size:11px;line-height:1.6;border:1px solid var(--line);border-radius:5px;padding:16px}.input-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.file-button{position:relative;min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:5px;display:flex!important;align-items:center;cursor:pointer;font-weight:600;margin:0!important}.file-button input{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}.file-button:focus-within{outline:3px solid var(--blue);outline-offset:4px}.schema-note{padding:24px;border:1px solid var(--line);border-radius:5px;background:var(--deep)}dl{font-size:12px}dt{color:var(--sand);font-weight:600;margin-top:18px}dd{margin:4px 0;color:var(--muted)}.error{color:var(--risk)!important;overflow-wrap:anywhere}.exportbar{padding:24px 28px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;align-items:center;background:var(--deep)}.exportbar p{font-size:13px;margin:0}.exportbar span{display:block;color:var(--muted);font-size:11px;margin-top:5px}.exportbar>div{display:flex;gap:8px;flex-wrap:wrap}.scope{display:grid;grid-template-columns:1fr 1.5fr;gap:40px;padding:48px 0}.scope .eyebrow{margin-bottom:12px}.scope h2{font-size:26px;color:var(--sand);font-weight:500;margin:0}.scope>p{color:var(--muted);font-size:13px;max-width:620px;margin:0}.scope strong{color:var(--text);font-weight:500}footer{margin:0 5%;padding:24px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-family:Jet,monospace;font-size:10px;color:var(--muted)}[hidden]{display:none!important}.empty{padding:28px;border:1px solid var(--line);border-radius:5px;color:var(--muted)}.skip{position:absolute;top:-100px;left:20px;padding:12px;background:var(--lime);color:#17252b;z-index:5}.skip:focus{top:10px}.no-script{padding:30px;color:var(--risk)}
button:not(.tab):not(.primary),select,textarea,input[type=date],input[type=number],.file-button{border-color:#718699}
.table-scroll tbody th,.table-scroll thead th:first-child{position:sticky;left:0;z-index:1;background:var(--deep);font-family:Jet,monospace;min-width:96px}.table-scroll{scroll-padding-left:100px}
@media(max-width:1000px){.masthead{padding-inline:4%}main{padding-inline:4%}.analysis-grid,.json-grid{grid-template-columns:minmax(0,1.35fr) minmax(245px,1fr);gap:20px}.metrics>div{padding:20px}.console-head,.view{padding-inline:20px}.workbar{padding-inline:20px;flex-wrap:wrap}.intro{gap:6%;padding-top:45px}.metrics strong{font-size:30px}.product{font-size:15px}.brand span{display:none}.history-controls{margin-left:auto}.proposal{padding:18px}.exportbar{align-items:flex-start}}
@media(max-width:720px){.masthead{flex-wrap:wrap;gap:12px;padding-block:16px}.local{font-size:9px}.product{margin-left:auto}.intro{grid-template-columns:1fr;gap:30px;padding:35px 0}.intro h1{font-size:53px;letter-spacing:-2px}.lede{font-size:15px}.brief{padding:20px 0 0;border-left:0;border-top:1px solid var(--line)}.brief h2{font-size:21px}.brief-index{float:right;margin-left:14px}.brief p{font-size:13px}.console-head{align-items:flex-start;flex-direction:column;padding:20px 16px}.console-head h2{font-size:19px}.preset-control{width:100%}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics>div{padding:18px 16px;gap:6px}.metrics>div:nth-child(3){border-left:0}.metrics>div:nth-child(n+3){border-top:1px solid var(--line)}.metrics span{font-size:11px}.metrics small{font-size:10px}.metrics strong{font-size:31px}.workbar{padding:16px 12px 0;gap:12px}.tabs{width:100%;gap:2px;justify-content:space-between}.tab{padding:9px 8px;font-size:11px}.history-controls{margin-left:0}.history-controls button{font-size:11px}.status{margin:16px;font-size:9px;line-height:1.8}.view{padding:4px 16px 24px}.analysis-grid,.json-grid{grid-template-columns:minmax(0,1fr);gap:24px}.proposal{position:static;padding:20px}.section-heading{gap:8px;flex-wrap:wrap}.section-heading h3{font-size:18px}.filter{margin-left:auto}.exportbar{padding:20px 16px;flex-direction:column}.exportbar button{font-size:11px}.settings{gap:12px;padding:12px}.settings label{flex-wrap:wrap}.scope{grid-template-columns:1fr;gap:16px;padding:34px 0}footer{flex-direction:column;gap:8px;font-size:9px}.finding h4{font-size:16px}.schema-note{padding:20px}textarea{padding:12px;font-size:10px}.input-actions button,.file-button{font-size:11px}.intro .eyebrow{font-size:9px}.console{border-radius:6px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* One result source, bounded by the active review workspace, not the page. */
.console{overflow:clip}
.review-section{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:28px;margin:20px 28px 0;align-items:start}
.review-section>.view{grid-column:1;grid-row:1;padding:4px 0 30px;min-width:0}
.analysis-grid,.json-grid{display:block}
.schema-note{margin-top:24px}
.result-panel{grid-column:2;grid-row:1;position:sticky;top:16px;min-width:0;background:var(--deep);border:1px solid var(--line);border-radius:6px;z-index:2}
.result-panel .metrics{grid-template-columns:repeat(4,minmax(0,1fr));border-top:0;border-radius:6px 6px 0 0}
.result-panel .metrics>div{padding:10px 8px;gap:4px;min-width:0}
.result-panel .metrics span{font-size:10px}
.result-panel .metrics strong{font-size:23px;letter-spacing:-1px}
.result-panel .metrics small{font-size:9px;overflow-wrap:anywhere}
.result-panel .status{margin:0;padding:10px 14px;font-size:11px;overflow-wrap:anywhere;line-height:1.5}
.result-panel #input-error{margin:0;padding:10px 14px;font-size:12px}
.result-panel #input-error:empty{display:none}
.review-section:not([data-view="json"]) #input-error{display:none}
.review-section[data-view="json"] .result-panel:has(#input-error:not(:empty)) #status{display:none}
.result-panel .proposal{position:static;padding:0;border:0;background:transparent}
.proposal>summary{padding:14px;cursor:pointer;min-height:44px;color:var(--blue)}
.proposal-label{display:inline;font-size:10px;color:var(--muted);margin-bottom:4px}
.proposal>summary h3{display:block;font-size:18px;line-height:1.4;margin:4px 0 0}
.proposal-content{padding:0 14px 14px;max-height:max(70px,calc(50svh - 260px));overflow:auto;overscroll-behavior:contain;scroll-padding:12px}
.proposal-content:focus-visible{outline-offset:-4px}
.proposal>#apply{display:block;width:calc(100% - 28px);margin:0 14px 14px}
#apply[aria-disabled="true"]{opacity:.48;cursor:not-allowed}
#apply[aria-disabled="true"]:hover{background:transparent;border-color:var(--line)}
.diff-details>summary{cursor:pointer;min-height:44px;color:var(--sand);font-size:12px}
.proposal-content .diff{max-height:28svh;overflow:auto}
.audit-trail{margin-top:14px;padding-top:14px}
.audit-trail summary{cursor:pointer;min-height:44px;font-size:12px;color:var(--sand)}
.audit-trail>summary,.diff-details>summary{position:sticky;top:0;background:var(--deep);z-index:1}
.review-section[data-view="matrix"] .proposal,.review-section[data-view="json"] .proposal{display:none}
@media(max-width:1000px){.review-section{margin-inline:20px;gap:20px;grid-template-columns:minmax(0,1.35fr) minmax(245px,1fr)}}
@media(max-width:720px),(max-height:700px){
 .review-section{display:block;margin:16px 16px 0}
 .result-panel{top:0;margin-bottom:20px}
 .result-panel .metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
 .result-panel .metrics>div{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;gap:4px;border-top:0}
 .result-panel .metrics span{font-size:10px}
 .result-panel .metrics strong{font-size:17px}
 .result-panel .metrics small,.result-panel .metrics>.account-metric{display:none}
 .result-panel .status{padding:6px 10px;font-size:10px;line-height:1.4}
 .proposal>summary{padding:8px 10px;min-height:44px;line-height:1.4}
 .proposal>summary h3{display:inline;font-size:12px;margin:0 0 0 6px}
 .proposal-content{max-height:clamp(60px,8svh,96px)}
 .proposal-content .diff{max-height:none}
 .review-section>.view{padding:4px 0 24px}
 html{scroll-padding-top:160px}
 .review-section>.view input,.review-section>.view button,.review-section>.view select,.review-section>.view textarea{scroll-margin-top:160px}
}
@media(scripting:none){.result-panel{position:static}.proposal-content{max-height:none;overflow:visible}}
