:root{--white:#fff;--paper:#f9fafb;--ink:#1f262d;--text:#38434f;--muted:#737f8b;--subtle:#9aa4ae;--rule:#e8ebed;--rule-light:#f0f1f3;--navy:#243f5c;--green:#567d68;--amber:#aa8350;--red:#9a5d5d;--shadow:0 12px 42px rgba(31,44,58,.065)}
*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:#fff;color:var(--ink);font:13px/1.55 -apple-system,BlinkMacSystemFont,"Inter","SF Pro Text","PingFang SC","Microsoft Yahei","Noto Sans CJK SC",Arial,sans-serif;-webkit-font-smoothing:antialiased}button,select,input,textarea{font:inherit;color:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid #6684a2;outline-offset:2px}.boot{display:grid;place-items:center;height:100vh;color:#8d969e}.ic{display:inline-block;width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;flex:none}.ic-sm{width:14px;height:14px}
.login-page{min-height:100vh;display:grid;place-items:center;background:#fafafa}.login-card{width:min(392px,calc(100vw - 38px));background:#fff;border:1px solid var(--rule);padding:42px 38px 38px;box-shadow:var(--shadow)}.login-brand{font-size:21px;font-weight:680;letter-spacing:-.5px}.login-sub{color:var(--subtle);font-size:12px;margin:6px 0 32px}.login-error{font-size:12px;color:var(--red);margin:-5px 0 16px}.login-foot{font-size:11px;color:#a0a8b0;border-top:1px solid var(--rule);padding-top:18px;margin-top:26px;line-height:1.7}
.app{display:flex;min-height:100vh}.sidebar{width:200px;flex:none;background:#fafafa;border-right:1px solid var(--rule);padding:0 13px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{padding:32px 13px 38px;border-bottom:1px solid #f0f0ef;margin-bottom:19px}.brand-title{font-size:17px;font-weight:690;letter-spacing:-.45px;color:#1f2832;white-space:nowrap}.brand-sub{font-size:11px;color:var(--subtle);margin-top:4px}.nav-section{font-size:10px;color:#a1a8af;letter-spacing:1px;margin:0 12px 12px}.nav-item{border:0;background:transparent;width:100%;display:flex;align-items:center;gap:11px;text-align:left;color:#56616c;font-size:13px;border-radius:4px;height:37px;padding:0 12px;margin:2px 0}.nav-item .ic{color:#87929c}.nav-item:hover{background:#f1f2f3;color:var(--ink)}.nav-item.active{background:#f0f2f4;color:#172331;font-weight:630}.nav-item.active .ic{color:#354e69}.side-bottom{margin-top:auto;border-top:1px solid var(--rule);padding:18px 12px 23px;color:#9aa2a9;font-size:11px}.user-card{display:flex;align-items:center;gap:9px;margin-bottom:12px}.user-circle{border:1px solid #dfe4e8;color:#627082;background:#fff;height:27px;width:27px;display:grid;place-items:center;border-radius:50%;font-size:10px}.user-card b{display:block;color:#525e68;font-weight:550;font-size:12px}.link-btn{border:0;background:none;padding:0;color:#83909b;font-size:11px}.link-btn:hover{color:var(--navy)}
.main{flex:1;min-width:0;background:#fff}.topbar{height:57px;padding:0 47px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule)}.crumb{display:flex;gap:10px;align-items:center;color:#9aa3ac;font-size:11px}.crumb strong{font-weight:570;color:#5e6974}.top-right{display:flex;align-items:center;gap:14px;color:#89949f;font-size:11px}.content{max-width:1510px;margin:auto;padding:40px 48px 72px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:25px}.page-header h1{margin:0;font-size:25px;line-height:1.2;font-weight:680;letter-spacing:-.6px}.page-desc{color:#8d969e;font-size:12.5px;margin:12px 0 0}.actions{display:flex;align-items:center;gap:8px}.btn{display:inline-flex;align-items:center;gap:7px;justify-content:center;min-height:33px;padding:7px 12px;background:#fff;border:1px solid #e1e5e9;border-radius:5px;color:#394858;font-size:12px;font-weight:530;white-space:nowrap}.btn:hover{background:#f6f7f8;border-color:#cdd4db}.btn.primary{background:var(--navy);border-color:var(--navy);color:#fff}.btn.primary:hover{background:#152f4a}.btn.danger{color:#8c5353}.btn.small{min-height:29px;padding:5px 9px;font-size:11px}.btn[disabled]{opacity:.5;cursor:default}.meta-strip{display:flex;align-items:center;gap:17px;font-size:12px;color:#909ba4;padding-bottom:21px;border-bottom:1px solid var(--rule);margin:0 0 20px}.meta-strip strong{font-size:15px;font-weight:650;color:#323e49;margin-right:4px;font-variant-numeric:tabular-nums}.meta-bar{width:1px;height:13px;background:#e2e6ea}
.toolbar{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:13px}.search{width:100%;max-width:540px;display:flex;align-items:center;gap:9px;border:1px solid #dce2e8;border-radius:5px;min-height:39px;padding:0 12px;color:#939da6}.search:focus-within{border-color:#8ba0b5}.search input{border:0;outline:0;flex:1;min-width:0;height:36px;background:transparent;font-size:12px}.search input::placeholder{color:#a1a9b1}.shortcut{font-size:11px;font-family:ui-monospace,Consolas,monospace;border:1px solid var(--rule);padding:1px 5px;border-radius:3px;color:#a4acb3}.filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:17px}.filter select{border:1px solid #e1e5e9;border-radius:4px;min-height:31px;background:#fff;color:#677482;font-size:11px;padding:5px 9px;max-width:200px}.clear{border:0;background:none;font-size:11px;color:#9aa5ad;padding:5px 7px}.grow{flex:1}.result-num{font-size:11px;color:#939da6}.data-table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;table-layout:fixed;min-width:900px}.data-table th{height:38px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);color:#87919a;background:#fff;text-align:left;font-size:11px;font-weight:520;padding:8px 13px}.data-table td{height:66px;border-bottom:1px solid #edf0f2;padding:10px 13px;vertical-align:middle;font-size:12px;color:#4f5c67}.data-table tbody tr{cursor:pointer}.data-table tbody tr:hover{background:#fafbfc}.cell-title{font-size:12.5px;font-weight:620;color:#27323d;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cell-sub,.cell-light{font-size:11px;color:#9ca5ad;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin-top:4px}.cell-normal,.inline-topics{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.industry-text{font-weight:510;color:#4d606f}.missing{color:#b0b7be!important}.pill-status{display:inline-flex;align-items:center;gap:7px;color:#76818b;white-space:nowrap;font-size:11px}.pill-status:before{content:'';width:5px;height:5px;border-radius:50%;background:#88a192}.pill-status.partial:before{background:#d4b88a}.footer{display:flex;align-items:center;justify-content:space-between;padding:16px 12px;color:#a3abb2;font-size:11px}.pagination{display:flex;align-items:center;gap:8px}.empty{padding:60px 16px;text-align:center;color:#9aa3aa}.empty strong{display:block;color:#5b6570;font-size:14px;font-weight:570;margin-bottom:7px}
.section-intro{font-size:12px;color:#8e98a2;margin:-4px 0 19px}.category-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:46px;align-items:start}.category-column{border-top:1px solid var(--rule)}.category-row{display:grid;grid-template-columns:29px minmax(0,1fr) 38px;align-items:start;gap:11px;width:100%;min-height:80px;padding:15px 3px 14px;border:0;border-bottom:1px solid var(--rule);background:#fff;text-align:left}.category-row:hover{background:#fafbfc}.category-number{font-size:11px;color:#acb2b8;padding-top:2px}.category-name{font-size:13px;font-weight:595;color:#313c46}.category-desc{font-size:11px;color:#9da5ae;margin-top:6px;line-height:1.6}.category-count{font-size:11px;text-align:right;color:#8e9aa5;padding-top:3px}
.dropzone{border:1px dashed #d4dce3;border-radius:5px;min-height:195px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;background:#fff;padding:25px;text-align:center}.dropzone.dragging{background:#f8fafc;border-color:#8ea3b7}.drop-title{font-size:14px;font-weight:590;color:#364351}.drop-note{font-size:11.5px;color:#98a3ac}.drop-footer{font-size:11px;color:#a6afb7;margin-top:12px;line-height:1.6}.selected-files{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;max-width:92%}.selected-files span{font-size:11px;background:#f2f4f6;padding:5px 7px;border-radius:3px;color:#667584}.import-error{max-width:640px;color:#9a5d5d;font-size:11.5px;line-height:1.6}.subsection-head{font-size:14px;font-weight:620;display:flex;justify-content:space-between;align-items:center;margin:35px 0 12px}.task-row{border:0;border-top:1px solid var(--rule);background:#fff;display:flex;align-items:center;gap:20px;min-height:73px;padding:10px 4px;width:100%;text-align:left}.task-row:last-child{border-bottom:1px solid var(--rule)}.task-row:hover{background:#fafbfc}.task-name{font-size:12.5px;font-weight:590;color:#2d3844}.task-desc{font-size:11px;color:#a0a9b1;margin-top:5px}.task-meta{font-size:11px;color:#9ba4ad;white-space:nowrap}.task-status{color:#5c836c;font-size:11px;display:flex;align-items:center;gap:6px}.task-status:before{content:'';width:5px;height:5px;border-radius:50%;background:#88a993}.task-status.pending{color:#9a774a}.task-status.failed{color:#9a5d5d}.back{display:flex;align-items:center;gap:5px;border:0;background:none;padding:0;font-size:12px;color:#7f8b95;margin-bottom:25px}.task-head h1{font-size:22px;font-weight:650;margin:0 0 10px}.task-header-meta{display:flex;gap:16px;color:#9ba5ae;font-size:11px}.metric-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin:26px 0 38px}.metric{padding:22px 24px 22px 0;position:relative}.metric:not(:first-child){padding-left:26px}.metric:not(:first-child):before{position:absolute;content:'';left:0;top:22px;bottom:22px;width:1px;background:var(--rule)}.metric strong{font-size:23px;font-weight:640;display:block;color:#25313c}.metric span{font-size:11px;color:#a0a8b0}.two-col{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:53px}.section-title{font-size:13px;font-weight:620;border-bottom:1px solid var(--rule);padding-bottom:12px;margin:0 0 17px}.step{display:flex;gap:14px;padding:0 0 24px;position:relative}.step:not(:last-child):before{content:'';height:calc(100% - 18px);width:1px;left:10px;top:20px;background:#e5e8e9;position:absolute}.step-index{width:21px;height:21px;display:grid;place-items:center;font-size:10px;border:1px solid #d7e2d9;background:#f8faf8;color:#65826c;border-radius:50%;z-index:1}.step-text{font-size:12px;color:#4c5965;font-weight:565}.step-desc{font-size:11px;color:#9ca6ae;margin-top:5px}.summary-row{display:flex;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid var(--rule-light);font-size:12px}.summary-row span:first-child{color:#9ba5ad}.summary-row span:last-child{color:#52616e;text-align:right}.secure-note{color:#9fa7ae;font-size:11px;margin-top:19px;line-height:1.8}
.setting-section{border-top:1px solid var(--rule);margin-top:15px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:99px;border-bottom:1px solid var(--rule);padding:18px 2px}.setting-name{font-size:13px;font-weight:590}.setting-desc{font-size:11.5px;color:#9aa4ad;margin-top:5px;max-width:670px}.setting-value{font-size:12px;color:#63707e}.settings-detail{padding:18px 2px;border-bottom:1px solid var(--rule)}.mini-table{width:100%;border-collapse:collapse;font-size:11px}.mini-table th,.mini-table td{text-align:left;border-bottom:1px solid var(--rule-light);padding:10px 7px}.mini-table th{color:#87919a;font-weight:520}
.backdrop{position:fixed;inset:0;background:rgba(17,27,37,.24);z-index:20;display:flex;justify-content:flex-end}.drawer{height:100vh;width:min(570px,100vw);background:#fff;box-shadow:var(--shadow);display:flex;flex-direction:column;animation:slide .18s ease both}@keyframes slide{from{transform:translateX(17px);opacity:.75}to{transform:none;opacity:1}}.drawer-toolbar{min-height:58px;border-bottom:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between;padding:0 37px;color:#89949e;font-size:11px}.icon-btn{border:0;background:none;padding:5px;border-radius:4px;color:#818f9d}.drawer-scroll{overflow-y:auto;flex:1;padding:36px 42px 65px}.profile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:27px;border-bottom:1px solid var(--rule)}.profile-name{font-size:26px;font-weight:650;letter-spacing:-.5px;line-height:1.3}.profile-identity{color:#657381;font-size:13px;margin-top:9px}.profile-sub{color:#9ca5ac;font-size:12px;margin-top:7px}.profile-block{border-bottom:1px solid var(--rule);padding:25px 0 24px}.profile-block h3{font-size:12px;font-weight:650;margin:0 0 15px;color:#34414c}.profile-paragraph{font-size:13px;line-height:1.95;margin:0;color:#5a6874}.profile-grid{display:grid;grid-template-columns:100px 1fr;gap:13px 10px;font-size:12px}.profile-grid dt{color:#98a2ab}.profile-grid dd{margin:0;color:#4d5c69;line-height:1.6}.topic-list{display:flex;gap:7px;flex-wrap:wrap}.topic{background:#f4f5f6;color:#65727d;font-size:11.5px;border-radius:3px;padding:5px 9px}.profile-empty{font-size:12px;color:#acb4bc}.profile-footnote{font-size:11px;color:#a4acb4;margin-top:20px;line-height:1.7}.editform .profile-name{font-size:21px;margin-bottom:22px}.field{display:block;margin-bottom:18px}.field label{display:block;color:#6a7681;margin-bottom:7px;font-size:11.5px}.field input,.field select,.field textarea{border:1px solid #dfe4e8;background:#fff;border-radius:4px;width:100%;padding:10px 11px;color:#30404d;font-size:12px}.field textarea{min-height:92px;resize:vertical;line-height:1.7}.edit-actions{display:flex;gap:10px;padding-top:8px}.toast{position:fixed;z-index:60;bottom:25px;left:50%;transform:translateX(-50%);padding:11px 18px;background:#263847;border-radius:5px;color:#fff;box-shadow:0 10px 36px rgba(0,0,0,.12);font-size:12px}.import-actions{display:flex;gap:8px;align-items:center;justify-content:center}.import-selection{width:min(760px,100%);border-top:1px solid var(--rule-light);padding-top:12px;margin-top:2px}.selection-head{display:flex;align-items:center;justify-content:space-between;gap:16px;color:#53616e;font-size:11.5px;text-align:left}.selection-stats{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;color:#929da6;font-size:11px;margin:10px 0}.selection-stats strong{color:#43515e;font-weight:620}.invalid-files{display:flex;flex-direction:column;gap:3px;color:#9a5d5d;font-size:10.5px;line-height:1.5;margin:7px auto 10px;max-width:680px;text-align:left}.upload-progress{height:3px;background:#edf0f2;border-radius:2px;overflow:hidden;margin:10px 0 5px}.upload-progress span{display:block;height:100%;background:var(--navy);transition:width .15s ease}.progress-label{color:#7f8b95;font-size:10.5px;margin-bottom:9px}
@media(max-width:1080px){.sidebar{width:169px}.topbar{padding:0 25px}.content{padding:32px 27px 55px}.two-col{gap:30px}}@media(max-width:750px){.app{display:block}.sidebar{position:static;width:100%;height:auto;display:block}.brand{padding:18px 2px 12px;margin:0;border:0}.brand-sub,.nav-section,.side-bottom{display:none}.nav-list{display:flex;overflow-x:auto}.nav-item{white-space:nowrap;width:auto}.nav-item .ic{display:none}.topbar{height:44px;padding:0 19px}.content{padding:26px 19px 55px}.category-grid,.two-col{grid-template-columns:1fr}.drawer-scroll{padding:28px 23px}.metric strong{font-size:20px}}
.danger-zone{margin-top:28px;padding:16px 0;border-top:1px solid #ead7d7;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#7f3434}.danger-zone strong{font-size:13px;font-weight:600}.danger-zone p{margin:4px 0 0;color:#8b7777;font-size:12px;line-height:1.5}.evidence-list{display:grid;gap:8px}.evidence-item{padding:10px 12px;border:1px solid #e5e8ea;background:#fafbfb;font-size:12px}.evidence-item strong{display:inline-block;min-width:92px;color:#31383d}.evidence-item span{color:#76828a}.evidence-item p{margin:5px 0 0;color:#59656d;line-height:1.5;word-break:break-word}.evidence-item em{display:block;margin-top:4px;color:#9a5d5d;font-style:normal}
