@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap";:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;background:#f5f7fb;font-family:DM Sans,Noto Sans SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{background:#f5f7fb;min-width:320px;margin:0}button,textarea{font:inherit}button{transition:all .18s}.login-page{background:radial-gradient(circle at 12% 10%,#4865dd 0,#0000 32%),linear-gradient(135deg,#101b42,#243b83 58%,#5369d5);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{text-align:center;background:#fffffff7;border:1px solid #ffffffb3;border-radius:24px;width:min(430px,100%);padding:48px 42px;box-shadow:0 26px 80px #0712394d}.login-logo{color:#fff;background:linear-gradient(145deg,#4263eb,#7c4de8);border-radius:20px;place-items:center;width:68px;height:68px;margin:0 auto 20px;font-size:30px;display:grid;box-shadow:0 12px 24px #4263eb4d}.login-card h1{letter-spacing:-.5px;margin:0 0 10px;font-size:24px}.login-card p{color:#7b8498;line-height:1.7}.app-shell{min-height:100vh;display:flex}.sidebar{color:#aeb9d2;background:#111a35;flex-direction:column;flex:0 0 252px;width:252px;height:100vh;display:flex;position:sticky;top:0;box-shadow:10px 0 30px #1f2b4e14}.brand{color:#fff;letter-spacing:.2px;border-bottom:1px solid #ffffff14;align-items:center;gap:13px;padding:27px 25px 25px;font-size:17px;font-weight:700;display:flex}.brand>span{background:linear-gradient(145deg,#536df5,#8165e7);border-radius:12px;place-items:center;width:39px;height:39px;font-size:19px;display:grid}.brand small,.user small{color:#6f7c9d;letter-spacing:0;font-size:11px;font-weight:500}.sidebar nav{flex:1;padding:23px 14px}.sidebar nav:before{content:"导航菜单";color:#697695;letter-spacing:1.4px;padding:0 14px 12px;font-size:11px;display:block}.sidebar nav button{color:#aeb9d2;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:11px;align-items:center;gap:12px;width:100%;margin:4px 0;padding:13px 15px;font-size:13px;display:flex}.sidebar nav button:hover{color:#fff;background:#6d80ce29;transform:translate(2px)}.sidebar nav button.active{color:#fff;background:linear-gradient(100deg,#496af3,#5b72df);box-shadow:0 9px 18px #415bd847}.user{color:#eef2ff;background:#ffffff0b;border:1px solid #ffffff14;border-radius:13px;margin:14px;padding:16px;font-size:13px;line-height:1.7}.main{flex:1;min-width:0}header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe0;border-bottom:1px solid #e9edf5;justify-content:space-between;align-items:center;height:76px;padding:0 38px;display:flex}.breadcrumb{color:#7b8498;align-items:center;gap:11px;font-size:13px;display:flex}.breadcrumb i{color:#cbd2df;font-style:normal}.breadcrumb strong{color:#172033;font-weight:500}.top-actions{align-items:center;gap:18px;display:flex}.icon-button{color:#18223a;cursor:pointer;background:0 0;border:0;width:29px;height:29px;padding:0;font-size:17px;position:relative}.icon-button:last-of-type{font-size:20px;font-weight:700}.icon-button em{color:#fff;background:#ef5261;border-radius:8px;min-width:14px;padding:1px 4px;font-size:9px;font-style:normal;position:absolute;top:-3px;right:-7px}.icon-button:hover{color:#4263eb}.current-user{color:#66718a;border-left:1px solid #e7ebf3;padding-left:19px;font-size:13px}.refresh{color:#52627e;cursor:pointer;background:0 0;border:0;font-size:13px}.refresh:hover{color:#4263eb}.content{width:100%;max-width:1480px;margin:auto;padding:34px 38px 48px}.welcome-row{justify-content:space-between;align-items:center;margin-bottom:26px;display:flex}.welcome-row h1{color:#162038;letter-spacing:-.6px;margin:0 0 7px;font-size:25px}.welcome-row p{color:#8993a8;margin:0;font-size:13px}.quick-action{margin:0;padding:11px 18px}.stats{grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px;display:grid}.stats>div,.card{background:#fff;border:1px solid #e8ecf4;border-radius:16px;box-shadow:0 5px 20px #1d2b4d09}.stats>div{padding:18px 20px 19px;position:relative;overflow:hidden}.stats>div:after{content:"";background:#f0f3ff;border-radius:50%;width:86px;height:86px;position:absolute;bottom:-28px;right:-19px}.stats>div:nth-child(2):after{background:#edf9f6}.stats>div:nth-child(3):after{background:#fff0f0}.stats>div:nth-child(4):after{background:#fff8e9}.stats b{z-index:1;color:#1d2940;letter-spacing:-.8px;margin-bottom:8px;font-size:31px;line-height:1;display:block;position:relative}.stats span{z-index:1;color:#8791a6;font-size:12px;position:relative}.stat-icon{z-index:1;border-radius:9px;place-items:center;width:40px;height:40px;margin-bottom:15px;font-size:23px;font-weight:700;display:grid;position:relative}.stat-icon.blue{color:#275baf;background:#edf4ff}.stat-icon.red{color:#e34251;background:#fff0f2}.stat-icon.green{color:#15946b;background:#eaf9f3}.stat-icon.orange{color:#d88922;background:#fff6e9}.stats small{z-index:1;margin-top:12px;font-size:11px;display:block;position:relative}.stats small.up{color:#13a67a}.stats small.down{color:#ef5261}.stats .danger b{color:#e05252}.stats .warning b{color:#da941d}.card{overflow:hidden}.card h2,.card-head{border-bottom:1px solid #edf0f5;margin:0;padding:21px 24px}.card h2{color:#1f2a40;font-size:16px;font-weight:600}.card-head{justify-content:space-between;align-items:center;display:flex}.card-head h2{border:0;padding:0}.card-head span{color:#929bb0;font-size:12px}.dashboard-grid{grid-template-columns:minmax(0,1.85fr) minmax(310px,.95fr);gap:18px;display:grid}.view-all{color:#4263eb;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px}.view-all:hover{color:#263eb3}.task-id{color:#2161da;cursor:pointer;font-weight:600}.mode-tag{color:#3c72df;background:#f4f7ff;border:1px solid #c9d9ff;border-radius:4px;padding:4px 9px;font-size:11px}.status-tag{border-radius:4px;padding:4px 9px;font-size:11px;display:inline-block}.status-tag.done{color:#12a16f;background:#effcf7;border:1px solid #b7efd9}.status-tag.running{color:#d3911b;background:#fffaf0;border:1px solid #ffe1a1}.hit-count{color:#e24752}.empty{color:#99a2b3;text-align:center;padding:38px}.risk-card{min-width:0}.risk-list{padding:22px 20px 10px}.risk-line{color:#68748c;margin-bottom:18px;font-size:12px}.risk-line>div:first-child{align-items:center;gap:7px;margin-bottom:9px;display:flex}.risk-line strong{color:#ef5261;margin-left:auto;font-weight:500}.risk-line:nth-child(2) strong{color:#df9217}.risk-line:nth-child(3) strong{color:#c3a400}.risk-dot{border:1px solid #182033;border-radius:50%;width:13px;height:13px;display:inline-block}.risk-dot.high{background:#f23846}.risk-dot.medium{background:#f78319}.risk-dot.low{background:#ffe000}.progress{background:#f0f2f6;border-radius:6px;height:8px;overflow:hidden}.progress i{border-radius:6px;height:100%;display:block}.high-bg{background:#f04b54}.medium-bg{background:#f49a17}.low-bg{background:#f4cf16}.risk-footer{text-align:center;color:#8b95a8;border-top:1px solid #e8ecf2;margin:0 20px;padding:19px 0 20px;font-size:12px}.risk-footer b{color:#ef5261;margin:8px 0 14px;font-size:27px;display:block}.risk-footer .primary{box-shadow:none;border-radius:6px;margin:0;padding:7px 15px;font-size:11px}table{border-collapse:collapse;width:100%;min-width:700px}th,td{text-align:left;border-bottom:1px solid #f0f2f6;padding:15px 24px;font-size:12px}th{color:#8a94a9;letter-spacing:.3px;background:#fbfcfe;font-size:11px;font-weight:600}tbody tr{transition:background .15s}tbody tr:hover{background:#fafbff}tbody tr:last-child td{border-bottom:0}.word{color:#df515a;font-weight:600}.tag{white-space:nowrap;border-radius:20px;align-items:center;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.tag.green{color:#178b67;background:#e8f8f2}.tag.red{color:#cb4651;background:#ffebed}.tag.orange{color:#bd7915;background:#fff4dc}.scan-content{max-width:100%}.scan{width:100%;max-width:none;margin:0;padding-bottom:0}.scan h2{padding-bottom:18px;font-size:16px}.tabs{border-bottom:1px solid #edf0f5;padding:0 24px;display:flex}.tabs button{color:#8c96a9;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-right:25px;padding:15px 2px 13px;font-size:13px}.tabs button:hover,.tabs button.active{color:#496af3}.tabs button.active{border-bottom-color:#496af3;font-weight:600}.hint,.store-box{color:#7e899e;margin:22px 24px;font-size:13px;line-height:1.8}.store-box{color:#536baf;background:#f3f6ff;border:1px solid #dce6ff;border-radius:12px;padding:18px}.scan-panel{max-width:640px;margin:0 auto;padding:52px 20px 46px}.scan-hero{text-align:center}.scan-hero-icon{color:#162038;background:#ffe77c;border:3px solid #111;place-items:center;width:55px;height:55px;margin:0 auto 13px;font-size:30px;display:grid}.scan-hero h3{color:#172033;margin:0 0 9px;font-size:18px}.scan-hero p{color:#8c96a9;margin:0 0 26px;font-size:12px}.field-label{color:#66728a;margin:0 0 19px;font-size:12px;display:block}.field-label>b{color:#eb4f5d;font-weight:500}.field-label input{color:#34415b;background:#fff;border:1px solid #dfe4ed;border-radius:7px;outline:none;width:100%;height:37px;margin-top:9px;padding:0 12px;font-size:12px;display:block}.field-label input:focus{border-color:#6d83ec;box-shadow:0 0 0 3px #edf0ff}.scan textarea{color:#34415b;resize:vertical;background:#fff;border:1px solid #dfe4ed;border-radius:7px;outline:none;width:100%;min-height:104px;margin:9px 0 0;padding:11px 12px;font-size:12px;line-height:1.7;display:block}.scan textarea:focus{border-color:#6d83ec;box-shadow:0 0 0 3px #edf0ff}.scope-grid{flex-wrap:wrap;gap:14px 19px;margin-top:11px;display:flex}.scope-grid label{color:#506078;cursor:pointer;font-size:12px}.scope-grid input{vertical-align:-2px;accent-color:#2275e8;width:14px;height:14px;margin:0 6px 0 0}.scan-submit{min-width:200px;margin:29px auto 0;padding:11px 24px;display:flex}.scan-tip{color:#99a3b4;text-align:center;margin:14px 0 0;font-size:11px}.primary{color:#fff;cursor:pointer;background:linear-gradient(100deg,#496af3,#635fde);border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;margin:0 24px;padding:12px 26px;font-size:13px;font-weight:600;display:inline-flex;box-shadow:0 8px 17px #496af33b}.primary:hover{transform:translateY(-1px);box-shadow:0 11px 20px #496af34d}.primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.message{color:#496af3;margin:15px 24px 0;font-size:13px}.link{color:#496af3;cursor:pointer;background:0 0;border:0;margin-right:10px;padding:3px 0;font-size:12px}.link:hover{color:#e05252}.export-card{padding-bottom:30px}.export-link{margin-top:2px;text-decoration:none;display:inline-flex}.results-content{max-width:100%}.results-card{overflow:hidden}.results-head{padding-top:20px;padding-bottom:20px}.export-btn{color:#3d5577;background:#fff;border:1px solid #dfe5ee;border-radius:7px;padding:7px 12px;font-size:12px;text-decoration:none}.export-btn:hover{color:#3965d6;background:#f8faff;border-color:#9fb8f8}.result-toolbar{align-items:center;gap:9px;padding:20px 20px 16px;display:flex}.result-toolbar select,.result-toolbar input{color:#526078;background:#fff;border:1px solid #dde3ec;border-radius:6px;outline:none;height:33px;padding:0 12px;font-size:12px}.result-toolbar select:focus,.result-toolbar input:focus{border-color:#6d83ec;box-shadow:0 0 0 3px #edf0ff}.result-toolbar input{width:200px;margin-left:auto}.clear-filter{color:#496af3;cursor:pointer;background:0 0;border:0;height:32px;padding:0 10px;font-size:12px}.result-table-wrap{padding:0 20px;overflow-x:auto}.result-table-wrap table{min-width:1180px}.result-table-wrap th,.result-table-wrap td{white-space:nowrap;padding:14px 12px;font-size:12px}.result-table-wrap th{color:#718099;background:#f8fafc}.product-title{text-overflow:ellipsis;max-width:210px;overflow:hidden}.matched-cell{text-overflow:ellipsis;max-width:190px;overflow:hidden}.result-risk,.result-status{border:1px solid;border-radius:5px;padding:4px 10px;font-size:11px;display:inline-block}.result-risk.high,.result-status.pending{color:#f0555e;background:#fff7f7;border-color:#ffc1c6}.result-risk.middle{color:#e38c16;background:#fffaf2;border-color:#ffd29a}.result-risk.low{color:#c0a300;background:#fffdf0;border-color:#ffe682}.result-status.fixed{color:#2877e8;background:#f3f7ff;border-color:#b9d3ff}.detail-btn{color:#3570df;cursor:pointer;background:#f5f8ff;border:1px solid #b8d1ff;border-radius:5px;padding:5px 10px;font-size:11px}.detail-btn:hover{color:#fff;background:#496af3}.result-footer{color:#8691a4;grid-template-columns:1fr auto 1fr;align-items:center;margin:0 20px;padding:17px 0 20px;font-size:12px;display:grid}.result-footer .pagination{grid-area:1/2;justify-self:center}.result-footer span{color:#b0b8c6}.popover{z-index:20;background:#fff;border:1px solid #e5eaf3;border-radius:10px;width:245px;padding:15px 16px;font-size:12px;position:absolute;top:61px;right:104px;box-shadow:0 14px 35px #17203324}.notice-popover b{color:#202c45}.notice-popover p{color:#7d899e;line-height:1.6}.notice-popover button{color:#496af3;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px}.toast{z-index:30;color:#3659bb;background:#f3f6ff;border:1px solid #d7e1ff;border-radius:9px;min-width:230px;padding:13px 16px;font-size:12px;position:fixed;inset:120px auto auto calc(50vw + 126px);transform:translate(-50%);box-shadow:0 10px 28px #17203321}.modal-mask{z-index:40;background:#0d162f75;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:15px;width:min(430px,100%);padding:26px;position:relative;box-shadow:0 24px 60px #0c143540}.modal h3{color:#172033;margin:0 0 17px;font-size:17px}.modal p{color:#6f7b91;font-size:13px;line-height:1.8}.modal-close{color:#8a95a7;cursor:pointer;background:0 0;border:0;padding:0;font-size:21px;position:absolute;top:14px;right:16px}.modal-btn{margin:15px 0 0}.detail-grid{color:#8b95a8;grid-template-columns:80px 1fr;gap:13px 10px;font-size:12px;display:grid}.detail-grid b{color:#2d3b56;font-weight:500}.detail-grid .word{color:#df515a}.rectify-confirm-modal{width:min(470px,100%);padding:24px 26px 20px}.review-confirm-modal{width:min(500px,100%);padding:24px 26px 20px}.review-icon{color:#496af3;background:#eef3ff}.review-warning{color:#5872aa;background:#f3f6ff;border-color:#c9d8ff}.confirm-title{border-bottom:1px solid #e9edf4;align-items:center;gap:9px;padding-bottom:17px;display:flex}.confirm-title h3{margin:0;font-size:17px}.confirm-icon{color:#172033;font-size:20px}.confirm-success{color:#12a875}.confirm-details{color:#7a869b;background:#f8fafc;border-radius:7px;gap:10px;margin:12px 0 16px;padding:12px 13px;font-size:12px;display:grid}.confirm-details div{grid-template-columns:70px 1fr;gap:9px;display:grid}.confirm-details b{color:#33415b;font-weight:500}.confirm-details .word{color:#ed4e5b}.confirm-warning{color:#a56a09;background:#fff5d9;border-radius:6px;padding:9px 11px;font-size:11px}.confirm-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.confirm-actions .secondary-export,.confirm-actions .primary{margin:0}.confirm-submit{background:linear-gradient(100deg,#f6a000,#f18b00);border-radius:7px;padding:10px 16px;box-shadow:0 7px 14px #ee8f0033}.confirm-submit:hover{background:#e88700}.pagination{justify-content:center;align-items:center;gap:10px;display:flex}.pagination button{color:#516078;cursor:pointer;background:#fff;border:1px solid #dfe5ee;border-radius:6px;min-width:54px;height:30px;padding:0 11px;font-size:11px}.pagination button:hover:not(:disabled){color:#3965d6;background:#f7f9ff;border-color:#9fb8f8}.pagination button.active{color:#fff;background:#2861d5;border-color:#2861d5}.pagination button:disabled{color:#c1c8d3;cursor:not-allowed;background:#fafbfc;border-color:#e4e9f0}.pagination .page-indicator{color:#a5afbf;text-align:center;white-space:nowrap;min-width:54px;padding:0 2px;font-size:11px}.pagination button:not(:first-child):not(:last-child){display:none}.pagination button.active{display:inline-flex!important}.page-indicator{color:#7c879a;white-space:nowrap;font-size:11px}.export-buttons{flex-direction:column;gap:10px;width:100%;margin-top:20px;display:flex}.taobao-status{border-radius:14px;align-items:center;height:28px;padding:0 10px;font-size:11px;display:inline-flex}.taobao-status.connected{color:#168363;background:#e9f9f2}.taobao-status.mock{color:#a16d16;background:#fff5df}.taobao-authorize{color:#3264d8;cursor:pointer;background:#f4f7ff;border:1px solid #c8d8ff;border-radius:6px;height:29px;padding:0 11px;font-size:11px}.taobao-authorize:hover{color:#fff;background:#496af3}.export-buttons>a{box-sizing:border-box;width:100%}.export-buttons .export-submit{margin:0}.secondary-export{color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:7px;justify-content:center;align-items:center;padding:10px 16px;font-size:12px;text-decoration:none;display:inline-flex}.secondary-export:hover{color:#3867e8;background:#f5f8ff;border-color:#3867e8}.words-content{max-width:100%}.word-summary{align-items:center;gap:42px;margin-bottom:18px;padding:24px 25px;display:flex}.word-summary>div:not(.word-actions){min-width:68px}.word-summary b{color:#1d2940;font-size:26px;line-height:1.1;display:block}.word-summary span{color:#8b95a8;margin-top:8px;font-size:11px;display:block}.word-summary .summary-green b{color:#17a47b}.word-summary .summary-orange b{color:#e39119}.word-summary .summary-blue b{color:#3868df}.word-actions{align-items:center;gap:9px;margin-left:auto;display:flex}.import-btn,.word-actions .export-btn{color:#53617a;cursor:pointer;background:#fff;border:1px solid #dfe5ee;border-radius:7px;align-items:center;height:36px;padding:0 12px;font-size:12px;display:inline-flex}.import-btn input{display:none}.import-btn:hover,.word-actions .export-btn:hover{color:#3965d6;border-color:#9fb8f8}.new-word-btn{height:36px;box-shadow:none;border-radius:7px;margin:0;padding:0 15px;font-size:12px}.word-list-head{align-items:center}.word-filters{gap:8px;display:flex}.word-filters select,.word-filters input{color:#53617a;background:#fff;border:1px solid #dfe5ee;border-radius:6px;outline:none;height:32px;padding:0 10px;font-size:11px}.word-filters input{width:175px}.word-tabs{border-bottom:1px solid #e8edf4;gap:27px;padding:0 20px;display:flex}.word-tabs button{color:#62708a;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:13px 0 11px;font-size:12px}.word-tabs button:hover,.word-tabs button.active{color:#2d61d1}.word-tabs button.active{border-bottom-color:#2d61d1}.word-table-wrap{padding-top:0}.category-tag{color:#66748c;background:#f7f8fa;border:1px solid #e0e5ed;border-radius:4px;padding:4px 8px;font-size:11px;display:inline-block}.delete-link{color:#ea525c;cursor:pointer;background:0 0;border:0;padding:3px 0;font-size:12px}.word-log{margin-top:18px}.log-row{color:#53617a;border-bottom:1px solid #f0f2f6;grid-template-columns:52px 1fr 140px 150px;align-items:center;gap:12px;padding:14px 24px;font-size:12px;display:grid}.log-row:last-child{border-bottom:0}.log-user,.log-row time{color:#8993a7}.log-badge{border:1px solid;border-radius:4px;width:fit-content;padding:4px 8px;font-size:11px}.log-badge.add{color:#17a47b;background:#effcf5;border-color:#bcefdc}.log-badge.edit{color:#3770da;background:#f2f6ff;border-color:#c2d7ff}.custom-category-tab{flex:none;align-items:center;gap:4px;display:inline-flex}.word-tabs .category-edit-button{color:#7b879b;border:1px solid #dfe5ee;border-radius:4px;width:22px;height:22px;padding:0;line-height:20px}.word-tabs .category-edit-button:hover{color:#2d61d1;border-color:#9fb8f8}.word-tabs .add-category-button{color:#496af3;white-space:nowrap;border:1px dashed #9fb8f8;border-radius:5px;align-self:center;padding:6px 9px;line-height:1}.word-tabs .add-category-button:hover{background:#f4f7ff;border-style:solid}.category-dialog-actions{justify-content:flex-end;gap:9px;margin-top:20px;display:flex}.category-dialog-actions button{cursor:pointer;border-radius:6px;min-width:92px;height:36px}.category-delete-button{color:#dc4f5a;background:#fff;border:1px solid #f0bcc1;margin-right:auto}.category-delete-button:hover{background:#fff5f6}.dialog-field{color:#69758b;margin:0 0 15px;font-size:12px;display:block}.dialog-field b{color:#ea525c}.dialog-field input,.dialog-field select{color:#34415b;background:#fff;border:1px solid #dfe5ee;border-radius:6px;outline:none;width:100%;height:36px;margin-top:7px;padding:0 10px;font-size:12px;display:block}.dialog-field input:focus,.dialog-field select:focus{border-color:#6d83ec;box-shadow:0 0 0 3px #edf0ff}.word-modal .modal-btn{width:100%;margin-top:7px}.history-content{max-width:100%}.history-summary{align-items:center;gap:48px;margin-bottom:18px;padding:23px 25px;display:flex}.history-summary>div{min-width:82px}.history-summary b{color:#1d2940;font-size:26px;line-height:1.1;display:block}.history-summary span{color:#8b95a8;margin-top:8px;font-size:11px;display:block}.history-summary .summary-blue b{color:#3868df}.history-summary .summary-red b{color:#e0525c}.history-summary .summary-green b{color:#17a47b}.history-scan-btn{box-shadow:none;border-radius:7px;margin:0 0 0 auto;padding:10px 16px;font-size:12px}.history-head{align-items:center}.history-filters{gap:8px;display:flex}.history-filters select,.history-filters input{color:#53617a;background:#fff;border:1px solid #dfe5ee;border-radius:6px;outline:none;height:32px;padding:0 10px;font-size:11px}.history-filters input{width:150px}.history-table-wrap{padding:0 20px;overflow-x:auto}.history-table-wrap table{min-width:850px}.history-table-wrap th,.history-table-wrap td{white-space:nowrap;padding:14px 12px;font-size:12px}.history-table-wrap th{background:#f8fafc}.history-table-wrap .detail-btn{margin-right:8px}.report-link{margin-left:6px}.report-modal{width:min(900px,100%);max-height:88vh;padding:24px 26px 20px;overflow:auto}.report-metrics{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:18px 0;display:grid}.report-metrics>div{text-align:center;background:#f8fafc;border:1px solid #e5eaf2;border-radius:8px;padding:13px 8px}.report-metrics b{color:#26344e;font-size:22px;display:block}.report-metrics span{color:#8590a3;margin-top:5px;font-size:11px;display:block}.report-metrics .success b{color:#15946d}.report-metrics .danger b{color:#df515a}.report-metrics .warning b{color:#cf8612}.report-section{border-top:1px solid #e9edf4;margin-top:18px;padding-top:15px}.report-section h4{color:#26344e;margin:0 0 11px;font-size:13px}.report-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.report-columns>div{background:#f8fafc;border-radius:8px;min-height:90px;padding:12px}.report-columns strong{color:#50617d;font-size:12px}.report-columns p{color:#67758b;margin:8px 0 0;font-size:11px;line-height:1.5}.report-columns em,.report-position-list em{color:#a1aab9;font-size:11px;font-style:normal}.report-position-list{border:1px solid #e6ebf3;border-radius:8px;max-height:190px;padding:2px 11px;overflow:auto}.report-position-list p{color:#52617a;align-items:center;gap:10px;margin:9px 0;font-size:11px;display:flex}.report-position-list p b{min-width:180px}.report-position-list p small{color:#929cad}.success-text{color:#15946d}.danger-text{color:#df515a}.warning-text{color:#cf8612}.export-content{max-width:100%}.export-shell{overflow:hidden}.export-title span{color:#8590a5;font-size:11px}.export-layout{grid-template-columns:minmax(500px,1fr) minmax(420px,.9fr);gap:24px;padding:22px 20px 20px;display:grid}.export-config{min-width:0}.config-heading{justify-content:space-between;align-items:center;margin:0 0 12px;display:flex}.config-heading h3{color:#26334b;margin:0;font-size:13px}.clear-export{color:#4169d5;cursor:pointer;background:0 0;border:0;font-size:12px}.task-select{color:#56647c;background:#fff;border:1px solid #dfe5ee;border-radius:6px;outline:none;width:100%;height:36px;padding:0 11px;font-size:12px}.export-hint{color:#9aa4b4;margin:10px 0 24px;font-size:11px;line-height:1.7}.format-option{border:1px solid #dce3ef;border-radius:8px;align-items:center;gap:14px;margin-bottom:25px;padding:14px 16px;display:flex}.format-option.active{background:#f4f7ff;border:2px solid #3d6ff0}.format-icon{color:#3d6ff0;font-size:27px}.format-option b{color:#26334b;font-size:13px;display:block}.format-option small{color:#8d98aa;margin-top:4px;font-size:11px;display:block}.field-heading{margin-top:2px}.export-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;margin:15px 0 14px;display:grid}.export-fields label{color:#59667d;font-size:12px}.export-fields input{vertical-align:-2px;accent-color:#2873e8;width:14px;height:14px;margin:0 7px 0 0}.export-submit{border-radius:7px;width:100%;margin:20px 0 0}.export-preview{border:1px solid #e0e5ed;border-radius:8px;min-width:0;overflow:hidden}.preview-head{color:#27344b;border-bottom:1px solid #e7ebf2;justify-content:space-between;padding:15px;font-size:13px;display:flex}.preview-head span{color:#8792a5;font-size:11px}.preview-summary{color:#7d899e;background:#f8f9fb;border-radius:7px;margin:15px;padding:14px;font-size:11px;line-height:1.75}.preview-summary b{color:#27344b;font-size:12px}.preview-summary p{margin:2px 0}.preview-table{padding:0 15px 15px;overflow-x:auto}.preview-table table{min-width:480px}.preview-table th,.preview-table td{white-space:nowrap;padding:10px 8px;font-size:10px}.preview-table th{background:#fafbfc}@media (width<=1100px){.dashboard-grid{grid-template-columns:1fr}.risk-card{max-width:none}}@media (width<=900px){.sidebar{flex-basis:218px;width:218px}.content{padding:25px 22px 40px}header{padding:0 22px}.stats{grid-template-columns:repeat(2,1fr)}}@media (width<=620px){.toast{top:82px;left:50%}.sidebar{flex-basis:66px;width:66px}.brand{justify-content:center;padding:20px 10px}.brand div,.sidebar nav:before,.sidebar nav button{font-size:0}.brand>span{width:40px}.sidebar nav{padding:18px 9px}.sidebar nav button{justify-content:center;padding:13px 7px}.sidebar nav button:first-letter{font-size:18px}.user{display:none}.content{padding:17px 12px 30px}header{gap:9px;height:63px;padding:0 14px}.top-actions{gap:9px}header>.breadcrumb{display:none}.current-user{text-overflow:ellipsis;white-space:nowrap;max-width:100px;overflow:hidden}.stats{gap:10px;margin-bottom:15px}.stats>div{padding:17px 14px}.stats b{font-size:25px}.card h2,.card-head{padding-left:17px;padding-right:17px}.scan-panel{padding:34px 12px}.scope-grid{gap:12px}.result-toolbar{flex-wrap:wrap;padding:14px 10px}.result-toolbar input{width:100%;margin-left:0}.result-table-wrap{padding:0 10px}.result-footer{grid-template-columns:1fr;justify-items:center;gap:10px;margin:0 10px}.result-footer .pagination{grid-area:2/1}th,td{padding-left:15px;padding-right:15px}}@media (width<=900px){.word-summary{flex-wrap:wrap;gap:20px 27px}.word-actions{width:100%;margin-left:0}.word-list-head{display:block}.word-filters{flex-wrap:wrap;margin-top:14px}.word-filters input{width:100%}.word-tabs{white-space:nowrap;gap:20px;overflow-x:auto}.log-row{grid-template-columns:52px 1fr}.log-user,.log-row time{display:none}.history-summary{flex-wrap:wrap;gap:20px 30px}.history-scan-btn{width:100%;margin:0}.history-head{display:block}.history-filters{flex-wrap:wrap;margin-top:14px}.history-filters input{width:100%}.export-layout{grid-template-columns:1fr;gap:18px}.export-title{display:block}.export-title span{margin-top:8px;display:block}.export-fields{grid-template-columns:1fr 1fr}}:root{--brand:#3867e8;--brand-deep:#233a92;--ink:#17233d;--muted:#8490a6;--line:#e7ebf3}::selection{color:#fff;background:#5878e8}.app-shell{background:#f4f6fa}.sidebar{background:linear-gradient(#111a35 0%,#0b1530 100%)}.brand{min-height:76px}.brand>span{box-shadow:inset 0 1px #ffffff38,0 7px 15px #485edc38}.sidebar nav button{position:relative}.sidebar nav button.active:before{content:"";background:#fff;border-radius:0 3px 3px 0;width:3px;position:absolute;top:10px;bottom:10px;left:0}header{z-index:10;position:sticky;top:0;box-shadow:0 1px #1e2d5006}.content{animation:.24s both content-in}@keyframes content-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.card,.stats>div{transition:box-shadow .2s,transform .2s,border-color .2s}.stats>div:hover{border-color:#dce4f5;transform:translateY(-2px);box-shadow:0 10px 26px #1d2b4d14}.card:hover{border-color:#e0e6f1;box-shadow:0 8px 24px #1d2b4d0e}.card-head h2,.card h2{letter-spacing:-.2px}tbody tr:hover td{background:#f8faff}.primary:focus-visible,.link:focus-visible,.detail-btn:focus-visible,.refresh:focus-visible,.icon-button:focus-visible{outline-offset:2px;outline:3px solid #496af333}.result-toolbar select,.result-toolbar input,.word-filters select,.word-filters input,.history-filters select,.history-filters input,.task-select,.dialog-field input,.dialog-field select{transition:border-color .18s,box-shadow .18s}.result-footer{align-items:center}.page-indicator{padding:0 4px}.popover{animation:.16s both pop-in}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.modal{animation:.18s both modal-in}@keyframes modal-in{0%{opacity:0;transform:scale(.97)translateY(4px)}to{opacity:1;transform:scale(1)translateY(0)}}.toast{animation:.22s both toast-in}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.empty{vertical-align:middle;min-height:92px}.export-preview,.preview-table,.result-table-wrap,.history-table-wrap{scrollbar-width:thin;scrollbar-color:#c9d2e4 transparent}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.active-task-panel{color:#52658f;background:#f7f9ff;border:1px solid #dce6ff;border-radius:10px;margin-bottom:18px;padding:14px 18px;font-size:12px}.active-task-row{align-items:center;gap:12px;margin-top:10px;display:flex}.active-task-row .task-progress{flex:1}.task-progress{background:#e9edf5;border-radius:5px;height:6px;overflow:hidden}.task-progress i{border-radius:inherit;background:#496af3;height:100%;transition:width .3s;display:block}.danger-link{color:#e0525c}.image-detail-modal{width:min(900px,100%);max-height:92vh;overflow:auto}.board-modal-head{border-bottom:1px solid #e8edf5;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;padding-bottom:16px;display:flex}.board-modal-head h3{margin-bottom:5px}.board-modal-head p{color:#8c97a9;margin:0;font-size:12px}.board-mode{color:#496af3;white-space:nowrap;background:#f3f6ff;border:1px solid #bed0ff;border-radius:6px;padding:6px 10px;font-size:11px}.board-layout{grid-template-columns:minmax(280px,.9fr) minmax(360px,1.1fr);gap:20px;display:grid}.board-info,.board-preview{min-width:0}.replace-card{color:#df515a;background:#fff8f8;border:1px solid #ffc6c8;border-radius:8px;margin-top:18px;padding:14px;font-size:12px}.replace-original,.replace-input{color:#33415a;background:#fff;border:1px solid #ffd5d7;border-radius:6px;margin-top:10px;padding:10px;line-height:1.6}.replace-original mark{color:#df3343;background:#ffdfe1}.replace-arrow{color:#a2acbb;text-align:center;padding:8px 0;font-size:11px}.replace-input{background:#f8fffb;border-color:#bceccf}.suggestions{color:#7b879a;flex-wrap:wrap;align-items:center;gap:7px;margin-top:10px;display:flex}.suggestions i{color:#41536e;background:#fff;border:1px solid #dce4ee;border-radius:12px;padding:4px 8px;font-style:normal}.preview-title{color:#52627b;margin-bottom:10px;font-size:12px;font-weight:600}.preview-caption{color:#8a95a8;text-align:center;margin:9px 0 12px;font-size:11px}.history-board{color:#6380ae;background:#f3f8ff;border:1px solid #bed7ff;border-radius:8px;gap:7px;padding:13px;font-size:11px;display:grid}.history-board strong{color:#416ca9;font-size:12px}.board-footer{border-top:1px solid #e8edf5;justify-content:flex-end;gap:10px;margin-top:18px;padding-top:15px;display:flex}.board-footer .primary,.board-footer .secondary-export{margin:0}@media (width<=760px){.board-layout{grid-template-columns:1fr}.board-footer{flex-wrap:wrap}.board-footer>*{flex:30%}}.image-detail-modal{width:min(900px,100%);max-height:92vh;padding:0;overflow:auto}.image-detail-modal>.modal-close{z-index:2;top:18px;right:20px}.image-detail-modal>.board-modal-head{padding:22px 24px 16px}.image-detail-modal>.board-layout{margin-left:24px;margin-right:24px}.image-detail-modal>.board-footer{margin-left:24px;margin-right:24px;padding:16px 24px 20px}@media (width>=761px){.image-detail-modal{flex-direction:column;width:min(1040px,100vw - 32px);height:min(760px,100vh - 32px);max-height:calc(100vh - 32px);display:flex;overflow:hidden}.image-detail-modal>.board-modal-head{flex:none}.image-detail-modal>.board-layout{flex:auto;min-height:0;overflow:hidden}.image-detail-modal .board-info,.image-detail-modal .board-preview{min-height:0;overflow:hidden}.image-detail-modal .detail-grid{gap:9px 10px}.image-detail-modal .replace-card{margin-top:12px}.image-detail-modal .board-preview{flex-direction:column;display:flex}.image-detail-modal .image-preview{background:#f4f6ff;border-radius:8px;flex:0 360px;min-height:0;overflow:hidden}.image-detail-modal .image-canvas{place-items:center;width:100%;height:100%;display:grid;position:relative;overflow:hidden}.image-detail-modal .image-canvas img{object-fit:contain;width:100%;max-width:100%;height:100%;max-height:100%;display:block}.image-detail-modal .history-board{gap:4px;margin-top:8px;padding:9px 12px}.image-detail-modal>.board-footer{flex:none}}@media (width<=760px){.image-detail-modal{max-height:calc(100vh - 20px)}.image-detail-modal .image-preview{max-height:300px;overflow:hidden}.image-detail-modal .image-canvas img{object-fit:contain;width:100%;max-height:300px}}.image-preview{cursor:zoom-in}.image-preview:focus-visible{outline-offset:2px;outline:2px solid #496af3}.image-stage{max-width:100%;max-height:100%;line-height:0;display:inline-block;position:relative}.image-canvas .image-mark,.lightbox-canvas .image-mark{z-index:3;box-sizing:border-box;color:#fff;pointer-events:none;background:#ff373714;border:2px solid #f04444;border-radius:9px;justify-content:flex-start;align-items:flex-start;min-width:0;min-height:0;display:flex;position:absolute;box-shadow:0 0 0 1px #ffffffbf,0 2px 8px #ae161647}.image-mark b{color:#fff;white-space:nowrap;background:#f04444;border-radius:4px 4px 4px 0;margin:-23px 0 0 -2px;padding:2px 6px;font-size:11px;line-height:1.2}.preview-click-tip{color:#6480c9;margin-left:8px;font-size:11px;font-weight:400}.image-word-list{color:#6d7890;background:#fff8f8;border:1px solid #ffd2d5;border-radius:8px;gap:6px;margin-top:12px;padding:11px 12px;font-size:11px;display:grid}.image-word-list strong{color:#df3343;font-size:12px}.image-word-list span{border-left:3px solid #f04444;padding-left:8px;display:block}.image-lightbox{z-index:70;background:#050a19d1;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.lightbox-content{background:#11182c;border:1px solid #ffffff2e;border-radius:14px;width:min(1180px,96vw);max-height:94vh;padding:18px 18px 12px;position:relative;box-shadow:0 24px 80px #0006}.lightbox-title{color:#fff;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;font-size:14px;font-weight:600;display:flex}.lightbox-tools{align-items:center;gap:6px;display:inline-flex}.lightbox-tools button{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff4d;border-radius:6px;min-width:30px;height:28px;padding:0 8px;font-size:13px}.lightbox-tools button:hover{background:#496af38c;border-color:#8ea8ff}.lightbox-tools span{color:#cbd5ee;text-align:center;min-width:46px;font-size:12px}.lightbox-canvas{background:#050814;border-radius:9px;place-items:center;max-height:calc(94vh - 86px);display:grid;position:relative;overflow:hidden}.lightbox-canvas img{object-fit:contain;width:100%;max-height:calc(94vh - 86px);display:block}.lightbox-content>p{color:#abb7d1;text-align:center;margin:10px 0 0;font-size:11px}.lightbox-close{z-index:71;color:#fff;cursor:pointer;background:#141c33b8;border:1px solid #ffffff59;border-radius:50%;width:36px;height:36px;font-size:24px;line-height:30px;position:fixed;top:18px;right:24px}.lightbox-close:hover{background:#f04444}.replace-card{background:snow;border-color:#ffb9bd;padding:0;overflow:hidden}.replace-card>strong,.replace-card-head{color:#df3343;background:#fff0f1;border-bottom:1px solid #ffc9cc;margin:0;padding:10px 12px;font-size:12px;font-weight:700;display:block}.replace-original{border-color:#ffd0d3;margin:10px 12px 0;padding:9px 10px}.replace-arrow{color:#a0a9b7;border-top:1px dashed #f2b7bb;border-bottom:1px dashed #f2b7bb;margin-top:8px;padding:7px 0}.replace-input{resize:vertical;box-sizing:border-box;width:calc(100% - 24px);min-height:54px;font:inherit;margin:10px 12px 0;display:block}.suggestions{border-top:1px solid #ffd4d6;margin:10px 0 0;padding:10px 12px}.suggestions button,.suggestions i{color:#43546f;cursor:pointer;font:inherit;background:#fff;border:1px solid #d5deeb;border-radius:14px;padding:4px 9px;font-style:normal}.suggestions button:hover{background:#f6f9ff;border-color:#7b95cc}@media (width>=761px){.image-detail-modal .image-preview{flex:0 0 360px;height:360px}.image-detail-modal .image-canvas{height:100%;min-height:0}.image-detail-modal .image-canvas .image-stage{max-width:100%;height:100%;max-height:100%}.image-detail-modal .image-canvas .image-stage img{object-fit:contain;width:auto;max-width:100%;height:100%;max-height:100%}}.lightbox-canvas{overflow:hidden}.lightbox-canvas .image-stage{max-width:100%;max-height:calc(94vh - 86px)}.lightbox-canvas .image-stage img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:calc(94vh - 86px)}.image-detail-modal .image-canvas,.lightbox-canvas{place-items:center;display:grid;overflow:hidden}.image-detail-modal .image-canvas .image-stage,.lightbox-canvas .image-stage{flex:none;max-width:none;max-height:none;line-height:0;display:inline-block;position:relative}.image-detail-modal .image-canvas .image-stage img,.lightbox-canvas .image-stage img{object-fit:fill;width:100%;max-width:none;height:100%;max-height:none;display:block}.lightbox-canvas{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;height:calc(94vh - 86px);min-height:120px;overflow:hidden}.lightbox-canvas.dragging{cursor:grabbing}.replace-actions{color:#8994a6;background:#fff;border-top:1px solid #ffd4d6;align-items:center;gap:8px;padding:9px 12px;display:flex}.replace-actions>span{flex:1}.replace-actions button{cursor:pointer;background:#fff;border:1px solid #dbe2ec;border-radius:6px;padding:6px 12px;font-size:12px}.replace-actions .replace-submit{color:#fff;background:#f5a400;border-color:#f0a31a}.replace-actions .replace-submit:disabled{opacity:.65;cursor:wait}.replace-notice{color:#5d7bb4;flex:none;margin-left:4px;font-size:11px}.report-compare-summary{background:linear-gradient(135deg,#f8faff,#f6fbfa);border:1px solid #e3e9f3;border-radius:10px;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;padding:15px 18px;display:grid}.report-compare-summary div{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.report-compare-summary span{color:#7c879a;font-size:12px}.report-compare-summary b{color:#26344e;font-size:25px}.report-compare-summary strong{color:#7182a5;font-size:22px}.report-compare-summary p{color:#6e7d94;text-align:center;border-top:1px dashed #dfe5ef;grid-column:1/-1;margin:0;padding-top:9px;font-size:11px}.report-finding-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.report-finding-card{background:#fbfcfe;border:1px solid #e7ebf3;border-radius:9px;min-height:95px;overflow:hidden}.report-finding-card.remaining{border-top:3px solid #df515a}.report-finding-card.added{border-top:3px solid #cf8612}.report-finding-card-head{background:#f7f9fc;justify-content:space-between;align-items:baseline;gap:10px;padding:11px 12px 9px;display:flex}.report-finding-card-head strong{color:#43536e;font-size:12px}.report-finding-card-head small{color:#9aa4b4;font-size:10px}.report-finding-row{border-top:1px solid #edf0f5;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.report-finding-content{min-width:0}.report-finding-word{color:#d9525c;text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.added .report-finding-word{color:#bd790d}.report-finding-meta{color:#8490a4;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:10px;display:block;overflow:hidden}.report-finding-action{color:#4e6ce5;cursor:pointer;background:#f4f6ff;border:1px solid #ccd7ff;border-radius:5px;flex:none;padding:5px 9px;font-size:11px}.report-finding-action:hover{color:#fff;background:#4e6ce5;border-color:#4e6ce5}.report-empty{color:#a1aab9;text-align:center;padding:18px 12px;font-size:11px;font-style:normal;display:block}.report-fixed-note{color:#537466;background:#f0faf5;border-radius:7px;margin-top:14px;padding:10px 12px;font-size:11px}@media (width<=680px){.report-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.report-finding-columns{grid-template-columns:1fr}.report-compare-summary{grid-template-columns:1fr auto 1fr;gap:8px;padding:12px}.report-compare-summary div{text-align:center;display:block}.report-compare-summary span,.report-compare-summary b{display:block}.report-compare-summary b{margin-top:3px}}
