html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}:root{color:#18232f;background:#f5f7fb;font-family:Inter,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:15px;letter-spacing:0}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f3f6fa}.auth-panel{width:min(400px,100%);display:grid;gap:16px;padding:28px;background:#fff;border:1px solid #dfe6ee;border-radius:8px;box-shadow:0 12px 30px #0f172a1a}.auth-panel label,.user-form label{display:grid;gap:6px}.auth-panel input,.user-form input,.user-form select{min-height:38px;padding:8px 10px;border:1px solid #cfd8e3;border-radius:6px}.auth-brand{color:#172033}.dingtalk-login-card{display:grid;gap:8px;padding:12px;border:1px solid #cfe5ff;border-radius:8px;background:#f4f9ff;color:#24415f}.dingtalk-login-card strong{color:#10233f}.dingtalk-login-card span{color:#5f7186;font-size:13px}.dingtalk-login-card button{justify-content:center}.dingtalk-qr-box{display:grid;min-height:220px;place-items:center;overflow:hidden;border:1px dashed #b8d4f5;border-radius:8px;background:#fff}.user-form{display:grid;gap:14px}.pagination-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0 0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}.spin-icon{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.sidebar{display:flex;flex-direction:column;gap:18px;padding:18px 14px;background:#101827;color:#f8fafc;box-shadow:1px 0 #0f172a14}.brand{display:flex;align-items:center;gap:10px;min-height:42px}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;background:#1677ff;color:#fff;font-weight:800}nav{display:grid;gap:8px}.nav-group{display:grid;gap:5px}.nav-group-toggle{display:flex;align-items:center;gap:7px;width:100%;min-height:30px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:#8ca3bd;font-size:12px;font-weight:700;cursor:pointer}.nav-group-toggle:hover{color:#fff;background:#ffffff0f}.nav-submenu{display:grid;gap:5px}.nav-group+.nav-group{padding-top:8px;border-top:1px solid rgba(205,215,224,.12)}.nav-button,.select-row,.file-row,.work-item,.mini-card,.version-row{border:1px solid transparent;border-radius:8px}.nav-button{display:flex;align-items:center;gap:10px;width:100%;min-height:38px;padding:0 12px 0 18px;color:#c9d5e3;background:transparent;text-decoration:none}.nav-button.active,.nav-button:hover{background:#1677ff;color:#fff}.sidebar-metrics{display:grid;gap:8px;margin-top:auto;color:#9fb0bf}.vben-menu.ant-menu{flex:1;min-width:0;border-inline-end:0;background:transparent}.vben-menu.ant-menu-dark{background:transparent}.vben-menu .ant-menu-submenu-title,.vben-menu .ant-menu-item{width:auto;margin:4px 0;border-radius:6px}.vben-menu .ant-menu-item{display:flex;align-items:center}.vben-menu .ant-menu-title-content{min-width:0}.vben-menu .menu-icon{display:inline-block;vertical-align:-.18em}.vben-menu .ant-menu-item .ant-menu-item-icon,.vben-menu .ant-menu-submenu-title .ant-menu-item-icon,.vben-menu .ant-menu-item .anticon,.vben-menu .ant-menu-submenu-title .anticon{display:inline-flex;align-items:center;justify-content:center}.vben-menu.ant-menu-dark .ant-menu-item-selected{background:#1677ff}.workspace{min-width:0;padding:20px 22px 28px;background:#f5f7fb}.workspace-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-height:32px;margin:0 0 8px}.workspace-user{min-width:0;color:#637384;text-align:right;overflow-wrap:anywhere}.workspace-actions{display:flex;flex:0 0 auto;align-items:center;gap:8px}h1,h2,h3,p{margin:0}h1{font-size:24px;line-height:1.2}h2{font-size:16px}h3{margin:18px 0 10px;font-size:14px;color:#4a5b6b}h4{margin:0 0 8px;font-size:13px;color:#45596b}.file-row span,.work-item span,.mini-card span,.version-row span,small{color:#637384}.panel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.panel-grid.two{grid-template-columns:minmax(280px,.7fr) minmax(360px,1.3fr)}.panel-grid.split{grid-template-columns:270px minmax(0,1fr)}.panel,.work-item{min-width:0;padding:16px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;box-shadow:0 8px 22px #0f172a09}.panel.wide{overflow:hidden}.users-layout .backup-panel,.users-layout .dingtalk-sync-panel{grid-column:1 / -1}.org-management,.roles-management{display:grid;gap:16px}.org-grid{display:grid;grid-template-columns:240px minmax(280px,.95fr) minmax(360px,1.25fr);gap:14px;align-items:start}.org-column,.role-list,.role-editor{min-width:0;padding:14px;border:1px solid #e4ebf3;border-radius:8px;background:#f8fbff}.department-column,.member-column,.role-list{display:grid;gap:8px;max-height:calc(100vh - 250px);overflow:auto}.department-item,.member-item,.role-card{width:100%;display:grid;gap:4px;padding:12px;border:1px solid #dbe5f0;border-radius:8px;background:#fff;color:#172033;text-align:left}.department-item{grid-template-columns:minmax(0,1fr) auto;align-items:center}.department-item.active,.member-item.active,.role-card.active{border-color:#1677ff;background:#eef6ff}.member-item.disabled,.role-card.disabled{opacity:.62}.member-item span,.role-card span,.member-item small,.role-card small{overflow:hidden;color:#637384;text-overflow:ellipsis;white-space:nowrap}.member-detail-panel,.role-editor{display:grid;gap:14px}.member-profile-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.member-profile-head h2{margin:0 0 4px}.member-profile-head p{margin:0;color:#637384}.member-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.member-meta-grid article{display:grid;gap:5px;min-width:0;padding:10px;border:1px solid #e4ebf3;border-radius:8px;background:#fff}.member-meta-grid span,.role-editor-line span{color:#637384;font-size:13px}.member-meta-grid strong{overflow-wrap:anywhere}.role-editor-line{display:grid;gap:6px}.permission-chip-list{display:flex;flex-wrap:wrap;gap:6px}.permission-chip{padding:5px 9px;border:1px solid #d7e7fb;border-radius:999px;background:#f0f7ff;color:#1d5fa8;font-size:13px}.backup-strip{display:grid;gap:12px;padding-top:14px;border-top:1px solid #e5e7eb}.roles-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:14px}.permission-group-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.permission-group-card{display:grid;gap:8px;min-width:0;padding:12px;border:1px solid #e4ebf3;border-radius:8px;background:#fff}.permission-group-card h3{margin:0}.permission-check{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:start;padding:8px;border-radius:6px}.permission-check:hover{background:#f6faff}.permission-check span{display:grid;gap:2px}.permission-check small{color:#637384}.panel-title,.toolbar,.detail-header,.version-row{display:flex;align-items:center;gap:10px}.panel-title{margin-bottom:14px}.toolbar{flex-wrap:wrap;margin-bottom:14px}.data-query-panel{position:relative;display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;align-items:start;margin-bottom:14px}.data-query-panel.has-preview{grid-template-columns:92px 88px minmax(0,1fr)}.data-page-panel{display:flex;flex-direction:column;height:calc(100vh - 132px);min-height:620px;overflow:hidden}.data-image-dropzone{min-height:78px;padding:8px}.data-image-dropzone span{max-width:100%;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.data-image-preview{position:relative;display:grid;place-items:center;min-height:78px;border:1px solid #d9e4ed;border-radius:8px;background:#fff}.data-image-preview img{max-width:100%;max-height:74px;object-fit:contain}.data-image-preview .icon-button{position:absolute;top:4px;right:4px;width:28px;min-height:28px}.data-filter-stack{min-width:0}.data-toolbar{display:grid;grid-template-columns:minmax(130px,1fr) minmax(120px,.8fr) 128px auto auto auto;align-items:end;gap:8px;margin-bottom:8px}.sr-field,.compact-filter-field,.data-advanced-grid>label,.review-list-filters label{display:grid;gap:4px;min-width:0;color:#526779;font-size:12px}.data-toolbar input,.data-toolbar select{width:100%;min-width:0}.data-core-filter-grid{grid-template-columns:repeat(4,minmax(120px,1fr));margin-bottom:6px}.data-more-filter{position:relative}.data-advanced-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;max-height:340px;margin-top:8px;padding:10px;overflow:auto;border:1px solid #d9e4ed;background:#fff}.data-version-check{margin:8px 2px 0}.data-result-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:4px 0 8px}.data-result-head h3{margin:0 0 3px}.data-result-head p{margin:0;color:#637384}.dashboard-page,.operations-page{display:grid;gap:16px}.dashboard-filter-bar{display:flex;align-items:end;justify-content:flex-end;gap:8px;flex-wrap:wrap}.dashboard-filter-bar input{width:100%;min-width:0}.scope-toggle,.export-mode-picker{display:inline-flex;flex-wrap:wrap;gap:8px}.scope-toggle .secondary-button.active,.export-mode-picker .secondary-button.active,.secondary-button.active{border-color:#1677ff;background:#f0f6ff;color:#1677ff}.dashboard-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.dashboard-metric{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 8px;min-width:0;padding:14px;border:1px solid #e1e8ef;border-radius:8px;background:#fff;color:inherit;text-align:left;cursor:pointer}.dashboard-metric span{grid-column:1;color:#607487;font-size:12px}.dashboard-metric strong{grid-column:1;color:#17324b;font-size:24px;line-height:1.1}.dashboard-metric svg{grid-column:2;grid-row:1 / span 2;color:#7890a4}.dashboard-metric:hover{border-color:#9abbd2;background:#f7fafc}.dashboard-metric:focus-visible{outline:3px solid rgba(22,119,255,.24);outline-offset:2px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:16px}.dashboard-block{display:grid;gap:12px;min-width:0}.dashboard-block-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.dashboard-block-head h3{margin:0 0 4px}.dashboard-block-head p{color:#637384}.dashboard-trend{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:8px;min-width:0;padding:14px;border:1px solid #e1e8ef;border-radius:8px;background:#fbfdff}.trend-day{display:grid;gap:6px;min-width:0;align-items:end}.trend-bars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:4px;height:120px;padding-top:12px}.trend-bar{align-self:end;min-height:8px;border-radius:999px 999px 2px 2px}.trend-bar.uploaded{background:#1677ff}.trend-bar.parsed{background:#2f9a77}.trend-day strong{overflow:hidden;color:#607487;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.dashboard-table-scroll,.operations-table-scroll{max-height:58vh}.operations-toolbar{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr)) auto auto auto auto;gap:8px}.operations-toolbar input,.operations-toolbar select{width:100%;min-width:0}.task-status-pill{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:700}.task-status-pill.success{background:#e7f7ef;color:#11633f}.task-status-pill.active{background:#eef6ff;color:#1f5b95}.task-status-pill.danger{background:#fff0f0;color:#a13030}.task-status-pill.neutral{background:#eef4f8;color:#607487}.danger-button{border-color:#f0c5c5;color:#a13030}.danger-button:hover{border-color:#e56e6e;color:#a13030}.export-modal{width:min(720px,100%)}.export-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.export-summary article,.export-job-card{display:grid;gap:6px;padding:12px;border:1px solid #d9e4ed;border-radius:8px;background:#fbfdff}.export-summary span,.export-job-card p{color:#607487}.export-summary strong{color:#17324b;font-size:20px}.export-actions{justify-content:space-between}.export-job-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.detail-header{justify-content:space-between;margin-bottom:12px}.dropzone{display:grid;place-items:center;gap:10px;min-height:220px;border:1px dashed #9db7d5;border-radius:8px;background:#f8fbff;color:#31506d;text-align:center}.dropzone.compact{min-height:160px}.dropzone input{display:none}.file-list{display:grid;gap:8px;max-height:62vh;overflow:auto}.file-row,.select-row,.mini-card,.version-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:10px 12px;background:#f8fafc;border-color:#e1e8ef;text-align:left}.select-row{margin-bottom:8px}.select-row.active,.file-row:hover,.select-row:hover{border-color:#1677ff;background:#f0f6ff}.file-row div,.select-row span,.work-item div{min-width:0}.file-row-main{display:grid;gap:4px}.file-row strong,.select-row span,.work-item strong{display:block;overflow-wrap:anywhere}.file-row-badges{display:flex;flex-wrap:wrap;gap:6px}.file-row-badges small{display:inline-flex;align-items:center;min-height:22px;padding:2px 8px;border-radius:999px;background:#e8f2ff;color:#245a9c;font-size:12px}.document-file-badges{margin-top:6px}.engine-status-pill{display:inline-flex;align-items:center;min-height:22px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:700}.engine-status-pill.active{background:#e7f7ef;color:#11633f}.engine-status-pill.inactive{background:#eef3f7;color:#607487}.engine-form-status{display:flex;align-items:center;gap:10px;margin-bottom:12px}.engine-form-status small{color:#6c8193}.icon-button,.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;border:1px solid #cbd6df;border-radius:8px;background:#fff;color:#1d3347}.icon-button{width:36px;padding:0}.primary-button{padding:0 12px;border-color:#1677ff;background:#1677ff;color:#fff}.secondary-button{padding:0 12px;background:#fff}.primary-button:hover{border-color:#4096ff;background:#4096ff}.secondary-button:hover,.icon-button:hover{border-color:#1677ff;color:#1677ff}.compact-button{min-height:32px;padding:0 10px}.role-select{min-width:112px;min-height:32px}.button-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.full-button{width:100%;margin-bottom:10px}input,select,textarea{min-height:36px;min-width:180px;padding:0 10px;border:1px solid #d9e2ec;border-radius:8px;background:#fff;color:#18232f}input:focus,select:focus,textarea:focus{border-color:#1677ff;box-shadow:0 0 0 3px #1677ff1f;outline:none}textarea{width:100%;min-height:84px;margin-top:14px;padding:10px;resize:vertical}.alert{margin-bottom:12px;padding:10px 12px;border-radius:8px}.alert.error{border:1px solid #fecaca;background:#fff7f7;color:#991b1b}.alert.success{border:1px solid #b7ebc6;background:#f6ffed;color:#166534}.inline-error{margin-bottom:12px;padding:9px 11px;border:1px solid #f1a3a3;border-radius:8px;background:#fff2f2;color:#8a2525;line-height:1.45}.modal-error{margin-top:-2px}.stat-strip{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.stat-strip span{padding:6px 10px;border-radius:8px;background:#f0f6ff;color:#1d4f91}.document-check-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-bottom:14px}.document-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;border-bottom:1px solid #dce6ef}.document-tabs button{min-height:34px;padding:0 12px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#536a7f}.document-tabs button.active,.document-tabs button:hover{border-bottom-color:#1677ff;color:#0f4f95}.document-check-strip article,.inline-section{border:1px solid #dce6ef;border-radius:8px;background:#fbfdff}.document-check-strip article{display:grid;gap:5px;padding:10px 12px}.document-check-strip strong,.inline-section-head strong{color:#334155}.document-check-strip span,.inline-section-head p{color:#607487;line-height:1.45}.document-check-strip .field-acceptance-status{color:#1f5b95;font-weight:700}.field-acceptance-card.passed{border-color:#bde5d8;background:#f2fbf7}.field-acceptance-card.passed .field-acceptance-status{color:#11633f}.field-acceptance-card.review,.field-acceptance-card.pending{border-color:#f4d79b;background:#fffaf0}.field-acceptance-card.review .field-acceptance-status,.field-acceptance-card.pending .field-acceptance-status{color:#845600}.field-acceptance-card.failed{border-color:#f0c5c5;background:#fff2f2}.field-acceptance-card.failed .field-acceptance-status{color:#a13030}.asset-warning{margin:0 0 10px;padding:9px 10px;border:1px solid #f4d79b;border-radius:8px;background:#fffaf0;color:#73520a}.inline-section{display:grid;gap:10px;margin-bottom:14px;padding:12px}.inline-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.inline-section-head h3{margin-top:0}.inline-details summary{display:inline-flex;align-items:center;min-height:32px;padding:0 10px;border:1px solid #cfe0ee;border-radius:8px;background:#fff;color:#23465c;cursor:pointer;list-style:none}.inline-details summary::-webkit-details-marker{display:none}.inline-details pre{margin-top:8px}.status-pill{flex:0 0 auto;min-height:28px;padding:4px 9px;border-radius:999px;background:#eef6ff;color:#1f5b95;font-size:12px;font-weight:700}.status-pill.review-status-reviewed{background:#e7f7ef;color:#11633f}.status-pill.review-status-pending{background:#fff7df;color:#845600}.status-pill.review-status-missing{background:#fff0f0;color:#a13030}.document-field-scroll{max-height:260px}.review-inline-panel{background:#fff}.review-overview-panel{display:grid;gap:18px}.review-overview-block{display:grid;gap:10px}.review-overview-block h4{margin:0;color:#1f2937}.review-preview-table-card{overflow:hidden}.review-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-bottom:1px solid #e5e7eb}.review-preview-head span{color:#64748b;white-space:nowrap}.review-preview-scroll{max-height:360px}.review-preview-image-cell{min-width:96px}.review-preview-image-cell img{width:42px;height:42px;object-fit:contain;border:1px solid #e2e8f0;border-radius:6px;background:#fff}.columns{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:18px}.empty-text{color:#637384;line-height:1.7}table{width:100%;border-collapse:collapse;overflow:hidden;border-radius:8px}th,td{padding:10px 8px;border-bottom:1px solid #e4ebf1;text-align:left;vertical-align:top;overflow-wrap:anywhere}th{background:#f8fafc;color:#334155;font-weight:700}.clickable-row{cursor:pointer}.clickable-row.active td,.clickable-row:hover td{background:#f0f6ff}.work-item{display:grid;gap:12px}.table-list{display:grid;gap:10px}.table-card{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;background:#fff}.table-toggle{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:44px;padding:0 12px;border:0;background:transparent;color:#1f2937;text-align:left}.table-toggle strong{overflow-wrap:anywhere}.table-panel{border-top:1px solid #e5e7eb;background:#fff}.table-scroll{max-height:520px;overflow:auto;background:#fff;scrollbar-gutter:stable}.table-scroll.standalone{max-height:64vh;border:1px solid #e5e7eb;border-radius:8px}.table-scroll.supplier-scroll{max-height:220px;border:1px solid #e5e7eb;border-radius:8px}.table-scroll.field-scroll{max-height:340px;border:1px solid #e5e7eb;border-radius:8px}.document-table-scroll{max-height:430px;border-top:0;overscroll-behavior:contain}.table-scroll table{min-width:680px}.table-scroll thead th,.table-scroll th{position:sticky;top:0;z-index:3;box-shadow:inset 0 -1px #e5e7eb}.data-table{table-layout:fixed}.data-table th,.data-table td{min-width:104px;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table td{background:#fff}.data-table tbody tr:hover td{background:#f7fbff}.product-scroll{position:relative;flex:1 1 auto;min-height:0;max-height:none}.table-scroll.standalone.product-scroll{max-height:none}.table-scroll .product-table{min-width:2360px;border-collapse:separate;border-spacing:0;border-radius:0;overflow:visible}.table-scroll .supplier-table{min-width:1320px;border-collapse:separate;border-spacing:0;border-radius:0;overflow:visible}.sticky-col{position:sticky;z-index:2;background:#fff;box-shadow:1px 0 #e4ebf1}.table-scroll thead th.sticky-col{z-index:5;background:#edf3f7}.archive-col{left:0;width:220px;min-width:220px;max-width:220px}.archive-status-col{left:0;width:0;min-width:0;max-width:0}.archive-version-col{left:220px;width:156px;min-width:156px;max-width:156px}.archive-relation-col{left:376px;width:136px;min-width:136px;max-width:136px}.image-col{left:512px;width:112px;min-width:112px;max-width:112px}.sku-col{left:624px;width:132px;min-width:132px;max-width:132px}.name-col{left:756px;width:240px;min-width:240px;max-width:240px}.supplier-name-col{width:180px;min-width:180px;max-width:180px}.supplier-id-col{left:0;width:72px;min-width:72px;max-width:72px}.text-cell{min-width:160px}.wide-text-cell{min-width:240px}.function-cell{min-width:260px;max-width:320px;color:#31475a;line-height:1.55}.function-cell span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-result-cell{min-width:210px}.source-cell{min-width:210px;color:#31475a}.source-cell strong,.source-cell span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-cell span{margin-top:2px;color:#66798a;font-size:12px}.action-col{width:92px;min-width:92px;max-width:92px;background:#fff;text-align:center}th.action-col{background:#edf3f7}.archive-version-col small{display:inline-flex;margin-left:6px;margin-top:0;color:#728496;font-size:12px}.archive-version-col{color:#24364a}.version-summary-button{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:3px 6px;width:100%;min-height:48px;padding:5px 7px;border:1px solid #b9d7ff;border-radius:8px;background:#f4f9ff;color:#173f68;text-align:left;cursor:pointer}.version-summary-button:hover{border-color:#1677ff;background:#ebf4ff}.version-summary-button strong,.version-summary-button small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.version-summary-button small{grid-column:1 / -1;color:#607486;font-size:11px}.archive-version-col strong{display:block;font-size:13px}.archive-summary-button{display:grid;gap:2px;width:100%;min-height:52px;padding:6px 10px;border:1px solid #cfe0ef;border-radius:8px;background:#fff;color:#24364a;text-align:left;cursor:pointer}.archive-summary-button:hover{border-color:#8bbcff;background:#f4f9ff}.archive-summary-button strong,.archive-summary-button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archive-summary-button span{color:#607486;font-size:12px}.link-pill{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:0 8px;border:1px solid #bad8ff;border-radius:999px;background:#eef6ff;color:#1766b8;font-size:12px;cursor:pointer}.duplicate-archive-pill{min-height:26px;border-color:#7fb4ff;background:#e6f1ff;color:#075ea8;font-weight:600}.version-state-pill,.quality-blocker{display:inline-flex;align-items:center;min-height:22px;padding:0 7px;border:1px solid #cdd9e3;border-radius:999px;background:#f5f7f9;color:#46596a;font-size:11px;line-height:1}.version-current{border-color:#9cd2b2;background:#eef9f2;color:#17633a}.version-pending{border-color:#e5c57d;background:#fff9e9;color:#815d0a}.version-history{border-color:#b9c8d5;background:#f2f5f7;color:#526779}.version-void{border-color:#e0a9a9;background:#fff2f2;color:#9a2c2c}.quality-cell{min-width:104px}.quality-cell strong{display:block}.quality-blocker{margin-top:4px;border-color:#e8b2b2;background:#fff3f3;color:#9a2c2c}.table-actions{display:inline-flex;gap:4px}.image-missing-note{display:inline-flex;align-items:center;min-height:28px;max-width:92px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-preview-table{min-width:max-content;table-layout:fixed;border-collapse:separate;border-spacing:0;border-radius:0}.document-preview-table th,.document-preview-table td{width:132px;min-width:132px;max-width:132px;height:44px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#fff}.document-preview-table th{position:sticky;top:0;z-index:10;background:#edf3f7}.document-preview-table tbody tr:nth-child(2n) td{background:#fbfdff}.document-preview-table tbody tr:hover td{background:#f1f8ff}.document-preview-table .standard-doc-col{background:#f7fbf9}.document-preview-table th.standard-doc-col{background:#e6f4ef;color:#1f6d57}.doc-image-col{left:0;width:118px;min-width:118px;max-width:118px}.doc-sku-col{left:118px;width:132px;min-width:132px;max-width:132px}.doc-name-col{left:250px;width:220px;min-width:220px;max-width:220px}.doc-wide-col{width:220px;min-width:220px;max-width:220px}.document-preview-table .sticky-col{z-index:5;box-shadow:1px 0 #dbe5ec}.document-preview-table th.sticky-col{z-index:12}.mapping-strip{display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px;max-height:118px;overflow:auto;padding:10px;border-bottom:1px solid #e4ebf1;background:#f6f9fb;scrollbar-gutter:stable}.mapping-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;color:#1f2937;background:#fff}.mapping-section-head span{color:#64748b;font-size:12px}.mapping-section-head.preview-head{border-top:1px solid #e5e7eb}.table-preview-note{position:sticky;left:0;padding:8px 10px;background:#fff}.mapping-control{display:inline-block;max-width:100%;border:1px solid #d9e8f1;border-radius:8px;background:#fff}.matched-control{background:#f8fffc}.mapping-control summary{display:block;cursor:pointer;list-style:none;padding:4px}.mapping-control summary::-webkit-details-marker{display:none}.mapping-control[open]{min-width:min(360px,100%);padding-bottom:6px}.mapping-editor-row{display:grid;grid-template-columns:minmax(140px,1fr) auto auto;gap:6px;padding:0 6px}.mapping-control select{min-width:0;width:100%;min-height:32px}.mapping-chip,.unmatched-chip{padding:4px 8px;border-radius:8px;font-size:12px;overflow-wrap:anywhere}.mapping-chip{background:#e9f7f1;color:#1e7058}.unmatched-chip{background:#fff5dd;color:#835b13}.image-cell{display:flex;align-items:center;gap:6px;min-width:96px}.image-cell img{width:72px;height:72px;border:1px solid #d6dee7;border-radius:8px;object-fit:contain;background:#fff}.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.asset-card{display:grid;gap:6px;padding:8px;border:1px solid #d9e4ed;border-radius:8px;background:#f8fafc}.asset-card img{width:100%;aspect-ratio:1;object-fit:contain;border-radius:6px;background:#fff}.asset-card span{color:#637384;font-size:12px}.review-task-row{display:grid;gap:5px;align-items:start;justify-content:stretch}.review-task-row span,.review-task-row small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-loading-state{display:flex;align-items:center;gap:12px;min-height:96px;padding:16px;border:1px solid #dbe8f5;border-radius:8px;background:#f7fbff;color:#28445f}.review-loading-state div{display:grid;gap:4px}.review-loading-state span{color:#62778a}.review-list-filters{display:grid;gap:8px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #e2e9ef}.document-page>.panel:first-child,.review-page>.panel:first-child{align-self:start;max-height:calc(100vh - 132px);overflow:auto}.decision-panel{display:grid;gap:12px;margin:4px 0 16px;padding:14px 0;border-top:1px solid #d6e1e9;border-bottom:1px solid #d6e1e9}.embedded-decision-panel{margin:12px 0 14px;padding:14px;border:1px solid #bfd7ff;border-radius:8px;background:#f6faff}.decision-panel-head,.decision-candidate-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.decision-panel-head h3,.decision-panel-head p{margin:0}.decision-panel-head p{margin-top:4px;color:#5d7182}.decision-candidate-list{display:grid}.decision-candidate-row{padding:10px 0;border-top:1px solid #e4ebf1}.decision-candidate-row>div:first-child{display:grid;gap:3px;min-width:0}.decision-candidate-row span,.decision-candidate-row small{color:#637789}.decision-candidate-row small{color:#9a453b}.archive-status-panel{background:#f8fbf9;border-color:#c7ead5}.archive-status-pill{background:#dcf7e8;color:#087443}.archive-status-body{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:#587084}.archive-status-body strong{color:#152033}.document-supplier-panel{display:grid;gap:10px;margin-bottom:12px;padding:12px;border:1px solid #d9e8f4;border-radius:8px;background:#f8fbfe}.document-supplier-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.document-supplier-head h4,.document-supplier-head p{margin:0}.document-supplier-head p{margin-top:4px;color:#607487;font-size:12px}.supplier-sync-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.review-summary,.sku-review-list,.sample-list{display:grid;gap:10px}.review-summary{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-bottom:14px}.sheet-review-tabs{display:flex;gap:8px;margin-bottom:14px;padding-bottom:4px;overflow-x:auto}.sheet-review-tabs button{display:grid;grid-template-columns:minmax(120px,1fr) auto;gap:4px 8px;align-items:center;min-width:220px;padding:9px 10px;border:1px solid #d9e4ed;border-radius:8px;background:#fff;color:#31475a;text-align:left}.sheet-review-tabs button.active,.sheet-review-tabs button:hover{border-color:#1677ff;background:#f0f6ff}.sheet-review-tabs strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-review-tabs small{grid-column:1 / -1}.sku-review-card,.skill-version-block,.skill-table-block{border:1px solid #d9e4ed;border-radius:8px;background:#f8fafc}.sku-review-card{padding:12px}.sku-review-head,.skill-version-head,.skill-table-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.sku-review-head strong,.skill-version-head strong,.skill-table-head strong{display:block;overflow-wrap:anywhere}.sku-review-head span,.skill-version-head span,.skill-table-head span{color:#637384}.review-row-index{flex:0 0 auto;padding:5px 8px;border-radius:8px;background:#eaf0f6;color:#31475a;font-size:12px}.review-image-editor{display:grid;gap:8px;margin-bottom:12px;padding:10px;border:1px solid #e1e8ef;border-radius:8px;background:#fff}.review-image-list{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.review-image-picker{display:grid;gap:8px;padding-top:8px;border-top:1px solid #e4ebf1}.picker-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#45596b}.picker-head span{color:#637384;font-size:12px}.review-image-candidate-list{display:flex;gap:8px;max-height:150px;overflow:auto;padding-bottom:4px}.review-image-option{display:grid;gap:5px;flex:0 0 104px;padding:6px;border:1px solid #d6dee7;border-radius:8px;background:#f8fafc;color:#31475a;text-align:center}.review-image-option.active{border-color:#2f9a77;background:#ecfff7;box-shadow:inset 0 0 0 1px #2f9a77}.review-image-option img{width:100%;height:78px;object-fit:contain;border-radius:6px;background:#fff}.review-image-option span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.review-image-option.candidate{flex-basis:96px;opacity:.82}.review-edit-grid{display:grid;grid-template-columns:minmax(320px,1.25fr) minmax(240px,.85fr) minmax(260px,.85fr);gap:12px}.review-edit-grid section{min-width:0;padding:10px;border:1px solid #e1e8ef;border-radius:8px;background:#fff}.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.field-grid.compact-fields{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.field-grid label{display:grid;gap:4px;color:#45596b;font-size:12px}.field-grid input{width:100%;min-width:0}.review-edit-grid textarea{min-height:154px;margin-top:0;font-family:Consolas,SFMono-Regular,monospace;font-size:12px}.fields-layout{grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr)}.field-alias-list{display:grid;gap:10px}.field-config-scroll{max-height:70vh}.table-scroll .field-config-table{min-width:1500px}.field-config-table th:nth-child(1),.field-config-table td:nth-child(1){width:64px;min-width:64px;max-width:64px;text-align:center}.field-config-table th:nth-child(2),.field-config-table td:nth-child(2){width:72px;min-width:72px;max-width:72px;text-align:center}.field-config-table th:nth-child(9),.field-config-table td:nth-child(9){min-width:180px;max-width:240px}.field-config-table tr.dragging td{background:#e2f4ee}.field-config-table input:disabled{color:#506579;background:#eef5fa;cursor:not-allowed}.field-type-badge{display:inline-flex;align-items:center;min-height:42px;padding:0 12px;border:1px solid #bfe4da;border-radius:8px;color:#0f766e;background:#ecfdf7;font-weight:700}.master-field-badge{width:100%}.master-field-note{margin-bottom:12px}.icon-button:disabled{opacity:.45;cursor:not-allowed}.drag-cell{padding-inline:10px}.drag-handle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #cfe0ee;border-radius:8px;color:#536a7f;background:#f8fbfe;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.drag-handle:active{cursor:grabbing}.drag-handle:hover{color:#0f766e;border-color:#8fd4c5;background:#edfdfa}.field-config-table input,.field-config-table select{width:100%;min-width:0}.field-config-table .table-checkbox{width:18px;min-width:18px;min-height:18px}.row-actions{display:inline-flex;align-items:center;gap:6px}.field-config-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.field-config-form label{display:grid;gap:5px;color:#45596b;font-size:13px}.field-config-form input,.field-config-form select,.field-config-form textarea{width:100%;min-width:0}.field-config-form textarea{min-height:88px;margin-top:0}.wide-field{grid-column:span 2}.prompt-preview{max-height:280px;margin-bottom:14px;white-space:pre-wrap}.alias-card{display:grid;justify-content:stretch}.alias-card span{overflow-wrap:anywhere}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:22px;background:#0f17227a}.confirm-backdrop{z-index:90}.modal-panel{width:min(920px,100%);max-height:min(86vh,820px);overflow:auto;padding:16px;border:1px solid #d6dee7;border-radius:8px;background:#fff;box-shadow:0 18px 50px #15202b38}.app-confirm-modal{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;width:min(520px,100%);padding:20px}.confirm-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:8px;color:#1d4ed8;background:#eff6ff}.confirm-icon-danger{color:#b91c1c;background:#fef2f2}.confirm-content h2{margin:0 0 8px;font-size:18px}.confirm-content p{margin:0;color:#52677d;line-height:1.6;white-space:pre-wrap}.confirm-actions{justify-content:flex-end;margin-top:18px}.primary-button.danger{border-color:#dc2626;background:#dc2626}.primary-button.danger:hover{border-color:#b91c1c;background:#b91c1c}.archive-compare-modal{width:min(980px,100%)}.duplicate-archive-modal{width:min(1280px,100%)}.product-record-detail-modal{width:min(1080px,100%)}.record-meta-grid,.record-field-grid{display:grid;gap:10px}.record-meta-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin:14px 0}.record-meta-grid article,.record-field-grid article{display:grid;gap:4px;padding:10px;border:1px solid #dbe5ed;border-radius:8px;background:#f8fbfd}.record-meta-grid span,.record-field-grid span{color:#65798a;font-size:12px}.record-meta-grid strong,.record-field-grid strong{color:#152033;font-size:14px;overflow-wrap:anywhere}.record-detail-layout{display:grid;gap:16px}.record-field-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.record-field-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.record-image-list{display:flex;flex-wrap:wrap;gap:10px}.record-image-list img{width:112px;height:112px;border:1px solid #d7e1e8;border-radius:8px;object-fit:contain;background:#fff}.duplicate-archive-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;margin:12px 0 16px}.duplicate-archive-card{display:grid;gap:10px;padding:12px;border:1px solid #d7e3ee;border-radius:8px;background:#fff}.duplicate-current-card{border-color:#9dd7b6;background:#f4fbf7}.duplicate-pending-card{border-color:#eed08f;background:#fffaf0}.duplicate-other-card{border-color:#b9d9ff}.duplicate-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.duplicate-card-head>div{display:grid;gap:3px;min-width:0}.duplicate-card-head strong,.duplicate-card-head span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.duplicate-card-head span{color:#62768a;font-size:12px}.duplicate-card-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:220px}.duplicate-role-pill{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid #bdd7f3;border-radius:999px;background:#f4f9ff;color:#1f5f9e;font-size:12px;font-weight:700;white-space:nowrap}.duplicate-card-meta{display:flex;flex-wrap:wrap;gap:6px 12px;color:#51687c;font-size:12px}.duplicate-card-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.duplicate-card-fields article{display:grid;gap:3px;min-width:0;padding:8px;border:1px solid #e2e9ef;border-radius:8px;background:#ffffffbf}.duplicate-card-fields span{color:#698092;font-size:12px}.duplicate-card-fields strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.duplicate-card-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.version-current-text{min-height:32px;display:inline-flex;align-items:center;padding:0 10px;border-radius:999px;background:#e7f7ee;color:#0f7a4f;font-weight:700;white-space:nowrap}.duplicate-diff-list{display:grid;gap:8px;margin-top:8px}.scroll-hint{margin:8px 0 14px;color:#65798a;font-size:13px}.duplicate-diff-card{display:grid;gap:5px;padding:10px;border:1px solid #dbe5ed;border-radius:8px;background:#f8fbfd}.duplicate-diff-card span{color:#526779;overflow-wrap:anywhere}.comparison-version-head{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;margin:14px 0;padding:12px 0;border-top:1px solid #dce5ec;border-bottom:1px solid #dce5ec}.comparison-old,.comparison-new{display:grid;gap:4px}.comparison-new{text-align:right}.comparison-old span,.comparison-new span,.comparison-old small,.comparison-new small{color:#65798a;font-size:12px}.comparison-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.comparison-summary span{padding:5px 8px;border:1px solid #d7e1e8;border-radius:999px;color:#526779;font-size:12px}.comparison-summary .change-added{border-color:#9fd4b4;color:#17633a}.comparison-summary .change-removed{border-color:#e0aaaa;color:#922f2f}.comparison-summary .change-changed{border-color:#e4c77f;color:#7b5a0d}.comparison-table-scroll{max-height:48vh}.comparison-table{min-width:820px}.comparison-table th:nth-child(1),.comparison-table td:nth-child(1){width:72px;min-width:72px}.comparison-table th:nth-child(2),.comparison-table td:nth-child(2){width:112px;min-width:112px}.comparison-table th:nth-child(3),.comparison-table td:nth-child(3){width:150px;min-width:150px}.comparison-old-value,.comparison-new-value{min-width:210px;white-space:normal;overflow-wrap:anywhere}.comparison-old-value{color:#7c3c3c}.comparison-new-value{color:#17633a}.comparison-added-row td{background:#f0faf4}.comparison-removed-row td{background:#fff4f4}.comparison-changed-row td{background:#fff9ec}.field-modal textarea{min-height:120px}.modal-field-form{margin-bottom:14px}.transform-editor{display:grid;gap:12px;padding-top:12px;border-top:1px solid #e4ebf1}.transform-toolbar{display:flex;flex-wrap:wrap;gap:8px}.rule-help-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.rule-help-grid article{padding:10px;border:1px solid #e1e8ef;border-radius:8px;background:#f8fafc}.rule-help-grid strong,.rule-help-grid span{display:block}.rule-help-grid span{margin-top:4px;color:#637384;line-height:1.55}.transform-json{display:grid;gap:6px;color:#45596b;font-size:13px}.transform-json textarea{margin-top:0;font-family:Consolas,SFMono-Regular,monospace;font-size:12px}.skill-grid{grid-template-columns:1fr}.skill-package-page{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;min-width:0}.skill-package-list{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;min-width:0}.skill-package-row{display:grid;gap:10px;min-width:0;padding:14px;border:1px solid #dce5ec;border-radius:8px;background:#fff}.skill-package-head,.skill-package-actions,.skill-package-meta,.skill-metrics,.skill-history-toggle,.skill-history-row,.skill-history-main>div:first-child{display:flex;align-items:center;gap:8px}.skill-package-head{align-items:flex-start;justify-content:space-between}.skill-package-title{display:grid;gap:4px;min-width:0}.skill-package-title strong{font-size:16px;overflow-wrap:anywhere}.skill-package-title span,.skill-package-meta,.skill-history-main span,.skill-history-main small{color:#637789;font-size:12px}.skill-package-title span{overflow-wrap:anywhere}.skill-package-actions,.skill-package-meta,.skill-metrics{flex-wrap:wrap}.skill-package-meta{padding:8px 0;border-top:1px solid #edf1f4;border-bottom:1px solid #edf1f4}.skill-metrics span{min-width:110px;color:#53697b;font-size:12px}.skill-metrics strong{margin-right:3px;color:#1f4058;font-size:17px}.skill-history-toggle{width:fit-content;min-height:32px;padding:0;border:0;background:transparent;color:#245b7a;cursor:pointer}.skill-history-toggle .rotated{transform:rotate(180deg)}.skill-history{display:grid;padding-left:6px;border-left:1px solid #ccd9e3}.skill-history-row{position:relative;align-items:flex-start;padding:10px 0 10px 18px;border-bottom:1px solid #edf1f4}.skill-timeline-dot{position:absolute;top:17px;left:-5px;width:9px;height:9px;border:2px solid #ffffff;border-radius:50%;background:#4d809e;box-shadow:0 0 0 1px #4d809e}.skill-history-main{display:grid;flex:1 1 auto;gap:5px;min-width:0}.skill-history-main>div:first-child{flex-wrap:wrap}.skill-version-details summary{color:#245b7a;cursor:pointer;font-size:12px}.skill-version-table{display:grid;gap:7px;margin-top:8px;padding:8px 0;border-top:1px dashed #d7e1e8}.skill-review-card{gap:16px}.skill-version-block{padding:12px}.skill-table-block{margin-top:10px;padding:10px;background:#fff}.skill-mapping-strip{border:1px solid #e4ebf1;border-radius:8px}.form-grid,.prompt-grid,.ai-result-grid{display:grid;gap:12px}.form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:14px}.form-grid label,.prompt-grid label{display:grid;gap:6px;color:#45596b;font-size:13px}.form-grid input,.prompt-grid textarea{width:100%;min-width:0}.field-help{color:#6c8193;font-size:12px;line-height:1.4}.toggle-line{grid-template-columns:18px minmax(0,1fr);align-items:center;min-height:58px}.toggle-line input{min-width:0;min-height:0}.engine-choice-list{display:grid;gap:6px;margin:8px 0 12px}.engine-choice-list .toggle-line{min-height:30px;font-size:13px;color:#45596b}.prompt-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-bottom:14px}.prompt-grid textarea{min-height:130px;margin-top:0;font-family:Consolas,SFMono-Regular,monospace;font-size:12px}.ai-runbar{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:10px 12px;border:1px solid #d9e4ed;border-radius:8px;background:#f8fafc}.ai-result-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:12px 0}pre{max-height:200px;overflow:auto;margin:0;padding:10px;border-radius:8px;background:#101820;color:#e6edf3;font-size:12px}.image-search-panel{display:grid;gap:16px}.image-engine-panel{padding:12px;border:1px solid #d9e4ed;border-radius:8px;background:#fbfdff}.image-engine-panel summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;font-weight:700}.image-engine-panel summary small{color:#607487;font-weight:500}.engine-layout{display:grid;grid-template-columns:minmax(220px,.3fr) minmax(420px,.7fr);gap:14px;margin-top:12px}.engine-list{display:grid;align-content:start;gap:8px}.engine-form{display:grid;gap:12px}.sync-result-card{display:grid;gap:6px;padding:10px 12px;border:1px solid #bde5d8;border-radius:8px;background:#effaf6;color:#124734}.sync-result-card.failed{border-color:#f0c5c5;background:#fff2f2;color:#7c2d2d}.sync-result-card p{margin:0;overflow-wrap:anywhere}.image-sync-ledger{display:grid;gap:10px}.sync-metrics{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:8px}.sync-metrics div{display:grid;gap:2px;padding:10px 12px;border:1px solid #d9e4ed;border-radius:8px;background:#fff}.sync-metrics strong{color:#183047;font-size:18px}.sync-metrics span{color:#607487;font-size:12px}.table-scroll.image-sync-scroll{max-height:360px}.table-scroll .image-sync-table{min-width:980px}.sync-thumb{width:72px;height:72px;border:1px solid #d9e4ed;border-radius:8px;background:#fff;object-fit:contain}.sync-status-pill{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;background:#eef4f8;color:#496579;font-size:12px;font-weight:700}.sync-status-pill.succeeded{background:#e7f7ef;color:#11633f}.sync-status-pill.failed{background:#fff0f0;color:#a13030}.sync-status-pill.pending{background:#f4f6f8;color:#607487}.image-search-top{display:grid;grid-template-columns:minmax(280px,.45fr) minmax(360px,.55fr);gap:16px;align-items:start}.image-crop-stage{position:relative;display:grid;place-items:center;min-height:280px;margin-top:12px;overflow:hidden;border:1px solid #cfe0ee;border-radius:8px;background:#f8fbfe;cursor:crosshair;-webkit-user-select:none;user-select:none}.image-crop-frame{position:relative;display:inline-flex;max-width:100%;max-height:420px}.image-crop-frame img{display:block;max-width:100%;max-height:420px;pointer-events:none}.crop-box{position:absolute;border:2px solid #0f8a7b;background:#0f8a7b24;box-shadow:0 0 0 999px #0c1c2a1f;pointer-events:none}.crop-box.draft{border-style:dashed}.image-filter-panel{min-width:0;overflow:hidden;padding:12px;border:1px solid #d9e4ed;border-radius:8px;background:#fbfdff}.image-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;min-width:0}.compact-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.image-filter-grid label{display:grid;gap:5px;color:#45596b;font-size:13px}.range-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-width:0}.advanced-filter-details{margin-top:10px}.advanced-filter-details summary,.row-detail-menu summary{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border:1px solid #cfe0ee;border-radius:8px;color:#23465c;background:#f8fbfe;cursor:pointer;list-style:none}.advanced-filter-details summary::-webkit-details-marker,.row-detail-menu summary::-webkit-details-marker{display:none}.advanced-filter-details[open] summary,.row-detail-menu[open] summary{color:#0f766e;border-color:#9bd9cc;background:#ecfdf7}.advanced-filter-list{display:grid;gap:8px;max-height:320px;margin-top:10px;padding:10px;overflow:auto;border:1px solid #d9e4ed;border-radius:8px;background:#fff}.advanced-filter-row{display:grid;grid-template-columns:minmax(88px,128px) minmax(0,1fr);align-items:center;gap:10px;min-width:0}.advanced-filter-row .filter-label{overflow:hidden;color:#496579;font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.advanced-filter-row input,.image-filter-grid input{min-width:0;width:100%}.advanced-filter-details .image-filter-grid{margin-top:10px}.image-result-scroll{max-height:62vh}.table-scroll .image-result-table{min-width:1420px}.row-detail-menu{position:relative}.row-detail-popover{position:absolute;z-index:8;display:grid;gap:6px;width:300px;max-height:320px;overflow:auto;margin-top:6px;padding:10px;border:1px solid #d9e4ed;border-radius:8px;background:#fff;box-shadow:0 12px 30px #15202b29}.row-detail-popover p{display:grid;grid-template-columns:92px 1fr;gap:8px;margin:0;color:#32495d}.row-detail-popover strong{color:#607487}.image-edit-modal{width:min(1120px,100%)}.image-edit-layout{display:grid;grid-template-columns:minmax(220px,.32fr) minmax(420px,.68fr);gap:16px}.image-edit-preview{display:grid;place-items:start center;padding:12px;border:1px solid #d9e4ed;border-radius:8px;background:#f8fbfe}.image-edit-preview img{max-width:100%;max-height:360px;border-radius:6px;object-fit:contain}.image-edit-preview .empty-text{width:100%;padding:18px 10px;border:1px dashed #cad8e5;border-radius:8px;text-align:center}@media (max-width: 900px){.app-shell{grid-template-columns:72px minmax(0,1fr)}.sidebar{position:sticky;top:0;z-index:10;flex-direction:column;align-items:stretch;gap:14px;height:100vh;min-height:100vh;padding:16px 8px;overflow-x:hidden;overflow-y:auto}.brand{justify-content:center;flex:0 0 auto}.brand strong{display:none}.brand-mark{width:38px;height:38px}.vben-menu.ant-menu-inline{width:100%}.vben-menu.ant-menu-inline-collapsed{width:56px}.vben-menu.ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title,.vben-menu.ant-menu-inline-collapsed>.ant-menu-item{inset-inline-start:0;width:56px;padding-inline:0;justify-content:center}.workspace{padding:14px}.sidebar-metrics{display:none}.panel-grid.two,.panel-grid.split,.fields-layout,.columns,.engine-layout,.dashboard-grid,.data-query-panel,.image-search-top,.image-edit-layout,.operations-toolbar,.data-toolbar{grid-template-columns:1fr}.document-page>.panel:first-child,.review-page>.panel:first-child{max-height:520px}.dashboard-trend{grid-template-columns:repeat(5,minmax(0,1fr))}.export-summary{grid-template-columns:1fr}.data-page-panel{height:auto;min-height:0;overflow:visible}.table-scroll.standalone.product-scroll{max-height:min(62vh,520px)}.data-query-panel.has-preview{grid-template-columns:1fr}.data-advanced-grid{grid-template-columns:repeat(2,minmax(130px,1fr))}.compact-filter-grid{grid-template-columns:1fr}.archive-col{width:64px;min-width:64px;max-width:64px}.image-col{left:64px;width:72px;min-width:72px;max-width:72px}.sku-col{left:136px;width:88px;min-width:88px;max-width:88px}.name-col{left:224px;width:128px;min-width:128px;max-width:128px}.document-supplier-head,.skill-package-head,.decision-panel-head,.decision-candidate-row{flex-direction:column}.skill-package-actions,.decision-candidate-row .button-row{width:100%}.comparison-version-head{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.review-edit-grid{grid-template-columns:1fr}.mapping-control{width:auto}.mapping-control[open]{width:100%}.mapping-editor-row{grid-template-columns:1fr}.wide-field,.users-layout .backup-panel{grid-column:span 1}}@media (max-width: 640px){.app-shell{grid-template-columns:64px minmax(0,1fr)}.sidebar{padding:12px 4px}.workspace{padding:8px}.panel,.work-item{padding:10px}.dashboard-page>.detail-header{align-items:stretch;flex-direction:column}.dashboard-page>.detail-header h2{margin:0}.dashboard-filter-bar{width:100%}.skill-history-row{display:grid;grid-template-columns:minmax(0,1fr)}.skill-history-row>button{justify-self:start}.archive-col{width:148px;min-width:148px;max-width:148px}.archive-status-col{left:0;width:0;min-width:0;max-width:0}.archive-version-col{left:148px;width:92px;min-width:92px;max-width:92px}.archive-relation-col{left:240px;width:108px;min-width:108px;max-width:108px}.image-col{left:348px;width:76px;min-width:76px;max-width:76px}.sku-col{left:424px;width:86px;min-width:86px;max-width:86px}.name-col{left:510px;width:128px;min-width:128px;max-width:128px}.product-table .sticky-col{padding-right:4px;padding-left:4px}.product-table .version-state-pill{min-height:18px;padding:0 5px;font-size:10px}.product-table .archive-summary-button,.product-table .duplicate-archive-pill{min-height:24px;padding:0 8px;font-size:11px}.product-table .archive-summary-button{padding:4px 6px}.product-table .image-cell{justify-content:center;min-width:0;gap:0}.product-table .image-cell img{width:26px;height:26px}.data-advanced-grid{grid-template-columns:1fr}.dashboard-filter-bar{justify-content:stretch}.dashboard-filter-bar>*{flex:1 1 120px}.workspace-toolbar{align-items:flex-end;flex-wrap:wrap}.workspace-user{flex:1 1 100%}.dashboard-trend{grid-template-columns:repeat(3,minmax(0,1fr))}.record-meta-grid,.record-field-grid,.record-field-grid.compact{grid-template-columns:1fr}}.quality-review-strip{display:grid;grid-template-columns:minmax(92px,auto) minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0}.quality-score-summary{display:flex;flex-direction:column;gap:2px}.quality-score-summary span,.sync-progress-label{color:#64748b;font-size:12px}.quality-score-summary strong{color:#0f172a;font-size:24px}.quality-reason-list{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.quality-reason-button{border:1px solid #f0c36a;border-radius:6px;background:#fff9e8;color:#7a4b00;padding:5px 8px;cursor:pointer}.quality-reason-button:focus-visible{outline:2px solid #1677ff;outline-offset:2px}.ai-guidance-modal{width:min(680px,calc(100vw - 32px))}.ai-guidance-field{display:grid;gap:8px}.ai-guidance-field textarea{min-height:180px;resize:vertical}.modal-actions{justify-content:flex-end;margin-top:16px}@media (max-width: 720px){.quality-review-strip{grid-template-columns:1fr;align-items:start}.sync-progress-label{overflow-wrap:anywhere}}@media (max-width: 520px){.auth-screen{align-items:stretch;padding:12px}.auth-panel{align-self:center;width:100%;padding:22px}.app-shell{grid-template-columns:56px minmax(0,1fr)}.sidebar{gap:10px;padding:10px 3px}.brand-mark{width:34px;height:34px;font-size:14px}.vben-menu.ant-menu-inline-collapsed{width:50px}.vben-menu.ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title,.vben-menu.ant-menu-inline-collapsed>.ant-menu-item{width:50px}.workspace{padding:6px}.workspace-toolbar{position:sticky;top:0;z-index:8;padding:8px}.workspace-actions{width:100%;justify-content:flex-end}.button-row,.detail-actions,.workspace-actions,.modal-actions{flex-wrap:wrap}.button-row>button,.detail-actions>button,.modal-actions>button{min-height:40px}.org-grid,.roles-grid{grid-template-columns:1fr}.department-column,.member-column,.role-list{max-height:none}.member-meta-grid,.permission-group-list{grid-template-columns:1fr}.modal-panel{width:calc(100vw - 12px);max-height:calc(100vh - 18px);padding:14px}.duplicate-archive-cards{grid-template-columns:1fr}.duplicate-archive-card{min-width:0}}
