:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff4e8;--bg-2:#ffe3c4;--surface:#fff;--text:#3b2414;--muted:#8a6a55;--border:#f6dcc3;--accent:#f26b1d;--accent-hover:#dd5a0e;--accent-soft:#fff0e2;--on-accent:#fff;--low:#1f8a4c;--low-bg:#e4f5ea;--medium:#a86400;--medium-bg:#fdf1dc;--high:#c2410c;--high-bg:#fde3d3;--critical:#c0262d;--critical-bg:#fde2e2;--radius:16px;--shadow:0 6px 24px #d6661c1a, 0 1px 3px #d6661c14}*{box-sizing:border-box}body{background:linear-gradient(180deg, var(--bg-2) 0, var(--bg) 320px) no-repeat, var(--bg);min-height:100vh;color:var(--text);margin:0;font:14.5px/1.55 Be Vietnam Pro,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button{background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);cursor:pointer;border-radius:999px;padding:8px 18px;font-weight:600;transition:background .15s,transform .1s,box-shadow .15s;box-shadow:0 2px 8px #f26b1d40}button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}button:active{transform:translateY(1px)}button:disabled{opacity:.45;cursor:default}button.ghost{background:var(--surface);color:var(--accent);border-color:var(--border);box-shadow:none}button.ghost:hover{background:var(--accent-soft);border-color:var(--accent)}button.link{color:var(--accent);box-shadow:none;background:0 0;border:none;padding:0;font-weight:700;text-decoration:underline}button.link:hover{color:var(--accent-hover);background:0 0}input,select,textarea{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:8px 12px}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #f26b1d2e}.hint{color:var(--muted);font-size:12.5px}.topbar{color:#fff;z-index:5;background:linear-gradient(90deg,#f26b1d,#fb923c);justify-content:space-between;align-items:center;gap:12px;padding:12px 24px;display:flex;position:sticky;top:0;box-shadow:0 4px 18px #f26b1d4d}.brand{align-items:center;gap:10px;font-size:17px;font-weight:700;display:flex}.brand svg{color:#fff;background:#fff3;border-radius:10px;width:32px;height:32px;padding:5px}.topbar button.ghost{color:#fff;background:#ffffff29;border-color:#ffffff73}.topbar button.ghost:hover{color:var(--accent);background:#fff;border-color:#fff}.top-actions{gap:8px;display:flex}main{gap:16px;max-width:1200px;margin:0 auto;padding:20px 24px 60px;display:grid}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px}.config{flex-wrap:wrap;align-items:end;gap:18px;display:flex}.config label{gap:4px;font-weight:500;display:grid}.config label.check{align-items:center;gap:8px;display:flex}.drop{border-radius:var(--radius);background:var(--surface);text-align:center;box-shadow:var(--shadow);border:2px dashed #f7b98a;padding:36px 16px;transition:border-color .15s,background .15s}.drop:before{content:"📄";margin-bottom:4px;font-size:34px;display:block}.drop.over{border-color:var(--accent);background:var(--accent-soft)}.drop p{margin:4px 0}.summary{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;box-shadow:var(--shadow);padding:14px 16px}.card.active{outline:2px solid var(--accent)}.card .label{color:var(--muted);font-size:12.5px}.card .value{font-variant-numeric:tabular-nums;font-size:24px;font-weight:650}.card .sub{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.card.critical .value{color:var(--critical)}.card.high .value{color:var(--high)}.card.medium .value{color:var(--medium)}.card.low .value{color:var(--low)}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.toolbar input[type=search]{flex:0 340px;min-width:260px}.spacer{flex:1}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:9px 10px}thead th{background:var(--accent-soft)}thead th:first-child{border-top-left-radius:10px}thead th:last-child{border-top-right-radius:10px}th{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:12.5px;font-weight:600}th[data-sort]:hover{color:var(--text)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tbody tr{cursor:pointer}tbody tr:hover{background:var(--accent-soft)}.seller-name{font-weight:500}td.nowrap{white-space:nowrap}.sub{color:var(--muted);font-size:12px}.reason{max-width:420px}.more{color:var(--muted);font-size:12px}.badge{white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:6px;padding:2px 9px;font-size:12.5px;font-weight:600;display:inline-flex}.badge.low{color:var(--low);background:var(--low-bg)}.badge.medium{color:var(--medium);background:var(--medium-bg)}.badge.high{color:var(--high);background:var(--high-bg)}.badge.critical{color:var(--critical);background:var(--critical-bg)}.pager{justify-content:flex-end;align-items:center;gap:6px;margin-top:10px;display:flex}.drawer{background:var(--surface);border-left:1px solid var(--border);z-index:10;width:min(560px,100vw);padding:0 20px 30px;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-8px 0 30px #0000001f}.drawer-head{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 0;display:flex;position:sticky;top:0}.drawer-head h2{margin:0;font-size:16px}.drawer h3{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:20px 0 8px;font-size:13px}.score-big{align-items:center;gap:14px;margin-top:16px;display:flex}.meter{background:var(--border);border-radius:999px;flex:1;height:8px;overflow:hidden}.meter>div{height:100%}.hits{gap:8px;margin:0;padding:0;list-style:none;display:grid}.hits li{border:1px solid var(--border);border-left-width:4px;border-radius:8px;padding:8px 10px}.hits li .pts{float:right;font-variant-numeric:tabular-nums;font-weight:600}.hits li .grp{color:var(--muted);font-size:12px}.kv{grid-template-columns:150px 1fr;gap:4px 12px;display:grid}.kv dt{color:var(--muted)}.kv dd{word-break:break-word;margin:0}.items td,.items th{padding:6px;font-size:13px}dialog{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:var(--surface);color:var(--text);width:min(640px,94vw);padding:0}dialog::backdrop{background:#50230559}.bl{gap:10px;padding:18px 20px;display:grid}.bl h2{margin:0;font-size:17px}.bl-add{grid-template-columns:130px 1fr 1fr auto;gap:6px;display:grid}.bl ul{border-top:1px solid var(--border);max-height:280px;margin:0;padding:0;list-style:none;overflow-y:auto}.bl li{border-bottom:1px solid var(--border);justify-content:space-between;gap:10px;padding:7px 0;display:flex}.bl-foot{justify-content:flex-end;display:flex}a.nav{color:inherit;text-decoration:none}a.nav:hover{color:var(--accent)}.top-actions a{text-decoration:none}.brand a{color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex}.hero{max-width:1000px;padding-top:40px}.hero h1{color:#7a2e06;margin:8px 0;font-size:32px}.hero p{color:var(--muted);margin:0 0 8px}.feature-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.feature{color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);gap:10px;padding:26px;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s;display:grid}.feature:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 12px 32px #d6661c2e}.feature .icon{font-size:34px}.feature h2{margin:0;font-size:18px}.feature .tag{color:var(--accent);background:var(--accent-soft);border-radius:999px;justify-self:start;padding:3px 10px;font-size:12px;font-weight:700}.feature .go{color:var(--accent);font-weight:700}.login-wrap{max-width:420px;margin:48px auto}.login-wrap h1{color:#7a2e06;margin:0 0 6px;font-size:22px}.login-wrap button[type=submit]{padding:10px}.login-wrap form{gap:12px;display:grid}.login-wrap label{gap:4px;font-weight:500;display:grid}.login-error{color:var(--critical);min-height:1.2em}.template-cols{gap:6px;display:grid}.template-cols .col-row{grid-template-columns:1fr 1fr auto;align-items:center;gap:6px;display:grid}.file-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.file-list li{border-bottom:1px solid var(--border);justify-content:space-between;gap:8px;padding:6px 0;display:flex}.flag{font-weight:600}.flag.ok{color:var(--low)}.flag.bad{color:var(--critical)}.flag.warn{color:var(--medium)}.preview-note{margin:0 0 8px}@media (width<=640px){main{padding:16px}.topbar{flex-wrap:wrap;padding:10px 16px}.bl-add{grid-template-columns:1fr 1fr}.kv,.template-cols .col-row{grid-template-columns:1fr}}:root{--pass:#1f8a4c;--pass-bg:#e4f5ea;--warn:#9a6200;--warn-bg:#fff3d1;--hold:#c0262d;--hold-bg:#fde2e2}.topbar,.top-actions{flex-wrap:wrap}.topbar button.ghost.current{color:var(--accent);background:#fff;border-color:#fff}.pill{background:var(--hold);color:#fff;text-align:center;border-radius:999px;min-width:18px;margin-left:4px;padding:0 6px;font-size:11.5px;line-height:18px;display:inline-block}button.sm{padding:4px 10px;font-size:12.5px}.panel-title{color:#7a2e06;margin:0 0 8px;font-size:16px}.toolbar .panel-title{margin:0}.res{white-space:nowrap;letter-spacing:.02em;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700;display:inline-block}.res.PASS{color:var(--pass);background:var(--pass-bg)}.res.WARNING{color:var(--warn);background:var(--warn-bg)}.res.HOLD{color:#fff;background:var(--hold)}.card.r-PASS .value{color:var(--pass)}.card.r-WARNING .value{color:var(--warn)}.card.r-HOLD .value{color:var(--hold)}.card .value.sm{padding-top:6px;font-size:16px}.dots{gap:3px;display:inline-flex}.dot{background:var(--pass-bg);width:20px;height:20px;color:var(--pass);border-radius:6px;flex:none;place-items:center;font-size:11px;font-style:normal;font-weight:700;display:inline-grid}.dot.WARNING{background:var(--warn-bg);color:var(--warn)}.dot.HOLD{background:var(--hold);color:#fff}.run-info{gap:2px;display:grid}.result-banner{border-radius:12px;align-items:center;gap:12px;margin-top:16px;padding:12px 14px;font-weight:600;display:flex}.result-banner.PASS{background:var(--pass-bg);color:var(--pass)}.result-banner.WARNING{background:var(--warn-bg);color:var(--warn)}.result-banner.HOLD{background:var(--hold-bg);color:var(--hold)}.checks{gap:6px;margin:0;padding:0;list-style:none;display:grid}.checks li{border:1px solid var(--border);border-radius:10px;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.checks li.HOLD{background:#fff7f7;border-color:#f3b5b8}.checks li.WARNING{background:#fffcf2;border-color:#f5d98e}.checks .ct{font-weight:600}.checks .cf{font-size:13px}.checks .cf.ok{color:var(--pass)}.sources{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;display:grid}.source{border:1px solid var(--border);background:#fffaf5;border-radius:12px;padding:12px 14px}.source p{margin:6px 0}.inline-form{flex-wrap:wrap;gap:6px;display:flex}.inline-form input{flex:140px;min-width:0}.form-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.form-grid label{gap:4px;font-size:13px;font-weight:500;display:grid}.form-grid label.wide{grid-column:1/-1}.lookup-hint{min-height:1.2em}.alerts{gap:14px;display:grid}.alert-card{border:1px solid var(--border);border-left:5px solid var(--hold);background:var(--surface);border-radius:12px;padding:12px 14px}.alert-card.reviewed{border-left-color:var(--pass);opacity:.85}.alert-table{border-collapse:collapse;width:100%}.alert-table th{text-align:left;color:#7a2e06;background:var(--accent-soft);cursor:default;width:200px;font-size:13px}.alert-table td,.alert-table th{border-bottom:1px solid var(--border);padding:7px 10px}.alert-msg{color:var(--hold);font-weight:700}.alert-card details{margin-top:8px}.alert-card summary{cursor:pointer;color:var(--accent);font-weight:600}.alert-foot{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.alert-foot input{flex:220px}.empty{text-align:center;color:var(--muted);margin:0;padding:20px}@media (width<=640px){.form-grid{grid-template-columns:1fr}.alert-table th{width:120px}}main>*{min-width:0}.pill[hidden]{display:none}a{color:var(--accent)}td.wrap-md{min-width:160px}.src-list{gap:4px;max-height:260px;margin:6px 0 0;padding:0;font-size:13px;list-style:none;display:grid;overflow-y:auto}code{background:var(--accent-soft);border-radius:6px;padding:1px 6px;font-size:12.5px}.lang-switch{border:1px solid #ffffff73;border-radius:999px;display:inline-flex;overflow:hidden}.lang-switch button{box-shadow:none;border:0;border-radius:0;padding:7px 11px}.topbar .lang-switch button.ghost{border:0}html:not(.features-ready) [data-feature]{display:none}a.btn-link{border:1px solid var(--border);background:var(--surface);color:var(--accent);border-radius:999px;align-items:center;padding:8px 18px;font-weight:600;text-decoration:none;display:inline-flex}a.btn-link:hover{background:var(--accent-soft);border-color:var(--accent)}#check-filter{flex:380px;min-width:220px;max-width:100%}.toolbar select.is-active{border-color:var(--accent);background-color:var(--accent-soft);color:var(--accent-hover);font-weight:600}.active-filters{background:var(--accent-soft);border:1px dashed var(--accent);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;margin:-2px 0 12px;padding:8px 12px;font-size:13px;display:flex}.active-filters .af-count{color:var(--text);margin-right:4px;font-weight:600}.af-chip{background:var(--surface);border:1px solid var(--accent);border-radius:999px;align-items:center;gap:4px;max-width:100%;padding:3px 4px 3px 12px;display:inline-flex}.af-chip .af-label{color:var(--muted)}.af-chip strong{color:var(--accent-hover);overflow-wrap:anywhere;font-weight:600}.af-chip button{background:var(--accent);width:22px;height:22px;color:var(--on-accent);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;margin-left:4px;padding:0;font-size:11px;line-height:1;display:inline-grid}.af-chip button:hover{background:var(--accent-hover)}.invoice-risk-failure{text-align:center;max-width:640px;margin:15vh auto 0}.read-only-note code{font-size:.9em}.capability-denied{display:none!important}.drop.busy{border-color:var(--accent);background:var(--accent-soft);pointer-events:none}.drop.busy:before{content:none}.drop-loading{color:var(--accent);justify-content:center;align-items:center;gap:10px;margin:6px 0;font-weight:600;display:flex}.drop-loading[hidden]{display:none}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;flex:none;width:22px;height:22px;animation:.8s linear infinite invoice-risk-spin}@keyframes invoice-risk-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}.modal-overlay{z-index:20;background:#3b241461;place-items:center;padding:24px 16px;display:grid;position:fixed;inset:0}.modal-overlay[hidden]{display:none}.modal{background:var(--surface);border-radius:var(--radius);width:min(880px,100%);max-height:calc(100vh - 48px);padding:0 24px 22px;overflow-y:auto;box-shadow:0 24px 60px #3b241447}.modal-head{z-index:1;background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:16px 0 12px;display:flex;position:sticky;top:0}.modal-head h2{margin:0;font-size:16px}.modal-body h3{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:22px 0 10px;font-size:13px}.detail-invoice{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-top:18px;display:flex}.detail-seller-name{font-size:19px;font-weight:700;line-height:1.3}.detail-amount{text-align:right}.detail-amount-value{font-variant-numeric:tabular-nums;font-size:24px;font-weight:750}.detail-amount-value span{color:var(--muted);font-size:13px;font-weight:600}.facts{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-top:14px;display:grid}.fact{border:1px solid var(--border);background:#fffaf5;border-radius:12px;padding:9px 12px}.fact-label{color:var(--muted);font-size:12px;font-weight:500}.fact-value{font-variant-numeric:tabular-nums;word-break:break-word;font-weight:600}.detail-result{border:1px solid var(--border);border-radius:14px;margin-top:18px;padding:14px 16px}.detail-result.PASS{background:var(--pass-bg);border-color:#bfe5cc}.detail-result.WARNING{background:var(--warn-bg);border-color:#f5d98e}.detail-result.HOLD{background:var(--hold-bg);border-color:#f3b5b8}.detail-result-head{flex-wrap:wrap;align-items:center;gap:10px;font-weight:600;display:flex}.detail-status{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:6px 16px;margin-top:10px;font-size:13.5px;display:grid}.detail-status .fact-label{display:block}.issues{gap:8px;margin:0;padding:0;list-style:none;display:grid}.issues li{border:1px solid var(--border);border-left-width:4px;border-radius:12px;align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.issues li.HOLD{border-color:#f3b5b8;border-left-color:var(--hold);background:#fff7f7}.issues li.WARNING{border-color:#f5d98e;border-left-color:var(--warn);background:#fffcf2}.issues .ct{font-weight:650}.issues .cf{margin-top:2px;font-size:13.5px}.issues li.OK{border-color:#bfe5cc;border-left-color:var(--pass);background:#f4fbf6}.issues li.OK .cf{color:var(--pass)}.sources{gap:8px;margin:0;padding:0;list-style:none;display:grid}.sources li{border:1px solid var(--border);background:#fffaf5;border-radius:10px;padding:8px 12px}.detail-foot{margin-top:16px}@media (width<=640px){.modal{padding:0 16px 18px}.detail-amount{text-align:left}}.issues li[data-check]{cursor:pointer;transition:box-shadow .12s,transform .12s}.issues li[data-check]:hover{box-shadow:0 4px 14px #d6661c24}.issues li[data-check]:focus-visible{outline-offset:2px;outline:3px solid #f26b1d73}.issues li>div{flex:1}.ci-more{color:var(--muted);align-self:center;font-size:22px;line-height:1}.check-info-overlay{z-index:30;background:#3b24144d}.modal-narrow{width:min(720px,100%)}.modal-body h4{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:18px 0 8px;font-size:12.5px}.ci-status{border:1px solid var(--border);border-left-width:4px;border-radius:12px;align-items:flex-start;gap:12px;margin-top:16px;padding:12px 14px;display:flex}.ci-status.OK{border-color:#bfe5cc;border-left-color:var(--pass);background:#f4fbf6}.ci-status.WARNING{border-color:#f5d98e;border-left-color:var(--warn);background:#fffcf2}.ci-status.HOLD{border-color:#f3b5b8;border-left-color:var(--hold);background:#fff7f7}.ci-status .ct{font-weight:650}.ci-verdict{color:var(--pass);margin-top:4px;font-weight:600}.ci-findings,.risk-records{gap:6px;margin:0;padding-left:18px;display:grid}p.ci-links{margin:16px 0 0;padding:0;font-size:13px;display:block}p.ci-links .fact-label{margin-right:4px}.ci-data{margin-top:14px}.ci-findings{padding:0;list-style:none}.ci-findings .res{margin-right:6px}.risk-records{padding:0;list-style:none}.risk-records li{border:1px solid var(--border);background:#fffaf5;border-radius:10px;padding:8px 12px}.risk-records li.inactive{opacity:.65}.rr-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ci-loading{color:var(--muted);align-items:center;gap:10px;padding:24px 0;display:flex}.history-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.history-title{margin:0 0 4px;font-size:20px}.history-table tbody tr.not-done{background:#fffaf5}.history-time{color:var(--text);font-weight:650;text-decoration:none}.history-time:hover{color:var(--accent);text-decoration:underline}.history-table .res{text-align:center;min-width:34px}.history-error{color:var(--hold);font-size:12.5px}#history-status{min-height:18px;margin-bottom:8px}button.danger{background:var(--hold);border-color:var(--hold);color:#fff}button.danger:hover{background:#a11f25;border-color:#a11f25}button.danger:disabled{opacity:.5;cursor:not-allowed}button.danger-ghost{color:var(--hold)}button.danger-ghost:hover{background:var(--hold-bg);border-color:var(--hold)}.risk-table td{vertical-align:top}.risk-firm{min-width:220px}.risk-firm strong{font-variant-numeric:tabular-nums}.risk-type{min-width:200px;max-width:280px}.risk-source{min-width:240px;max-width:360px}.src-authority{font-weight:600}.src-detail{color:var(--muted);margin-top:2px;font-size:12.5px}.src-detail.clamp{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.src-more{margin-right:10px;font-size:12px}.src-link{color:var(--accent);font-size:12px;font-weight:600;text-decoration:none}.src-link:hover{text-decoration:underline}.subtabs{background:var(--surface);border:1px solid var(--border);width:fit-content;max-width:100%;box-shadow:var(--shadow);border-radius:999px;gap:4px;margin-bottom:16px;padding:4px;display:flex;overflow-x:auto}.subtabs button{box-shadow:none;color:var(--muted);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:7px 18px;font-weight:600}.subtabs button:hover{color:var(--accent);background:var(--accent-soft)}.subtabs button.current{background:var(--accent);color:var(--on-accent)}.subtabs button:focus-visible{outline-offset:2px;outline:3px solid #f26b1d73}
