@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:Inter Variable,Microsoft YaHei UI,system-ui,sans-serif;color:#111827;background:#f7f8fa;font-synthesis:none;--blue: #155eef;--blue-soft: #eff4ff;--red: #e93434;--red-soft: #fff5f4;--orange: #e97800;--orange-soft: #fff8eb;--violet: #7137b9;--violet-soft: #f8f4ff;--green: #16844a;--ink: #111827;--muted: #667085;--line: #d9dee8;--line-strong: #b7c0cf;--surface: #ffffff}*{box-sizing:border-box}html{background:#f7f8fa}body{margin:0;min-width:320px;min-height:100vh;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(21,94,239,.28);outline-offset:2px}.app-shell{min-height:100vh;background:var(--surface)}.topbar{min-height:64px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line-strong);background:#fff}.brand{display:flex;align-items:center;gap:11px;min-width:0}.brand>svg{color:var(--blue);flex:none}.brand strong{font-size:16px;line-height:1.2;white-space:nowrap}.brand strong span{font-weight:650}.brand b{padding-left:14px;border-left:1px solid var(--line-strong);color:var(--blue);font-size:14px;white-space:nowrap}.top-actions{display:flex;align-items:center;gap:16px}.language-button,.icon-button{border:0;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}.language-button{padding:8px;font-weight:650;white-space:nowrap}.local-status{display:flex;align-items:center;gap:8px;color:var(--green);padding-left:14px;border-left:1px solid var(--line)}.local-status span,.rules-note{display:flex;flex-direction:column}.local-status small,.rules-note span{font-size:11px;font-weight:500;color:var(--muted)}.rules-note{padding-left:14px;border-left:1px solid var(--line);font-size:12px;line-height:1.35}.secondary-button,.primary-button,.review-button{min-height:40px;border-radius:6px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-weight:700;white-space:nowrap;border:1px solid var(--blue);background:#fff;color:#174ea6}.primary-button{color:#fff;background:var(--blue);border-color:var(--blue)}.secondary-button.compact{min-height:36px;padding:0 11px;color:var(--ink);border-color:var(--line-strong)}.primary-button:disabled{opacity:.45;cursor:not-allowed}.filebar{min-height:66px;display:grid;grid-template-columns:1.05fr 1.4fr 1.2fr 1.9fr;gap:0;border-bottom:1px solid var(--line-strong);background:#fafbfc}.filebar>div{padding:12px 18px;min-width:0;border-right:1px solid var(--line);display:grid;grid-template-columns:auto 1fr;align-content:center;column-gap:8px}.filebar>div:last-child{border-right:0}.filebar span{font-size:11px;color:var(--muted)}.filebar strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filebar svg{grid-row:span 2;align-self:center;color:#475467}.filebar .normalization-menu{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.normalization-menu>span{width:100%}.normalization-menu label{font-size:11px;display:inline-flex;gap:4px;align-items:center;white-space:nowrap}.release-banner{min-height:92px;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid #efb2b2;background:var(--red-soft)}.release-title{display:flex;align-items:center;gap:14px;min-width:340px}.release-title>svg{color:var(--red);flex:none}.release-title h1{margin:0 0 5px;font-size:25px;color:#c92127;letter-spacing:-.02em}.release-title p{margin:0;color:#475467;font-size:12px}.release-metrics{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));min-width:520px}.release-metrics>div{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:9px;padding:4px 24px;border-left:1px solid var(--line-strong)}.release-metrics svg{grid-row:span 2}.release-metrics strong{font-size:22px}.release-metrics span{font-size:12px;color:var(--muted)}.release-metrics .blocker svg{color:var(--red)}.release-metrics .warning svg{color:var(--orange)}.release-metrics .manual-review svg{color:var(--violet)}.workspace-toolbar{min-height:52px;padding:8px 20px;display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--line)}.workspace-toolbar label{width:min(460px,48vw);display:flex;align-items:center;gap:8px;border:1px solid var(--line-strong);border-radius:6px;padding:0 10px;height:36px;color:var(--muted)}.workspace-toolbar input{width:100%;border:0;outline:0}.workspace-toolbar>div{display:flex;gap:18px;color:var(--muted);font-size:12px}.workspace-toolbar strong{color:var(--ink)}.review-workspace{display:grid;grid-template-columns:minmax(720px,1.9fr) minmax(340px,.95fr);min-height:620px}.queue-pane{min-width:0;border-right:1px solid var(--line-strong)}.finding-group{border-bottom:1px solid var(--line-strong)}.finding-group>header{padding:14px 20px 8px}.finding-group>header>div{display:flex;align-items:center;gap:8px}.finding-group>header h2{margin:0;font-size:15px}.finding-group>header h2 span{font-weight:650}.finding-group>header p{margin:0 0 0 8px;font-size:11px;color:var(--muted)}.finding-group.must>header{color:#c92127}.finding-group.review>header{color:var(--orange)}.finding-group.manual>header{color:var(--violet)}.table-head,.finding-row{display:grid;grid-template-columns:88px minmax(165px,1.1fr) minmax(210px,1.35fr) 94px minmax(150px,.9fr) 92px;gap:10px;align-items:center}.table-head{padding:5px 20px;color:var(--muted);font-size:10px;font-weight:650;border-bottom:1px solid var(--line)}.finding-row{width:100%;min-height:58px;padding:7px 20px;border:0;border-bottom:1px solid #e9ecf1;background:#fff;text-align:left;cursor:pointer}.finding-row:hover{background:#fafcff}.finding-row.selected{background:#f5f8ff;box-shadow:inset 3px 0 0 var(--blue)}.finding-row>span{min-width:0;font-size:11px;color:#475467}.finding-row strong{display:block;color:var(--ink);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.finding-row small{display:block;margin-top:3px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rule-cell{display:flex;align-items:center;gap:6px}.must .rule-cell svg{color:var(--red)}.review .rule-cell svg{color:var(--orange)}.manual .rule-cell svg{color:var(--violet)}.priority{font-weight:700}.priority.blocker{color:var(--red)}.priority.warning{color:var(--orange)}.priority.manual-review{color:var(--violet)}.finding-state{display:inline-flex;align-items:center;gap:5px}.finding-state svg{color:#98a2b3}.finding-state.introduced svg{color:var(--red)}.empty-group{min-height:54px;display:flex;align-items:center;justify-content:center;gap:7px;color:var(--green);font-size:12px}.evidence-panel{background:#fff;min-width:0}.evidence-panel>header{min-height:64px;padding:15px 18px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.evidence-panel>header>div{display:flex;align-items:baseline;gap:8px;min-width:0}.evidence-panel h2{margin:0;font-size:16px}.rule-label{color:var(--red);font-weight:800}.evidence-section{padding:14px 18px;border-bottom:1px solid var(--line)}.evidence-section h3{margin:0 0 10px;display:flex;align-items:center;gap:7px;font-size:13px}.evidence-section p{margin:5px 0;font-size:12px;line-height:1.55;color:#475467}.path-strip{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.path-strip>span{display:flex;align-items:center;gap:6px}.path-strip b{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;background:#fee4e2;color:#c92127}.path-strip code,.url-evidence code{border:1px solid var(--line-strong);border-radius:5px;padding:7px 8px;background:#fbfcfe;font-family:inherit;font-size:11px}.url-evidence{display:grid;grid-template-columns:70px 1fr;gap:6px;align-items:center;font-size:11px}.evidence-rows>div{display:grid;grid-template-columns:24px 1fr auto;gap:8px;padding:7px 0;border-bottom:1px solid #eef0f3;font-size:11px}.evidence-rows small{color:var(--muted)}.action-note{margin:12px 14px;padding:12px;background:var(--orange-soft);border:1px solid #efc16e;border-radius:6px}.review-button{margin:2px 18px 6px;width:calc(100% - 36px);border-color:var(--line-strong);color:var(--ink)}.review-boundary{margin:0 18px 16px;color:var(--muted);font-size:10px;text-align:center}.actionbar{position:sticky;bottom:0;z-index:5;min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:8px 20px;border-top:1px solid var(--line-strong);background:#fffffff7}.actionbar>div{display:flex;gap:10px}.actionbar p{display:flex;align-items:center;gap:6px;margin:0;color:var(--muted);font-size:11px}.export-wrap{position:relative}.export-menu{position:absolute;bottom:calc(100% + 8px);left:0;width:260px;padding:6px;border:1px solid var(--line-strong);border-radius:7px;background:#fff;box-shadow:0 12px 28px #10182829}.export-menu button{width:100%;padding:9px 10px;border:0;background:transparent;text-align:left;cursor:pointer;border-radius:4px;font-size:12px}.export-menu button:hover{background:var(--blue-soft)}.boundary{min-height:64px;padding:12px 20px;display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);background:#fafbfc}.boundary p{margin:0;max-width:920px;font-size:10px;line-height:1.6;color:#475467}.boundary strong{display:block;color:var(--ink)}.boundary p:last-child{display:flex;align-items:center;gap:6px;white-space:nowrap}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;padding:24px;background:#0f172a94;display:grid;place-items:center}.import-dialog{width:min(1040px,96vw);max-height:calc(100vh - 48px);overflow:auto;background:#fff;border-radius:10px;box-shadow:0 24px 80px #0f172a4d}.dialog-header{padding:20px 24px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.dialog-header h2{margin:4px 0;font-size:22px}.dialog-header p{margin:0;color:var(--muted);font-size:12px}.eyebrow{color:var(--blue)!important;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.slot-grid{padding:18px 24px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.file-slot{min-height:190px;padding:14px;border:1px solid var(--line-strong);border-radius:7px;background:#fff}.file-slot.has-file{border-color:#92b3f5;background:#fbfdff}.slot-title{display:flex;gap:9px;align-items:center}.slot-title svg{color:var(--blue)}.slot-title div{display:flex;flex-direction:column}.slot-title strong{font-size:13px}.slot-title span{color:var(--muted);font-size:10px}.upload-zone{margin-top:14px;width:100%;height:112px;border:1px dashed #98a2b3;border-radius:6px;background:#fafbfc;color:#475467;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer}.file-ready{margin:12px 0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px}.file-ready>svg{color:var(--green)}.file-ready div{display:flex;flex-direction:column;min-width:0}.file-ready strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.file-ready span{color:var(--muted);font-size:10px}.file-ready button{border:0;background:transparent;color:var(--blue);cursor:pointer;font-size:11px}.mapping-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.mapping-grid label{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:5px;font-size:10px}.mapping-grid select{min-width:0;height:28px;border:1px solid var(--line);border-radius:4px;font-size:10px}.normalization-note,.inline-error{margin:0 24px 12px;padding:11px 12px;display:flex;gap:8px;border-radius:6px;background:var(--blue-soft);color:#1849a9}.normalization-note p{margin:0;font-size:11px;line-height:1.5}.inline-error{background:var(--red-soft);color:#b42318;font-size:12px}.confirm-row{margin:0 24px;display:flex;gap:8px;align-items:center;font-size:12px}.dialog-footer{padding:16px 24px 20px;display:flex;justify-content:space-between;gap:12px}@media(max-width:1120px){.rules-note,.brand b{display:none}.filebar{grid-template-columns:1fr 1fr}.filebar>div:nth-child(2){border-right:0}.filebar>div{border-bottom:1px solid var(--line)}.release-metrics{min-width:430px}.release-metrics>div{padding-inline:14px}.review-workspace{grid-template-columns:minmax(640px,1.5fr) minmax(320px,.8fr)}.table-head,.finding-row{grid-template-columns:72px minmax(150px,1fr) minmax(180px,1.2fr) 82px minmax(130px,.85fr)}.table-head>span:last-child,.finding-row>span:last-child{display:none}}@media(max-width:820px){.topbar{align-items:flex-start;padding-block:12px}.brand strong{white-space:normal;font-size:15px}.brand strong span{display:block}.top-actions{gap:7px}.local-status{display:none}.secondary-button.compact{display:inline-flex;width:36px;min-height:36px;padding:0;font-size:0}.filebar{display:block}.filebar>div{border-right:0;padding:9px 14px}.filebar>div:nth-child(1),.filebar>div:nth-child(3){display:none}.release-banner{align-items:flex-start;flex-direction:column;gap:12px}.release-title{min-width:0}.release-title h1{font-size:21px}.release-metrics{min-width:0;width:100%;grid-template-columns:repeat(3,1fr)}.release-metrics>div:first-child{border-left:0}.workspace-toolbar{align-items:stretch;flex-direction:column}.workspace-toolbar label{width:100%}.workspace-toolbar>div{justify-content:space-between}.review-workspace{display:block}.queue-pane{border-right:0}.evidence-panel{border-top:6px solid #eef0f3}.table-head{display:none}.finding-row{grid-template-columns:64px 1fr 92px;gap:8px;padding:10px 14px}.finding-row .url-cell{grid-column:2 / -1}.finding-row .evidence-cell,.finding-row>span:nth-child(4),.finding-row>span:last-child{display:none}.finding-group>header{padding-inline:14px}.finding-group>header>div{flex-wrap:wrap}.finding-group>header p{width:100%;margin-left:26px}.actionbar{position:static;flex-direction:column;align-items:stretch}.actionbar>div{display:grid;grid-template-columns:1fr 1fr}.actionbar button{width:100%}.actionbar p{justify-content:center}.boundary{flex-direction:column}.boundary p:last-child{white-space:normal}.slot-grid{grid-template-columns:1fr;padding-inline:14px}.dialog-header,.dialog-footer{padding-inline:14px}.normalization-note,.inline-error,.confirm-row{margin-inline:14px}}@media(max-width:520px){.modal-backdrop{padding:0}.import-dialog{width:100vw;max-height:100dvh;min-height:100dvh;border-radius:0}.language-button{font-size:0}.language-button svg{width:20px;height:20px}.release-metrics>div{grid-template-columns:1fr;padding-inline:8px;text-align:center}.release-metrics svg{margin:auto}.release-metrics strong{font-size:18px}.actionbar>div{grid-template-columns:1fr}.export-menu{width:min(260px,calc(100vw - 40px))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
