/* YFTX shell stylesheet bundle. Generated from production source order; do not hand-edit. */
/* build=20260928-000520010 (由发布脚本统一改写) */
/* ===== css/critical-hide.css ===== */
.hidden{display:none!important}
body.app-booting #loginView,body.app-booting #appView{display:none!important}

/* ===== css/shell-runtime-v174.css ===== */
*{box-sizing:border-box}html,body{height:100%}body{overflow:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background:radial-gradient(circle at 50% -20%,rgba(255,255,255,.78),transparent 45%),var(--bg)}button,input,textarea{font:inherit}button{cursor:pointer}.hidden{display:none}body.app-booting{overflow:hidden}body.app-booting>section,body.app-booting>.modal-backdrop,body.app-booting>.erp-toast,body.app-booting>.erp-image-hover-preview{display:none}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(95,113,100,.22);outline-offset:2px}#loginView{min-height:100%;display:grid;place-items:center;padding:20px}.login-card{width:min(390px,100%);min-height:420px;display:flex;flex-direction:column;justify-content:center;padding:36px 38px 30px;text-align:center;border:1px solid var(--line);border-radius:var(--radius-frame);background:#f8f6f2f5;box-shadow:var(--shadow-sidebar)}.login-logo-frame{display:grid;place-items:center;margin:0 0 24px}.login-logo{width:202px;max-width:80%;height:auto;display:block;filter:drop-shadow(0 9px 14px rgba(91,66,39,.09))}.login-card form{width:100%}.login-card input{width:100%;height:var(--height-primary);padding:0 18px;border:1px solid var(--line);border-radius:var(--radius-control);outline:0;text-align:center;color:var(--text);background:var(--surface-strong);transition:border-color .18s,box-shadow .18s}.login-card input::placeholder{color:#8b847d}.login-card input:focus{border-color:#5f716473;box-shadow:0 0 0 4px #5f71641a}.password-control{position:relative;width:100%}.login-card #password{margin-top:10px}.password-control input{padding-right:58px}.login-card #loginSubmitBtn{width:100%;height:var(--height-primary);margin-top:12px;border:0;border-radius:var(--radius-control);color:#fff;font-weight:600;letter-spacing:.16em;text-indent:.16em;background:var(--accent);box-shadow:none;transition:background .18s}.login-card #loginSubmitBtn:hover{background:var(--accent-hover)}.login-card #loginSubmitBtn:disabled{cursor:not-allowed;opacity:.62}.login-error{min-height:18px;margin-top:10px;color:var(--danger);font-size:12px;line-height:18px}#appView{height:100%;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);gap:12px;padding:12px}.sidebar,.workspace{background:#f8f6f2f5}.sidebar{border:1px solid var(--line);box-shadow:var(--shadow-sidebar)}.workspace{border:0;box-shadow:none}.sidebar{min-height:0;display:flex;flex-direction:column;align-items:center;padding:16px 10px 12px;border-radius:var(--radius-frame);overflow:hidden}.brand{width:100%;height:82px;flex:0 0 82px;display:grid;place-items:center;margin-bottom:6px}.brand img{width:90px;height:auto;filter:drop-shadow(0 8px 12px rgba(91,66,39,.08))}.nav{width:100%;min-height:0;flex:1 1 auto;display:flex;flex-direction:column;justify-content:center;gap:7px;padding:6px 0;overflow-y:auto;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav button{width:100%;flex:0 0 var(--height-primary);display:flex;align-items:center;justify-content:center;padding:0 10px;border:1px solid transparent;font-size:13px;font-weight:600;letter-spacing:.02em;transition:color .16s,background .16s,border-color .16s,box-shadow .16s}.nav button span{display:block;white-space:nowrap}.nav button:hover{color:#48433f;background:#eef2ee8f}.nav button.active{font-weight:600;box-shadow:none}.sidebar-user{width:100%;flex:0 0 auto;padding-top:11px;border-top:1px solid var(--line)}.user-menu{position:relative;width:100%}.user-name{width:100%;height:var(--height-control);padding:0 9px;border:1px solid var(--line);border-radius:var(--radius-control);color:#5d5751;background:var(--surface-strong);font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu:hover .user-name,.user-menu.open .user-name{color:#383430;background:#fff;border-color:#5f716440}.user-account-name{overflow:hidden;text-overflow:ellipsis}.user-popover{position:absolute;right:0;bottom:calc(100% - 1px);z-index:60;width:100%;padding:6px;border:1px solid var(--line);border-radius:var(--radius-card);background:#fffdfa;box-shadow:0 14px 34px #302d2a21;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(5px);transition:opacity .16s ease,transform .16s ease,visibility 0s linear .16s}.user-menu:hover .user-popover,.user-menu.open .user-popover,.user-menu:focus-within .user-popover{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition-delay:0s}.user-menu-action{width:100%;border:0;background:transparent;font-size:12px;text-align:center}.user-menu-action:hover,.user-menu-action:focus-visible{background:var(--accent-soft);color:#313631;outline:none}.logout-action{margin-top:4px;color:#974545;border-top:1px solid var(--line);border-radius:0 0 var(--radius-small) var(--radius-small)}.logout-action:hover{background:#f5e7e7;color:#823838}.workspace{position:relative;min-width:0;min-height:0;overflow:hidden;border-radius:var(--radius-frame);background:#f8f6f2c7}.content{height:100%;min-height:100%;overflow:hidden}.view{display:none;width:100%;height:100%;min-height:100%}.view.active{display:block;animation:viewIn .2s ease}.view-copywriting,.view-infringement,.view-api,.view-templates{overflow:hidden} .copywriting-frame,.infringement-frame,.api-frame,.templates-frame{width:100%;height:100%;display:block;border:0;background:transparent}         @keyframes viewIn{0%{opacity:0}to{opacity:1}}.view-removal{overflow:hidden;padding:8px}.modal-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:#302d2a3d;animation:modalFade .16s ease both}.system-modal,.account-modal{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-card);background:#fffdfa;box-shadow:var(--shadow-modal);animation:modalIn .18s ease both}.system-modal{width:min(360px,100%)}.system-modal-copy{padding:25px 25px 21px;text-align:center}.system-modal-copy h2{margin:0 0 8px;font-size:18px}.system-modal-copy p{margin:0;color:var(--muted);font-size:13px;line-height:1.65;white-space:pre-line}.system-modal-actions{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.modal-btn{border:0;font-size:13px}.modal-btn+.modal-btn{border-left:1px solid var(--line)}.modal-btn:hover{background:var(--accent-soft);color:#2f362f}.modal-btn.confirm{font-weight:600}.modal-btn.confirm.danger{color:var(--danger)}.account-form-feedback{min-height:20px;color:var(--muted);font-size:12px;line-height:1.55}.account-form-feedback.error{color:var(--danger)}.account-form-feedback.success{color:var(--success)}body.modal-open{overflow:hidden}@keyframes modalFade{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto;animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms}}.removal-cell-clamp{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;line-height:18px;word-break:break-word;text-overflow:ellipsis}.removal-col-sku .removal-cell-clamp{-webkit-line-clamp:2;line-clamp:2;word-break:break-all}.removal-empty-cell{height:300px;width:100%;padding:20px;color:var(--muted);text-align:center;border:0;font-size:13px}.view-removal,.view-image-optimization{overflow:hidden;padding:8px}.removal-select-cell{width:42px;min-width:42px;max-width:42px;padding-left:4px;padding-right:4px;text-align:center}.removal-select-cell input{width:16px;height:16px;accent-color:var(--accent)}.removal-cell-clamp{max-height:42px;-webkit-line-clamp:3;line-clamp:3;line-height:14px}.removal-col-sku .removal-cell-clamp{max-height:28px;line-height:14px}.image-opt-table-wrap{min-height:0;scrollbar-color:#c7c1ba transparent}.image-opt-table-wrap table{table-layout:auto;border-collapse:separate;border-spacing:0;color:var(--text);font-size:13px}.image-opt-table-wrap col.image-col-sku{width:118px}.image-opt-table-wrap col.image-col-asin{width:110px}.image-opt-table-wrap col.image-col-status{width:92px}.image-opt-table-wrap th,.image-opt-table-wrap td{border-right:1px solid rgba(48,45,42,.07);border-bottom:1px solid rgba(48,45,42,.07);text-align:center;vertical-align:middle}.image-opt-table-wrap th{position:sticky;top:0;z-index:2;height:36px;padding:5px 8px;color:#5a544e;background:#f1eee9;font-size:12px;font-weight:700;white-space:nowrap}.image-opt-table-wrap td{padding:5px 8px;overflow:hidden}.image-opt-table-wrap th:last-child,.image-opt-table-wrap td:last-child{border-right:0}.image-opt-table-wrap tbody tr:last-child td{border-bottom:0}.image-opt-table-wrap tbody tr:hover td{background:#faf8f4}.image-opt-table-wrap tbody tr.selected td{background:#eef2ed}.image-select-cell{width:42px;min-width:42px;max-width:42px;padding-left:4px;padding-right:4px}.image-select-cell input{width:16px;height:16px;accent-color:var(--accent)}.image-opt-thumbnail{display:block;width:52px;height:52px;margin:auto;object-fit:contain;border:1px solid rgba(48,45,42,.08);border-radius:8px;background:#fff}.image-opt-placeholder{display:inline-grid;place-items:center;width:52px;height:52px;border:1px dashed var(--line);border-radius:8px;color:var(--muted);font-size:12px}.image-cell-clamp{display:-webkit-box;max-height:42px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;line-height:14px;word-break:break-word;text-overflow:ellipsis}.image-col-sku .image-cell-clamp,.image-col-asin .image-cell-clamp{-webkit-line-clamp:2;line-clamp:2;max-height:28px;word-break:break-all}.image-status-badge{display:inline-flex;align-items:center;justify-content:center;padding:5px 8px;border:1px solid rgba(95,113,100,.2);border-radius:999px;color:#526557;background:#e9efe8;font-size:12px;font-weight:600}.image-empty-cell{height:300px;padding:20px;color:var(--muted);text-align:center;border:0;font-size:13px}.erp-toast{position:fixed;left:50%;bottom:22px;z-index:300;max-width:min(520px,calc(100vw - 44px));padding:10px 14px;border:1px solid rgba(255,255,255,.68);border-radius:10px;color:#fff;background:#526d58;box-shadow:0 12px 30px #302d2a2b;font-size:12px;line-height:1.5;text-align:center;opacity:0;visibility:hidden;transform:translate(-50%,12px);transition:opacity .18s,transform .18s,visibility .18s;pointer-events:none}.erp-toast.show{opacity:1;visibility:visible;transform:translate(-50%)}.erp-toast.compact{max-width:min(300px,calc(100vw - 44px));padding:7px 12px;border-radius:9px;font-size:12px;line-height:1.4}.erp-toast.warning{background:#806a46}.erp-toast.error{background:#934646}#systemModal.single-action #modalCancelBtn{display:none}.single-action .system-modal-actions{justify-content:flex-end}.image-opt-table-wrap table{table-layout:fixed}#systemModal.single-action .system-modal-actions{grid-template-columns:1fr}#systemModal.single-action #modalConfirmBtn{width:100%;border-left:0}.image-opt-table-wrap th,.image-opt-table-wrap td{min-width:110px}.image-opt-table-wrap th.image-col-image,.image-opt-table-wrap td.image-col-image{min-width:104px}.image-opt-table-wrap th.image-col-name,.image-opt-table-wrap td.image-col-name{min-width:270px}.image-opt-table-wrap th.image-col-short,.image-opt-table-wrap td.image-col-short{min-width:222px}.image-opt-table-wrap th.image-col-long,.image-opt-table-wrap td.image-col-long{min-width:282px}.image-thumb-wrap{display:grid;align-items:center;justify-items:center;gap:2px;min-height:74px}.image-original-link{color:#6b746b;font-size:12px;text-decoration:none}.image-original-link:hover{text-decoration:underline}.image-load-failed .image-opt-thumbnail{display:none}.image-load-failed:before{content:"\52a0\8f7d\5931\8d25";display:grid;place-items:center;width:52px;height:52px;border:1px dashed var(--line);border-radius:8px;color:var(--danger);font-size:12px}.image-opt-table-wrap th.image-col-default,.image-opt-table-wrap td.image-col-default{max-width:132px}.image-opt-table-wrap th.image-col-url,.image-opt-table-wrap td.image-col-url,.image-opt-table-wrap th.image-col-time,.image-opt-table-wrap td.image-col-time{max-width:150px}.image-opt-table-wrap th.image-col-image,.image-opt-table-wrap td.image-col-image{max-width:104px}.image-opt-table-wrap th.image-col-sku,.image-opt-table-wrap td.image-col-sku{max-width:118px}.image-opt-table-wrap th.image-col-asin,.image-opt-table-wrap td.image-col-asin{max-width:110px}.image-opt-table-wrap th.image-col-brand,.image-opt-table-wrap td.image-col-brand{max-width:130px}.image-opt-table-wrap th.image-col-name,.image-opt-table-wrap td.image-col-name{max-width:270px}.image-opt-table-wrap th.image-col-short,.image-opt-table-wrap td.image-col-short{max-width:222px}.image-opt-table-wrap th.image-col-long,.image-opt-table-wrap td.image-col-long{max-width:282px}.removal-table-wrap th.removal-select-cell,.removal-table-wrap td.removal-select-cell,.image-opt-table-wrap th.image-select-cell,.image-opt-table-wrap td.image-select-cell{position:sticky;left:0;max-width:42px;background:#fffdfa;box-shadow:1px 0 #302d2a1f;z-index:7}.removal-table-wrap th.removal-select-cell,.image-opt-table-wrap th.image-select-cell{top:0;z-index:12;background:#ece8e2}.removal-table-wrap tbody tr:hover td.removal-select-cell,.image-opt-table-wrap tbody tr:hover td.image-select-cell{background:#faf8f4}.removal-table-wrap tbody tr.selected td.removal-select-cell,.image-opt-table-wrap tbody tr.selected td.image-select-cell{background:#e6eee5}.erp-copyable-cell{position:relative;width:100%;max-width:100%;grid-template-columns:22px minmax(0,1fr) 22px;align-items:center;justify-items:center;gap:3px}.erp-copyable-cell:before{content:"";display:block;width:22px;height:22px;grid-column:1}.erp-copyable-cell>.removal-cell-clamp,.erp-copyable-cell>.image-cell-clamp,.erp-copyable-cell>a{grid-column:2;max-width:100%;min-width:0;justify-self:center}.erp-link-cell>a{display:inline-flex;align-items:center;justify-content:center;padding:5px 8px;border:1px solid rgba(95,113,100,.18);border-radius:8px;color:#536457;background:#edf2ec;text-decoration:none;font-size:12px;white-space:nowrap}.erp-link-cell>a:hover{border-color:#5f71645c;background:#e8eee9}.erp-cell-copy-button{grid-column:3;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:6px;background:transparent;color:#77716b;transition:opacity .14s ease,background .14s ease,color .14s ease,transform .14s ease}.erp-cell-copy-button svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round}.removal-table-wrap td:hover .erp-cell-copy-button,.image-opt-table-wrap td:hover .erp-cell-copy-button,.image-thumb-wrap:hover .erp-cell-copy-button{opacity:1;transform:scale(1)}.erp-cell-copy-button:hover{background:#7676801a;color:var(--text)}.image-thumb-wrap{grid-template-rows:54px 20px;cursor:zoom-in}.image-thumb-actions{display:flex;align-items:center;justify-content:center;gap:2px;min-height:20px}.image-thumb-actions .erp-cell-copy-button{grid-column:auto}.image-original-link{padding:2px 4px;border-radius:5px}.image-original-link:hover{background:var(--accent-soft);text-decoration:none}.erp-image-hover-preview{position:fixed;z-index:950;padding:10px;border:1px solid rgba(48,45,42,.14);border-radius:14px;background:#fffdfafa;box-shadow:0 20px 54px #302d2a3d;pointer-events:none}.erp-image-hover-preview img{display:block;width:100%;height:100%;object-fit:contain;border-radius:9px;background:#fff}.removal-table-wrap td,.image-opt-table-wrap td{max-height:82px}.removal-table-wrap tbody tr,.image-opt-table-wrap tbody tr{height:82px}.removal-table-wrap col.removal-col-country,.image-opt-table-wrap col.image-col-country{width:68px}.removal-table-wrap col.removal-col-postal,.image-opt-table-wrap col.image-col-postal,.removal-table-wrap col.removal-col-money,.image-opt-table-wrap col.image-col-money{width:82px}.removal-table-wrap col.removal-col-currency,.image-opt-table-wrap col.image-col-currency{width:72px}.removal-table-wrap col.removal-col-sku,.image-opt-table-wrap col.image-col-sku{width:154px}.removal-table-wrap col.removal-col-asin,.image-opt-table-wrap col.image-col-asin{width:142px}.removal-table-wrap th.removal-col-country,.removal-table-wrap td.removal-col-country,.image-opt-table-wrap th.image-col-country,.image-opt-table-wrap td.image-col-country{width:68px;min-width:68px;max-width:68px;padding-left:4px;padding-right:4px}.removal-table-wrap th.removal-col-postal,.removal-table-wrap td.removal-col-postal,.image-opt-table-wrap th.image-col-postal,.image-opt-table-wrap td.image-col-postal,.removal-table-wrap th.removal-col-money,.removal-table-wrap td.removal-col-money,.image-opt-table-wrap th.image-col-money,.image-opt-table-wrap td.image-col-money{width:82px;min-width:82px;max-width:82px;padding-left:4px;padding-right:4px}.removal-table-wrap th.removal-col-currency,.removal-table-wrap td.removal-col-currency,.image-opt-table-wrap th.image-col-currency,.image-opt-table-wrap td.image-col-currency{width:72px;min-width:72px;max-width:72px;padding-left:4px;padding-right:4px}.removal-table-wrap th.removal-col-sku,.removal-table-wrap td.removal-col-sku,.image-opt-table-wrap th.image-col-sku,.image-opt-table-wrap td.image-col-sku{width:154px;min-width:154px;max-width:154px}.removal-table-wrap th.removal-col-asin,.removal-table-wrap td.removal-col-asin,.image-opt-table-wrap th.image-col-asin,.image-opt-table-wrap td.image-col-asin{width:142px;min-width:142px;max-width:142px}.removal-col-sku .removal-cell-clamp,.removal-col-asin .removal-cell-clamp,.image-col-sku .image-cell-clamp,.image-col-asin .image-cell-clamp{display:block;max-height:18px;white-space:nowrap;word-break:normal;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:unset;line-clamp:unset;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px}.optimized-placeholder{color:#7c746d;background:#faf8f4}.optimized-loading{font-size:12px}.optimized-upload-row{display:grid;align-items:center;gap:14px;padding:8px;border-bottom:1px solid rgba(48,45,42,.08)}.optimized-upload-row:last-child{border-bottom:0}.optimized-upload-row>img{width:66px;height:66px;object-fit:contain;border:1px solid var(--line);border-radius:9px;background:#fff}.optimized-upload-file{min-width:0;display:flex;flex-direction:column;gap:5px}.optimized-upload-file strong{overflow:hidden;font-size:12px;white-space:nowrap;text-overflow:ellipsis}.optimized-upload-file span{color:var(--muted);font-size:12px}.optimized-upload-empty{min-height:240px;display:grid;place-items:center;color:var(--muted);font-size:13px}.optimized-upload-target{min-width:0;display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:10px}.optimized-upload-original{min-height:72px;display:grid;grid-template-rows:52px 16px;align-items:center;justify-items:center;gap:1px;cursor:zoom-in}.optimized-upload-original>span{color:var(--muted);font-size:12px}.optimized-upload-original.empty{border:1px dashed var(--line);border-radius:8px;cursor:default}.optimized-upload-original.empty>span{grid-row:1/-1;align-self:center;text-align:center;line-height:1.4}.view-export-listing{overflow:hidden;padding:8px}.export-listing-header{align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line)}.export-listing-header h2{margin:0 0 4px;font-size:15px}.export-listing-header p{margin:0;color:var(--muted);font-size:12px}.export-listing-header>div:last-child{color:var(--muted);font-size:12px;white-space:nowrap}.export-listing-header strong{color:var(--text);font-size:15px}.export-listing-table-wrap{min-height:0;overflow:auto}.export-listing-table-wrap table{width:max-content;min-width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0}.export-listing-table-wrap th,.export-listing-table-wrap td{border-right:1px solid rgba(48,45,42,.07);border-bottom:1px solid rgba(48,45,42,.07);text-align:center;vertical-align:middle}.export-listing-table-wrap th{position:sticky;top:0;z-index:3;padding:5px 8px;color:#5a544e;background:#f1eee9;font-size:12px;white-space:nowrap}.export-listing-table-wrap td{height:82px;max-height:82px;padding:5px 8px;overflow:hidden;font-size:12px}.export-listing-empty{height:320px;color:var(--muted);border:0}.export-listing-table-wrap td:hover .erp-cell-copy-button{opacity:1;transform:scale(1)}.optimized-upload-empty>div{display:flex;flex-direction:column;align-items:center;gap:8px}.optimized-upload-empty strong{font-size:15px}.optimized-upload-empty span{color:var(--muted);font-size:12px}.optimized-upload-row{grid-template-columns:78px minmax(170px,240px) minmax(420px,1fr);min-height:106px;gap:12px}.optimized-upload-file-preview{display:grid;place-items:center;cursor:zoom-in}.optimized-upload-file-preview>img{width:72px;height:72px;object-fit:contain;border:1px solid var(--line);border-radius:9px;background:#fff}.optimized-upload-file code{max-width:100%;overflow:hidden;padding:4px 6px;border-radius:6px;background:#f3f0eb;color:#625c56;font-size:12px;white-space:nowrap;text-overflow:ellipsis}.optimized-upload-target{grid-template-columns:78px minmax(0,1fr)}.optimized-upload-target-copy{min-width:0;display:flex;flex-direction:column;gap:7px}.optimized-match-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:26px}.optimized-confidence{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.optimized-review-check{display:inline-flex;align-items:center;gap:6px;color:#635c56;font-size:12px;white-space:nowrap}.optimized-review-check input{width:15px;height:15px;accent-color:var(--accent)}.optimized-duplicate-warning{color:#a34338;font-size:12px;font-weight:700}*,html,body,button,input,textarea,select,option,table,th,td{font-family:PingFang SC,PingFang TC,PingFang HK,\82f9\65b9-\7b80,\82f9\65b9,sans-serif}.removal-secondary-button[hidden],.image-inline-delete[hidden],.export-quiet-delete[hidden]{display:none}.image-inline-delete,.export-quiet-delete{height:28px;padding:0 9px;border:0;border-radius:9px;color:#9b4747;background:#a844440e;font-size:12px;font-weight:600;white-space:nowrap;animation:softActionIn .16s ease-out}.image-inline-delete:hover,.export-quiet-delete:hover{background:#a844441a;color:#873a3a}@keyframes softActionIn{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:none}}.image-opt-table-wrap th.image-col-country,.image-opt-table-wrap td.image-col-country{width:92px;min-width:92px;max-width:92px}.image-opt-table-wrap th.image-col-postal,.image-opt-table-wrap td.image-col-postal{width:112px;min-width:112px;max-width:112px}.image-opt-table-wrap th.image-col-currency,.image-opt-table-wrap td.image-col-currency{width:92px;min-width:92px;max-width:92px}.image-opt-table-wrap th.image-col-seller-id,.image-opt-table-wrap td.image-col-seller-id{width:176px;min-width:176px;max-width:176px}.image-opt-table-wrap th.image-col-variant-count,.image-opt-table-wrap td.image-col-variant-count{width:82px;min-width:82px;max-width:82px}.image-opt-table-wrap th.image-col-review-count,.image-opt-table-wrap td.image-col-review-count{width:84px;min-width:84px;max-width:84px}.image-opt-table-wrap th.image-col-rating,.image-opt-table-wrap td.image-col-rating{width:72px;min-width:72px;max-width:72px}.image-opt-table-wrap th.image-col-fulfillment,.image-opt-table-wrap td.image-col-fulfillment,.image-opt-table-wrap th.image-col-seller-country,.image-opt-table-wrap td.image-col-seller-country{width:92px;min-width:92px;max-width:92px}.image-opt-table-wrap th.image-col-seller-province,.image-opt-table-wrap td.image-col-seller-province{width:96px;min-width:96px;max-width:96px}.image-opt-table-wrap th.image-col-seller-count,.image-opt-table-wrap td.image-col-seller-count{width:84px;min-width:84px;max-width:84px}.image-opt-table-wrap th.image-col-delivery,.image-opt-table-wrap td.image-col-delivery{width:106px;min-width:106px;max-width:106px}.image-opt-table-wrap .image-col-country .image-cell-clamp,.image-opt-table-wrap .image-col-postal .image-cell-clamp,.image-opt-table-wrap .image-col-currency .image-cell-clamp,.image-opt-table-wrap .image-col-seller-id .image-cell-clamp,.image-opt-table-wrap .image-col-variant-count .image-cell-clamp,.image-opt-table-wrap .image-col-review-count .image-cell-clamp,.image-opt-table-wrap .image-col-rating .image-cell-clamp,.image-opt-table-wrap .image-col-fulfillment .image-cell-clamp,.image-opt-table-wrap .image-col-seller-country .image-cell-clamp,.image-opt-table-wrap .image-col-seller-province .image-cell-clamp,.image-opt-table-wrap .image-col-seller-count .image-cell-clamp,.image-opt-table-wrap .image-col-delivery .image-cell-clamp{display:block;max-height:18px;white-space:nowrap;word-break:normal;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:unset;line-clamp:unset}.export-listing-header{padding:10px 14px}.export-listing-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;color:inherit;font-size:inherit}.export-selection-meta{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;white-space:nowrap}.export-selection-meta strong{color:var(--text);font-size:15px}.export-complete-button{height:38px;padding:0 14px;border:1px solid rgba(95,113,100,.22);border-radius:11px;color:#fff;background:var(--accent);font-size:13px;font-weight:650;white-space:nowrap;transition:.16s}.export-complete-button:hover:not(:disabled){background:var(--accent-hover)}.export-complete-button:disabled{cursor:not-allowed;color:#9a958f;border-color:#302d2a14;background:#76768014;opacity:1}.export-listing-table-wrap col.export-col-select{width:42px}.export-listing-table-wrap th.export-select-cell,.export-listing-table-wrap td.export-select-cell{position:sticky;left:0;z-index:8;width:42px;min-width:42px;max-width:42px;padding:4px;background:#fffdfa;box-shadow:1px 0 #302d2a1f;text-align:center}.export-listing-table-wrap th.export-select-cell{top:0;z-index:14;background:#ece8e2}.export-listing-table-wrap .export-select-cell input{width:16px;height:16px;accent-color:var(--accent)}.export-listing-table-wrap tbody tr.selected td{background:#eef2ed}.export-listing-table-wrap tbody tr.selected td.export-select-cell{background:#e6eee5}.export-listing-table-wrap tbody tr:hover td.export-select-cell{background:#faf8f4}.export-file-modal{width:min(500px,100%);overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fffdfa;box-shadow:var(--shadow-modal);animation:modalIn .18s ease both}.export-file-modal-copy{padding:24px 24px 20px}.export-file-modal-copy h2{margin:0 0 8px;font-size:18px}.export-file-modal-copy p{margin:0 0 18px;color:var(--muted);font-size:13px;line-height:1.7}.export-file-message{margin:0 0 14px!important;color:#7e5d48!important;font-size:12px!important;line-height:1.5!important}.export-file-modal-copy label{display:block;margin-bottom:7px;color:#57514b;font-size:12px;font-weight:600}.export-file-modal-copy input,.export-file-modal-copy select{width:100%;height:44px;margin-bottom:14px;padding:0 12px;border:1px solid var(--line);border-radius:10px;outline:0;color:var(--text);background:#fff;font-size:13px}.export-file-modal-copy select{appearance:auto}.export-file-modal-copy input:focus,.export-file-modal-copy select:focus{border-color:#5f71646b;box-shadow:0 0 0 4px #5f716417}.export-file-modal-actions{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.export-file-modal-actions .modal-btn{width:100%}.export-file-modal-actions .modal-btn+.modal-btn{border-left:1px solid var(--line)}.image-opt-table-wrap col.image-col-cache-status{width:118px}.image-opt-table-wrap th.image-col-cache-status,.image-opt-table-wrap td.image-col-cache-status{width:118px;min-width:118px;max-width:118px;padding-left:6px;padding-right:6px}.image-opt-table-wrap .image-col-cache-status .image-cell-clamp{display:block;max-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:normal;-webkit-line-clamp:unset;line-clamp:unset}.removal-secondary-button,.image-tool-button,.image-transfer-export,.export-complete-button,.workflowButton,.transferRemovalButton{letter-spacing:-.008em;box-shadow:none}html,body,button,input,select,textarea,table{font-family:PingFang SC,\82f9\65b9-\7b80,\82f9\65b9,-apple-system,BlinkMacSystemFont,SF Pro Text,Microsoft YaHei,Arial,sans-serif}.nav button,.removal-workflow-button,.removal-secondary-button,.image-tool-button,.image-open-doubao,.image-transfer-export,.export-complete-button{letter-spacing:0}.sidebar,.workspace{background:#f8f8f7d1;border-color:#3c3c4314}@supports (backdrop-filter:blur(18px)){.sidebar,.workspace{backdrop-filter:blur(22px) saturate(112%)}}.nav button,.removal-command-bar,.image-opt-command-bar,.removal-table-card,.image-opt-table-card{transition:background .16s ease,border-color .16s ease,color .16s ease}@supports (backdrop-filter:blur(14px)){}.removal-table-wrap,.image-opt-table-wrap{overflow-y:auto;overflow-x:hidden}.removal-table-wrap table,.image-opt-table-wrap table{width:100%;min-width:0;max-width:100%;table-layout:fixed}.removal-table-wrap col.removal-col-select,.image-opt-table-wrap col.image-col-select{width:3.5%}.removal-table-wrap col.removal-col-sku,.image-opt-table-wrap col.image-col-sku{width:9%}.removal-table-wrap col.removal-col-name,.image-opt-table-wrap col.image-col-name{width:14%}.removal-table-wrap col.removal-col-short,.image-opt-table-wrap col.image-col-short{width:10.7%}.removal-table-wrap col.removal-col-long,.image-opt-table-wrap col.image-col-long{width:20%}.removal-table-wrap th,.removal-table-wrap td,.image-opt-table-wrap th,.image-opt-table-wrap td{width:auto;min-width:0;max-width:none}.removal-table-wrap th,.image-opt-table-wrap th{height:32px;padding:4px 5px;font-size:12px;background:#f2f2f7eb}.removal-table-wrap td,.image-opt-table-wrap td{height:60px;max-height:60px;padding:5px;font-size:12px}.removal-table-wrap tbody tr,.image-opt-table-wrap tbody tr{height:60px}.removal-table-wrap .removal-cell-clamp,.image-opt-table-wrap .image-cell-clamp{max-height:43px;line-height:14px;-webkit-line-clamp:3;line-clamp:3}.removal-table-wrap th.removal-select-cell,.removal-table-wrap td.removal-select-cell,.image-opt-table-wrap th.image-select-cell,.image-opt-table-wrap td.image-select-cell{width:auto;min-width:0;max-width:none}.erp-copyable-cell{display:block;padding:0 18px}.erp-copyable-cell:before{display:none}.erp-copyable-cell>.removal-cell-clamp,.erp-copyable-cell>.image-cell-clamp{display:-webkit-box;max-width:100%}.erp-cell-copy-button{position:absolute;right:0;top:50%;transform:translateY(-50%) scale(.94)}.removal-table-wrap td:hover .erp-cell-copy-button,.image-opt-table-wrap td:hover .erp-cell-copy-button{transform:translateY(-50%) scale(1)}.image-opt-table-wrap{overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y;scrollbar-gutter:stable;contain:layout paint style;background:#fffdfa}.image-opt-table-wrap table{width:max-content;min-width:100%;max-width:none;table-layout:fixed}.image-opt-table-wrap col.image-col-select{width:42px}.image-opt-table-wrap col.image-col-image{width:104px}.image-opt-table-wrap col.image-col-sku{width:154px}.image-opt-table-wrap col.image-col-asin{width:142px}.image-opt-table-wrap col.image-col-brand{width:130px}.image-opt-table-wrap col.image-col-name{width:270px}.image-opt-table-wrap col.image-col-short{width:222px}.image-opt-table-wrap col.image-col-long{width:282px}.image-opt-table-wrap col.image-col-default{width:132px}.image-opt-table-wrap col.image-col-url,.image-opt-table-wrap col.image-col-time{width:150px}.image-opt-table-wrap col.image-col-country{width:92px}.image-opt-table-wrap col.image-col-postal{width:112px}.image-opt-table-wrap col.image-col-money{width:82px}.image-opt-table-wrap col.image-col-currency{width:92px}.image-opt-table-wrap col.image-col-seller-id{width:176px}.image-opt-table-wrap col.image-col-variant-count{width:82px}.image-opt-table-wrap col.image-col-review-count{width:84px}.image-opt-table-wrap col.image-col-rating{width:72px}.image-opt-table-wrap col.image-col-fulfillment,.image-opt-table-wrap col.image-col-seller-country{width:92px}.image-opt-table-wrap col.image-col-seller-province{width:96px}.image-opt-table-wrap col.image-col-seller-count{width:84px}.image-opt-table-wrap col.image-col-delivery{width:106px}.image-opt-table-wrap th,.image-opt-table-wrap td{width:auto;max-width:none}.image-opt-table-wrap th.image-select-cell,.image-opt-table-wrap td.image-select-cell{width:42px;min-width:42px;max-width:42px}.image-opt-table-wrap th.image-col-image,.image-opt-table-wrap td.image-col-image{width:104px;min-width:104px;max-width:104px}.image-opt-table-wrap th.image-col-sku,.image-opt-table-wrap td.image-col-sku{width:154px;min-width:154px;max-width:154px}.image-opt-table-wrap th.image-col-asin,.image-opt-table-wrap td.image-col-asin{width:142px;min-width:142px;max-width:142px}.image-opt-table-wrap th.image-col-brand,.image-opt-table-wrap td.image-col-brand{width:130px;min-width:130px;max-width:130px}.image-opt-table-wrap th.image-col-name,.image-opt-table-wrap td.image-col-name{width:270px;min-width:270px;max-width:270px}.image-opt-table-wrap th.image-col-short,.image-opt-table-wrap td.image-col-short{width:222px;min-width:222px;max-width:222px}.image-opt-table-wrap th.image-col-long,.image-opt-table-wrap td.image-col-long{width:282px;min-width:282px;max-width:282px}.image-opt-table-wrap th.image-col-default,.image-opt-table-wrap td.image-col-default{width:132px;min-width:132px;max-width:132px}.image-opt-table-wrap th.image-col-url,.image-opt-table-wrap td.image-col-url,.image-opt-table-wrap th.image-col-time,.image-opt-table-wrap td.image-col-time{width:150px;min-width:150px;max-width:150px}.image-opt-table-wrap td{height:82px;max-height:82px;padding:5px 8px}.image-opt-table-wrap tbody tr{height:82px}.image-opt-table-wrap .image-cell-clamp{max-height:42px;line-height:14px;-webkit-line-clamp:3;line-clamp:3}.image-opt-table-wrap.is-scrolling *{transition:none;animation:none}.workspace.is-table-scrolling,.workspace.is-table-scrolling .image-opt-command-bar,.workspace.is-table-scrolling .removal-command-bar{backdrop-filter:none}.image-opt-table-wrap.is-scrolling tbody tr:hover td{background:inherit}:root{--button-accent:#5f7164;--button-accent-hover:#526257;--button-accent-active:#48564d;--button-glass:rgba(255,253,250,.66);--button-glass-hover:rgba(255,255,255,.88);--button-border:rgba(69,82,72,.16);--button-text:#4b514d;--button-danger:#95504b;--button-danger-soft:rgba(149,80,75,.075)}.nav button{min-height:42px;flex-basis:42px;border-radius:11px;color:#666b67;background:transparent;transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .12s ease}.nav button:hover{color:#424944;background:#ffffff7a;border-color:#45524814}.nav button.active{color:#344039;border-color:#5f716430;background:#dee7dfc2;box-shadow:inset 0 1px #ffffff94}.user-name,.removal-workflow-button,.removal-secondary-button,.image-tool-button,.account-modal-button,.workflowButton,.transferRemovalButton{height:38px;border-radius:11px;border-color:var(--button-border);color:var(--button-text);background:var(--button-glass);box-shadow:inset 0 1px #ffffffc2,0 1px 2px #302d2a0a;backdrop-filter:blur(12px) saturate(120%);-webkit-backdrop-filter:blur(12px) saturate(120%);transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .12s ease,opacity .16s ease}.user-name:hover,.user-menu:hover .user-name,.user-menu.open .user-name,.removal-workflow-button:hover:not(:disabled),.removal-secondary-button:hover:not(:disabled),.image-tool-button:hover:not(:disabled),.account-modal-button.secondary:hover:not(:disabled){color:#3d4640;border-color:#4552483d;background:var(--button-glass-hover);box-shadow:inset 0 1px #ffffffe0,0 4px 12px #302d2a11}.image-open-doubao,.image-transfer-export,.export-complete-button,.account-modal-button.primary,#optimizedUploadConfirmAll{height:38px;border-radius:11px;color:#fff;border-color:#495b4fe0;background:#5f7164f7;box-shadow:inset 0 1px #ffffff2e,0 4px 12px #41524626;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .12s ease,opacity .16s ease}.image-open-doubao:hover:not(:disabled),.image-transfer-export:hover:not(:disabled),.export-complete-button:hover:not(:disabled),.account-modal-button.primary:hover:not(:disabled),#optimizedUploadConfirmAll:hover:not(:disabled){background:var(--button-accent-hover);border-color:var(--button-accent-hover);box-shadow:inset 0 1px #ffffff29,0 6px 16px #4152462e;filter:none}.image-open-doubao:active:not(:disabled),.image-transfer-export:active:not(:disabled),.export-complete-button:active:not(:disabled),.account-modal-button.primary:active:not(:disabled),#optimizedUploadConfirmAll:active:not(:disabled){background:var(--button-accent-active);transform:scale(.985)}.user-menu-action{height:34px;border-radius:9px;color:#626963;transition:background .16s ease,color .16s ease}.user-menu-action:hover,.user-menu-action:focus-visible{color:#3e4741;background:#5f71641a}.removal-secondary-button.danger,.image-tool-button.danger,.image-inline-delete,.export-quiet-delete{color:var(--button-danger);border-color:#95504b21;background:var(--button-danger-soft);box-shadow:none}.removal-secondary-button.danger:hover:not(:disabled),.image-tool-button.danger:hover:not(:disabled),.image-inline-delete:hover,.export-quiet-delete:hover{color:#84433e;border-color:#95504b33;background:#95504b21}.account-modal-close,.optimized-upload-close,.password-toggle,.erp-cell-copy-button{color:#737a75;background:transparent;transition:background .16s ease,color .16s ease,transform .12s ease}.account-modal-close:hover,.optimized-upload-close:hover,.password-toggle:hover,.erp-cell-copy-button:hover{color:#424a44;background:#5f716418}.modal-btn{height:42px;color:#5d645f;background:#fffdfaa8;transition:background .16s ease,color .16s ease}.modal-btn:hover{color:#354039;background:#5f716418}.modal-btn.confirm{color:#425248}.modal-btn.confirm.danger{color:var(--button-danger)}button:active:not(:disabled){transform:scale(.985)}button:focus-visible{outline:none;box-shadow:0 0 0 3px #5f716426}button:disabled{box-shadow:none;filter:none}.optimized-product-combobox{position:relative;min-width:0;z-index:1}.optimized-product-combobox.open{z-index:70}.optimized-product-combobox-button{width:100%;min-height:48px;display:grid;grid-template-columns:38px minmax(0,1fr) 22px;align-items:center;gap:9px;padding:5px 8px;border:1px solid var(--line);border-radius:10px;color:var(--text);background:#fff;text-align:left;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.optimized-product-combobox-button:hover,.optimized-product-combobox.open .optimized-product-combobox-button{border-color:#56715c75;background:#fffefa;box-shadow:0 0 0 3px #56715c14}.optimized-product-selected-thumb,.optimized-product-option-thumb{position:relative;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:7px;background:#fff;cursor:zoom-in}.optimized-product-selected-thumb{width:36px;height:36px}.optimized-product-option-thumb{width:58px;height:58px}.optimized-product-selected-thumb img,.optimized-product-option-thumb img{width:100%;height:100%;object-fit:contain;background:#fff}.optimized-product-selected-thumb.empty,.optimized-product-option-thumb.empty{color:#928a82;background:#f4f1ed;cursor:default;font-size:12px}.optimized-product-selected-copy,.optimized-product-option-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.optimized-product-selected-copy strong,.optimized-product-option-copy strong{overflow:hidden;color:#4d4945;font-size:12px;line-height:1.25;white-space:nowrap;text-overflow:ellipsis}.optimized-product-selected-copy span,.optimized-product-option-copy span{overflow:hidden;color:var(--muted);font-size:12px;line-height:1.35;white-space:nowrap;text-overflow:ellipsis}.optimized-product-combobox-arrow{justify-self:end;color:#77716b;font-size:18px;transition:transform .16s ease}.optimized-product-combobox.open .optimized-product-combobox-arrow{transform:rotate(180deg)}.optimized-product-listbox{position:absolute;right:0;top:calc(100% + 7px);z-index:80;width:min(640px,calc(100vw - 88px));max-height:min(390px,55vh);overflow:auto;padding:6px;border:1px solid rgba(48,45,42,.16);border-radius:12px;background:#fffdfa;box-shadow:0 18px 48px #302d2a3d;scrollbar-color:#c7c1ba transparent}.optimized-product-combobox.open-up .optimized-product-listbox{top:auto;bottom:calc(100% + 7px)}.optimized-product-option{width:100%;min-height:72px;display:grid;grid-template-columns:60px minmax(0,1fr) 24px;align-items:center;gap:10px;padding:6px 8px;border:0;border-radius:9px;color:var(--text);background:transparent;text-align:left;cursor:pointer}.optimized-product-option:hover,.optimized-product-option:focus-visible{outline:0;background:var(--accent-soft)}.optimized-product-option.selected{background:#e7eee7}.optimized-product-option-check{visibility:hidden;justify-self:center;color:var(--accent);font-size:15px;font-weight:800}.optimized-product-option.selected .optimized-product-option-check{visibility:visible}.optimized-product-zoom-mark{position:absolute;right:2px;bottom:2px;padding:1px 3px;border-radius:4px;color:#fff;background:#262a27bd;font-size:12px;line-height:1.35;pointer-events:none}.optimized-product-selected-thumb .optimized-product-zoom-mark{font-size:12px}.erp-image-zoom-backdrop{position:fixed;inset:0;z-index:1300;display:grid;place-items:center;padding:24px;background:#1d1f1db8;backdrop-filter:blur(3px)}.erp-image-zoom-dialog{position:relative;max-width:min(920px,94vw);max-height:92vh;display:grid;place-items:center;padding:18px;border-radius:16px;background:#fff;box-shadow:0 28px 80px #0006}.erp-image-zoom-dialog img{display:block;max-width:min(880px,90vw);max-height:86vh;object-fit:contain;background:#fff}.erp-image-zoom-close{position:absolute;right:-13px;top:-13px;z-index:2;width:36px;height:36px;border:1px solid rgba(255,255,255,.65);border-radius:50%;color:#fff;background:#3f4541;font-size:24px;line-height:1;box-shadow:0 7px 18px #00000040}.erp-image-zoom-close:hover{background:#252a27}.image-zoom-open{overflow:hidden}.watermark-tool-modal{width:min(1280px,calc(100vw - 24px));height:min(880px,calc(100vh - 20px));display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#f8f7f4;box-shadow:var(--shadow-modal)}.optimized-image-draggable{cursor:grab;user-select:none;touch-action:none}.optimized-image-draggable:active{cursor:grabbing}.image-opt-table-wrap tr.optimized-drag-source td{opacity:.52}.image-opt-table-wrap tr.optimized-drop-target td{background:#eef5ef;box-shadow:inset 0 1px #4a715247,inset 0 -1px #4a715247}.image-opt-table-wrap tr.optimized-drop-target td:first-child{box-shadow:inset 3px 0 #607c66,inset 0 1px #4a715247,inset 0 -1px #4a715247}.image-opt-table-wrap tr.optimized-drop-target .optimized-placeholder{color:#365c42;border-color:#7ea287;background:#e5f0e7}.optimized-drop-placeholder{border:1px dashed rgba(95,113,100,.35)}.optimized-cell-stack{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:150px}.export-listing-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center}.export-mapping-center{justify-self:center}.export-listing-actions{justify-self:end}.export-mapping-center{min-width:150px}.export-mapping-button{height:38px;padding:0 20px;border:1px solid rgba(73,91,79,.88);border-radius:11px;color:#fff;background:#5f7164f7;box-shadow:inset 0 1px #ffffff2e,0 4px 12px #41524626;font-size:13px;font-weight:700;letter-spacing:.01em;transition:background .18s,border-color .18s,box-shadow .18s,transform .12s}.export-mapping-button:hover:not(:disabled){background:#526257;border-color:#526257;box-shadow:inset 0 1px #ffffff29,0 6px 16px #4152462e}.export-mapping-button:disabled{cursor:not-allowed;color:#9a958f;border-color:#302d2a14;background:#76768014;box-shadow:none}#exportMappingStatus{color:#7b746d;white-space:nowrap}#exportMappingStatus.success{color:#4d7057}#exportMappingStatus.warning{color:#8a6d3e}.export-optimized-cell-stack{width:100%;height:70px;min-width:0;display:flex;align-items:center;justify-content:center;margin:0 auto}.export-optimized-thumb{width:60px;height:60px;min-height:60px;display:flex;align-items:center;justify-content:center;margin:0 auto;border:0;background:transparent;cursor:zoom-in}.export-optimized-thumbnail{display:block;width:58px;height:58px;max-width:58px;max-height:58px;margin:0 auto;object-fit:contain;object-position:center center;border:1px solid rgba(48,45,42,.08);border-radius:8px;background:#fff}.optimized-url-button{height:18px;min-width:31px;padding:0 4px;border:0;border-radius:5px;color:#7a6f64;background:#76768014;font-size:12px;line-height:18px;cursor:pointer;white-space:nowrap}.optimized-url-button:hover{color:#43594a;background:#e6eee5}.optimized-url-button.has-url{color:#315d3e;background:#dfece1}.optimized-image-draggable .optimized-url-button{user-select:none;-webkit-user-drag:none}.export-listing-header{min-height:68px;padding:9px 14px;gap:18px}.export-listing-actions{gap:12px}.export-complete-button{min-width:96px;padding-inline:16px}.export-file-modal-copy p{margin-bottom:14px}#modalCancelBtn[hidden]{display:none!important}#removalTransferStatus:empty,#imageOptimizationStatus:empty,#exportMappingStatus:empty{display:none}.view-image-optimization,.view-export-listing{padding:8px}.image-opt-command-bar,.export-listing-header{min-height:68px;display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;align-items:center!important;gap:18px!important;padding:9px 14px!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.image-opt-table-wrap,.export-listing-table-wrap{height:100%;min-height:0}.image-opt-table-wrap table:has(.centered-empty-state),.export-listing-table-wrap table:has(.centered-empty-state){width:100%;height:100%;min-width:100%}.image-opt-table-wrap .centered-empty-state,.export-listing-table-wrap .centered-empty-state,.image-opt-table-wrap .centered-empty-state tr,.export-listing-table-wrap .centered-empty-state tr{height:100%}.image-empty-cell,.export-listing-empty{width:100%;height:100%!important;min-height:300px;padding:20px;text-align:center;vertical-align:middle;border:0}.image-opt-table-wrap:has(.centered-empty-state),.export-listing-table-wrap:has(.centered-empty-state){overflow:hidden}.image-opt-table-wrap:has(.centered-empty-state),.export-listing-table-wrap:has(.centered-empty-state){scrollbar-gutter:auto}.api-action{margin-top:2px}.api-action+.logout-action{margin-top:4px}.optimized-url-button.has-url{min-width:48px}.optimized-thumb-wrap .erp-cell-copy-button{width:18px;height:18px;margin-left:1px}.optimized-cloud-open{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:5px;color:#4f6253;background:#5f716414;font-size:12px;text-decoration:none}.optimized-cloud-open:hover{background:#5f716429;color:#315d3e}.erp-app table th,.erp-app table td{vertical-align:middle;text-align:center}.erp-app table input,.erp-app table textarea,.erp-app table select{text-align:center}.erp-app table td>*{margin-left:auto;margin-right:auto}.erp-cell-copy-button{opacity:.68!important;transform:none!important;transition:background-color .12s ease,border-color .12s ease,color .12s ease,opacity .12s ease!important;will-change:auto!important}.erp-copyable-cell>.erp-cell-copy-button{transform:translateY(-50%)!important}.image-thumb-actions .erp-cell-copy-button{position:static!important;transform:none!important}.erp-cell-copy-button:hover,.erp-copyable-cell:hover>.erp-cell-copy-button,td:hover .erp-cell-copy-button{opacity:1!important}.erp-image-hover-preview{width:min(440px,42vw)!important;height:min(440px,62vh)!important;padding:12px!important}.export-listing-table-wrap col.image-col-price,.export-listing-table-wrap col.image-col-final-price{max-width:132px!important}.export-listing-table-wrap col.image-col-money{max-width:92px!important}.export-listing-table-wrap col.image-col-name{width:226px!important;min-width:226px!important;max-width:226px!important}.export-listing-table-wrap col.image-col-short{width:210px!important;min-width:210px!important;max-width:210px!important}.export-listing-table-wrap col.image-col-long{width:248px!important;min-width:248px!important;max-width:248px!important}.export-listing-table-wrap col.image-col-default{width:106px!important;min-width:106px!important;max-width:106px!important}.export-listing-table-wrap col.image-col-country{width:72px!important;min-width:72px!important;max-width:72px!important}.export-listing-table-wrap col.image-col-postal{max-width:88px!important}.export-listing-table-wrap col.image-col-currency{width:72px!important;min-width:72px!important;max-width:72px!important}.export-listing-table-wrap td.image-col-price,.export-listing-table-wrap td.image-col-final-price,.export-listing-table-wrap td.image-col-money{white-space:nowrap!important;word-break:keep-all!important}.export-listing-table-wrap th.image-col-price,.export-listing-table-wrap td.image-col-price,.export-listing-table-wrap th.image-col-final-price,.export-listing-table-wrap td.image-col-final-price{max-width:132px!important}.export-listing-table-wrap th.image-col-money,.export-listing-table-wrap td.image-col-money{max-width:92px!important}.export-listing-table-wrap th.image-col-name,.export-listing-table-wrap td.image-col-name{width:226px!important;min-width:226px!important;max-width:226px!important}.export-listing-table-wrap th.image-col-short,.export-listing-table-wrap td.image-col-short{width:210px!important;min-width:210px!important;max-width:210px!important}.export-listing-table-wrap th.image-col-long,.export-listing-table-wrap td.image-col-long{width:248px!important;min-width:248px!important;max-width:248px!important}.erp-app .erp-cell-copy-button{opacity:0!important;transform:none!important;pointer-events:none!important;transition:opacity .12s ease,background-color .12s ease,border-color .12s ease,color .12s ease!important;will-change:auto!important}.erp-app td:hover .erp-cell-copy-button,.erp-app .erp-copyable-cell:hover>.erp-cell-copy-button,.erp-app .erp-copyable-cell:focus-within>.erp-cell-copy-button,.erp-app .image-thumb-actions:hover .erp-cell-copy-button,.erp-app .optimized-thumb-actions:hover .erp-cell-copy-button,.erp-app .erp-cell-copy-button:focus-visible{opacity:1!important;transform:none!important;pointer-events:auto!important}.erp-app .erp-copyable-cell>.erp-cell-copy-button{transform:translateY(-50%)!important}.erp-app .image-thumb-actions .erp-cell-copy-button,.erp-app .optimized-thumb-actions .erp-cell-copy-button{transform:none!important}#exportListingTable{width:max-content!important;min-width:100%!important;table-layout:auto!important}.export-listing-table-wrap col.image-col-price,.export-listing-table-wrap col.image-col-final-price{width:170px!important;min-width:170px!important;max-width:none!important}.export-listing-table-wrap col.image-col-money{width:150px!important;min-width:150px!important;max-width:none!important}.export-listing-table-wrap th.image-col-price,.export-listing-table-wrap td.image-col-price,.export-listing-table-wrap th.image-col-final-price,.export-listing-table-wrap td.image-col-final-price{width:auto!important;min-width:170px!important;max-width:none!important;white-space:nowrap!important;word-break:keep-all!important;overflow:visible!important}.export-listing-table-wrap th.image-col-money,.export-listing-table-wrap td.image-col-money{width:auto!important;min-width:150px!important;max-width:none!important;white-space:nowrap!important;word-break:keep-all!important;overflow:visible!important}.export-listing-table-wrap td.image-col-price .erp-copyable-cell,.export-listing-table-wrap td.image-col-final-price .erp-copyable-cell,.export-listing-table-wrap td.image-col-money .erp-copyable-cell{width:max-content!important;min-width:100%!important;max-width:none!important;padding-inline:24px!important}.export-listing-table-wrap td.image-col-price .image-cell-clamp,.export-listing-table-wrap td.image-col-final-price .image-cell-clamp,.export-listing-table-wrap td.image-col-money .image-cell-clamp{display:inline-block!important;width:max-content!important;max-width:none!important;max-height:none!important;overflow:visible!important;white-space:nowrap!important;word-break:keep-all!important;text-overflow:clip!important;-webkit-line-clamp:unset!important;line-clamp:unset!important}[hidden]{display:none!important}.permission-empty-view.active{display:grid;place-items:center;padding:28px}.permission-empty-card{width:min(520px,100%);min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px 30px;text-align:center;border:1px solid var(--line);border-radius:var(--radius-card);background:#fffdfac7}.permission-empty-card h2{margin:0 0 9px;font-size:20px}.permission-empty-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}.view-accounts{overflow:auto;background:radial-gradient(circle at 82% -8%,#fffffffa 0,#fff0 35%),linear-gradient(180deg,#f7f7f8,#f1f2f3);scrollbar-color:rgba(80,80,86,.2) transparent}.accounts-page{min-height:100%;padding:54px clamp(24px,5vw,72px) 76px}.accounts-shell{width:min(1080px,100%);margin:0 auto}.account-add-button{height:44px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 18px;border:0;border-radius:12px;color:#fff;background:#1d1d1f;font-size:12px;font-weight:650;letter-spacing:.01em;box-shadow:0 8px 22px #0000001f;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}.account-add-button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.account-add-button:hover{background:#000;box-shadow:0 11px 26px #00000029;transform:translateY(-1px)}.account-add-button:active{transform:translateY(0) scale(.985)}.accounts-feedback{min-height:20px;margin:0 2px 10px;text-align:center;color:#7d7d82;font-size:12px;line-height:20px}.accounts-feedback.error{color:var(--danger)}.accounts-feedback.success{color:var(--success)}.accounts-list-panel{overflow:visible}.account-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;overflow:visible}.account-action-menu{position:fixed;z-index:5000;width:214px;padding:7px;border:1px solid rgba(0,0,0,.08);border-radius:17px;background:#fffffff7;box-shadow:0 24px 70px #0000002e,0 2px 8px #0000000f;backdrop-filter:blur(28px) saturate(160%);transform-origin:top right;animation:accountMenuIn .14s ease-out}.account-action-menu button{width:100%;height:39px;display:flex;align-items:center;gap:10px;padding:0 10px;border:0;border-radius:10px;color:#505055;background:transparent;text-align:left;font-size:12px;font-weight:580;transition:background .14s ease,color .14s ease}.account-action-menu button svg{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.account-action-menu button:hover{color:#1f1f22;background:#f2f2f4}.account-action-menu button.danger{margin-top:4px;border-top:1px solid rgba(0,0,0,.05);border-radius:4px 4px 10px 10px;color:#a44747}.account-action-menu button.danger:hover{color:#963838;background:#fbefef}@keyframes accountMenuIn{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}.account-list-empty{grid-column:1/-1;padding:52px 20px;text-align:center;color:#929298;font-size:12px}.account-editor-backdrop{position:fixed;inset:0;z-index:2600;display:grid;place-items:center;padding:24px;background:#14141647;backdrop-filter:blur(14px) saturate(120%)}.account-editor-backdrop.hidden{display:none}.account-editor-modal{width:min(500px,calc(100vw - 32px));overflow:hidden;border:1px solid rgba(255,255,255,.72);border-radius:26px;background:#fffffffa;box-shadow:0 34px 100px #00000040,0 2px 10px #00000014;animation:accountEditorIn .2s cubic-bezier(.2,.75,.25,1)}.account-editor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:28px 30px 16px}.account-editor-header h2{margin:0;color:#202024;font-size:22px;font-weight:700;letter-spacing:-.035em;line-height:1.15}.account-editor-header p{max-width:350px;margin:8px 0 0;color:#8c8c92;font-size:12px;line-height:1.65}.account-editor-close{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border:0;border-radius:50%;color:#77777d;background:#f1f1f3;transition:background .15s ease,color .15s ease,transform .15s ease}.account-editor-close svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.account-editor-close:hover{color:#202024;background:#e8e8eb;transform:rotate(3deg)}.account-editor-body{padding:9px 30px 8px}.account-editor-fields{display:grid;grid-template-columns:1fr;gap:13px;margin-bottom:13px}.account-editor-field{display:block}.account-editor-field>span{display:block;margin:0 0 7px 3px;color:#6d6d72;font-size:12px;font-weight:650}.account-editor-field input{width:100%;height:48px;padding:0 14px;border:1px solid transparent;border-radius:13px;outline:0;color:#29292d;background:#f4f4f6;font-size:12px;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}.account-editor-field input::placeholder{color:#aaaab0}.account-editor-field input:hover{background:#f0f0f2}.account-editor-field input:focus{border-color:#4b5b5042;background:#fff;box-shadow:0 0 0 4px #4e665514}.account-editor-field .password-control{position:relative}.account-editor-field .password-control input{padding-right:61px}.account-editor-field [data-password-toggle]{position:absolute;right:7px;top:50%;height:34px;padding:0 10px;transform:translateY(-50%);border:0;border-radius:9px;color:#77777d;background:transparent;font-size:12px;font-weight:620}.account-editor-field [data-password-toggle]:hover{color:#2f2f33;background:#e8e8eb}.account-editor-feedback{min-height:20px;margin-top:2px;text-align:center;color:#929298;font-size:12px;line-height:20px}.account-editor-feedback.error{color:var(--danger)}.account-editor-actions{display:flex;justify-content:flex-end;gap:9px;padding:13px 30px 28px}.account-editor-secondary,.account-editor-primary{height:42px;min-width:88px;padding:0 16px;border-radius:11px;font-size:12px;font-weight:650;transition:background .15s ease,transform .15s ease,box-shadow .15s ease}.account-editor-secondary{border:0;color:#66666c;background:#f1f1f3}.account-editor-secondary:hover{color:#2d2d31;background:#e8e8eb}.account-editor-primary{border:0;color:#fff;background:#1d1d1f;box-shadow:0 7px 18px #0000001f}.account-editor-primary:hover{background:#000;box-shadow:0 9px 22px #00000029}.account-editor-primary:active,.account-editor-secondary:active{transform:scale(.985)}.account-editor-primary:disabled{cursor:not-allowed;opacity:.5;box-shadow:none}@keyframes accountEditorIn{0%{opacity:0;transform:translateY(12px) scale(.975)}to{opacity:1;transform:none}}:root{--yftx-font-body:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",-apple-system,BlinkMacSystemFont,"SF Pro Text",sans-serif;--yftx-font-title:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",-apple-system,BlinkMacSystemFont,"SF Pro Display",sans-serif;--yftx-text:#1f2320;--yftx-muted:#646b66;--yftx-border:rgba(32,37,34,.1);--yftx-blue:#0071e3;--yftx-blue-hover:#005fca;--yftx-radius:12px;--yftx-radius-sm:10px;--yftx-radius-xs:8px;--yftx-space-1:4px;--yftx-space-2:8px;--yftx-space-3:12px;--yftx-space-4:16px;--yftx-space-5:20px;--yftx-space-6:24px;--yftx-title-strong:600;--yftx-title-size:18px;--yftx-body-size:12.5px;--yftx-small-size:11px;--yftx-control-h:40px;--yftx-control-h-sm:34px;--yftx-control-h-xs:30px;--yftx-anim:.16s;--yftx-anim-slow:.22s}body{font-family:var(--yftx-font-body)}h1,h2,h3,.pane-heading h1,.results-heading h2,.drawer-title h2,.account-editor-header h2,.permission-empty-card h2,.system-modal-copy h2,.watermark-tool-modal-header h2,.export-file-modal-copy h2{font-family:var(--yftx-font-title);font-weight:var(--yftx-title-strong);letter-spacing:0}.button,.task-actions .button,.toolbar-result-tools .selection-delete-button,.toolbar-result-tools .optimize-transfer-button,.account-editor-primary,.account-editor-secondary,.modal-btn,.removal-workflow-button,.removal-secondary-button,.image-tool-button,.image-open-doubao,.image-transfer-export,.account-manage-button,.account-action-menu button,.user-menu-action,.export-mapping-button,.export-complete-button,.workflow-pagination button{height:var(--yftx-control-h);border-radius:var(--yftx-radius-sm);transition:background var(--yftx-anim) ease,border-color var(--yftx-anim) ease,color var(--yftx-anim) ease,box-shadow var(--yftx-anim) ease,transform var(--yftx-anim) ease,opacity var(--yftx-anim) ease}.button.primary,.task-actions .button.primary,.toolbar-result-tools .optimize-transfer-button,.account-editor-primary,.image-transfer-export,.export-complete-button,.export-mapping-button,.user-menu-action.api-action,.user-menu-action.templates-action,.user-menu-action.account-add-action{background:var(--yftx-blue);color:#fff;border-color:var(--yftx-blue)}.button.primary:hover:not(:disabled),.task-actions .button.primary:hover:not(:disabled),.toolbar-result-tools .optimize-transfer-button:hover:not(:disabled),.account-editor-primary:hover,.image-transfer-export:hover:not(:disabled),.export-complete-button:hover:not(:disabled),.export-mapping-button:hover:not(:disabled),.user-menu-action.api-action:hover,.user-menu-action.templates-action:hover,.user-menu-action.account-add-action:hover{background:var(--yftx-blue-hover);border-color:var(--yftx-blue-hover)}.button.secondary,.task-actions .button.secondary,.modal-btn,.removal-workflow-button,.removal-secondary-button,.image-tool-button,.image-open-doubao,.account-editor-secondary,.workflow-pagination button,.account-manage-button,.user-menu-action{background:#fffc;color:var(--yftx-text);border-color:var(--yftx-border)}.button.text-danger,.button.destructive,.selection-delete-button,.image-inline-delete,.export-quiet-delete,.removal-secondary-button.danger{color:#a84845;background:#a848450f;border-color:#a8484529}.button.text-danger:hover:not(:disabled),.button.destructive:hover:not(:disabled),.selection-delete-button:hover:not(:disabled),.image-inline-delete:hover:not(:disabled),.export-quiet-delete:hover:not(:disabled),.removal-secondary-button.danger:hover:not(:disabled){background:#a848451f}.table-cell-text,.table-link,.detail-value,.detail-label,.mobile-field>div,.mobile-field>span,.account-table-cell,.account-login-name,.account-form-feedback,.permission-empty-card p,.export-file-message,.watermark-tool-modal-header p{font-size:var(--yftx-body-size);line-height:1.55}.full-results-table thead th,.image-opt-table-wrap th,.removal-table-wrap th,.export-listing-table-wrap th{height:38px;font-size:var(--yftx-small-size);font-weight:600}.full-results-table tbody td,.image-opt-table-wrap td,.removal-table-wrap td,.export-listing-table-wrap td{height:72px;font-size:var(--yftx-body-size)}.table-cell-text.long,.image-cell-clamp,.removal-cell-clamp,.mobile-field>div,.detail-value,.task-summary-details>div{line-height:1.45;overflow:hidden;text-overflow:ellipsis}.task-summary-details>div,.detail-section,.system-modal,.watermark-tool-modal,.export-file-modal,.product-detail-drawer,.account-editor-modal{border-radius:var(--yftx-radius)}.detail-inspector,.results-card,.task-pane,.account-modal,.permission-empty-card,.removal-table-card,.image-opt-table-card,.export-listing-shell,.watermark-tool-modal,.system-modal,.account-editor-modal,.export-file-modal{box-shadow:0 10px 32px #1f23200f}.view-accounts,.accounts-page,.accounts-shell,.account-table,.account-table-header,.account-list,.account-card,.account-editor-modal,.account-action-menu{letter-spacing:0}body.erp-admin-mode .user-menu-action.account-add-action,body.erp-app .user-menu-action.logout-action{display:flex}body.erp-admin-mode .accounts-page .accounts-shell{width:min(1180px,100%)}.view-system-check{padding:24px;overflow:auto;background:#f6f7f5}.system-check-page{width:min(1040px,100%);margin:0 auto;display:grid;gap:14px}.system-check-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border:1px solid var(--yftx-border);border-radius:var(--yftx-radius);background:#ffffffeb;box-shadow:0 10px 32px #1f23200f}.system-check-header h2{margin:0 0 5px;font-size:18px;line-height:24px}.system-check-header p{margin:0;color:var(--yftx-muted);font-size:13px}.system-check-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.system-check-button{height:38px;padding:0 14px;border:1px solid var(--yftx-border);border-radius:var(--yftx-radius-xs);background:#fff;color:var(--yftx-text);font-size:12px;font-weight:650}.system-check-button.primary{border-color:var(--yftx-blue);background:var(--yftx-blue);color:#fff}.system-check-button:hover:not(:disabled){border-color:#1f23202e;background:#f0f2f0}.system-check-button.primary:hover:not(:disabled){border-color:var(--yftx-blue-hover);background:var(--yftx-blue-hover)}.system-check-button:disabled{cursor:not-allowed;opacity:.5}.system-check-list{display:grid;gap:10px}.system-check-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:74px;padding:14px 16px;border:1px solid var(--yftx-border);border-left-width:4px;border-radius:var(--yftx-radius-xs);background:#ffffffe6}.system-check-row.idle{border-left-color:#a9aca8}.system-check-row-main{display:grid;gap:4px;min-width:0}.system-check-row-main strong{font-size:13px;line-height:18px;font-weight:650}.system-check-row-main span{color:var(--yftx-text);font-size:13px;line-height:18px}.system-check-row-main small{color:var(--yftx-muted);font-size:12px;line-height:17px;word-break:break-word}.system-check-badge{flex:0 0 auto;min-width:54px;padding:5px 8px;border-radius:999px;background:#eef1ee;color:#4f5751;text-align:center;font-size:12px;font-weight:650}.user-menu-action.system-check-action{background:#fffc;color:var(--yftx-text);border-color:var(--yftx-border)}@media(max-width:1280px){}@media(max-width:760px){}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.export-listing-header{grid-template-columns:minmax(0,1fr) minmax(160px,240px) minmax(0,1fr)!important}.export-mapping-center{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:9px!important;min-width:0!important;width:100%!important;max-width:240px!important}.export-mapping-button{min-width:104px!important;padding-inline:16px!important;letter-spacing:0!important}#exportMappingStatus{font-size:12px!important;line-height:16px!important;white-space:nowrap!important}.export-listing-table-wrap col.image-col-postal{width:112px!important;min-width:112px!important;max-width:112px!important}.export-listing-table-wrap th.image-col-postal,.export-listing-table-wrap td.image-col-postal{width:112px!important;min-width:112px!important;max-width:112px!important;white-space:nowrap!important;word-break:keep-all!important}.export-listing-table-wrap col.image-col-mapping-status{max-width:128px!important}.export-listing-table-wrap th.image-col-mapping-status,.export-listing-table-wrap td.image-col-mapping-status{text-align:center!important}.mapping-status-badge{display:inline-flex;align-items:center;justify-content:center;min-width:70px;font-size:12px;font-weight:650;text-overflow:ellipsis}.mapping-status-badge.ok{color:#2f6942;background:#e5f2e8;border:1px solid rgba(63,132,83,.18)}.mapping-status-badge.warning{border:1px solid rgba(170,120,36,.22)}.export-listing-table-wrap col.image-col-mapping-status{width:172px!important;min-width:172px!important;max-width:172px!important}.export-listing-table-wrap th.image-col-mapping-status,.export-listing-table-wrap td.image-col-mapping-status{width:172px!important;min-width:172px!important;max-width:172px!important;padding-left:8px!important;padding-right:8px!important}.export-listing-table-wrap td.image-col-mapping-status{overflow:visible!important}.mapping-status-badge{max-width:152px;height:auto;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;word-break:break-word}.mapping-status-badge.warning{color:#7b5b1d;background:#fff6dd;border-color:#96712533}.full-results-table thead th,.full-results-table tbody td,.removal-table-wrap th,.removal-table-wrap td,.image-opt-table-wrap th,.image-opt-table-wrap td,.export-listing-table-wrap th,.export-listing-table-wrap td{text-align:center!important;vertical-align:middle!important}.full-results-table .table-cell-text,.full-results-table .table-link,.full-results-table .table-url-content,.removal-table-wrap .image-cell-clamp,.image-opt-table-wrap .image-cell-clamp,.export-listing-table-wrap .image-cell-clamp{text-align:center!important;margin-left:auto!important;margin-right:auto!important}.image-thumb-wrap,.optimized-cell-stack,.export-optimized-cell-stack{margin-left:auto!important;margin-right:auto!important;justify-content:center!important}.page-clear-button{height:36px;padding:0 13px;border:1px solid rgba(149,80,75,.18);border-radius:10px;color:#95504b;background:#95504b0e;font-size:12px;font-weight:620;white-space:nowrap;transition:background .16s,border-color .16s,color .16s}.page-clear-button:hover{color:#843f3a;border-color:#95504b4d;background:#95504b1c}.export-clear-toolbar{grid-column:1!important;justify-self:start!important;display:flex!important;align-items:center!important;min-width:120px}.export-listing-header{grid-template-columns:minmax(120px,1fr) minmax(160px,240px) minmax(0,1fr)!important}.export-clear-toolbar .page-clear-button{height:36px;min-width:78px}          body.erp-app .removal-table-wrap th.removal-select-cell,body.erp-app .removal-table-wrap td.removal-select-cell,body.erp-app .image-opt-table-wrap th.image-select-cell,body.erp-app .image-opt-table-wrap td.image-select-cell,body.erp-app .export-listing-table-wrap th.export-select-cell,body.erp-app .export-listing-table-wrap td.export-select-cell{position:sticky!important;left:0!important;width:42px!important;min-width:42px!important;max-width:42px!important;z-index:18!important;background:#fffdfa!important;box-shadow:1px 0 #302d2a1f!important;text-align:center!important}body.erp-app .removal-table-wrap th.removal-select-cell,body.erp-app .image-opt-table-wrap th.image-select-cell,body.erp-app .export-listing-table-wrap th.export-select-cell{top:0!important;z-index:28!important;background:#ece8e2!important}body.erp-app .removal-select-cell input[type=checkbox],body.erp-app .image-select-cell input[type=checkbox],body.erp-app .export-select-cell input[type=checkbox]{appearance:none!important;-webkit-appearance:none!important;box-sizing:border-box!important;width:16px!important;height:16px!important;min-width:16px!important;margin:0!important;padding:0!important;border:1px solid rgba(60,60,67,.26)!important;border-radius:50%!important;background:#fff!important;vertical-align:middle!important;cursor:pointer!important}body.erp-app .removal-select-cell input[type=checkbox]:after,body.erp-app .image-select-cell input[type=checkbox]:after,body.erp-app .export-select-cell input[type=checkbox]:after{content:"";display:block;width:8px;height:8px;margin:3px auto 0;border-radius:50%;background:#fff;opacity:0}body.erp-app .removal-select-cell input[type=checkbox]:checked,body.erp-app .image-select-cell input[type=checkbox]:checked,body.erp-app .export-select-cell input[type=checkbox]:checked,body.erp-app .removal-select-cell input[type=checkbox]:indeterminate,body.erp-app .image-select-cell input[type=checkbox]:indeterminate,body.erp-app .export-select-cell input[type=checkbox]:indeterminate{border-color:var(--accent)!important;background:var(--accent)!important}body.erp-app .removal-select-cell input[type=checkbox]:checked:after,body.erp-app .image-select-cell input[type=checkbox]:checked:after,body.erp-app .export-select-cell input[type=checkbox]:checked:after{opacity:1}body.erp-app .removal-select-cell input[type=checkbox]:indeterminate:after,body.erp-app .image-select-cell input[type=checkbox]:indeterminate:after,body.erp-app .export-select-cell input[type=checkbox]:indeterminate:after{width:8px;height:2px;margin-top:6px;border-radius:999px;opacity:1}body.erp-app .removal-table-wrap tbody tr.selected td.removal-select-cell,body.erp-app .image-opt-table-wrap tbody tr.selected td.image-select-cell,body.erp-app .export-listing-table-wrap tbody tr.selected td.export-select-cell{background:#e6eee5!important}body.erp-app .removal-table-wrap tbody tr:hover td.removal-select-cell,body.erp-app .image-opt-table-wrap tbody tr:hover td.image-select-cell,body.erp-app .export-listing-table-wrap tbody tr:hover td.export-select-cell{background:#faf8f4!important}body.erp-app .image-opt-table-wrap .image-select-cell input[type=checkbox]:checked,body.erp-app .export-listing-table-wrap .export-select-cell input[type=checkbox]:checked,body.erp-app .image-opt-table-wrap .image-select-cell input[type=checkbox]:indeterminate,body.erp-app .export-listing-table-wrap .export-select-cell input[type=checkbox]:indeterminate{border-color:#4f5f52!important;background:#4f5f52!important}body.erp-app .image-opt-table-wrap tbody tr.selected td,body.erp-app .export-listing-table-wrap tbody tr.selected td{background:#f5f6f4!important;color:#172033!important}body.erp-app .image-opt-table-wrap tbody tr.selected td.image-select-cell,body.erp-app .export-listing-table-wrap tbody tr.selected td.export-select-cell{background:#eef1ee!important}body.erp-app .view,body.erp-app .removal-shell,body.erp-app .image-opt-shell,body.erp-app .export-listing-shell{justify-items:center!important}body.erp-app .removal-command-bar,body.erp-app .image-opt-command-bar,body.erp-app .export-listing-header,body.erp-app .workflow-pagination{justify-content:center!important;text-align:center!important}body.erp-app .workflow-pagination{width:100%!important;gap:12px!important}body.erp-app .workflow-pagination [data-workflow-page-summary]{display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important}body.erp-app .removal-table-wrap th,body.erp-app .removal-table-wrap td,body.erp-app .image-opt-table-wrap th,body.erp-app .image-opt-table-wrap td,body.erp-app .export-listing-table-wrap th,body.erp-app .export-listing-table-wrap td{text-align:center!important;vertical-align:middle!important}body.erp-app .erp-copyable-cell,body.erp-app .removal-cell-clamp,body.erp-app .image-cell-clamp,body.erp-app .image-thumb-wrap,body.erp-app .optimized-cell-stack,body.erp-app .export-optimized-cell-stack{margin-left:auto!important;margin-right:auto!important;text-align:center!important;justify-content:center!important;justify-items:center!important}body.erp-app .export-listing-header>div,body.erp-app .export-listing-header p,body.erp-app .export-listing-header h2{text-align:center!important}body.erp-app .export-clear-toolbar{justify-content:center!important}:root{color-scheme:light;--y-page:#f3f2ef;--y-workspace:#f7f6f3;--y-surface:#fffdf9;--y-surface-strong:#ffffff;--y-surface-soft:#f1f0ed;--y-surface-hover:#ecebe7;--y-text:#252422;--y-text-2:#6e6a65;--y-text-3:#92908b;--y-line:rgba(37,36,34,.1);--y-line-strong:rgba(37,36,34,.16);--y-accent:#0071e3;--y-accent-hover:#0064c9;--y-accent-active:#0057b7;--y-accent-soft:#eaf3ff;--y-accent-softer:#f4f9ff;--y-success:#52705a;--y-warning:#8a6a3e;--y-danger:#a14f49;--y-danger-soft:#f7eceb;--y-focus:rgba(0,113,227,.22);--y-radius-frame:18px;--y-radius-card:14px;--y-radius-panel:12px;--y-radius-control:10px;--y-radius-small:8px;--y-shadow-popover:0 12px 30px rgba(30,28,25,.12);--y-shadow-float:0 16px 40px rgba(30,28,25,.14);--y-shadow-modal:0 24px 64px rgba(30,28,25,.2);--y-font:"PingFang SC","\82f9\65b9-\7b80","\82f9\65b9",-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue","Microsoft YaHei",Arial,sans-serif;--y-mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;--y-ease:cubic-bezier(.2,.8,.2,1);--y-fast:.12s;--y-normal:.16s;--y-slow:.22s}html{color-scheme:light;scrollbar-color:rgba(37,36,34,.24) transparent}body.erp-app,body.copywriting-app,body.infringement-app,body.watermark-app{margin:0;color:var(--y-text);background:var(--y-page);font-family:var(--y-font);font-size:13px;line-height:1.55;letter-spacing:0;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body.erp-app *,body.copywriting-app *,body.infringement-app *,body.watermark-app *{box-sizing:border-box;font-family:inherit;letter-spacing:0}body.erp-app button,body.erp-app input,body.erp-app select,body.erp-app textarea,body.copywriting-app button,body.copywriting-app input,body.copywriting-app select,body.copywriting-app textarea,body.infringement-app button,body.infringement-app input,body.infringement-app select,body.infringement-app textarea,body.watermark-app button,body.watermark-app input,body.watermark-app select,body.watermark-app textarea{font-family:var(--y-font);color:inherit}body.erp-app button,body.copywriting-app button,body.infringement-app button,body.watermark-app button{transform:none;box-shadow:none;transition:background-color var(--y-normal) var(--y-ease),border-color var(--y-normal) var(--y-ease),color var(--y-normal) var(--y-ease),opacity var(--y-normal) var(--y-ease)}body.erp-app button:hover:not(:disabled),body.copywriting-app button:hover:not(:disabled),body.infringement-app button:hover:not(:disabled),body.watermark-app button:hover:not(:disabled),body.erp-app button:active:not(:disabled),body.copywriting-app button:active:not(:disabled),body.infringement-app button:active:not(:disabled),body.watermark-app button:active:not(:disabled){transform:none}body.erp-app :focus-visible,body.copywriting-app :focus-visible,body.infringement-app :focus-visible,body.watermark-app :focus-visible{outline:2px solid var(--y-focus);outline-offset:2px}body.erp-app input::placeholder,body.erp-app textarea::placeholder,body.copywriting-app input::placeholder,body.copywriting-app textarea::placeholder,body.infringement-app input::placeholder,body.infringement-app textarea::placeholder,body.watermark-app input::placeholder,body.watermark-app textarea::placeholder{color:#aaa6a0;opacity:1}body.erp-app ::selection,body.copywriting-app ::selection,body.infringement-app ::selection,body.watermark-app ::selection{background:#5b6c612e}body.erp-app .hidden,body.copywriting-app .hidden,body.infringement-app .hidden,body.watermark-app .hidden{display:none!important}body.erp-app input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),body.erp-app select,body.erp-app textarea,body.copywriting-app input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),body.copywriting-app select,body.copywriting-app textarea,body.infringement-app input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),body.infringement-app select,body.infringement-app textarea,body.watermark-app input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),body.watermark-app select,body.watermark-app textarea{border:1px solid var(--y-line-strong);border-radius:var(--y-radius-control);background:var(--y-surface-strong);color:var(--y-text);box-shadow:none;transition:border-color var(--y-normal) var(--y-ease),background-color var(--y-normal) var(--y-ease),box-shadow var(--y-normal) var(--y-ease)}body.erp-app input:focus,body.erp-app select:focus,body.erp-app textarea:focus,body.copywriting-app input:focus,body.copywriting-app select:focus,body.copywriting-app textarea:focus,body.infringement-app input:focus,body.infringement-app select:focus,body.infringement-app textarea:focus,body.watermark-app input:focus,body.watermark-app select:focus,body.watermark-app textarea:focus{border-color:#5b6c617a;box-shadow:0 0 0 3px #5b6c6117;outline:0}body.erp-app button:disabled,body.copywriting-app button:disabled,body.infringement-app button:disabled,body.watermark-app button:disabled{opacity:1;color:#9b9791;border-color:#25242212;background:#2524220b;cursor:not-allowed}body.erp-app *::-webkit-scrollbar,body.copywriting-app *::-webkit-scrollbar,body.infringement-app *::-webkit-scrollbar,body.watermark-app *::-webkit-scrollbar{width:10px;height:10px}body.erp-app *::-webkit-scrollbar-thumb,body.copywriting-app *::-webkit-scrollbar-thumb,body.infringement-app *::-webkit-scrollbar-thumb,body.watermark-app *::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:999px;background:#25242233;background-clip:padding-box}body.erp-app *::-webkit-scrollbar-thumb:hover,body.copywriting-app *::-webkit-scrollbar-thumb:hover,body.infringement-app *::-webkit-scrollbar-thumb:hover,body.watermark-app *::-webkit-scrollbar-thumb:hover{background:#2524224f;background-clip:padding-box}body.erp-app{--bg:var(--y-page);--surface:var(--y-workspace);--surface-strong:var(--y-surface);--text:var(--y-text);--muted:var(--y-text-2);--subtle:var(--y-text-3);--line:var(--y-line);--accent:var(--y-accent);--accent-hover:var(--y-accent-hover);--accent-soft:var(--y-accent-soft);--danger:var(--y-danger);--success:var(--y-success);--sidebar:164px;--radius-frame:var(--y-radius-frame);--radius-card:var(--y-radius-card);--radius-control:var(--y-radius-control);--radius-small:var(--y-radius-small);--height-compact:32px;--height-control:36px;--height-form:44px;--height-primary:40px;--selected-bg:var(--y-accent-soft);--selected-border:rgba(91,108,97,.2);--selected-text:#344039}body.erp-app.app-booting:before{background-color:var(--y-page);background-size:168px auto}body.erp-app #loginView{background:var(--y-page)}body.erp-app .login-card{box-shadow:none}body.erp-app .login-logo-frame{margin-bottom:22px}body.erp-app .login-logo{filter:drop-shadow(0 7px 12px rgba(91,66,39,.07))}body.erp-app .login-card form{gap:10px}body.erp-app .login-card input{font-size:13px}body.erp-app .login-card #loginSubmitBtn{letter-spacing:.04em}body.erp-app .login-card #loginSubmitBtn:hover{background:var(--y-accent-hover);border-color:var(--y-accent-hover)}body.erp-app .login-error{color:var(--y-danger)}body.erp-app #appView{background:var(--y-page)}body.erp-app .sidebar{box-shadow:none}body.erp-app .workspace{overflow:hidden}body.erp-app .content{background:transparent}body.erp-app .brand{margin:0 0 6px}body.erp-app .brand img{filter:drop-shadow(0 6px 10px rgba(91,66,39,.06))}body.erp-app .nav{padding:6px 0}body.erp-app .nav button{text-align:left}body.erp-app .nav button:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:2px;border-radius:999px;background:transparent}body.erp-app .nav button:hover{background:#e8ede994;color:var(--y-text)}body.erp-app .nav button.active{color:#344039}body.erp-app .nav button.active:before{background:var(--y-accent)}body.erp-app .sidebar-user{border-top:1px solid var(--y-line)}body.erp-app .user-name{font-weight:600}body.erp-app .user-name:hover{background:#fff;color:var(--y-text)}body.erp-app .user-popover{box-shadow:var(--y-shadow-popover)}body.erp-app .user-menu-action{font-weight:550}body.erp-app .user-menu-action:hover{background:var(--y-surface-soft);color:var(--y-text)}body.erp-app .logout-action{color:var(--y-danger)}body.erp-app .view,body.erp-app iframe{background:transparent}body.erp-app .copywriting-frame,body.erp-app .infringement-frame{border:0;background:transparent}body.erp-app .removal-command-bar,body.erp-app .image-opt-command-bar,body.erp-app .export-listing-header{box-shadow:none}body.erp-app .removal-selection-meta,body.erp-app .image-opt-selection-tools,body.erp-app .export-selection-meta{line-height:18px}body.erp-app .removal-selection-meta strong,body.erp-app .image-opt-selection-tools strong,body.erp-app .export-selection-meta strong{font-variant-numeric:tabular-nums}body.erp-app .removal-actions,body.erp-app .removal-secondary-actions,body.erp-app .image-opt-command-actions,body.erp-app .export-listing-actions{gap:8px}body.erp-app .removal-workflow-button,body.erp-app .removal-secondary-button,body.erp-app .image-tool-button,body.erp-app .image-open-doubao,body.erp-app .image-inline-delete,body.erp-app .image-transfer-export,body.erp-app .export-mapping-button,body.erp-app .export-complete-button,body.erp-app .account-modal-button,body.erp-app .modal-btn{min-height:36px;height:36px;padding:0 14px;border:1px solid var(--y-line-strong);border-radius:10px;background:#ffffffd6;color:var(--y-text);font-size:13px;font-weight:600;white-space:nowrap;backdrop-filter:none}body.erp-app .removal-workflow-button:hover:not(:disabled),body.erp-app .image-tool-button:hover:not(:disabled),body.erp-app .image-open-doubao:hover:not(:disabled),body.erp-app .account-modal-button.secondary:hover:not(:disabled),body.erp-app .modal-btn:hover:not(:disabled){border-color:#5b6c6140;background:var(--y-accent-soft);color:#344039}body.erp-app .removal-secondary-button:not(.danger),body.erp-app .image-transfer-export,body.erp-app .export-mapping-button,body.erp-app .export-complete-button,body.erp-app .account-modal-button.primary,body.erp-app .modal-btn.confirm:not(.danger){border-color:var(--y-accent);background:var(--y-accent);color:#fff}body.erp-app .removal-secondary-button:not(.danger):hover:not(:disabled),body.erp-app .image-transfer-export:hover:not(:disabled),body.erp-app .export-mapping-button:hover:not(:disabled),body.erp-app .export-complete-button:hover:not(:disabled),body.erp-app .account-modal-button.primary:hover:not(:disabled),body.erp-app .modal-btn.confirm:not(.danger):hover:not(:disabled){border-color:var(--y-accent-hover);background:var(--y-accent-hover);color:#fff}body.erp-app .danger,body.erp-app .image-inline-delete,body.erp-app .export-quiet-delete,body.erp-app .modal-btn.confirm.danger{border-color:#a14f4924;background:var(--y-danger-soft);color:var(--y-danger)}body.erp-app .danger:hover:not(:disabled),body.erp-app .image-inline-delete:hover:not(:disabled),body.erp-app .export-quiet-delete:hover:not(:disabled),body.erp-app .modal-btn.confirm.danger:hover:not(:disabled){border-color:#a14f4938;background:#f3dfdd;color:#93443f}body.erp-app .export-complete-button{height:40px;max-width:280px;padding-inline:16px;white-space:normal;line-height:17px}body.erp-app .export-mapping-button{min-width:104px}body.erp-app #exportMappingStatus,body.erp-app #imageOptimizationStatus,body.erp-app #removalTransferStatus{color:var(--y-text-3);font-size:12px}body.erp-app .removal-table-wrap,body.erp-app .image-opt-table-wrap,body.erp-app .export-listing-table-wrap{border:0;overscroll-behavior:contain}body.erp-app .removal-table-wrap table,body.erp-app .image-opt-table-wrap table,body.erp-app .export-listing-table-wrap table{font-size:13px;color:var(--y-text)}body.erp-app .removal-table-wrap th,body.erp-app .image-opt-table-wrap th,body.erp-app .export-listing-table-wrap th{white-space:nowrap}body.erp-app .removal-table-wrap td,body.erp-app .image-opt-table-wrap td,body.erp-app .export-listing-table-wrap td{vertical-align:middle}body.erp-app .removal-table-wrap tbody tr:hover td,body.erp-app .image-opt-table-wrap tbody tr:hover td,body.erp-app .export-listing-table-wrap tbody tr:hover td{background:#faf9f6}body.erp-app .removal-table-wrap tbody tr.selected td,body.erp-app .image-opt-table-wrap tbody tr.selected td,body.erp-app .export-listing-table-wrap tbody tr.selected td{background:var(--y-accent-softer)}body.erp-app .removal-table-wrap td.removal-col-image,body.erp-app .image-opt-table-wrap td.image-col-image,body.erp-app .export-listing-table-wrap td.image-col-image{text-align:center}body.erp-app .removal-table-wrap td.removal-col-sku,body.erp-app .removal-table-wrap td.removal-col-asin,body.erp-app .image-opt-table-wrap td.image-col-sku,body.erp-app .image-opt-table-wrap td.image-col-asin,body.erp-app .export-listing-table-wrap td.image-col-sku,body.erp-app .export-listing-table-wrap td.image-col-asin{font-family:var(--y-mono);font-size:12px;font-variant-numeric:tabular-nums;text-align:left}body.erp-app .removal-table-wrap td.removal-col-name,body.erp-app .removal-table-wrap td.removal-col-brand,body.erp-app .removal-table-wrap td.removal-col-short,body.erp-app .removal-table-wrap td.removal-col-long,body.erp-app .image-opt-table-wrap td.image-col-name,body.erp-app .image-opt-table-wrap td.image-col-brand,body.erp-app .image-opt-table-wrap td.image-col-short,body.erp-app .image-opt-table-wrap td.image-col-long{text-align:left}body.erp-app .image-opt-thumbnail,body.erp-app .export-optimized-thumb{object-fit:contain}body.erp-app .image-opt-placeholder,body.erp-app .optimized-placeholder,body.erp-app .image-placeholder{border:1px dashed var(--y-line-strong);border-radius:8px;background:var(--y-surface-soft);color:var(--y-text-3)}body.erp-app .image-status-badge,body.erp-app .quality-badge{padding:3px 7px;border-radius:999px;font-size:12px;font-weight:600;line-height:16px}body.erp-app .modal-backdrop{padding:20px;background:#1e1c1947;backdrop-filter:blur(2px)}body.erp-app .account-modal,body.erp-app .system-modal,body.erp-app .export-file-modal,body.erp-app .watermark-tool-modal{border:1px solid var(--y-line);border-radius:16px;background:var(--y-surface);box-shadow:var(--y-shadow-modal)}body.erp-app .system-modal{padding:22px 24px 20px}body.erp-app .export-file-modal{width:min(560px,calc(100vw - 32px))}body.erp-app .watermark-tool-modal{height:min(860px,calc(100vh - 32px))}body.erp-app .account-modal-actions,body.erp-app .export-file-modal-actions{padding:12px 24px;border-top:1px solid var(--y-line);gap:8px}body.erp-app .account-modal h2,body.erp-app .system-modal h2,body.erp-app .export-file-modal h2,body.erp-app .watermark-tool-modal h2{margin:0;font-size:18px;line-height:26px;font-weight:650}body.erp-app .account-modal p,body.erp-app .system-modal p,body.erp-app .export-file-modal p,body.erp-app .watermark-tool-modal p{color:var(--y-text-2);font-size:13px;line-height:21px}body.erp-app .account-field,body.erp-app .export-file-modal label{color:var(--y-text-2);font-size:12px;font-weight:600}body.erp-app .account-field input,body.erp-app .export-file-modal input{height:42px;padding:0 12px;font-size:13px}body.erp-app .account-modal-close,body.erp-app .optimized-upload-close,body.erp-app .erp-image-zoom-close{width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:var(--y-text-3);font-size:20px;font-weight:400}body.erp-app .account-modal-close:hover,body.erp-app .optimized-upload-close:hover,body.erp-app .erp-image-zoom-close:hover{background:var(--y-surface-soft);color:var(--y-text)}body.erp-app .erp-toast{line-height:20px}body.erp-app .erp-image-zoom-backdrop{backdrop-filter:blur(3px)}body.erp-app .erp-image-zoom-dialog{box-shadow:var(--y-shadow-modal)}body.erp-app .erp-image-hover-preview{padding:8px;border:1px solid var(--y-line);border-radius:12px;background:var(--y-surface);box-shadow:var(--y-shadow-float)}                                                                                                                       body.copywriting-app{--bg:var(--y-page);--surface:var(--y-surface);--surface-soft:var(--y-surface-soft);--text:var(--y-text);--muted:var(--y-text-2);--subtle:var(--y-text-3);--line:var(--y-line);--line-strong:var(--y-line-strong);--accent:var(--y-accent);--accent-hover:var(--y-accent-hover);--accent-soft:var(--y-accent-soft);--danger:var(--y-danger)}body.copywriting-app .workspaceShell{overflow:hidden}body.copywriting-app .commandBar{box-shadow:none;justify-content:space-between}body.copywriting-app .workflowActions{justify-content:flex-start;background:var(--y-surface-soft)}body.copywriting-app .workflowButton{font-weight:600}body.copywriting-app .workflowButton:hover{background:#ffffffa6;color:var(--y-text)}body.copywriting-app .workflowButton.active,body.copywriting-app .workflowButton[aria-pressed=true]{box-shadow:inset 0 0 0 1px var(--y-line)}body.copywriting-app .commandMeta{gap:10px;color:var(--y-text-2);font-size:12px}body.copywriting-app .commandMeta strong{color:var(--y-text);font-variant-numeric:tabular-nums}body.copywriting-app .selectionDeleteButton{height:34px;padding:0 11px;border:1px solid rgba(161,79,73,.14);border-radius:8px;background:var(--y-danger-soft);color:var(--y-danger);font-size:12px;font-weight:600}body.copywriting-app .contentCard{overflow:hidden}body.copywriting-app .workspacePanel{background:var(--y-surface)}body.copywriting-app .tableWrap{background:var(--y-surface);overscroll-behavior:contain}body.copywriting-app #dataTable,body.copywriting-app #outputTable,body.copywriting-app #embeddedRemovalTable{font-size:13px;color:var(--y-text)}body.copywriting-app #dataTable th,body.copywriting-app #outputTable th,body.copywriting-app #embeddedRemovalTable th{height:42px;padding:8px 10px;border-color:var(--y-line);background:#f1f0ed;color:var(--y-text-2);white-space:nowrap}body.copywriting-app #dataTable td,body.copywriting-app #outputTable td,body.copywriting-app #embeddedRemovalTable td{height:66px;padding:8px 10px;border-color:var(--y-line);background:var(--y-surface);color:var(--y-text);font-size:13px;line-height:20px;vertical-align:middle;text-align:left}body.copywriting-app #dataTable tbody tr:hover td,body.copywriting-app #outputTable tbody tr:hover td,body.copywriting-app #embeddedRemovalTable tbody tr:hover td{background:#faf9f6}body.copywriting-app #dataTable tbody tr.selected td,body.copywriting-app #embeddedRemovalTable tbody tr.selected td{background:var(--y-accent-softer)}body.copywriting-app #dataTable th.selectCell,body.copywriting-app #dataTable td.selectCell,body.copywriting-app #embeddedRemovalTable th.selectCell,body.copywriting-app #embeddedRemovalTable td.selectCell{text-align:center}body.copywriting-app #dataTable th.col-sku,body.copywriting-app #dataTable td.col-sku,body.copywriting-app #outputTable th.col-sku,body.copywriting-app #outputTable td.col-sku{font-family:var(--y-mono);font-size:12px;font-variant-numeric:tabular-nums;text-align:left}body.copywriting-app .cellClamp{font-size:13px;text-align:left}body.copywriting-app .copyableCell{padding-right:36px}body.copywriting-app .cellCopyButton{border:0;color:var(--y-text-3)}body.copywriting-app .cellCopyButton:hover{background:var(--y-surface-soft);color:var(--y-text)}body.copywriting-app .tableFootnote{line-height:18px}body.copywriting-app .editor{padding:16px;resize:none;box-shadow:none}body.copywriting-app .editor:focus{border:0;box-shadow:inset 0 0 0 2px #5b6c612e}body.copywriting-app .parseWorkspace{background:var(--y-workspace)}body.copywriting-app .parseInputPane,body.copywriting-app .embeddedRemovalPane{box-shadow:none;overflow:hidden}body.copywriting-app .message{min-height:34px;padding:8px 12px;color:var(--y-text-2);font-size:12px;line-height:18px}body.copywriting-app .message.error{color:var(--y-danger)}body.copywriting-app .message.success{color:var(--y-success)}body.copywriting-app .embeddedRemovalButton,body.copywriting-app .transferRemovalButton{height:34px;padding:0 11px;border:1px solid var(--y-line-strong);border-radius:8px;background:#fff;color:var(--y-text);font-size:12px;font-weight:600}body.copywriting-app .embeddedRemovalButton:hover:not(:disabled),body.copywriting-app .transferRemovalButton:hover:not(:disabled){border-color:#5b6c613d;background:var(--y-accent-soft);color:#344039}body.copywriting-app .embeddedRemovalButton.primary,body.copywriting-app .transferRemovalButton{border-color:var(--y-accent);background:var(--y-accent);color:#fff}body.copywriting-app .embeddedRemovalButton.danger{color:var(--y-danger)}body.copywriting-app .emptyCell,body.copywriting-app .embeddedRemovalEmpty{height:390px;padding:90px 24px;color:var(--y-text-2);font-size:13px;line-height:1.7;text-align:center;vertical-align:middle}body.copywriting-app .emptyCell:before,body.copywriting-app .embeddedRemovalEmpty:before{content:"";display:block;width:42px;height:42px;margin:0 auto 12px;border:1px solid rgba(91,108,97,.16);border-radius:12px;background:var(--y-accent-softer)}body.copywriting-app .moduleToast{right:18px;bottom:18px;max-width:420px;padding:10px 14px;border:1px solid var(--y-line);border-radius:10px;background:#252422ed;color:#fff;box-shadow:var(--y-shadow-popover);line-height:20px}@media(prefers-reduced-motion:reduce){body.erp-app *,body.copywriting-app *,body.infringement-app *,body.watermark-app *{animation:none;transition:none;scroll-behavior:auto}}html{min-width:0}body.copywriting-app #dataTable th,body.copywriting-app #outputTable th,body.copywriting-app #embeddedRemovalTable th{text-align:center!important;vertical-align:middle!important;font-family:inherit!important;font-size:12px!important;line-height:18px!important;font-weight:650!important;white-space:nowrap!important}body.copywriting-app #dataTable th.col-sku,body.copywriting-app #outputTable th.col-sku,body.copywriting-app #embeddedRemovalTable th.col-sku{text-align:center!important;font-family:inherit!important;font-size:12px!important}body.copywriting-app .cellCopyButton{pointer-events:none!important;transition:opacity .12s ease,background-color .12s ease,color .12s ease!important}body.copywriting-app #dataTable td:hover .cellCopyButton,body.copywriting-app #outputTable td:hover .cellCopyButton,body.copywriting-app #embeddedRemovalTable td:hover .cellCopyButton,body.copywriting-app .copyableCell:focus-within .cellCopyButton,body.copywriting-app .cellCopyButton:focus-visible{opacity:1!important;pointer-events:auto!important}body.copywriting-app .copyableCell .cellCopyButton{transform:translateY(-50%)!important}:root{color-scheme:light;--ref-page:#f5f5f7;--ref-workspace:#f7f7f8;--ref-surface:#ffffff;--ref-surface-glass:rgba(255,255,255,.88);--ref-surface-soft:#f2f2f4;--ref-surface-hover:#ececee;--ref-text:#1d1d1f;--ref-text-secondary:#6e6e73;--ref-text-tertiary:#929297;--ref-border:rgba(29,29,31,.1);--ref-border-strong:rgba(29,29,31,.16);--ref-accent:#0071e3;--ref-accent-hover:#0064c9;--ref-accent-active:#0057b7;--ref-accent-soft:#eaf3ff;--ref-danger:#9d4b46;--ref-danger-soft:#f8eceb;--ref-warning:#82683f;--ref-success:#52705a;--ref-focus:rgba(0,113,227,.22);--ref-radius-frame:18px;--ref-radius-card:14px;--ref-radius-control:10px;--ref-radius-small:8px;--ref-shadow-popover:0 14px 38px rgba(0,0,0,.1);--ref-shadow-modal:0 26px 72px rgba(0,0,0,.18);--ref-font:"PingFang SC","\82f9\65b9-\7b80","\82f9\65b9",-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue","Microsoft YaHei",Arial,sans-serif;--ref-ease:cubic-bezier(.2,.75,.2,1)}html{min-width:0;color-scheme:light}body.erp-app,body.api-app,body.copywriting-app,body.infringement-app,body.watermark-app{color:var(--ref-text);background:var(--ref-page);font-family:var(--ref-font);font-size:13px;line-height:1.55;letter-spacing:0;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body.erp-app *,body.api-app *,body.copywriting-app *,body.infringement-app *,body.watermark-app *{box-sizing:border-box;font-family:inherit;letter-spacing:0}body.erp-app button,body.api-app button,body.copywriting-app button,body.infringement-app button,body.watermark-app button,body.erp-app input,body.api-app input,body.copywriting-app input,body.infringement-app input,body.watermark-app input,body.erp-app select,body.api-app select,body.copywriting-app select,body.infringement-app select,body.watermark-app select,body.erp-app textarea,body.api-app textarea,body.copywriting-app textarea,body.infringement-app textarea,body.watermark-app textarea{font-family:inherit}body.erp-app :focus-visible,body.api-app :focus-visible,body.copywriting-app :focus-visible,body.infringement-app :focus-visible,body.watermark-app :focus-visible{outline:2px solid var(--ref-focus);outline-offset:2px}body.erp-app button,body.api-app button,body.copywriting-app button,body.infringement-app button,body.watermark-app button{min-height:34px;border-radius:var(--ref-radius-control);font-size:13px;font-weight:600;box-shadow:none;transform:none;transition:background-color .16s var(--ref-ease),border-color .16s var(--ref-ease),color .16s var(--ref-ease),opacity .16s var(--ref-ease)}body.erp-app button:active:not(:disabled),body.api-app button:active:not(:disabled),body.copywriting-app button:active:not(:disabled),body.infringement-app button:active:not(:disabled),body.watermark-app button:active:not(:disabled){transform:none}body.erp-app button:disabled,body.api-app button:disabled,body.copywriting-app button:disabled,body.infringement-app button:disabled,body.watermark-app button:disabled{color:#9a9a9f!important;border-color:#1d1d1f12!important;background:#1d1d1f0b!important;opacity:1!important;cursor:not-allowed}body.erp-app input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),body.erp-app select,body.erp-app textarea,body.api-app input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),body.api-app select,body.api-app textarea,body.copywriting-app input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),body.copywriting-app select,body.copywriting-app textarea,body.infringement-app input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),body.infringement-app select,body.infringement-app textarea,body.watermark-app input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),body.watermark-app select,body.watermark-app textarea{border:1px solid var(--ref-border-strong);border-radius:var(--ref-radius-control);color:var(--ref-text);background:var(--ref-surface);box-shadow:none}body.erp-app input:focus,body.erp-app select:focus,body.erp-app textarea:focus,body.api-app input:focus,body.api-app select:focus,body.api-app textarea:focus,body.copywriting-app input:focus,body.copywriting-app select:focus,body.copywriting-app textarea:focus,body.infringement-app input:focus,body.infringement-app select:focus,body.infringement-app textarea:focus,body.watermark-app input:focus,body.watermark-app select:focus,body.watermark-app textarea:focus{border-color:#52645b80;box-shadow:0 0 0 3px #52645b17;outline:0}body.erp-app{--sidebar:156px;--bg:var(--ref-page);--surface:var(--ref-workspace);--surface-strong:var(--ref-surface);--text:var(--ref-text);--muted:var(--ref-text-secondary);--subtle:var(--ref-text-tertiary);--line:var(--ref-border);--accent:var(--ref-accent);--accent-hover:var(--ref-accent-hover)}body.erp-app #appView{background:var(--ref-page)}body.erp-app .sidebar{box-shadow:none}body.erp-app .workspace{box-shadow:none}body.erp-app .brand img{width:74px}body.erp-app .nav{gap:4px}body.erp-app .nav button{font-weight:600}body.erp-app .nav button:hover{color:var(--ref-text);background:var(--ref-surface-soft)}body.erp-app .nav button.active{background:var(--ref-accent-soft)}body.erp-app .user-name{color:var(--ref-text-secondary)}body.erp-app .user-popover{backdrop-filter:blur(18px) saturate(120%)}body.erp-app .removal-command-bar,body.erp-app .image-opt-command-bar,body.erp-app .export-listing-header{border-color:var(--ref-border);box-shadow:none}body.erp-app .removal-table-card,body.erp-app .image-opt-table-card,body.erp-app .export-listing-table-wrap{box-shadow:none}body.erp-app .removal-table-wrap,body.erp-app .image-opt-table-wrap,body.erp-app .export-listing-table-wrap{scrollbar-gutter:stable}body.erp-app table th{border-color:var(--ref-border);font-weight:650}body.erp-app table td{color:var(--ref-text);border-color:var(--ref-border)}body.erp-app table tbody tr.selected,body.erp-app table tbody tr.selected-for-delete{background:#f0f4f1}body.erp-app .image-transfer-export,body.erp-app .export-mapping-button,body.erp-app .export-complete-button,body.erp-app .account-modal-button.primary,body.erp-app .modal-btn.confirm:not(.danger),body.api-app .button.primary,body.copywriting-app .commandPrimaryButton,body.copywriting-app .workflowButton.primary,body.infringement-app .button.primary,body.watermark-app .primary{border-color:var(--ref-accent)!important;background:var(--ref-accent)!important;color:#fff!important}body.erp-app .image-transfer-export:hover:not(:disabled),body.erp-app .export-mapping-button:hover:not(:disabled),body.erp-app .export-complete-button:hover:not(:disabled),body.erp-app .account-modal-button.primary:hover:not(:disabled),body.erp-app .modal-btn.confirm:not(.danger):hover:not(:disabled),body.api-app .button.primary:hover:not(:disabled),body.copywriting-app .commandPrimaryButton:hover:not(:disabled),body.infringement-app .button.primary:hover:not(:disabled),body.watermark-app .primary:hover:not(:disabled){border-color:var(--ref-accent-hover)!important;background:var(--ref-accent-hover)!important}body.erp-app .danger,body.erp-app .image-inline-delete,body.erp-app .export-quiet-delete,body.api-app .button.danger,body.copywriting-app .danger,body.infringement-app .danger{border-color:#9d4b4624!important;background:var(--ref-danger-soft)!important;color:var(--ref-danger)!important}body.erp-app .modal-backdrop,body.infringement-app .dialog-backdrop{padding:24px;backdrop-filter:blur(5px) saturate(105%)}body.erp-app .account-modal,body.erp-app .system-modal,body.erp-app .export-file-modal,body.erp-app .watermark-tool-modal,body.infringement-app .dialog-card,body.watermark-app .success-dialog{border:1px solid rgba(255,255,255,.7);border-radius:18px;background:#fffffff7;box-shadow:var(--ref-shadow-modal)}body.erp-app .system-modal{padding:22px 24px 20px}body.erp-app .account-modal,body.erp-app .export-file-modal{width:min(520px,calc(100vw - 32px))}body.erp-app .account-modal h2,body.erp-app .system-modal h2,body.erp-app .export-file-modal h2,body.erp-app .watermark-tool-modal h2,body.infringement-app .dialog-header h2,body.watermark-app .success-dialog h2{color:var(--ref-text);font-size:18px;line-height:26px;font-weight:650;letter-spacing:-.01em}body.erp-app .account-modal p,body.erp-app .system-modal p,body.erp-app .export-file-modal p,body.infringement-app .dialog-card p,body.watermark-app .success-dialog p{color:var(--ref-text-secondary);font-size:13px;line-height:1.65}body.erp-app .account-modal-actions,body.erp-app .export-file-modal-actions,body.infringement-app .dialog-footer{padding:12px 22px 16px;border-color:var(--ref-border)}body.erp-app .account-modal-close,body.erp-app .optimized-upload-close,body.erp-app .erp-image-zoom-close,body.infringement-app .dialog-close{width:32px;height:32px;min-height:32px;border:0;border-radius:9px;background:transparent;color:var(--ref-text-tertiary);font-size:18px;font-weight:400}body.erp-app .account-modal-close:hover,body.erp-app .optimized-upload-close:hover,body.erp-app .erp-image-zoom-close:hover,body.infringement-app .dialog-close:hover{background:var(--ref-surface-soft);color:var(--ref-text)}               body.api-app{--bg:var(--ref-page);--surface:var(--ref-surface);--surface-soft:var(--ref-surface-soft);--text:var(--ref-text);--muted:var(--ref-text-secondary);--line:var(--ref-border);background:var(--ref-page)!important}body.api-app .module-toast{background:#2b322ef0!important;box-shadow:var(--ref-shadow-popover)!important}body.copywriting-app .commandBar,body.infringement-app .library-toolbar,body.watermark-app .topTools{border-color:var(--ref-border)!important;background:#ffffffe0!important;box-shadow:none!important}body.copywriting-app .contentCard,body.copywriting-app .workspacePanel,body.infringement-app .library-card,body.watermark-app .card{border-color:var(--ref-border)!important;border-radius:var(--ref-radius-card)!important;background:var(--ref-surface)!important;box-shadow:none!important}body.copywriting-app .tableWrap,body.infringement-app .term-grid,body.watermark-app .canvasWrap{overscroll-behavior:contain;scrollbar-gutter:stable}body.copywriting-app table th,body.infringement-app .term-grid .term-head{background:#f6f6f8!important;color:var(--ref-text-secondary)!important;border-color:var(--ref-border)!important}body.copywriting-app table td,body.infringement-app .term-item{border-color:var(--ref-border)!important}body.copywriting-app .moduleToast,body.infringement-app .module-toast,body.watermark-app .watermark-toast{background:#2b322ef0!important;box-shadow:var(--ref-shadow-popover)!important}body.erp-app .sidebar,body.erp-app .workspace,body.api-app .connection-panel,body.api-app .editor-panel,body.copywriting-app .commandBar,body.infringement-app .library-toolbar,body.watermark-app .topTools{contain:layout style}body.erp-app iframe{background:var(--ref-workspace)}body.erp-app img,body.api-app img,body.copywriting-app img,body.infringement-app img,body.watermark-app img{image-rendering:auto}body.erp-app *::-webkit-scrollbar,body.api-app *::-webkit-scrollbar,body.copywriting-app *::-webkit-scrollbar,body.infringement-app *::-webkit-scrollbar,body.watermark-app *::-webkit-scrollbar{width:10px;height:10px}body.erp-app *::-webkit-scrollbar-thumb,body.api-app *::-webkit-scrollbar-thumb,body.copywriting-app *::-webkit-scrollbar-thumb,body.infringement-app *::-webkit-scrollbar-thumb,body.watermark-app *::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:999px;background:#1d1d1f33;background-clip:padding-box}body.erp-app *::-webkit-scrollbar-track,body.api-app *::-webkit-scrollbar-track,body.copywriting-app *::-webkit-scrollbar-track,body.infringement-app *::-webkit-scrollbar-track,body.watermark-app *::-webkit-scrollbar-track{background:transparent}@media(prefers-reduced-motion:reduce){body.erp-app *,body.api-app *,body.copywriting-app *,body.infringement-app *,body.watermark-app *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}::selection{background:#52645b2e;color:var(--ref-text)}body.erp-app,body.api-app,body.copywriting-app,body.infringement-app,body.watermark-app{-webkit-tap-highlight-color:transparent}body.erp-app input[type=checkbox],body.erp-app input[type=radio],body.api-app input[type=checkbox],body.api-app input[type=radio],body.copywriting-app input[type=checkbox],body.copywriting-app input[type=radio],body.infringement-app input[type=checkbox],body.infringement-app input[type=radio],body.watermark-app input[type=checkbox],body.watermark-app input[type=radio]{accent-color:var(--ref-accent)}body.erp-app table,body.copywriting-app table,body.erp-app .progress-summary,body.erp-app .count,body.api-app .count,body.infringement-app .count{font-variant-numeric:tabular-nums lining-nums}body.erp-app .sidebar,body.erp-app .workspace,body.api-app .connection-panel,body.api-app .editor-panel,body.copywriting-app .contentCard,body.copywriting-app .workspacePanel,body.infringement-app .library-card,body.watermark-app .card{isolation:isolate}body.erp-app .modal-backdrop,body.infringement-app .dialog-backdrop{background:#1414165c;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){body.erp-app .user-popover{-webkit-backdrop-filter:blur(14px) saturate(115%);backdrop-filter:blur(14px) saturate(115%)}}body.erp-app .removal-table-card,body.erp-app .image-opt-table-card,body.api-app .form-section,body.copywriting-app .contentCard,body.infringement-app .library-card,body.watermark-app .card{contain:layout style paint}body.erp-app button,body.api-app button,body.copywriting-app button,body.infringement-app button,body.watermark-app button{text-wrap:balance;white-space:nowrap}body.erp-app textarea,body.api-app textarea,body.copywriting-app textarea,body.infringement-app textarea,body.watermark-app textarea{resize:vertical}body.erp-app input::placeholder,body.api-app input::placeholder,body.copywriting-app input::placeholder,body.infringement-app input::placeholder,body.watermark-app input::placeholder,body.erp-app textarea::placeholder,body.api-app textarea::placeholder,body.copywriting-app textarea::placeholder,body.infringement-app textarea::placeholder,body.watermark-app textarea::placeholder{color:var(--ref-text-tertiary);opacity:1}body.erp-app .erp-toast,body.api-app .module-toast,body.copywriting-app .moduleToast,body.infringement-app .module-toast,body.watermark-app .watermark-toast{max-width:min(420px,calc(100vw - 24px));line-height:1.45}@media(hover:hover)and (pointer:fine){body.erp-app *::-webkit-scrollbar-thumb:hover,body.api-app *::-webkit-scrollbar-thumb:hover,body.copywriting-app *::-webkit-scrollbar-thumb:hover,body.infringement-app *::-webkit-scrollbar-thumb:hover,body.watermark-app *::-webkit-scrollbar-thumb:hover{background:#1d1d1f52;background-clip:padding-box}}@media(prefers-contrast:more){:root{--ref-border:rgba(29,29,31,.2);--ref-border-strong:rgba(29,29,31,.34);--ref-text-secondary:#535358}body.erp-app button,body.api-app button,body.copywriting-app button,body.infringement-app button,body.watermark-app button{border-width:1px}}@media(forced-colors:active){body.erp-app *,body.api-app *,body.copywriting-app *,body.infringement-app *,body.watermark-app *{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important}}:root{--ref-page:#f3f3f5;--ref-workspace:#f7f7f8;--ref-surface-elevated:#fbfbfc;--ref-hairline:rgba(29,29,31,.085);--ref-control-height:34px;--ref-command-height:56px;--ref-modal-small:400px;--ref-modal-medium:520px;--ref-modal-large:720px}body.erp-app .workflow-pagination{font-variant-numeric:tabular-nums}body.erp-app .workflow-pagination.hidden{display:none}body.erp-app .workflow-pagination span{font-size:12px;white-space:nowrap}body.erp-app .workflow-pagination button{min-height:30px;font-weight:600}body.erp-app .workflow-pagination button:hover:not(:disabled){border-color:var(--ref-border-strong);background:var(--ref-surface-soft);color:var(--ref-text)}body.erp-app .removal-table-wrap,body.erp-app .image-opt-table-wrap,body.erp-app .export-listing-table-wrap{scroll-behavior:auto}body.erp-app table thead th{position:sticky;top:0;z-index:3;height:38px;box-shadow:inset 0 -1px 0 var(--ref-hairline)}body.erp-app table tbody tr{transition:background-color .12s ease}body.erp-app table tbody tr:focus-within{background:#f6f8f7}body.erp-app .system-modal{width:min(var(--ref-modal-small),calc(100vw - 32px))}body.erp-app .account-modal,body.erp-app .export-file-modal{width:min(var(--ref-modal-medium),calc(100vw - 32px))}body.erp-app .watermark-tool-modal{height:min(820px,calc(100vh - 32px))}body.erp-app .account-modal-actions,body.erp-app .system-modal-actions,body.erp-app .export-file-actions,body.infringement-app .dialog-actions{min-height:58px;padding:12px 16px;border-top:1px solid var(--ref-hairline);background:#fafafa}body.erp-app .is-table-scrolling table tbody tr,body.erp-app .is-table-scrolling table td,body.erp-app .is-table-scrolling img{transition:none!important}body.erp-app .is-table-scrolling .erp-cell-copy-button{opacity:0!important;pointer-events:none}body.erp-app .export-listing-table-wrap col.image-col-amazon-long{width:220px!important;min-width:220px!important;max-width:220px!important}body.erp-app .export-listing-table-wrap th.image-col-amazon-long,body.erp-app .export-listing-table-wrap td.image-col-amazon-long{width:220px!important;min-width:220px!important;max-width:220px!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important;line-height:1.3!important}body.erp-app .export-listing-table-wrap th.image-col-amazon-long{padding-inline:12px!important}body.erp-app .export-listing-table-wrap td.image-col-amazon-long .image-cell-clamp{display:flex!important;align-items:center!important;justify-content:center!important;max-height:none!important;min-height:42px!important;overflow:visible!important;white-space:normal!important}body.erp-app .modal-backdrop,body.infringement-app .dialog-backdrop,body.watermark-app .dialog-backdrop{padding:12px!important}body.erp-app .system-modal{border-radius:13px!important}body.erp-app .system-modal-copy{padding:17px 18px 14px!important}body.erp-app .system-modal-copy h2{margin-bottom:6px!important;line-height:1.35!important}body.erp-app .system-modal-copy p{line-height:1.58!important}body.erp-app .system-modal-actions{min-height:0!important;padding:0!important}body.erp-app .system-modal .modal-btn{height:40px!important;font-size:13px!important}body.erp-app .account-form-feedback{grid-column:1/-1!important;margin:0!important;font-size:12px!important}body.erp-app .account-list{overflow:auto!important}body.erp-app .export-file-modal{border-radius:13px!important}body.erp-app .export-file-modal-copy{padding:15px 16px 12px!important}body.erp-app .export-file-modal-copy h2{margin-bottom:5px!important;font-size:15px!important}body.erp-app .export-file-modal-copy p{margin-bottom:10px!important;font-size:12px!important;line-height:1.55!important}body.erp-app .export-file-modal-copy input{height:38px!important}body.erp-app .export-file-modal-actions{padding:0!important;gap:0!important}body.erp-app .export-file-modal-actions .modal-btn{height:40px!important}body.erp-app .watermark-tool-modal{height:min(880px,calc(100vh - 20px))!important;border-radius:18px!important}body.erp-app .workflow-pagination,body.copywriting-app .embeddedRemovalPagination,body.infringement-app .pagination{contain:layout style}body.erp-app .account-modal,body.erp-app .system-modal,body.erp-app .export-file-modal,body.infringement-app .dialog-card,body.erp-app .watermark-tool-modal{overscroll-behavior:contain}body.erp-app .system-modal{min-width:min(260px,calc(100vw - 24px))!important;max-width:min(370px,calc(100vw - 24px))!important}body.erp-app .system-modal.content-compact{min-width:min(248px,calc(100vw - 24px))!important;max-width:min(306px,calc(100vw - 24px))!important}body.erp-app .system-modal.content-standard{max-width:min(342px,calc(100vw - 24px))!important}body.erp-app .system-modal.content-long{width:min(370px,calc(100vw - 24px))!important}body.erp-app .system-modal-copy{max-width:370px!important}body.erp-app .export-file-modal{width:min(360px,calc(100vw - 24px))!important}:root{--sys-page:#f5f5f7;--sys-surface:#ffffff;--sys-surface-subtle:#f8f8fa;--sys-surface-muted:#f1f1f3;--sys-text:#1d1d1f;--sys-text-secondary:#6e6e73;--sys-text-tertiary:#929297;--sys-border:rgba(29,29,31,.1);--sys-border-strong:rgba(29,29,31,.16);--sys-accent:#0071e3;--sys-accent-hover:#0064c9;--sys-accent-soft:#eaf3ff;--sys-danger:#9c4b46;--sys-danger-soft:#f8eceb;--sys-success:#52705a;--sys-warning:#84683e;--sys-focus:rgba(79,98,88,.22);--sys-radius-xs:8px;--sys-radius-sm:10px;--sys-radius-md:14px;--sys-radius-lg:18px;--sys-shadow-popover:0 16px 42px rgba(0,0,0,.11);--sys-shadow-modal:0 28px 78px rgba(0,0,0,.18);--sys-font:"PingFang SC","\82f9\65b9-\7b80","\82f9\65b9",-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue","Microsoft YaHei",Arial,sans-serif;--sys-mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;--sys-ease:cubic-bezier(.2,.75,.2,1);--sys-control-height:38px;--sys-control-height-compact:34px;--sys-app-height:100vh}html,body{min-width:0}html{background:var(--sys-page);scrollbar-gutter:stable}body.erp-app,body.api-app,body.copywriting-app,body.infringement-app,body.templates-app,body.watermark-app{color:var(--sys-text);background:var(--sys-page);font-family:var(--sys-font);font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body.erp-app *,body.api-app *,body.copywriting-app *,body.infringement-app *,body.templates-app *,body.watermark-app *{box-sizing:border-box}body.modal-open{overflow:hidden!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body.erp-app button,body.api-app button,body.copywriting-app button,body.infringement-app button,body.templates-app button,body.watermark-app button{min-height:var(--sys-control-height-compact);border-radius:var(--sys-radius-sm);font-size:13px;font-weight:600;letter-spacing:0;box-shadow:none;transform:none;transition:background-color .16s var(--sys-ease),border-color .16s var(--sys-ease),color .16s var(--sys-ease),opacity .16s var(--sys-ease)}body.erp-app button:active:not(:disabled),body.api-app button:active:not(:disabled),body.copywriting-app button:active:not(:disabled),body.infringement-app button:active:not(:disabled),body.templates-app button:active:not(:disabled),body.watermark-app button:active:not(:disabled){transform:none}body.erp-app :focus-visible,body.api-app :focus-visible,body.copywriting-app :focus-visible,body.infringement-app :focus-visible,body.templates-app :focus-visible,body.watermark-app :focus-visible{outline:2px solid var(--sys-focus);outline-offset:2px}body.pointer-mode :focus:not(:focus-visible){outline:0}body.erp-app input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),body.erp-app select,body.erp-app textarea,body.api-app input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),body.api-app select,body.api-app textarea,body.copywriting-app input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),body.copywriting-app select,body.copywriting-app textarea,body.infringement-app input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),body.infringement-app select,body.infringement-app textarea,body.templates-app input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),body.templates-app select,body.templates-app textarea,body.watermark-app input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),body.watermark-app select,body.watermark-app textarea{min-height:var(--sys-control-height);border:1px solid var(--sys-border-strong);border-radius:var(--sys-radius-sm);color:var(--sys-text);background:var(--sys-surface);box-shadow:none}body.erp-app input:focus,body.erp-app select:focus,body.erp-app textarea:focus,body.api-app input:focus,body.api-app select:focus,body.api-app textarea:focus,body.copywriting-app input:focus,body.copywriting-app select:focus,body.copywriting-app textarea:focus,body.infringement-app input:focus,body.infringement-app select:focus,body.infringement-app textarea:focus,body.templates-app input:focus,body.templates-app select:focus,body.templates-app textarea:focus,body.watermark-app input:focus,body.watermark-app select:focus,body.watermark-app textarea:focus{border-color:#4f625880;box-shadow:0 0 0 3px #4f625817;outline:0}body.erp-app .table-wrap,body.erp-app .removal-table-wrap,body.erp-app .image-opt-table-wrap,body.erp-app .export-listing-table-wrap,body.copywriting-app .tableViewport,body.copywriting-app .embeddedRemovalTableWrap,body.infringement-app .library-card,body.templates-app .template-card,body.api-app .form-scroll,body.watermark-app .canvasWrap{overscroll-behavior:contain;scrollbar-gutter:stable}body.erp-app table,body.copywriting-app table,body.infringement-app table,body.watermark-app table{border-collapse:separate;border-spacing:0}body.erp-app table tbody tr,body.copywriting-app table tbody tr{contain:layout paint style}body.erp-app iframe{display:block;width:100%;height:100%;border:0;background:transparent}body.erp-app #appView{min-height:var(--sys-app-height);height:var(--sys-app-height)}body.erp-app .sidebar,body.erp-app .workspace{border-color:var(--sys-border);box-shadow:none}body.erp-app .sidebar{backdrop-filter:blur(18px) saturate(115%)}body.erp-app .workspace{background:#f7f7f8}body.erp-app .brand{margin-bottom:4px}body.erp-app .brand img{width:70px}body.erp-app .nav{padding:4px 0}body.erp-app .nav button{color:var(--sys-text-secondary)}body.erp-app .nav button:hover{background:#f1f1f3;color:var(--sys-text)}body.erp-app .nav button.active{border-color:#4f62581f}body.erp-app .user-name{border-color:var(--sys-border)}body.erp-app .user-popover{backdrop-filter:blur(20px) saturate(120%)}body.erp-app .removal-command-bar,body.erp-app .image-opt-command-bar,body.erp-app .export-listing-header{position:sticky;top:0;z-index:12;backdrop-filter:blur(16px) saturate(115%);box-shadow:none}body.erp-app .removal-actions,body.erp-app .removal-secondary-actions,body.erp-app .image-opt-selection-tools,body.erp-app .image-opt-command-actions,body.erp-app .export-listing-actions{flex-wrap:wrap}body.erp-app .removal-table-card,body.erp-app .image-opt-table-card,body.erp-app .export-listing-table-wrap{box-shadow:none}body.erp-app table th{height:42px;padding:0 12px;background:#f6f6f8;color:var(--sys-text-secondary);font-size:12px;font-weight:650;white-space:nowrap}body.erp-app table td{padding:10px 12px;border-color:var(--sys-border);vertical-align:middle}body.erp-app table tbody tr:hover{background:#fafafa}body.erp-app .workflow-pagination{background:#fffffff0}body.erp-app .accounts-page{padding:22px clamp(18px,3vw,42px)}body.erp-app .accounts-shell{max-width:1180px;margin:0 auto;gap:14px}body.erp-app .accounts-list-panel{box-shadow:none}body.erp-app .account-list{gap:12px}body.erp-app .modal-backdrop,body.erp-app .account-editor-backdrop,body.infringement-app .dialog-backdrop{padding:16px;background:#0f0f114d;backdrop-filter:blur(12px) saturate(110%)}body.erp-app .system-modal,body.erp-app .export-file-modal,body.erp-app .account-editor-modal,body.infringement-app .dialog-card{width:min(560px,calc(100vw - 32px));max-height:min(86vh,780px);overflow:hidden;border:1px solid rgba(255,255,255,.55);border-radius:16px;background:#fffffffa;box-shadow:var(--sys-shadow-modal)}body.erp-app .account-editor-modal{width:min(620px,calc(100vw - 32px))}body.erp-app .system-modal-copy,body.erp-app .export-file-modal-copy,body.erp-app .account-editor-body,body.infringement-app .dialog-body{overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:22px 24px}body.erp-app .account-editor-header,body.erp-app .account-editor-actions,body.infringement-app .dialog-header,body.infringement-app .dialog-footer{flex:0 0 auto;padding:16px 20px;background:#fffffff5}body.erp-app .account-editor-header{border-bottom:1px solid var(--sys-border)}body.erp-app .account-editor-header p{display:none}body.erp-app .account-editor-actions,body.infringement-app .dialog-footer{border-top:1px solid var(--sys-border)}body.erp-app .system-modal-actions,body.erp-app .export-file-modal-actions{padding:14px 18px;border-top:1px solid var(--sys-border);background:#fafafa}body.erp-app .watermark-tool-modal{border-radius:18px;overflow:hidden;box-shadow:var(--sys-shadow-modal)}         body.api-app{height:var(--sys-app-height);overflow:hidden}body.api-app .api-page{padding:12px}body.api-app .connection-list{padding:8px}body.api-app .editor-actions{position:sticky;bottom:0;z-index:4;backdrop-filter:blur(14px)}body.copywriting-app{height:var(--sys-app-height);overflow:hidden}body.copywriting-app .commandBar,body.copywriting-app .panel,body.copywriting-app .tableCard{border-color:var(--sys-border);border-radius:14px;box-shadow:none}body.copywriting-app .commandBar{backdrop-filter:blur(12px)}body.copywriting-app table th{height:42px;background:#f6f6f8;color:var(--sys-text-secondary);font-size:12px}body.copywriting-app table td{padding:9px 11px}body.templates-app{height:var(--sys-app-height);overflow:hidden}body.templates-app .template-page{padding:12px}body.templates-app .template-card{overflow:hidden}body.templates-app .toolbar{background:#fffffff5}body.erp-app .erp-toast,body.api-app .module-toast,body.copywriting-app .moduleToast,body.infringement-app .module-toast,body.templates-app .toast,body.watermark-app .watermark-toast{max-width:min(420px,calc(100vw - 32px));padding:10px 14px;border:1px solid rgba(255,255,255,.24);border-radius:11px;background:#202022eb;color:#fff;box-shadow:0 12px 34px #00000029;backdrop-filter:blur(12px);font-size:13px}   :root{--quiet-bg:#f5f5f7;--quiet-surface:#fff;--quiet-line:#d9dce1;--quiet-text:#1d1d1f;--quiet-muted:#6e6e73;--quiet-blue:#0071e3;--quiet-blue-hover:#0064c9;--quiet-radius:8px;--quiet-shadow:0 1px 2px rgba(0,0,0,.04)}body.erp-app,body.api-app,body.infringement-app,body.templates-app{background:var(--quiet-bg)!important;color:var(--quiet-text)!important}body.erp-app .sidebar,body.erp-app .workspace,body.api-app .api-shell,body.infringement-app .library-card,body.templates-app .template-card{background:var(--quiet-surface)!important;border:1px solid var(--quiet-line)!important;border-radius:var(--quiet-radius)!important;box-shadow:var(--quiet-shadow)!important}body.erp-app .workspace{border-radius:var(--quiet-radius)!important}body.erp-app .nav button{text-align:left!important}body.erp-app .nav button.active,body.erp-app .nav button:hover{background:#eef5ff!important;color:var(--quiet-blue)!important}body.erp-app .user-name{border:1px solid var(--quiet-line)!important}body.api-app .button.primary,body.api-app .icon-add,body.infringement-app .button.primary,body.templates-app button.primary,body.templates-app #importButton{background:var(--quiet-blue)!important;border-color:var(--quiet-blue)!important;color:#fff!important;border-radius:var(--quiet-radius)!important;box-shadow:none!important}body.api-app .button.primary:hover,body.api-app .icon-add:hover,body.infringement-app .button.primary:hover,body.templates-app button.primary:hover,body.templates-app #importButton:hover{background:var(--quiet-blue-hover)!important;border-color:var(--quiet-blue-hover)!important}body.api-app .button.secondary,body.api-app .button.tertiary,body.infringement-app .button.secondary,body.templates-app button:not(.primary):not(#importButton){background:#fff!important;border:1px solid var(--quiet-line)!important;color:var(--quiet-text)!important;border-radius:var(--quiet-radius)!important}body.api-app input,body.api-app select,body.api-app textarea,body.infringement-app input,body.infringement-app textarea,body.templates-app input{border-color:var(--quiet-line)!important;border-radius:var(--quiet-radius)!important;background:#fff!important;box-shadow:none!important}body.api-app input:focus,body.api-app select:focus,body.api-app textarea:focus,body.infringement-app input:focus,body.infringement-app textarea:focus,body.templates-app input:focus{border-color:var(--quiet-blue)!important;box-shadow:0 0 0 3px #0071e31f!important;outline:0!important}body.templates-app .template-page,body.infringement-app .library-page,body.api-app .api-page{padding:12px!important;background:var(--quiet-bg)!important}body.templates-app .toolbar,body.infringement-app .library-toolbar,body.api-app .connection-header,body.api-app .editor-header{border-bottom:1px solid var(--quiet-line)!important;background:#fff!important;align-items:center!important}body.templates-app .template-item,body.templates-app .template-card-item,body.templates-app article,body.infringement-app .term-card,body.infringement-app .term-row{border:1px solid var(--quiet-line)!important;border-radius:var(--quiet-radius)!important;background:#fff!important;box-shadow:none!important}body.api-app h1,body.api-app h2,body.infringement-app h1,body.infringement-app h2,body.templates-app h1,body.templates-app h2{font-size:18px!important;line-height:1.3!important;letter-spacing:0!important;color:var(--quiet-text)!important}body.api-app small,body.api-app .security-note,body.infringement-app .save-status,body.templates-app .upload-status{color:var(--quiet-muted)!important}body.erp-app .system-modal{border-radius:var(--quiet-radius)!important;box-shadow:0 18px 60px #0000002e!important}body.erp-app .modal-btn.confirm{background:var(--quiet-blue)!important;border-color:var(--quiet-blue)!important;color:#fff!important;border-radius:var(--quiet-radius)!important}body.erp-app .modal-btn.confirm:hover{background:var(--quiet-blue-hover)!important;border-color:var(--quiet-blue-hover)!important}body.erp-app .product-detail-backdrop{position:fixed;inset:0;z-index:980;justify-content:flex-end;opacity:1;transition:opacity .18s var(--y-ease)}body.erp-app .product-detail-backdrop.hidden{display:none!important;opacity:0}body.erp-app .product-detail-drawer{transform:translate(0);animation:productDetailIn .2s var(--y-ease)}body.erp-app .product-detail-header{display:flex;justify-content:space-between;gap:14px;background:#fffffff5}body.erp-app .product-detail-header h2{margin:0;color:var(--quiet-text);font-size:15px;font-weight:700;line-height:1.35;letter-spacing:0;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}body.erp-app .product-detail-header p{margin:7px 0 0;color:var(--quiet-muted);font-size:12px;line-height:1.55}body.erp-app .product-detail-close{line-height:1}body.erp-app .product-detail-close:hover{background:#f4f7fb;color:var(--quiet-blue)}body.erp-app .product-detail-body{min-height:0;background:#f7f8fa;scrollbar-gutter:stable}body.erp-app .product-detail-section{border-bottom:1px solid var(--quiet-line)}body.erp-app .product-detail-section:first-child{padding-top:0}body.erp-app .product-detail-section:last-child{border-bottom:0}body.erp-app .product-detail-section h3{letter-spacing:0}body.erp-app .product-detail-grid{gap:8px}body.erp-app .product-detail-field{background:#fff}body.erp-app .product-detail-field span{line-height:1.45}body.erp-app .product-detail-field strong{white-space:pre-wrap}body.erp-app .product-detail-field a{text-decoration:none}body.erp-app .product-detail-field a:hover{text-decoration:underline}body.erp-app .product-detail-empty{text-align:center;font-size:12px}body.erp-app .removal-table-wrap tbody tr,body.erp-app .image-opt-table-wrap tbody tr,body.erp-app .export-listing-table-wrap tbody tr{cursor:default}body.erp-app .removal-table-wrap tbody tr:hover,body.erp-app .image-opt-table-wrap tbody tr:hover,body.erp-app .export-listing-table-wrap tbody tr:hover{background:#fafcff}@keyframes productDetailIn{0%{transform:translate(18px);opacity:.72}to{transform:translate(0);opacity:1}}body.erp-app{background:#f5f5f7!important}body.erp-app #loginView{min-height:100vh!important;display:grid!important;place-items:center!important;background:#f5f5f7!important}body.erp-app #loginView.hidden{display:none!important}body.erp-app .login-card{grid-template-columns:minmax(0,1fr)!important;justify-items:stretch!important;box-shadow:0 18px 50px #0f172a14!important}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){body.erp-app .login-card{-webkit-backdrop-filter:blur(18px) saturate(116%)!important;backdrop-filter:blur(18px) saturate(116%)!important}}body.erp-app .login-logo-frame{place-items:center!important}body.erp-app .login-logo{filter:none!important}body.erp-app .login-card form{min-width:0!important;justify-self:stretch!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important}body.erp-app .login-card input{min-width:0!important;outline:0!important}body.erp-app .login-card input:focus{border-color:#0071e3!important;box-shadow:0 0 0 3px #0071e31f!important}body.erp-app .login-card input::placeholder{color:#86868b!important}body.erp-app .login-card #password{margin-top:0!important}body.erp-app .login-card #loginSubmitBtn{width:100%!important;box-shadow:none!important}body.erp-app .login-card #loginSubmitBtn:hover:not(:disabled){background:#0064c9!important;border-color:#0064c9!important}body.erp-app .login-error{text-align:center!important}body.erp-app #appView{background:#f5f5f7!important}body.erp-app .sidebar{box-shadow:0 1px 2px #0000000a!important}body.erp-app .workspace{box-shadow:0 1px 2px #0000000a!important}body.erp-app .brand{place-items:center!important}body.erp-app .brand img{filter:none!important}body.erp-app .nav{justify-content:flex-start!important}body.erp-app .nav button{overflow:hidden!important;transition:background .16s ease,border-color .16s ease,color .16s ease!important}body.erp-app .nav button span{line-height:1.2!important;white-space:nowrap!important}body.erp-app .nav button:before{display:none!important}body.erp-app .nav button:hover{background:#f4f7fb!important;border-color:#e2e8f0!important;color:#1d1d1f!important}body.erp-app .nav button.active{box-shadow:none!important}body.erp-app .sidebar-user{border-top:1px solid #e5e7eb!important}body.erp-app .user-name{font-weight:600!important}body.erp-app .user-account-name{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}body.erp-app .user-popover{box-shadow:0 14px 36px #0f172a1f!important}body.erp-app .user-menu-action{display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important}body.erp-app .user-menu-action:hover,body.erp-app .user-menu-action:focus-visible{background:#f4f7fb!important;color:#0071e3!important}body.erp-app .logout-action{padding-top:0!important;color:#b42318!important}body.erp-app .logout-action:hover{background:#fff5f5!important;color:#9f1c12!important}@media(max-width:760px){body.erp-app #appView{grid-template-columns:1fr!important;grid-template-rows:auto minmax(0,1fr)!important;height:auto!important;min-height:100vh!important}body.erp-app .sidebar{min-height:auto!important;flex-direction:column!important}body.erp-app .brand{height:56px!important;flex-basis:56px!important}body.erp-app .nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}body.erp-app .nav button{justify-content:center!important;text-align:center!important}body.erp-app .user-popover{top:calc(100% + 6px)!important;bottom:auto!important}}body.erp-app{--quiet-row:#ffffff;--quiet-row-hover:#fafcff;--quiet-row-selected:#eef5ff;--quiet-header:#f6f7f9;--quiet-danger:#b42318;--quiet-danger-bg:#fff5f5}body.erp-app .content,body.erp-app .view-removal,body.erp-app .view-image-optimization,body.erp-app .view-export-listing,body.erp-app .view-accounts,body.erp-app .permission-empty-view{background:#f5f5f7!important}body.erp-app .view-removal,body.erp-app .view-image-optimization,body.erp-app .view-export-listing{padding:12px!important;overflow:hidden!important}body.erp-app .removal-command-bar,body.erp-app .image-opt-command-bar,body.erp-app .export-listing-header{align-items:center!important;box-shadow:0 1px 2px #0000000a!important}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){body.erp-app .removal-command-bar,body.erp-app .image-opt-command-bar,body.erp-app .export-listing-header{-webkit-backdrop-filter:blur(14px) saturate(112%)!important;backdrop-filter:blur(14px) saturate(112%)!important}}body.erp-app .removal-selection-meta,body.erp-app .image-opt-selection-tools,body.erp-app .export-selection-meta,body.erp-app #exportMappingStatus,body.erp-app #imageOptimizationStatus,body.erp-app #removalTransferStatus{color:var(--quiet-muted)!important;font-size:12px!important;line-height:18px!important}body.erp-app .removal-selection-meta strong,body.erp-app .image-opt-selection-tools strong,body.erp-app .export-selection-meta strong{font-weight:650!important;font-variant-numeric:tabular-nums!important}body.erp-app .removal-actions,body.erp-app .removal-secondary-actions,body.erp-app .image-opt-selection-tools,body.erp-app .image-opt-command-actions,body.erp-app .export-listing-actions{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important}body.erp-app .removal-workflow-button,body.erp-app .removal-secondary-button,body.erp-app .image-tool-button,body.erp-app .image-open-doubao,body.erp-app .image-inline-delete,body.erp-app .image-transfer-export,body.erp-app .export-mapping-button,body.erp-app .export-complete-button,body.erp-app .export-quiet-delete{box-shadow:none!important}body.erp-app .removal-secondary-button:not(.danger),body.erp-app .image-open-doubao,body.erp-app .image-transfer-export,body.erp-app .export-mapping-button,body.erp-app .export-complete-button{border-color:var(--quiet-blue)!important;background:var(--quiet-blue)!important;color:#fff!important}body.erp-app .removal-secondary-button:not(.danger):hover:not(:disabled),body.erp-app .image-open-doubao:hover:not(:disabled),body.erp-app .image-transfer-export:hover:not(:disabled),body.erp-app .export-mapping-button:hover:not(:disabled),body.erp-app .export-complete-button:hover:not(:disabled){border-color:var(--quiet-blue-hover)!important;background:var(--quiet-blue-hover)!important;color:#fff!important}body.erp-app .removal-secondary-button.danger,body.erp-app .image-inline-delete,body.erp-app .export-quiet-delete{border-color:#ffd7d4!important;background:var(--quiet-danger-bg)!important;color:var(--quiet-danger)!important}body.erp-app .removal-secondary-button.danger[hidden],body.erp-app .image-inline-delete[hidden],body.erp-app .export-quiet-delete[hidden],body.erp-app #deleteRemovalSelected[hidden],body.erp-app #deleteImageSelected[hidden],body.erp-app #deleteExportSelected[hidden]{display:none!important}body.erp-app .removal-table-card,body.erp-app .image-opt-table-card,body.erp-app .export-listing-table-wrap{min-height:0!important;border:1px solid var(--quiet-line)!important;background:#fff!important;box-shadow:0 1px 2px #0000000a!important;overflow:hidden!important}body.erp-app .removal-table-wrap,body.erp-app .image-opt-table-wrap,body.erp-app .export-listing-table-wrap{min-height:0!important;height:100%!important;border-radius:8px!important;background:#fff!important;scrollbar-gutter:stable!important;scrollbar-color:#c7cdd6 transparent!important}body.erp-app .removal-table-wrap table,body.erp-app .image-opt-table-wrap table,body.erp-app .export-listing-table-wrap table{font-size:13px!important}body.erp-app .removal-table-wrap th,body.erp-app .image-opt-table-wrap th,body.erp-app .export-listing-table-wrap th{position:sticky!important;top:0!important;z-index:6!important;border-right:1px solid var(--quiet-line)!important;vertical-align:middle!important;white-space:nowrap!important}body.erp-app .removal-table-wrap td,body.erp-app .image-opt-table-wrap td,body.erp-app .export-listing-table-wrap td{max-height:72px!important;border-right:1px solid var(--quiet-line)!important;vertical-align:middle!important}body.erp-app .removal-table-wrap tbody tr,body.erp-app .image-opt-table-wrap tbody tr,body.erp-app .export-listing-table-wrap tbody tr{height:72px!important;transition:background-color .16s ease!important}body.erp-app .removal-table-wrap tbody tr:hover td,body.erp-app .image-opt-table-wrap tbody tr:hover td,body.erp-app .export-listing-table-wrap tbody tr:hover td{background:var(--quiet-row-hover)!important}body.erp-app .removal-table-wrap tbody tr.selected td,body.erp-app .image-opt-table-wrap tbody tr.selected td,body.erp-app .export-listing-table-wrap tbody tr.selected td{background:var(--quiet-row-selected)!important}body.erp-app .removal-table-wrap th:last-child,body.erp-app .removal-table-wrap td:last-child,body.erp-app .image-opt-table-wrap th:last-child,body.erp-app .image-opt-table-wrap td:last-child,body.erp-app .export-listing-table-wrap th:last-child,body.erp-app .export-listing-table-wrap td:last-child{border-right:0!important}body.erp-app .removal-select-cell,body.erp-app .image-select-cell{width:42px!important;min-width:42px!important;max-width:42px!important;padding-left:6px!important;padding-right:6px!important;text-align:center!important}body.erp-app .removal-select-cell input,body.erp-app .image-select-cell input{width:16px!important;height:16px!important;accent-color:var(--quiet-blue)!important}body.erp-app .removal-col-sku .removal-cell-clamp,body.erp-app .removal-col-asin .removal-cell-clamp,body.erp-app .image-col-sku .image-cell-clamp,body.erp-app .image-col-asin .image-cell-clamp{color:#2f3437!important;font-family:var(--y-mono,ui-monospace,SFMono-Regular,Consolas,monospace)!important;font-size:12px!important;line-height:18px!important}body.erp-app .removal-cell-clamp,body.erp-app .image-cell-clamp{max-height:54px!important;line-height:18px!important;word-break:break-word!important}body.erp-app .image-opt-thumbnail,body.erp-app .export-optimized-thumb{width:54px!important;height:54px!important;border:1px solid var(--quiet-line)!important;border-radius:8px!important;background:#fff!important;object-fit:contain!important}body.erp-app .image-opt-placeholder,body.erp-app .optimized-placeholder,body.erp-app .image-empty-cell,body.erp-app .removal-empty-cell{color:var(--quiet-muted)!important;background:#fafafa!important;border-color:var(--quiet-line)!important;font-size:12px!important}body.erp-app .workflow-pagination{background:#fffffff5!important;color:var(--quiet-muted)!important;font-size:12px!important}body.erp-app .workflow-pagination.hidden{display:none!important}body.erp-app .workflow-pagination span{min-width:96px!important;text-align:center!important;font-variant-numeric:tabular-nums!important}body.erp-app .workflow-pagination button{font-weight:600!important}body.erp-app .workflow-pagination button:hover:not(:disabled){border-color:#cfe2ff!important;background:#eef5ff!important;color:var(--quiet-blue)!important}body.erp-app .workflow-pagination button:disabled{color:#a1a1a6!important;background:#f5f5f7!important;cursor:not-allowed!important}body.erp-app .permission-empty-view.active{display:grid!important;place-items:center!important;padding:28px!important}body.erp-app .permission-empty-card{padding:30px!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;box-shadow:0 1px 2px #0000000a!important}body.erp-app .permission-empty-card h2{margin:0 0 8px!important;color:var(--quiet-text)!important;font-size:18px!important;line-height:26px!important;font-weight:600!important}body.erp-app .permission-empty-card p{max-width:390px!important;margin:0!important;line-height:22px!important}  body.erp-app .product-detail-backdrop{transition:opacity .2s cubic-bezier(.2,.8,.2,1)!important}body.erp-app .product-detail-drawer{animation:productDetailIn .2s cubic-bezier(.2,.8,.2,1)!important}body.erp-app .product-detail-header{min-height:76px!important;align-items:flex-start!important;padding:16px 18px 13px!important;border-bottom:1px solid var(--quiet-line)!important;background:#fffffff5!important}body.erp-app .product-detail-close{width:32px!important;height:32px!important;flex:0 0 32px!important;display:grid!important;place-items:center!important;border:1px solid var(--quiet-line)!important;border-radius:8px!important;background:#fff!important;color:var(--quiet-muted)!important;font-size:18px!important;line-height:1!important}body.erp-app .product-detail-close:hover{background:#eef5ff!important;color:var(--quiet-blue)!important}body.erp-app .product-detail-body{background:#f7f8fa!important}body.erp-app .product-detail-section{padding:13px 0!important;border-bottom:1px solid var(--quiet-line)!important}body.erp-app .product-detail-section h3{margin:0 0 10px!important;color:#30343a!important;font-size:12px!important;font-weight:700!important;line-height:18px!important}body.erp-app .product-detail-grid{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}body.erp-app .product-detail-field{min-height:36px!important;display:grid!important;grid-template-columns:112px minmax(0,1fr)!important;gap:12px!important;align-items:start!important;padding:9px 10px!important;border:1px solid rgba(0,0,0,.045)!important;border-radius:8px!important;background:#fff!important}body.erp-app .product-detail-field span{color:var(--quiet-muted)!important;font-size:12px!important;line-height:18px!important}body.erp-app .product-detail-field strong{min-width:0!important;color:var(--quiet-text)!important;font-size:12px!important;font-weight:560!important;line-height:19px!important;word-break:break-word!important;white-space:pre-wrap!important}@media(max-width:760px){body.erp-app .view-removal,body.erp-app .view-image-optimization,body.erp-app .view-export-listing{padding:8px!important}body.erp-app .removal-command-bar,body.erp-app .image-opt-command-bar,body.erp-app .export-listing-header{min-height:52px!important;padding:8px!important}body.erp-app .product-detail-drawer{width:min(100vw,520px)!important}body.erp-app .product-detail-field{grid-template-columns:1fr!important;gap:3px!important}body.erp-app .workflow-pagination{gap:8px!important}body.erp-app .workflow-pagination span{min-width:72px!important}}body.erp-app .removal-table-wrap input:focus-visible,body.erp-app .image-opt-table-wrap input:focus-visible,body.erp-app .export-listing-table-wrap input:focus-visible,body.erp-app .workflow-pagination button:focus-visible,body.erp-app .removal-workflow-button:focus-visible,body.erp-app .removal-secondary-button:focus-visible,body.erp-app .image-tool-button:focus-visible,body.erp-app .image-open-doubao:focus-visible,body.erp-app .image-inline-delete:focus-visible,body.erp-app .image-transfer-export:focus-visible,body.erp-app .export-mapping-button:focus-visible,body.erp-app .export-complete-button:focus-visible,body.erp-app .export-quiet-delete:focus-visible,body.erp-app .product-detail-close:focus-visible{outline:0!important;box-shadow:0 0 0 3px #0071e324!important}body.erp-app .removal-workflow-button:disabled,body.erp-app .removal-secondary-button:disabled,body.erp-app .image-tool-button:disabled,body.erp-app .image-open-doubao:disabled,body.erp-app .image-inline-delete:disabled,body.erp-app .image-transfer-export:disabled,body.erp-app .export-mapping-button:disabled,body.erp-app .export-complete-button:disabled,body.erp-app .export-quiet-delete:disabled{opacity:.56!important;cursor:not-allowed!important;box-shadow:none!important}body.erp-app .product-detail-body{overscroll-behavior:contain!important;scrollbar-gutter:stable!important}body.erp-app .product-detail-section:first-child{padding-top:0!important}body.erp-app .product-detail-section:last-child{border-bottom:0!important}body.erp-app .product-detail-field a{color:var(--quiet-blue)!important;text-decoration:none!important}body.erp-app .product-detail-field a:hover{text-decoration:underline!important}body.erp-app .product-detail-empty{padding:40px 16px!important;color:var(--quiet-muted)!important;font-size:12px!important;line-height:20px!important;text-align:center!important}.runtime-dialog-backdrop{position:fixed;inset:0;z-index:9000;display:grid;place-items:center;padding:20px;background:#1f222642;opacity:0;pointer-events:none;transition:opacity .16s cubic-bezier(.2,.8,.2,1)}.runtime-dialog-backdrop.show{opacity:1;pointer-events:auto}.runtime-dialog{width:min(420px,100%);overflow:hidden;border:1px solid rgba(29,29,31,.1);border-radius:8px;background:#fff;box-shadow:0 24px 64px #1e1c192e;transform:translateY(8px) scale(.98);transition:transform .16s cubic-bezier(.2,.8,.2,1)}.runtime-dialog-backdrop.show .runtime-dialog{transform:translateY(0) scale(1)}.runtime-dialog-copy{padding:22px 24px 12px}.runtime-dialog-copy h2{margin:0;color:#1d1d1f;font-size:18px;font-weight:700;line-height:24px;letter-spacing:0}.runtime-dialog-copy p{margin:8px 0 0;color:#5f6368;font-size:13px;line-height:1.65}.runtime-dialog-body{padding:0 24px 16px}.runtime-dialog-input{width:100%;min-height:42px;padding:0 12px;border:1px solid rgba(29,29,31,.14);border-radius:8px;background:#fff;color:#1d1d1f;font:13px/1.4 var(--y-font, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);outline:0}textarea.runtime-dialog-input{min-height:108px;padding:10px 12px;resize:vertical}.runtime-dialog-input:focus{border-color:#0071e3;box-shadow:0 0 0 3px #0071e31f}.runtime-dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding:14px 16px 16px;border-top:1px solid rgba(29,29,31,.07);background:#fbfbfc}.runtime-dialog-button{height:38px;min-width:78px;padding:0 16px;border-radius:8px;font-size:13px;font-weight:650;line-height:38px;border:1px solid transparent;background:#fff;color:#1d1d1f}.runtime-dialog-button.secondary{border-color:#1d1d1f1f;background:#fff;color:#3f4247}.runtime-dialog-button.primary{border-color:#0071e3;background:#0071e3;color:#fff}.runtime-dialog-button.primary:hover{border-color:#0064c9;background:#0064c9}.runtime-dialog-button.danger{border-color:#a14f49;background:#a14f49;color:#fff}.runtime-dialog-button.danger:hover{border-color:#8f443f;background:#8f443f}@media(max-width:560px){.runtime-dialog-backdrop{align-items:end;padding:12px}.runtime-dialog{width:100%}}body.erp-app,body.copywriting-app{--quiet-blue:#0071e3;--quiet-blue-hover:#0064c9;--quiet-text:#1d1d1f;--quiet-muted:#6e6e73;--quiet-line:rgba(29,29,31,.1);--quiet-line-strong:rgba(29,29,31,.14);--quiet-danger:#b42318;--quiet-danger-bg:#fff5f5;--quiet-radius:8px;--quiet-ease:cubic-bezier(.2,.8,.2,1)}body.erp-app,body.erp-app button,body.erp-app input,body.erp-app select,body.erp-app textarea,body.erp-app table{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif!important;letter-spacing:0!important}body.erp-app .view-removal,body.erp-app .view-image-optimization,body.erp-app .view-export-listing,body.erp-app .view-accounts,body.erp-app .permission-empty-view{background:#f5f5f7!important}body.erp-app .removal-command-bar,body.erp-app .image-opt-command-bar,body.erp-app .export-listing-header{box-shadow:0 1px 2px #0000000a!important}body.erp-app .removal-workflow-button,body.erp-app .removal-secondary-button,body.erp-app .image-tool-button,body.erp-app .image-open-doubao,body.erp-app .image-inline-delete,body.erp-app .image-transfer-export,body.erp-app .export-mapping-button,body.erp-app .export-complete-button,body.erp-app .export-quiet-delete{height:36px!important;min-height:36px!important;padding:0 13px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border:1px solid var(--quiet-line-strong)!important;border-radius:var(--quiet-radius)!important;background:#fff!important;color:var(--quiet-text)!important;font-size:13px!important;font-weight:650!important;line-height:1!important;white-space:nowrap!important;box-shadow:none!important;transition:background-color .16s var(--quiet-ease),border-color .16s var(--quiet-ease),color .16s var(--quiet-ease)!important}body.erp-app .image-transfer-export,body.erp-app .export-mapping-button,body.erp-app .export-complete-button,body.erp-app .removal-secondary-button:not(.danger){border-color:var(--quiet-blue)!important;background:var(--quiet-blue)!important;color:#fff!important}body.erp-app .image-transfer-export:hover:not(:disabled),body.erp-app .export-mapping-button:hover:not(:disabled),body.erp-app .export-complete-button:hover:not(:disabled),body.erp-app .removal-secondary-button:not(.danger):hover:not(:disabled){border-color:var(--quiet-blue-hover)!important;background:var(--quiet-blue-hover)!important;color:#fff!important}body.erp-app .image-inline-delete,body.erp-app .export-quiet-delete,body.erp-app .removal-secondary-button.danger{color:var(--quiet-danger)!important}body.erp-app .image-inline-delete[hidden],body.erp-app .export-quiet-delete[hidden],body.erp-app .removal-secondary-button.danger[hidden],body.erp-app #deleteRemovalSelected[hidden],body.erp-app #deleteImageSelected[hidden],body.erp-app #deleteExportSelected[hidden]{display:none!important}body.erp-app .removal-table-wrap th,body.erp-app .image-opt-table-wrap th,body.erp-app .export-listing-table-wrap th{line-height:40px!important;vertical-align:middle!important}body.erp-app .removal-table-wrap td,body.erp-app .image-opt-table-wrap td,body.erp-app .export-listing-table-wrap td{text-align:center!important;vertical-align:middle!important}body.copywriting-app .workflowButton{font-weight:650!important}body.copywriting-app .selectionPromptButton,body.copywriting-app .embeddedRemovalButton{height:34px!important;border-radius:8px!important;font-size:12px!important;font-weight:650!important;box-shadow:none!important}body.copywriting-app .selectionPromptButton{border-color:var(--quiet-blue)!important;background:var(--quiet-blue)!important;color:#fff!important}body.copywriting-app .selectionPromptButton:hover:not(:disabled){border-color:var(--quiet-blue-hover)!important;background:var(--quiet-blue-hover)!important;color:#fff!important}body.copywriting-app .embeddedRemovalButton.danger{border-color:#ffd7d4!important;background:var(--quiet-danger-bg)!important;color:var(--quiet-danger)!important}body.copywriting-app .embeddedRemovalButton.primary{border-color:var(--quiet-blue)!important;background:var(--quiet-blue)!important;color:#fff!important}body.copywriting-app .embeddedRemovalButton.primary:hover:not(:disabled){border-color:var(--quiet-blue-hover)!important;background:var(--quiet-blue-hover)!important}body.copywriting-app .selectionDeleteButton[hidden],body.copywriting-app .embeddedRemovalButton.danger[hidden]{display:none!important}@media(max-width:760px){}body.erp-app .login-card input{text-align:center!important}body.erp-app .sidebar{flex-direction:column!important}body.erp-app .nav{align-items:stretch!important}body.erp-app .user-account-name{display:block!important;width:100%!important;text-align:center!important}body.erp-app #appView{padding:8px!important}body.erp-app .sidebar{border-radius:10px!important}body.erp-app .brand{padding:4px!important}body.erp-app .nav{gap:5px!important}body.erp-app .nav button{text-align:center!important}@media(max-width:760px){body.erp-app #appView{grid-template-columns:1fr!important;grid-template-rows:auto minmax(0,1fr)!important}body.erp-app .sidebar{min-height:0!important}body.erp-app .nav{flex-direction:row!important;overflow:auto!important;justify-content:flex-start!important}body.erp-app .nav button{flex:0 0 104px!important}}                          @media(max-width:860px){   }body.erp-app .removal-table-wrap th,body.erp-app .image-opt-table-wrap th,body.erp-app .export-listing-table-wrap th,body.erp-app .removal-table-wrap td,body.erp-app .image-opt-table-wrap td,body.erp-app .export-listing-table-wrap td{text-align:center!important;vertical-align:middle!important}body.erp-app .removal-table-wrap th>*,body.erp-app .image-opt-table-wrap th>*,body.erp-app .export-listing-table-wrap th>*,body.erp-app .removal-table-wrap td>*,body.erp-app .image-opt-table-wrap td>*,body.erp-app .export-listing-table-wrap td>*{margin-left:auto!important;margin-right:auto!important}body.erp-app .removal-table-wrap td.removal-col-sku,body.erp-app .removal-table-wrap td.removal-col-asin,body.erp-app .image-opt-table-wrap td.image-col-sku,body.erp-app .image-opt-table-wrap td.image-col-asin,body.erp-app .export-listing-table-wrap td.image-col-sku,body.erp-app .export-listing-table-wrap td.image-col-asin,body.erp-app .removal-table-wrap td.removal-col-name,body.erp-app .removal-table-wrap td.removal-col-brand,body.erp-app .removal-table-wrap td.removal-col-short,body.erp-app .removal-table-wrap td.removal-col-long,body.erp-app .image-opt-table-wrap td.image-col-name,body.erp-app .image-opt-table-wrap td.image-col-brand,body.erp-app .image-opt-table-wrap td.image-col-short,body.erp-app .image-opt-table-wrap td.image-col-long{text-align:center!important}body.erp-app{--sidebar:108px!important}body.erp-app #appView{background:#f3f5f7!important}body.erp-app .sidebar{box-shadow:none!important}body.erp-app .brand{margin-bottom:4px!important}body.erp-app .brand img{filter:drop-shadow(0 4px 8px rgba(91,66,39,.055))!important}body.erp-app .nav{padding:4px 0!important}body.erp-app .nav button{border-color:transparent!important;text-align:center!important}body.erp-app .nav button:before{left:5px!important;top:12px!important;bottom:12px!important;width:2px!important;background:transparent!important}body.erp-app .nav button:hover{background:#f5f8fb!important;color:#334155!important}body.erp-app .nav button.active{box-shadow:none!important}body.erp-app .nav button.active:before{background:#3b82d7!important}body.erp-app .sidebar-user{border-top-color:#e7edf4!important}body.erp-app .user-name{font-weight:600!important}body.erp-app .workspace{box-shadow:none!important} body.erp-app .content{background:transparent!important} body.erp-app .removal-table-card,body.erp-app .image-opt-table-card,body.erp-app .export-listing-table-wrap{border-radius:8px!important;border-color:#e2e8f0!important;box-shadow:none!important}body.erp-app .removal-table-wrap th,body.erp-app .image-opt-table-wrap th,body.erp-app .export-listing-table-wrap th{border-color:#e7edf4!important;font-weight:700!important}body.erp-app .removal-table-wrap td,body.erp-app .image-opt-table-wrap td,body.erp-app .export-listing-table-wrap td{border-color:#e7edf4!important;color:#1d2a3d!important}body.erp-app .removal-table-wrap tbody tr:hover td,body.erp-app .image-opt-table-wrap tbody tr:hover td,body.erp-app .export-listing-table-wrap tbody tr:hover td{background:#fbfdff!important}body.erp-app [class*=toggle],body.erp-app [class*=collapse],body.erp-app [aria-label*=\6536\8d77],body.erp-app [aria-label*=\5c55\5f00]{filter:saturate(.55)!important}@media(max-width:760px){body.erp-app #appView{grid-template-columns:1fr!important;padding:8px!important}body.erp-app .sidebar{width:auto!important;border-radius:10px!important}}@media(min-width:761px){body.erp-app{--sidebar:96px!important}body.erp-app #appView{grid-template-columns:96px minmax(0,1fr)!important}body.erp-app .sidebar{width:96px!important;padding-left:6px!important;padding-right:6px!important}body.erp-app .brand{height:56px!important;flex-basis:56px!important}body.erp-app .brand img{width:62px!important}body.erp-app .nav button{padding-left:5px!important;padding-right:5px!important;font-size:12px!important}}body.erp-app .export-listing-table-wrap col.image-col-mapping-status{width:172px!important;min-width:172px!important;max-width:172px!important}body.erp-app .export-listing-table-wrap th.image-col-mapping-status,body.erp-app .export-listing-table-wrap td.image-col-mapping-status{width:172px!important;min-width:172px!important;max-width:172px!important;padding-left:8px!important;padding-right:8px!important}body.erp-app .export-listing-table-wrap td.image-col-mapping-status{overflow:visible!important}body.erp-app .mapping-status-badge{max-width:152px;height:auto;min-height:24px;padding:4px 9px;border-radius:8px;line-height:15px;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;word-break:break-word}body.erp-app .mapping-status-badge.warning{color:#7b5b1d;background:#fff6dd;border-color:#96712533}.erp-app .nav button{min-height:34px;font-size:12px}.erp-app .nav-icon{width:15px;height:15px}.erp-app .removal-table-wrap td,.erp-app .image-opt-table-wrap td{height:70px;max-height:70px}.erp-app .export-listing-table-wrap td{height:68px;max-height:68px}.erp-app .image-inline-delete,.erp-app .export-quiet-delete,.erp-app .removal-secondary-button.danger{background:#fff1ef;border-color:#ffd4cf;color:#a23d35}.erp-app .image-transfer-export,.erp-app .export-complete-button,.erp-app .export-mapping-button{background:#0f766e;border-color:#0f766e;color:#fff}.erp-app .image-transfer-export:hover:not(:disabled),.erp-app .export-complete-button:hover:not(:disabled),.erp-app .export-mapping-button:hover:not(:disabled){background:#0b5f59;border-color:#0b5f59}:root{--quiet-bg:#f6f7f8;--quiet-surface:#ffffff;--quiet-surface-soft:#f8f9fa;--quiet-text:#17181c;--quiet-muted:#6a7078;--quiet-subtle:#98a0a9;--quiet-line:rgba(23,24,28,.1);--quiet-line-strong:rgba(23,24,28,.16);--quiet-blue:#0a66d8;--quiet-blue-hover:#0757bd;--quiet-blue-soft:#edf5ff;--quiet-green:#0f766e;--quiet-danger:#b33a32;--quiet-danger-soft:#fff1ef;--quiet-radius:8px;--quiet-radius-lg:12px;--quiet-shadow:0 1px 2px rgba(23,24,28,.05),0 12px 32px rgba(23,24,28,.06);--quiet-shadow-float:0 18px 48px rgba(23,24,28,.16)}body.erp-app{background:var(--quiet-bg)!important;color:var(--quiet-text)!important;font-size:13px!important}body.erp-app:before{display:none!important}body.erp-app #appView{padding:10px!important}body.erp-app .sidebar,body.erp-app .workspace,body.erp-app .login-card,body.erp-app .image-opt-table-card,body.erp-app .removal-table-card,body.erp-app .export-listing-table-wrap,body.erp-app .accounts-table-panel{border:1px solid var(--quiet-line)!important;border-radius:var(--quiet-radius-lg)!important;background:var(--quiet-surface)!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}body.erp-app .sidebar{padding:10px 8px!important}body.erp-app .brand{padding:10px 0 8px!important}body.erp-app .brand img,body.erp-app .login-logo{filter:none!important}body.erp-app .nav{gap:4px!important}body.erp-app .nav button{font-weight:600!important}body.erp-app .nav button span{line-height:32px!important}body.erp-app .nav button:hover{color:var(--quiet-text)!important;background:var(--quiet-surface-soft)!important;border-color:var(--quiet-line)!important}body.erp-app .nav button.active{box-shadow:none!important}body.erp-app .workspace{margin:0!important;padding:0!important;overflow:hidden!important}body.erp-app .content,body.erp-app .view{min-width:0!important;min-height:0!important}body.erp-app .copywriting-frame,body.erp-app .api-frame,body.erp-app .templates-frame,body.erp-app .infringement-frame,body.erp-app .watermark-tool-frame{width:100%!important;height:100%!important;display:block!important;background:#fff!important}body.erp-app button,body.erp-app input,body.erp-app select,body.erp-app textarea{letter-spacing:0!important}body.erp-app button{transition:background-color .16s ease,border-color .16s ease,color .16s ease,opacity .16s ease!important}body.erp-app .modal-btn,body.erp-app .system-check-button,body.erp-app .account-add-button,body.erp-app .removal-workflow-button,body.erp-app .removal-secondary-button,body.erp-app .image-tool-button,body.erp-app .image-open-doubao,body.erp-app .image-transfer-export,body.erp-app .export-complete-button,body.erp-app .export-mapping-button,body.erp-app #loginSubmitBtn{min-height:36px!important;height:36px!important;border-radius:var(--quiet-radius)!important;box-shadow:none!important;font-size:13px!important;font-weight:650!important}body.erp-app .modal-btn.confirm,body.erp-app .system-check-button.primary,body.erp-app .account-add-button,body.erp-app #loginSubmitBtn{border-color:#5f7568!important;background:#5f7568!important;color:#fff!important}body.erp-app .modal-btn.confirm:hover:not(:disabled),body.erp-app .system-check-button.primary:hover:not(:disabled),body.erp-app .account-add-button:hover:not(:disabled),body.erp-app #loginSubmitBtn:hover:not(:disabled){border-color:#556a5e!important;background:#556a5e!important}body.erp-app .image-transfer-export,body.erp-app .export-complete-button,body.erp-app .export-mapping-button{border-color:var(--quiet-green)!important;background:var(--quiet-green)!important;color:#fff!important}body.erp-app .image-inline-delete,body.erp-app .export-quiet-delete,body.erp-app .removal-secondary-button.danger{border-color:#b33a322e!important;background:var(--quiet-danger-soft)!important;color:var(--quiet-danger)!important}body.erp-app button:disabled{border-color:var(--quiet-line)!important;background:#f1f2f4!important;color:var(--quiet-subtle)!important;opacity:1!important}body.erp-app .image-opt-command-bar,body.erp-app .removal-command-bar,body.erp-app .export-listing-header,body.erp-app .system-check-header{min-height:48px!important;padding:8px 10px!important;border-bottom:1px solid var(--quiet-line)!important;background:var(--quiet-surface)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}body.erp-app th,body.erp-app .account-table-header{height:34px!important;background:var(--quiet-surface-soft)!important;color:var(--quiet-muted)!important;font-size:12px!important;font-weight:650!important}body.erp-app td{color:var(--quiet-text)!important;font-size:12px!important}body.erp-app tbody tr:hover td{background:#fafbfc!important}body.erp-app .modal-backdrop,body.erp-app .erp-image-zoom-backdrop{background:#17181c38!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important}body.erp-app .system-modal,body.erp-app .account-editor-modal,body.erp-app .export-file-modal,body.erp-app .watermark-tool-modal,body.erp-app .product-detail-drawer{box-shadow:var(--quiet-shadow-float)!important}body.erp-app .erp-toast{font-size:12px!important}body.erp-app .login-card{padding:26px!important}body.erp-app .login-field input,body.erp-app input,body.erp-app select,body.erp-app textarea{border-radius:var(--quiet-radius)!important;border-color:var(--quiet-line)!important;background:#fff!important;box-shadow:none!important}body.erp-app input:focus,body.erp-app select:focus,body.erp-app textarea:focus{border-color:#0a66d86b!important;box-shadow:0 0 0 3px #0a66d81a!important}body:not(.erp-app){background:var(--quiet-bg);color:var(--quiet-text)}body:not(.erp-app) .button,body:not(.erp-app) button,body:not(.erp-app) input,body:not(.erp-app) select,body:not(.erp-app) textarea{border-radius:var(--quiet-radius);letter-spacing:0}body:not(.erp-app) .toast,body:not(.erp-app) .module-toast,body:not(.erp-app) .watermark-toast{border-radius:var(--quiet-radius)!important;background:#17181ceb!important;box-shadow:none!important}@media(max-width:900px){body.erp-app #appView{grid-template-columns:96px minmax(0,1fr)!important;gap:8px!important;padding:8px!important}body.erp-app .brand{min-height:52px!important}body.erp-app .nav button{height:32px!important;min-height:32px!important;font-size:12px!important}}@media(prefers-reduced-motion:reduce){body.erp-app *,body:not(.erp-app) *{animation:none!important;transition-duration:.01ms!important}}body.erp-app .export-clear-toolbar{grid-column:1!important;display:flex!important;align-items:center!important;min-width:120px!important}body.erp-app .export-listing-header{grid-template-columns:minmax(120px,1fr) minmax(160px,240px) minmax(0,1fr)!important}body.erp-app .login-card #loginSubmitBtn{box-shadow:none!important}body.erp-app .login-card #loginSubmitBtn:hover:not(:disabled){border-color:#556a5e!important;background:#556a5e!important;box-shadow:none!important}
/* ==== workflow-layout-v132.css ==== */
body.erp-app .view-copywriting,
body.erp-app .view-image-optimization,
body.erp-app .view-export-listing{
  overflow:hidden!important;
  padding:8px!important;
  background:#f5f5f7!important;
}
body.erp-app .copywriting-frame{
  
  
  display:block!important;
  
  
  background:#f5f5f7!important;
}
body.erp-app .image-opt-command-bar,
body.erp-app .export-listing-header{
  height:64px!important;
  min-height:64px!important;
  padding:10px 12px!important;
  border:1px solid rgba(60,60,67,.075)!important;
  
  background:rgba(255,255,255,.46)!important;
  box-shadow:none!important;
}
body.erp-app .image-opt-table-card,
body.erp-app .export-listing-table-wrap{
  min-height:0!important;
  height:100%!important;
  
  
  
  box-shadow:none!important;
  overflow:auto!important;
}
body.erp-app .image-opt-table-wrap table:has(.centered-empty-state),
body.erp-app .export-listing-table-wrap table:has(.centered-empty-state){height:100%!important}
body.erp-app .image-empty-cell,
body.erp-app .export-listing-empty,
body.erp-app .removal-empty-cell{
  height:100%!important;
  min-height:0!important;
  padding:0!important;
  color:#a0a0a5!important;
  font-size:12px!important;
  font-weight:500!important;
  text-align:center!important;
  vertical-align:middle!important;
}
body.erp-app .view-accounts{background:#f5f5f7!important}
body.erp-app .accounts-page-minimal{
  
  
  
  
  
}
body.erp-app .accounts-shell-minimal{margin:0 auto!important}
body.erp-app .view-system-check{padding:16px!important;background:#f5f5f7!important}
body.erp-app .system-check-page{gap:10px!important}
body.erp-app .system-check-header{box-shadow:none!important}
body.erp-app .system-check-header p{line-height:18px!important}
body.erp-app .system-check-actions{gap:8px!important}
body.erp-app .system-check-button{font-weight:650!important}
body.erp-app .system-check-button.primary{border-color:#5f7164!important;background:#5f7164!important}
body.erp-app .system-check-list{gap:8px!important}
body.erp-app .system-check-row{border-width:1px!important;box-shadow:none!important}
body.erp-app .system-check-row-main{gap:3px!important}
body.erp-app .system-check-row-main strong{line-height:18px!important}
body.erp-app .system-check-row-main span{line-height:18px!important}
body.erp-app .system-check-row-main small{color:#8a8f96!important;line-height:16px!important}
body.erp-app .system-check-badge{font-size:12px!important}

body.erp-app .account-table-cell-name{align-items:center!important;gap:2px!important;white-space:normal!important}
body.erp-app .account-table-cell-name>span{line-height:17px!important}
body.erp-app .account-row-meta{display:block!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:#92908b!important;line-height:15px!important}
body.erp-app .account-action-menu button[data-account-revoke]{color:#8a6a3e!important}
body.erp-app .account-action-menu button[data-account-revoke]:hover:not(:disabled){background:#fff8eb!important;color:#76562e!important}

/* 2026-08-21 workflow checkbox standard: square blue checkboxes and visible selected rows. */
body.erp-app .removal-select-cell input[type=checkbox],
body.erp-app .image-select-cell input[type=checkbox],
body.erp-app .export-select-cell input[type=checkbox]{
  appearance:none!important;
  -webkit-appearance:none!important;
  position:relative!important;
  box-sizing:border-box!important;
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #9ca3af!important;
  border-radius:3px!important;
  background:#fff!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
body.erp-app .removal-select-cell input[type=checkbox]::after,
body.erp-app .image-select-cell input[type=checkbox]::after,
body.erp-app .export-select-cell input[type=checkbox]::after{
  content:""!important;
  position:absolute!important;
  left:3px!important;
  top:2px!important;
  width:8px!important;
  height:5px!important;
  margin:0!important;
  border-left:2px solid #fff!important;
  border-bottom:2px solid #fff!important;
  border-radius:0!important;
  background:transparent!important;
  opacity:0!important;
  transform:rotate(-45deg)!important;
}
body.erp-app .removal-select-cell input[type=checkbox]:checked,
body.erp-app .image-select-cell input[type=checkbox]:checked,
body.erp-app .export-select-cell input[type=checkbox]:checked,
body.erp-app .removal-select-cell input[type=checkbox]:indeterminate,
body.erp-app .image-select-cell input[type=checkbox]:indeterminate,
body.erp-app .export-select-cell input[type=checkbox]:indeterminate{
  border-color:#0a84ff!important;
  background:#0a84ff!important;
}
body.erp-app .removal-select-cell input[type=checkbox]:checked::after,
body.erp-app .image-select-cell input[type=checkbox]:checked::after,
body.erp-app .export-select-cell input[type=checkbox]:checked::after{
  opacity:1!important;
}
body.erp-app .removal-select-cell input[type=checkbox]:indeterminate::after,
body.erp-app .image-select-cell input[type=checkbox]:indeterminate::after,
body.erp-app .export-select-cell input[type=checkbox]:indeterminate::after{
  left:3px!important;
  top:6px!important;
  width:8px!important;
  height:2px!important;
  border:0!important;
  border-radius:999px!important;
  background:#fff!important;
  transform:none!important;
  opacity:1!important;
}
body.erp-app .removal-table-wrap tbody tr.selected td,
body.erp-app .image-opt-table-wrap tbody tr.selected td,
body.erp-app .export-listing-table-wrap tbody tr.selected td,
body.erp-app .removal-table-wrap tbody tr.selected td.removal-select-cell,
body.erp-app .image-opt-table-wrap tbody tr.selected td.image-select-cell,
body.erp-app .export-listing-table-wrap tbody tr.selected td.export-select-cell{
  background:#eaf4ff!important;
  color:#172033!important;
}

/* 2026-08-21 v144: final checkbox standard across workflow tables. */
body.erp-app .removal-table-wrap .removal-select-cell input[type=checkbox],
body.erp-app .image-opt-table-wrap .image-select-cell input[type=checkbox],
body.erp-app .export-listing-table-wrap .export-select-cell input[type=checkbox]{
  appearance:none!important;
  -webkit-appearance:none!important;
  position:relative!important;
  display:inline-block!important;
  box-sizing:border-box!important;
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  min-height:16px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #9ca3af!important;
  border-radius:3px!important;
  background:#fff!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
body.erp-app .removal-table-wrap .removal-select-cell input[type=checkbox]::after,
body.erp-app .image-opt-table-wrap .image-select-cell input[type=checkbox]::after,
body.erp-app .export-listing-table-wrap .export-select-cell input[type=checkbox]::after{
  content:""!important;
  position:absolute!important;
  left:3px!important;
  top:2px!important;
  width:8px!important;
  height:5px!important;
  border-left:2px solid #fff!important;
  border-bottom:2px solid #fff!important;
  background:transparent!important;
  opacity:0!important;
  transform:rotate(-45deg)!important;
}
body.erp-app .removal-table-wrap .removal-select-cell input[type=checkbox]:checked,
body.erp-app .image-opt-table-wrap .image-select-cell input[type=checkbox]:checked,
body.erp-app .export-listing-table-wrap .export-select-cell input[type=checkbox]:checked,
body.erp-app .removal-table-wrap .removal-select-cell input[type=checkbox]:indeterminate,
body.erp-app .image-opt-table-wrap .image-select-cell input[type=checkbox]:indeterminate,
body.erp-app .export-listing-table-wrap .export-select-cell input[type=checkbox]:indeterminate{
  border-color:#0a84ff!important;
  background:#0a84ff!important;
}
body.erp-app .removal-table-wrap .removal-select-cell input[type=checkbox]:checked::after,
body.erp-app .image-opt-table-wrap .image-select-cell input[type=checkbox]:checked::after,
body.erp-app .export-listing-table-wrap .export-select-cell input[type=checkbox]:checked::after{
  opacity:1!important;
}
body.erp-app .removal-table-wrap .removal-select-cell input[type=checkbox]:indeterminate::after,
body.erp-app .image-opt-table-wrap .image-select-cell input[type=checkbox]:indeterminate::after,
body.erp-app .export-listing-table-wrap .export-select-cell input[type=checkbox]:indeterminate::after{
  left:3px!important;
  top:6px!important;
  width:8px!important;
  height:2px!important;
  border:0!important;
  border-radius:999px!important;
  background:#fff!important;
  opacity:1!important;
  transform:none!important;
}
body.erp-app .removal-table-wrap tbody tr.selected td,
body.erp-app .image-opt-table-wrap tbody tr.selected td,
body.erp-app .export-listing-table-wrap tbody tr.selected td{
  background:#eaf4ff!important;
  color:#172033!important;
}

/* 2026-08-21 v148: match image/export checkbox color to the quiet workflow palette. */
body.erp-app .image-opt-table-wrap .image-select-cell input[type=checkbox]:checked,
body.erp-app .export-listing-table-wrap .export-select-cell input[type=checkbox]:checked,
body.erp-app .image-opt-table-wrap .image-select-cell input[type=checkbox]:indeterminate,
body.erp-app .export-listing-table-wrap .export-select-cell input[type=checkbox]:indeterminate{
  border-color:#4f5f52!important;
  background:#4f5f52!important;
}
body.erp-app .image-opt-table-wrap tbody tr.selected td,
body.erp-app .export-listing-table-wrap tbody tr.selected td{
  background:#f5f6f4!important;
  color:#172033!important;
}
body.erp-app .image-opt-table-wrap tbody tr.selected td.image-select-cell,
body.erp-app .export-listing-table-wrap tbody tr.selected td.export-select-cell{
  background:#eef1ee!important;
}html,body{min-height:100%}body{margin:0;color:var(--yftx-text);background:var(--yftx-bg);font-family:var(--yftx-font);font-size:13px;line-height:1.55;letter-spacing:0}body *,body *:before,body *:after{box-sizing:border-box}button,input,select,textarea{font-family:inherit;font-size:inherit;letter-spacing:0}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit}::selection{color:var(--yftx-text);background:var(--yftx-accent-soft)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:999px;background:#2021242e;background-clip:padding-box}body.erp-app{overflow:hidden}body.erp-app #appView{background:var(--yftx-bg)}body.erp-app .sidebar{box-shadow:none}body.erp-app .workspace{box-shadow:none}body.erp-app .content{width:100%;height:100%;min-height:0;padding:0;background:var(--yftx-bg)}body.erp-app .brand{padding:0 8px}body.erp-app .brand img{filter:none}body.erp-app .brand:after{content:"\4e0e\98de\540c\884c";color:var(--yftx-text);font-size:15px;font-weight:650;line-height:1;white-space:nowrap}body.erp-app .nav{overflow:visible}body.erp-app .nav button{transition:background-color var(--yftx-fast) var(--yftx-ease),color var(--yftx-fast) var(--yftx-ease)}body.erp-app .nav button:hover{background:var(--yftx-surface-soft);color:var(--yftx-text)}body.erp-app .nav button.active{color:var(--yftx-accent)}body.erp-app .nav button.active:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:2px;border-radius:999px;background:var(--yftx-accent)}body.erp-app .nav button svg,body.erp-app .nav-icon{display:block;width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}body.erp-app .sidebar-user{border-top:1px solid var(--yftx-line)}body.erp-app .user-name{text-align:left}body.erp-app .user-popover{box-shadow:var(--yftx-shadow-menu)}body.erp-app .user-menu-action{text-align:left}body.erp-app .user-menu-action:hover{background:var(--yftx-surface-soft);color:var(--yftx-text)}body.erp-app .logout-action{color:var(--yftx-danger)}body.erp-app .logout-action:hover{background:var(--yftx-danger-soft);color:var(--yftx-danger)}body.erp-app #loginView{background:var(--yftx-bg)}body.erp-app .login-card{box-shadow:none}body.erp-app .login-logo-frame{margin-bottom:18px}body.erp-app .login-logo{filter:none}body.erp-app .login-field{text-align:center}body.erp-app .login-field span{text-align:center}body.erp-app .login-card input{outline:0;text-align:center}body.erp-app .login-card input::placeholder{color:var(--yftx-subtle)}body.erp-app .login-card input:focus{border-color:var(--yftx-accent);box-shadow:0 0 0 3px var(--yftx-focus)}body.erp-app .login-card #loginSubmitBtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600}body.erp-app .login-card #loginSubmitBtn:hover{background:var(--yftx-accent-hover);border-color:var(--yftx-accent-hover)}body.erp-app .login-submit-icon{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}body.erp-app .login-error{margin-top:8px;line-height:18px}body.erp-app .view,body.erp-app .view-accounts,body.erp-app .view-system-check,body.erp-app .view-copywriting,body.erp-app .view-image-optimization,body.erp-app .view-export-listing,body.erp-app .view-infringement,body.erp-app .view-templates,body.erp-app .view-api{width:100%;height:100%;min-height:0;background:var(--yftx-bg)}body.erp-app .view-accounts,body.erp-app .view-system-check{padding:18px;overflow:auto}body.erp-app .view-copywriting,body.erp-app .view-image-optimization,body.erp-app .view-export-listing,body.erp-app .view-infringement,body.erp-app .view-templates,body.erp-app .view-api{padding:0}body.erp-app .accounts-page-minimal,body.erp-app .system-check-page{width:100%;max-width:880px;min-height:100%;margin:0 auto}body.erp-app .accounts-shell-minimal{width:100%}body.erp-app button,body.erp-app .button,body.erp-app .page-clear-button,body.erp-app .image-tool-button,body.erp-app .image-open-doubao,body.erp-app .image-inline-delete,body.erp-app .image-transfer-export,body.erp-app .export-mapping-button,body.erp-app .export-complete-button,body.erp-app .removal-workflow-button,body.erp-app .removal-secondary-button,body.erp-app .system-check-button,body.erp-app .account-add-button,body.erp-app .account-editor-primary,body.erp-app .account-editor-secondary,body.erp-app .modal-btn,body.erp-app .workflow-pagination button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:var(--yftx-control-compact);height:var(--yftx-control-compact);padding:0 12px;border:1px solid var(--yftx-line-strong);border-radius:var(--yftx-radius-control);background:var(--yftx-surface);color:var(--yftx-text);font-size:12px;font-weight:600;line-height:1;white-space:nowrap;box-shadow:none;transition:background-color var(--yftx-fast) var(--yftx-ease),border-color var(--yftx-fast) var(--yftx-ease),color var(--yftx-fast) var(--yftx-ease)}body.erp-app .account-add-button,body.erp-app .removal-workflow-button,body.erp-app .image-transfer-export,body.erp-app .export-mapping-button:not(.secondary),body.erp-app .export-complete-button,body.erp-app .system-check-button.primary,body.erp-app .account-editor-primary,body.erp-app .modal-btn.confirm:not(.danger){border-color:var(--yftx-accent);background:var(--yftx-accent);color:#fff}body.erp-app .account-add-button:hover:not(:disabled),body.erp-app .removal-workflow-button:hover:not(:disabled),body.erp-app .image-transfer-export:hover:not(:disabled),body.erp-app .export-mapping-button:not(.secondary):hover:not(:disabled),body.erp-app .export-complete-button:hover:not(:disabled),body.erp-app .system-check-button.primary:hover:not(:disabled),body.erp-app .account-editor-primary:hover:not(:disabled),body.erp-app .modal-btn.confirm:not(.danger):hover:not(:disabled){border-color:var(--yftx-accent-hover);background:var(--yftx-accent-hover)}body.erp-app .removal-secondary-button,body.erp-app .image-tool-button,body.erp-app .image-open-doubao,body.erp-app .export-mapping-button.secondary,body.erp-app .system-check-button,body.erp-app .account-editor-secondary,body.erp-app .modal-btn,body.erp-app .workflow-pagination button{border-color:var(--yftx-line-strong);background:var(--yftx-surface);color:var(--yftx-text)}body.erp-app .removal-secondary-button:hover:not(:disabled),body.erp-app .image-tool-button:hover:not(:disabled),body.erp-app .image-open-doubao:hover:not(:disabled),body.erp-app .export-mapping-button.secondary:hover:not(:disabled),body.erp-app .system-check-button:hover:not(:disabled),body.erp-app .account-editor-secondary:hover:not(:disabled),body.erp-app .modal-btn:hover:not(:disabled),body.erp-app .workflow-pagination button:hover:not(:disabled){border-color:var(--yftx-line-strong);background:var(--yftx-surface-soft);color:var(--yftx-text)}body.erp-app .page-clear-button,body.erp-app .image-inline-delete,body.erp-app .export-quiet-delete,body.erp-app .removal-secondary-button.danger,body.erp-app .modal-btn.confirm.danger{border-color:#a648432e;background:var(--yftx-danger-soft);color:var(--yftx-danger)}body.erp-app .page-clear-button:hover:not(:disabled),body.erp-app .image-inline-delete:hover:not(:disabled),body.erp-app .export-quiet-delete:hover:not(:disabled),body.erp-app .removal-secondary-button.danger:hover:not(:disabled),body.erp-app .modal-btn.confirm.danger:hover:not(:disabled){border-color:#a6484347;background:#f6e3e2;color:var(--yftx-danger)}body.erp-app .removal-table-card,body.erp-app .image-opt-table-card,body.erp-app .export-listing-shell,body.erp-app .accounts-table-panel,body.erp-app .system-check-header,body.erp-app .system-check-row,body.erp-app .permission-empty-card{overflow:hidden;border:1px solid var(--yftx-line);border-radius:var(--yftx-radius-panel);background:var(--yftx-surface);box-shadow:none}body.erp-app .removal-table-wrap,body.erp-app .image-opt-table-wrap,body.erp-app .export-listing-table-wrap,body.erp-app .tableWrap{overflow:auto;border:0;background:var(--yftx-surface)}body.erp-app table{width:100%;border-collapse:collapse;color:var(--yftx-text);font-size:13px}body.erp-app th{height:40px;padding:8px 10px;border-bottom:1px solid var(--yftx-line);background:var(--yftx-surface-soft);color:var(--yftx-muted);font-size:12px;font-weight:600;line-height:1.3;text-align:left;white-space:nowrap}body.erp-app td{height:52px;padding:8px 10px;border-bottom:1px solid var(--yftx-line);background:var(--yftx-surface);font-size:13px;line-height:1.4;vertical-align:middle}body.erp-app tbody tr:hover td{background:var(--yftx-surface-hover)}body.erp-app tbody tr.selected td,body.erp-app tbody tr.selected-for-delete td{background:var(--yftx-selected)}body.erp-app .removal-table-wrap td.removal-col-sku,body.erp-app .removal-table-wrap td.removal-col-asin,body.erp-app .image-opt-table-wrap td.image-col-sku,body.erp-app .image-opt-table-wrap td.image-col-asin,body.erp-app .export-listing-table-wrap td.image-col-sku,body.erp-app .export-listing-table-wrap td.image-col-asin,body.erp-app .full-results-table td.sku-column,body.erp-app .full-results-table td.asin-column{font-family:var(--yftx-mono);font-variant-numeric:tabular-nums;font-size:12px}body.erp-app th:first-child,body.erp-app td:first-child{position:sticky;left:0;z-index:3;box-shadow:1px 0 0 var(--yftx-line)}body.erp-app .account-table-header{font-weight:600}body.erp-app .account-table-row{gap:10px;color:var(--yftx-text);font-size:13px}body.erp-app .account-table-row:hover{background:var(--yftx-surface-hover)}body.erp-app input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),body.erp-app select,body.erp-app textarea{height:var(--yftx-control);padding:0 10px;border:1px solid var(--yftx-line-strong);border-radius:var(--yftx-radius-control);outline:0;background:var(--yftx-surface);color:var(--yftx-text);font-size:13px}body.erp-app input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):focus,body.erp-app select:focus,body.erp-app textarea:focus{border-color:var(--yftx-accent);box-shadow:0 0 0 3px var(--yftx-focus)}body.erp-app input::placeholder,body.erp-app textarea::placeholder{color:var(--yftx-subtle)}body.erp-app textarea{height:auto;min-height:76px;padding-top:9px;padding-bottom:9px;line-height:1.5;resize:vertical}body.erp-app input[type=checkbox],body.erp-app input[type=radio]{accent-color:var(--yftx-accent)}body.erp-app .account-editor-field,body.erp-app .account-field,body.erp-app .export-file-modal-copy label{display:block;margin-bottom:12px;color:var(--yftx-muted);font-size:12px;font-weight:600}body.erp-app .account-editor-field>span,body.erp-app .account-field>span{display:block;margin-bottom:7px}body.erp-app .account-editor-field input,body.erp-app .account-field input,body.erp-app .export-file-modal-copy input,body.erp-app .export-file-modal-copy select{width:100%}body.erp-app .image-status-badge,body.erp-app .quality-badge,body.erp-app .account-status-badge,body.erp-app .mapping-status-badge,body.erp-app .system-check-badge,body.erp-app .status-pill,body.erp-app .pill{white-space:nowrap}body.erp-app .image-status-badge.ok,body.erp-app .quality-badge.ok,body.erp-app .account-status-badge.active,body.erp-app .mapping-status-badge.ok,body.erp-app .system-check-badge.pass,body.erp-app .pill.ok{color:var(--yftx-success)}body.erp-app .image-status-badge.warning,body.erp-app .quality-badge.warning,body.erp-app .mapping-status-badge.warning,body.erp-app .system-check-badge.warn,body.erp-app .pill.bad{border-color:#8a632f2e;background:var(--yftx-warning-soft);color:var(--yftx-warning)}body.erp-app .workflow-pagination,body.erp-app .image-pagination{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 14px;border-top:1px solid var(--yftx-line);background:var(--yftx-surface)}body.erp-app .workflow-pagination [data-workflow-page-summary]{text-align:center}body.erp-app .modal-backdrop,body.erp-app .account-editor-backdrop,body.erp-app .product-detail-backdrop,body.erp-app .erp-image-zoom-backdrop{display:grid;place-items:center;padding:20px;background:var(--yftx-overlay);backdrop-filter:blur(3px)}body.erp-app .system-modal,body.erp-app .account-editor-modal,body.erp-app .export-file-modal,body.erp-app .watermark-tool-modal{overflow:hidden;border:1px solid var(--yftx-line);box-shadow:var(--yftx-shadow-modal)}body.erp-app .system-modal,body.erp-app .account-editor-modal{width:min(420px,calc(100vw - 40px))}body.erp-app .export-file-modal{width:min(500px,calc(100vw - 40px))}body.erp-app .watermark-tool-modal{display:grid;grid-template-rows:auto minmax(0,1fr)}body.erp-app .product-detail-backdrop{padding:0}body.erp-app .product-detail-drawer{position:absolute;top:0;right:0;bottom:0;display:grid;grid-template-rows:auto minmax(0,1fr);box-shadow:var(--yftx-shadow-modal)}body.erp-app .account-editor-close,body.erp-app .optimized-upload-close,body.erp-app .product-detail-close,body.erp-app .erp-image-zoom-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;border-radius:var(--yftx-radius-control);background:transparent;color:var(--yftx-muted);font-size:20px;line-height:1}body.erp-app .account-editor-close:hover,body.erp-app .optimized-upload-close:hover,body.erp-app .product-detail-close:hover,body.erp-app .erp-image-zoom-close:hover{background:var(--yftx-surface-soft);color:var(--yftx-text)}body.erp-app .account-editor-close svg,body.erp-app .optimized-upload-close svg,body.erp-app .product-detail-close svg,body.erp-app .erp-image-zoom-close svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}body.erp-app .erp-toast{right:20px;line-height:1.45}body.erp-app .permission-empty-card{text-align:center}body.erp-app .permission-empty-card p{line-height:1.6}            body.copywriting-app{overflow:hidden;background:var(--yftx-bg)}body.copywriting-app .workspaceShell{background:var(--yftx-bg)}body.copywriting-app .commandBar{border-bottom:1px solid var(--yftx-line);box-shadow:none}body.copywriting-app .workflowActions{background:var(--yftx-surface-soft)}body.copywriting-app .workflowButton{font-weight:600}body.copywriting-app .workflowButton.active,body.copywriting-app .workflowButton[aria-pressed=true]{background:var(--yftx-surface);color:var(--yftx-text);box-shadow:0 1px 2px #1f232614}body.copywriting-app .contentCard{box-shadow:none}body.copywriting-app .workspacePanel{background:var(--yftx-surface)}body.copywriting-app .tableWrap,body.copywriting-app .embeddedRemovalTableWrap{overflow:auto;border:0;background:var(--yftx-surface)}body.copywriting-app .parseWorkspace{background:var(--yftx-bg)}body.copywriting-app .parseInputPane,body.copywriting-app .embeddedRemovalPane{min-height:0;overflow:hidden;border:1px solid var(--yftx-line);border-radius:var(--yftx-radius-panel);background:var(--yftx-surface);box-shadow:none}body.copywriting-app .pageClearButton,body.copywriting-app .selectionDeleteButton,body.copywriting-app .selectionPromptButton,body.copywriting-app .embeddedRemovalButton{display:inline-flex;align-items:center;justify-content:center;min-height:var(--yftx-control-compact);height:var(--yftx-control-compact);padding:0 12px;border:1px solid var(--yftx-line-strong);border-radius:var(--yftx-radius-control);background:var(--yftx-surface);color:var(--yftx-text);font-size:12px;font-weight:600;box-shadow:none}body.copywriting-app .embeddedRemovalButton.primary{color:#fff}body.infringement-app,body.templates-app,body.api-app{overflow:hidden;background:var(--yftx-bg)}body.infringement-app .library-page,body.templates-app .template-page,body.api-app .api-page{height:100vh;min-height:0;background:var(--yftx-bg)}body.infringement-app .library-card,body.templates-app .template-card{display:grid;grid-template-rows:60px minmax(0,1fr);height:100%;min-height:0;border:0;border-radius:0;background:var(--yftx-bg);box-shadow:none}body.infringement-app .library-toolbar,body.templates-app .toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:60px;height:60px;padding:9px 14px;border:0;border-bottom:1px solid var(--yftx-line);background:var(--yftx-surface)}body.api-app .api-page{display:grid;grid-template-columns:208px minmax(0,1fr)}body.api-app .api-sidebar{background:var(--yftx-surface)}body.api-app .sidebar-head{border-bottom:1px solid var(--yftx-line)}body.api-app .api-workspace{background:var(--yftx-bg)}body.api-app .panel-card,body.api-app .result-card{margin-bottom:10px;padding:14px;border:1px solid var(--yftx-line);border-radius:var(--yftx-radius-panel);background:var(--yftx-surface);box-shadow:none}body.api-app .editor-bar{background:var(--yftx-surface)}body.api-app .editor-actions{background:var(--yftx-surface)}body.api-app .action-button,body.api-app .quick-button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--yftx-control-compact);height:var(--yftx-control-compact);padding:0 12px;border:1px solid var(--yftx-line-strong);border-radius:var(--yftx-radius-control);background:var(--yftx-surface);color:var(--yftx-text);font-size:12px;font-weight:600;box-shadow:none}body.api-app .action-button.primary,body.api-app .quick-button.deepseek,body.api-app .quick-button.r2{border-color:var(--yftx-accent);background:var(--yftx-accent);color:#fff}body.copywriting-app input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),body.infringement-app input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),body.templates-app input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),body.api-app input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),body.watermark-app input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),body.copywriting-app select,body.infringement-app select,body.templates-app select,body.api-app select,body.watermark-app select,body.copywriting-app textarea,body.infringement-app textarea,body.templates-app textarea,body.api-app textarea,body.watermark-app textarea{height:var(--yftx-control);padding:0 10px;border:1px solid var(--yftx-line-strong);border-radius:var(--yftx-radius-control);outline:0;background:var(--yftx-surface);color:var(--yftx-text);font-size:13px}body.copywriting-app textarea,body.infringement-app textarea,body.templates-app textarea,body.api-app textarea,body.watermark-app textarea{height:auto;min-height:76px;padding-top:9px;padding-bottom:9px;resize:vertical}body.copywriting-app input:focus,body.infringement-app input:focus,body.templates-app input:focus,body.api-app input:focus,body.watermark-app input:focus,body.copywriting-app select:focus,body.infringement-app select:focus,body.templates-app select:focus,body.api-app select:focus,body.watermark-app select:focus,body.copywriting-app textarea:focus,body.infringement-app textarea:focus,body.templates-app textarea:focus,body.api-app textarea:focus,body.watermark-app textarea:focus{border-color:var(--yftx-accent);box-shadow:0 0 0 3px var(--yftx-focus)}@media(max-width:1024px){:root{--yftx-sidebar: 184px}body.copywriting-app .parseWorkspace{grid-template-columns:minmax(300px,42%) minmax(0,58%)}}@media(max-width:900px){body.erp-app #appView{grid-template-columns:68px minmax(0,1fr)}body.erp-app .brand{justify-content:center;padding:0}body.erp-app .brand:after,body.erp-app .nav button span,body.erp-app .user-name span{display:none}body.erp-app .sidebar{padding:10px 8px}body.erp-app .nav button{justify-content:center;padding:0}body.erp-app .nav button svg,body.erp-app .nav-icon{width:20px;height:20px;flex-basis:20px}body.erp-app .user-name{justify-content:center;padding:0}body.copywriting-app .commandBar{grid-template-columns:minmax(100px,1fr) auto minmax(200px,1fr)}body.copywriting-app .parseWorkspace{grid-template-columns:1fr;grid-template-rows:minmax(220px,42%) minmax(0,58%)}body.api-app .api-page{grid-template-columns:188px minmax(0,1fr)}}@media(max-width:760px){body.erp-app #appView{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);height:100vh}body.erp-app .sidebar{display:grid;grid-template-rows:auto auto;grid-template-columns:1fr;gap:0;height:auto;padding:8px 10px;border-right:0;border-bottom:1px solid var(--yftx-line)}body.erp-app .brand{min-height:40px;margin:0}body.erp-app .nav{flex-direction:row;gap:6px;overflow-x:auto}body.erp-app .nav button{flex:0 0 auto;width:auto;height:36px;min-height:36px;padding:0 12px}body.erp-app .nav button span{display:inline}body.erp-app .sidebar-user{display:none}body.erp-app .workspace{height:auto;min-height:0}body.erp-app .view-accounts,body.erp-app .view-system-check{padding:12px}body.copywriting-app .workspaceShell{grid-template-rows:auto minmax(0,1fr)}body.copywriting-app .commandBar{grid-template-columns:1fr;grid-template-rows:auto auto;height:auto;min-height:auto}body.api-app .api-page{grid-template-columns:1fr;grid-template-rows:168px minmax(0,1fr)}body.api-app .api-sidebar{border-right:0;border-bottom:1px solid var(--yftx-line)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body.erp-app,body.copywriting-app,body.infringement-app,body.templates-app,body.api-app,body.watermark-app,body.erp-app #loginView{background:var(--yftx-bg)!important}body.erp-app #appView{background:var(--yftx-bg)!important}body.erp-app .sidebar{box-shadow:none!important}body.erp-app .workspace{box-shadow:none!important}body.erp-app .login-card{box-shadow:none!important}body.erp-app .nav button.active{box-shadow:none!important}body.erp-app .account-add-button,body.erp-app .removal-workflow-button,body.erp-app .image-transfer-export,body.erp-app .export-mapping-button:not(.secondary),body.erp-app .export-complete-button,body.erp-app .system-check-button.primary,body.erp-app .account-editor-primary,body.erp-app .modal-btn.confirm:not(.danger){border-color:var(--yftx-accent)!important;background:var(--yftx-accent)!important;color:#fff!important;box-shadow:none!important}body.erp-app .removal-table-card,body.erp-app .image-opt-table-card,body.erp-app .export-listing-shell,body.erp-app .accounts-table-panel,body.erp-app .system-check-header,body.erp-app .system-check-row,body.erp-app .permission-empty-card,body.copywriting-app .contentCard,body.copywriting-app .parseInputPane,body.copywriting-app .embeddedRemovalPane,body.infringement-app .library-card,body.templates-app .template-card,body.api-app .panel-card,body.api-app .result-card,body.watermark-app .card{border:1px solid var(--yftx-line)!important;border-radius:var(--yftx-radius-panel)!important;background:var(--yftx-surface)!important;box-shadow:none!important}body.erp-app th,body.copywriting-app th,body.infringement-app th,body.templates-app th,body.api-app th,body.watermark-app th{background:var(--yftx-surface-soft)!important;color:var(--yftx-muted)!important}body.erp-app td,body.copywriting-app td,body.infringement-app td,body.templates-app td,body.api-app td,body.watermark-app td{background:var(--yftx-surface)!important;color:var(--yftx-text)!important}body.erp-app tbody tr:hover td,body.copywriting-app tbody tr:hover td,body.infringement-app tbody tr:hover td,body.templates-app tbody tr:hover td,body.api-app tbody tr:hover td,body.watermark-app tbody tr:hover td{background:var(--yftx-surface-hover)!important}body.erp-app tbody tr.selected td,body.copywriting-app tbody tr.selected td,body.infringement-app tbody tr.selected td,body.templates-app tbody tr.selected td,body.api-app tbody tr.selected td,body.watermark-app tbody tr.selected td{background:var(--yftx-selected)!important}body.erp-app .modal-backdrop,body.erp-app .account-editor-backdrop,body.erp-app .product-detail-backdrop,body.erp-app .erp-image-zoom-backdrop{background:var(--yftx-overlay)!important}body.erp-app .system-modal,body.erp-app .account-editor-modal,body.erp-app .export-file-modal,body.erp-app .watermark-tool-modal{border-radius:var(--yftx-radius-modal)!important;background:var(--yftx-surface)!important;box-shadow:var(--yftx-shadow-modal)!important}body.copywriting-app .commandBar,body.infringement-app .library-toolbar,body.templates-app .toolbar,body.api-app .sidebar-head,body.api-app .editor-bar,body.api-app .editor-actions{background:var(--yftx-surface)!important;box-shadow:none!important}body.api-app .api-sidebar,body.infringement-app .library-card,body.templates-app .template-card,body.copywriting-app .workspacePanel{background:var(--yftx-surface)!important}body.erp-app #loginView{padding:20px!important;background:var(--yftx-bg)!important}body.erp-app .login-card{display:block!important;gap:0!important;-webkit-backdrop-filter:none!important}body.erp-app .login-logo-frame{display:flex!important;justify-content:center!important;margin:0 0 18px!important}body.erp-app .login-logo{filter:none!important}body.erp-app .login-field{text-align:center!important}body.erp-app .login-field span{display:block!important;margin-bottom:7px!important;color:var(--yftx-muted)!important;text-align:center!important}body.erp-app .login-card input{width:100%!important;box-shadow:none!important}body.erp-app .login-card input:focus{border-color:var(--yftx-accent)!important;box-shadow:0 0 0 3px var(--yftx-focus)!important}body.erp-app .login-card #loginSubmitBtn{box-shadow:none!important}body.erp-app .login-card #loginSubmitBtn:hover{border-color:var(--yftx-accent-hover)!important;background:var(--yftx-accent-hover)!important}:root{--yftx-sidebar: 104px}body.erp-app .brand:after{content:none!important}body.erp-app .nav button{gap:0!important}body.erp-app .view-copywriting,body.erp-app .view-image-optimization,body.erp-app .view-export-listing{padding:0!important;background:var(--yftx-bg)!important}body.erp-app .copywriting-frame{width:100%!important;height:100%!important;border:0!important;border-radius:0!important;background:var(--yftx-surface)!important}body.erp-app .image-opt-command-bar,body.erp-app .export-listing-header{height:56px!important;min-height:56px!important;padding:10px 12px!important;border:1px solid var(--yftx-line)!important;border-radius:8px!important;background:var(--yftx-surface)!important;box-shadow:none!important}body.erp-app .image-opt-table-card,body.erp-app .export-listing-table-wrap{height:100%!important;min-height:0!important;border:1px solid var(--yftx-line)!important;border-radius:8px!important;background:var(--yftx-surface)!important;box-shadow:none!important;overflow:auto!important}body.copywriting-app .workspaceShell{min-height:0!important;display:grid!important;overflow:hidden!important}body.copywriting-app .commandBar{box-shadow:none!important}body.copywriting-app .contentCard{overflow:hidden!important}body.copywriting-app .previewTableWrap,body.copywriting-app .tableWrap,body.copywriting-app .embeddedRemovalTableWrap{height:100%!important;min-height:0!important;border:1px solid var(--yftx-line)!important;border-radius:8px!important;background:var(--yftx-surface)!important}body.erp-app .accounts-page-minimal{align-items:flex-start!important}body.erp-app .accounts-shell-minimal{flex-direction:column!important}body.erp-app .accounts-primary-action{margin:0 0 12px!important}body.erp-app .accounts-table-panel,body.erp-app .account-table{width:100%!important}body.erp-app .account-table-header{grid-template-columns:minmax(180px,1.2fr) minmax(220px,1.4fr) 90px 52px!important}body.erp-app .account-table-row{min-height:64px!important}body.erp-app .account-table-cell-name{gap:0!important}:root{--yftx-sidebar: 108px}body.erp-app .sidebar{padding:10px 8px!important}body.erp-app .brand{justify-content:center!important}body.erp-app .brand img{flex-basis:28px!important}body.erp-app .nav{overflow:visible!important}body.erp-app .nav button{padding:0 8px!important}body.erp-app .nav button span{text-overflow:ellipsis!important}body.erp-app .view-image-optimization,body.erp-app .view-export-listing{padding:0!important}body.erp-app .image-opt-command-bar,body.erp-app .export-listing-header,body.erp-app .image-opt-content,body.erp-app .image-opt-table-card,body.erp-app .image-opt-table-wrap,body.erp-app .export-listing-table-wrap{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}body.copywriting-app .workspaceShell,body.copywriting-app .contentCard,body.copywriting-app .workspacePanel,body.copywriting-app .parseWorkspace,body.copywriting-app .parseInputPane,body.copywriting-app .embeddedRemovalPane,body.copywriting-app .previewTableWrap,body.copywriting-app .tableWrap,body.copywriting-app .embeddedRemovalTableWrap{width:100%!important;max-width:none!important;margin:0!important;justify-items:stretch!important}body.erp-app .accounts-page-minimal{align-items:flex-start!important}body.erp-app .accounts-shell-minimal{margin:0 auto!important}body.erp-app .accounts-primary-action{margin:0 0 12px!important}body.erp-app .account-add-button{line-height:32px!important}body.erp-app .account-table-header{display:none!important}body.erp-app .account-table{background:transparent!important}body.erp-app .account-table-row{background:var(--yftx-surface)!important}body.erp-app .account-table-row:last-child{margin-bottom:0!important}body.erp-app .account-table-cell{padding:0!important}body.erp-app .account-table-cell-name{display:block!important;justify-content:flex-start!important;text-align:left!important}body.erp-app .account-table-cell-name>span{font-weight:650!important}body.erp-app .account-table-cell-account{display:block!important;text-align:left!important;font-size:12px!important}body.erp-app .account-table-cell-status{display:flex!important;text-align:left!important}body.erp-app .account-table-cell-edit{display:flex!important;align-items:center!important}body.erp-app .view-system-check:not(.active){display:none!important}body.erp-app .view-system-check.active{place-items:center!important;padding:18px!important;overflow:auto!important}body.erp-app .system-check-page{align-content:start!important}body.erp-app .system-check-header{box-shadow:none!important}body.erp-app .system-check-header p{line-height:18px!important}body.erp-app .system-check-actions{margin-left:auto!important}body.erp-app .system-check-list{gap:7px!important}body.erp-app .system-check-row{box-shadow:none!important}body.erp-app .system-check-row-main{text-align:left!important}body.erp-app .system-check-row-main strong{line-height:17px!important}body.erp-app .system-check-row-main span{line-height:16px!important}body.erp-app .system-check-row-main small{display:block!important;line-height:15px!important}body.erp-app .system-check-badge{min-width:44px!important}body.erp-app .removal-empty-cell,body.erp-app .image-empty-cell,body.erp-app .export-listing-empty,body.copywriting-app .emptyCell,body.copywriting-app .embeddedRemovalEmpty{height:180px!important;min-height:180px!important;padding:24px!important;color:var(--yftx-subtle)!important;font-size:12px!important;font-weight:500!important;text-align:center!important;vertical-align:middle!important;border:0!important;background:transparent!important;white-space:normal!important}body.erp-app .workflow-pagination{background:var(--yftx-surface)!important}body.erp-app .workflow-pagination button{font-size:12px!important}body.erp-app .workflow-pagination [data-workflow-page-summary]{font-size:12px!important}body.erp-app .removal-cell-clamp,body.erp-app .image-cell-clamp,body.copywriting-app .cellClamp,body.erp-app .optimized-file-name,body.erp-app .optimized-product-option-copy span,body.erp-app .optimized-product-selected-copy span,body.erp-app .optimized-product-option-copy strong,body.erp-app .optimized-product-selected-copy strong{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;line-clamp:2!important;max-height:28px!important;overflow:hidden!important;text-overflow:ellipsis!important}     @media(min-width:761px)and (max-width:900px){:root{--yftx-sidebar: 108px}body.erp-app #appView{grid-template-columns:var(--yftx-sidebar) minmax(0,1fr)!important}body.erp-app .nav button span{display:block!important}body.erp-app .nav button svg{display:none!important}}@media(max-width:760px){body.erp-app .sidebar{display:grid!important;grid-template-rows:auto auto!important}body.erp-app .nav{flex-direction:row!important;justify-content:center!important;overflow-x:auto!important}body.erp-app .nav button{width:auto!important;min-width:72px!important;height:36px!important;padding:0 12px!important}body.erp-app .accounts-page-minimal,body.erp-app .view-system-check{padding:12px!important}body.erp-app .system-check-page{width:100%!important}}body.erp-app .view-system-check.active{place-items:center!important}body.erp-app .system-check-header{text-align:center!important}body.erp-app .system-check-header p{text-align:center!important}body.erp-app .system-check-actions{flex-wrap:wrap!important}body.erp-app .system-check-row{padding:10px 12px!important}body.erp-app .system-check-row-main{text-align:center!important}body.erp-app .system-check-row-main strong,body.erp-app .system-check-row-main span,body.erp-app .system-check-row-main small{text-align:center!important}body.erp-app .account-add-button{line-height:34px!important}body.erp-app .account-list{grid-template-columns:1fr!important;gap:8px!important;overflow:visible!important}body.erp-app .account-table{width:100%!important}body.erp-app .account-table-row{width:100%!important} body.erp-app .view-accounts{position:relative!important}body.erp-app .accounts-page-minimal{padding:18px 20px 28px!important}body.erp-app .accounts-shell-minimal{padding-top:54px!important}body.erp-app .accounts-primary-action{z-index:3!important}body.erp-app .account-table{overflow:visible!important}body.erp-app .account-table-header{font-weight:650!important}body.erp-app .account-table-header>span{text-align:center!important;height:100%!important}body.erp-app .account-table-row{background:#fff!important}body.erp-app .account-table-cell{padding:0!important}body.erp-app .account-table-cell-name,body.erp-app .account-table-cell-account{display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important}body.erp-app .account-table-cell-name{flex-direction:row!important;gap:0!important}body.erp-app .account-table-cell-name>span{font-weight:650!important}body.erp-app .account-table-cell-status,body.erp-app .account-table-cell-edit{display:flex!important;justify-content:center!important}body.erp-app .account-list-empty{min-height:180px!important}body.erp-app .account-list-empty .account-table-cell{text-align:center!important}body.erp-app .view-system-check.active{display:block!important;padding:18px!important}body.erp-app .system-check-page{gap:10px!important}body.erp-app .system-check-header{text-align:left!important}body.erp-app .system-check-header p{text-align:left!important}body.erp-app .system-check-actions{margin-left:auto!important;flex-wrap:nowrap!important}body.erp-app .system-check-row{flex-direction:row!important;text-align:left!important;min-height:54px!important}body.erp-app .system-check-row-main{width:auto!important;justify-items:stretch!important;align-content:center!important;text-align:left!important}body.erp-app .system-check-row-main strong,body.erp-app .system-check-row-main span,body.erp-app .system-check-row-main small{text-align:left!important}body.erp-app .system-check-row-main span{white-space:nowrap!important}body.erp-app .system-check-badge{margin-left:auto!important}body.erp-app .account-table-cell-account,body.erp-app .account-table-cell-status,body.erp-app .account-table-cell-edit{grid-area:auto!important}body.erp-app .account-table-cell-name>span{max-width:100%!important}:root{--yftx-page:#f3f2ef;--yftx-workspace:#f7f6f3;--yftx-surface:#fffdf9;--yftx-surface-soft:#f1f0ed;--yftx-surface-hover:#f4f2ee;--yftx-text:#252422;--yftx-muted:#6e6a65;--yftx-subtle:#92908b;--yftx-line:rgba(37,36,34,.1);--yftx-line-strong:rgba(37,36,34,.16);--yftx-accent:#5f7164;--yftx-accent-hover:#53645a;--yftx-accent-soft:#e8eee9;--yftx-success:#52705a;--yftx-warning:#8a6a3e;--yftx-danger:#a14f49;--yftx-danger-soft:#f7eceb;--yftx-focus:rgba(95,113,100,.22);--yftx-radius-frame:10px;--yftx-radius-card:8px;--yftx-radius-control:8px;--yftx-radius-small:6px;--yftx-shadow-modal:0 24px 64px rgba(30,28,25,.2);--yftx-font:"PingFang SC","\82f9\65b9-\7b80","\82f9\65b9",-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue","Microsoft YaHei",Arial,sans-serif;--yftx-mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;--yftx-ease:cubic-bezier(.2,.8,.2,1);--yftx-fast:.12s;--yftx-normal:.16s;--yftx-slow:.22s;--yftx-control:36px;--yftx-control-compact:32px;--yftx-form:40px}html,body{color-scheme:light}body.erp-app,body.copywriting-app,body.infringement-app,body.api-app,body.templates-app,body.watermark-app{text-rendering:optimizeLegibility}body.erp-app *,body.copywriting-app *,body.infringement-app *,body.api-app *,body.templates-app *,body.watermark-app *{letter-spacing:0!important}body.erp-app button,body.copywriting-app button,body.infringement-app button,body.api-app button,body.templates-app button,body.watermark-app button{transition:background-color var(--yftx-normal) var(--yftx-ease),border-color var(--yftx-normal) var(--yftx-ease),color var(--yftx-normal) var(--yftx-ease),opacity var(--yftx-normal) var(--yftx-ease)!important}body.erp-app input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),body.erp-app select,body.erp-app textarea,body.copywriting-app input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),body.copywriting-app select,body.copywriting-app textarea,body.infringement-app input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),body.infringement-app select,body.infringement-app textarea,body.api-app input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),body.api-app select,body.api-app textarea,body.templates-app input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),body.templates-app select,body.templates-app textarea,body.watermark-app input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),body.watermark-app select,body.watermark-app textarea{height:var(--yftx-control)!important;padding:0 10px!important;border:1px solid var(--yftx-line-strong)!important;border-radius:var(--yftx-radius-control)!important;outline:0!important;background:var(--yftx-surface)!important;color:var(--yftx-text)!important;box-shadow:none!important}body.erp-app textarea,body.copywriting-app textarea,body.infringement-app textarea,body.api-app textarea,body.templates-app textarea,body.watermark-app textarea{resize:vertical}body.erp-app input:focus,body.erp-app select:focus,body.erp-app textarea:focus,body.copywriting-app input:focus,body.copywriting-app select:focus,body.copywriting-app textarea:focus,body.infringement-app input:focus,body.infringement-app select:focus,body.infringement-app textarea:focus,body.api-app input:focus,body.api-app select:focus,body.api-app textarea:focus,body.templates-app input:focus,body.templates-app select:focus,body.templates-app textarea:focus,body.watermark-app input:focus,body.watermark-app select:focus,body.watermark-app textarea:focus{border-color:var(--yftx-accent)!important;box-shadow:0 0 0 3px var(--yftx-focus)!important}body.erp-app :focus-visible,body.copywriting-app :focus-visible,body.infringement-app :focus-visible,body.api-app :focus-visible,body.templates-app :focus-visible,body.watermark-app :focus-visible{outline:2px solid var(--yftx-focus);outline-offset:2px}body.erp-app button:disabled,body.copywriting-app button:disabled,body.infringement-app button:disabled,body.api-app button:disabled,body.templates-app button:disabled,body.watermark-app button:disabled{opacity:.55!important;cursor:not-allowed!important}body.erp-app #appView{display:grid!important;width:100%!important;margin:0!important;background:var(--yftx-page)!important}body.erp-app .sidebar{overflow:hidden!important}body.erp-app .brand{padding:0!important}body.erp-app .brand img{filter:none!important}body.erp-app .brand:after,body.erp-app .brand-text{display:none!important;content:none!important}body.erp-app .nav{overflow:visible!important}body.erp-app .nav button{box-shadow:none!important}body.erp-app .nav button svg{display:none!important}body.erp-app .nav button:hover{background:var(--yftx-surface-soft)!important;color:var(--yftx-text)!important}body.erp-app .nav button.active{border-color:#5f71642e!important}body.erp-app .nav button.active:before{content:""!important;position:absolute!important;left:6px!important;top:11px!important;bottom:11px!important;width:2px!important;border-radius:999px!important;background:var(--yftx-accent)!important}body.erp-app .sidebar-user{border-top:1px solid var(--yftx-line)!important}body.erp-app .user-name{white-space:nowrap!important}body.erp-app .user-name:before{content:"";width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:var(--yftx-success)}body.erp-app .user-popover{box-shadow:0 12px 30px #1e1c191f!important}body.erp-app .user-menu-action{text-align:left!important}body.erp-app .user-menu-action:hover{background:var(--yftx-surface-soft)!important;color:var(--yftx-text)!important}body.erp-app .logout-action{color:var(--yftx-danger)!important}body.erp-app .logout-action:hover{background:var(--yftx-danger-soft)!important;color:var(--yftx-danger)!important}body.erp-app .workspace{overflow:hidden!important}body.erp-app .content,body.erp-app .view,body.erp-app iframe{background:transparent!important}body.erp-app .view-copywriting,body.erp-app .view-image-optimization,body.erp-app .view-export-listing,body.erp-app .view-infringement,body.erp-app .view-templates,body.erp-app .view-api{padding:0!important}body.erp-app .copywriting-frame,body.erp-app .infringement-frame,body.erp-app .api-frame,body.erp-app .templates-frame{background:var(--yftx-page)!important}body.erp-app .removal-command-bar,body.erp-app .image-opt-command-bar,body.erp-app .export-listing-header{min-height:56px!important;height:56px!important;padding:10px 12px!important;gap:12px!important;border:1px solid var(--yftx-line)!important;border-radius:var(--yftx-radius-card)!important;background:var(--yftx-surface)!important;box-shadow:none!important}body.erp-app .removal-selection-meta,body.erp-app .image-opt-selection-tools,body.erp-app .export-selection-meta{line-height:18px!important}body.erp-app .removal-selection-meta strong,body.erp-app .image-opt-selection-tools strong,body.erp-app .export-selection-meta strong{font-variant-numeric:tabular-nums}body.erp-app .removal-workflow-button,body.erp-app .removal-secondary-button,body.erp-app .image-tool-button,body.erp-app .image-open-doubao,body.erp-app .image-transfer-export,body.erp-app .image-inline-delete,body.erp-app .export-mapping-button,body.erp-app .export-complete-button,body.erp-app .export-quiet-delete,body.erp-app .page-clear-button,body.erp-app .system-check-button,body.erp-app .account-add-button,body.erp-app .account-editor-primary,body.erp-app .account-editor-secondary,body.erp-app .modal-btn{box-shadow:none!important}body.erp-app .removal-secondary-button:hover:not(:disabled),body.erp-app .image-tool-button:hover:not(:disabled),body.erp-app .image-open-doubao:hover:not(:disabled),body.erp-app .export-mapping-button.secondary:hover:not(:disabled),body.erp-app .page-clear-button:hover:not(:disabled),body.erp-app .system-check-button:hover:not(:disabled),body.erp-app .account-editor-secondary:hover:not(:disabled),body.erp-app .modal-btn:hover:not(:disabled){background:var(--yftx-surface-soft)!important;color:var(--yftx-text)!important}body.erp-app .removal-workflow-button,body.erp-app .image-transfer-export,body.erp-app .export-mapping-button:not(.secondary),body.erp-app .export-complete-button,body.erp-app .system-check-button.primary,body.erp-app .account-add-button,body.erp-app .account-editor-primary,body.erp-app .modal-btn.confirm:not(.danger){border-color:var(--yftx-accent)!important;background:var(--yftx-accent)!important;color:#fff!important}body.erp-app .removal-workflow-button:hover:not(:disabled),body.erp-app .image-transfer-export:hover:not(:disabled),body.erp-app .export-mapping-button:not(.secondary):hover:not(:disabled),body.erp-app .export-complete-button:hover:not(:disabled),body.erp-app .system-check-button.primary:hover:not(:disabled),body.erp-app .account-add-button:hover:not(:disabled),body.erp-app .account-editor-primary:hover:not(:disabled),body.erp-app .modal-btn.confirm:not(.danger):hover:not(:disabled){border-color:var(--yftx-accent-hover)!important;background:var(--yftx-accent-hover)!important;color:#fff!important}body.erp-app .image-inline-delete,body.erp-app .export-quiet-delete,body.erp-app .removal-secondary-button.danger,body.erp-app .page-clear-button.danger,body.erp-app .modal-btn.confirm.danger{color:var(--yftx-danger)!important}body.erp-app .image-inline-delete:hover:not(:disabled),body.erp-app .export-quiet-delete:hover:not(:disabled),body.erp-app .removal-secondary-button.danger:hover:not(:disabled),body.erp-app .page-clear-button.danger:hover:not(:disabled),body.erp-app .modal-btn.confirm.danger:hover:not(:disabled){border-color:#a14f4947!important;background:#f3dfdd!important;color:var(--yftx-danger)!important}body.erp-app .removal-table-card,body.erp-app .image-opt-table-card,body.erp-app .export-listing-table-wrap,body.erp-app .accounts-table-panel,body.erp-app .system-check-header,body.erp-app .system-check-row{border:1px solid var(--yftx-line)!important;border-radius:var(--yftx-radius-card)!important;background:var(--yftx-surface)!important;box-shadow:none!important;overflow:hidden!important}body.erp-app .removal-table-wrap,body.erp-app .image-opt-table-wrap,body.erp-app .export-listing-table-wrap{background:var(--yftx-surface)!important}body.erp-app .removal-table-wrap table,body.erp-app .image-opt-table-wrap table,body.erp-app .export-listing-table-wrap table{font-size:13px!important}body.erp-app .removal-table-wrap th,body.erp-app .image-opt-table-wrap th,body.erp-app .export-listing-table-wrap th{white-space:nowrap!important}body.erp-app .removal-table-wrap td,body.erp-app .image-opt-table-wrap td,body.erp-app .export-listing-table-wrap td{vertical-align:middle!important}body.erp-app .removal-table-wrap tbody tr:hover td,body.erp-app .image-opt-table-wrap tbody tr:hover td,body.erp-app .export-listing-table-wrap tbody tr:hover td{background:var(--yftx-surface-hover)!important}body.erp-app .removal-table-wrap tbody tr.selected td,body.erp-app .image-opt-table-wrap tbody tr.selected td,body.erp-app .export-listing-table-wrap tbody tr.selected td{background:var(--yftx-accent-soft)!important}body.erp-app .removal-table-wrap th:first-child,body.erp-app .removal-table-wrap td:first-child,body.erp-app .image-opt-table-wrap th:first-child,body.erp-app .image-opt-table-wrap td:first-child,body.erp-app .export-listing-table-wrap th:first-child,body.erp-app .export-listing-table-wrap td:first-child{position:sticky!important;left:0!important;z-index:2!important;box-shadow:1px 0 0 var(--yftx-line)!important}body.erp-app .removal-table-wrap th:first-child,body.erp-app .image-opt-table-wrap th:first-child,body.erp-app .export-listing-table-wrap th:first-child{z-index:3!important}body.erp-app .removal-col-sku,body.erp-app .removal-col-asin,body.erp-app .image-col-sku,body.erp-app .image-col-asin{text-align:left!important}body.erp-app td[class*=price],body.erp-app td[class*=review-count],body.erp-app td[class*=rating],body.erp-app td[class*=rank]{font-variant-numeric:tabular-nums!important;text-align:right!important}body.erp-app td[class*=image],body.erp-app td[class*=select],body.erp-app td[class*=status]{text-align:center!important}body.erp-app .workflow-pagination{min-height:38px!important;padding:6px 10px!important;border-top:1px solid var(--yftx-line)!important;background:var(--yftx-surface)!important}body.erp-app .workflow-pagination button{font-weight:600!important}body.erp-app .workflow-pagination button:hover:not(:disabled){background:var(--yftx-surface-soft)!important;color:var(--yftx-text)!important}body.erp-app .workflow-pagination [data-workflow-page-summary]{text-align:right!important}body.erp-app .removal-empty-cell,body.erp-app .image-empty-cell,body.erp-app .export-listing-empty,body.erp-app .removal-table-wrap td.centered-empty-state,body.erp-app .image-opt-table-wrap td.centered-empty-state,body.erp-app .export-listing-table-wrap td.centered-empty-state{height:180px!important;min-height:180px!important;padding:24px!important;border:0!important;background:transparent!important;color:var(--yftx-subtle)!important;font-size:12px!important;font-weight:500!important;text-align:center!important;vertical-align:middle!important}body.erp-app .modal-backdrop,body.erp-app .erp-image-zoom-backdrop,body.erp-app .product-detail-backdrop{-webkit-backdrop-filter:blur(2px)!important}body.erp-app .system-modal,body.erp-app .account-editor-modal,body.erp-app .export-file-modal,body.erp-app .watermark-tool-modal,body.erp-app .product-detail-drawer{box-shadow:var(--yftx-shadow-modal)!important}body.erp-app .system-modal{width:min(360px,100%)!important}body.erp-app .account-editor-modal{width:min(480px,100%)!important}body.erp-app .export-file-modal{width:min(440px,100%)!important}body.erp-app .erp-toast{line-height:1.4!important}body.erp-app .view-accounts{overflow:auto!important;background:var(--yftx-page)!important}body.erp-app .accounts-page-minimal{padding:18px 20px 32px!important}body.erp-app .accounts-shell-minimal{padding-top:52px!important}body.erp-app .accounts-primary-action{z-index:3!important}body.erp-app .account-add-button{line-height:30px!important}body.erp-app .account-add-button span{transform:translateY(-1px)!important}body.erp-app .account-table{overflow:hidden!important}body.erp-app .account-table-header{font-weight:600!important}body.erp-app .account-table-header>span{text-align:center!important}body.erp-app .account-table-body,body.erp-app .account-list{display:block!important}body.erp-app .account-table-row{background:var(--yftx-surface)!important}body.erp-app .account-table-row:last-child{border-bottom:0!important}body.erp-app .account-table-cell{text-align:center!important}body.erp-app .account-table-cell-name,body.erp-app .account-table-cell-account,body.erp-app .account-table-cell-status,body.erp-app .account-table-cell-edit{grid-area:auto!important}body.erp-app .account-table-cell-name>span{font-weight:600!important}body.erp-app .account-table-cell-account{white-space:nowrap!important}body.erp-app .account-row-meta{display:none!important}body.erp-app .account-list-empty{grid-template-columns:1fr!important}body.erp-app .account-list-empty .account-table-cell{text-align:center!important}body.erp-app .view-system-check{overflow:auto!important;background:var(--yftx-page)!important}body.erp-app .system-check-page{align-content:start!important}body.erp-app .system-check-header{padding:12px 14px!important}body.erp-app .system-check-header p{text-align:left!important}body.erp-app .system-check-actions{margin-left:auto!important}body.erp-app .system-check-list{gap:8px!important}body.erp-app .system-check-row{padding:10px 14px!important}body.erp-app .system-check-row-main{text-align:left!important}body.erp-app .system-check-row-main strong{text-align:left!important}body.erp-app .system-check-row-main span{text-align:left!important}body.erp-app .system-check-row-main small{display:none!important}body.erp-app .system-check-badge{font-weight:600!important}body.erp-app .image-status-badge,body.erp-app .quality-badge,body.erp-app .account-status-badge,body.erp-app .mapping-status-badge,body.erp-app .system-check-badge,body.erp-app .status-pill,body.erp-app .pill{display:inline-flex!important;align-items:center!important;gap:5px!important;min-height:22px!important;padding:0 8px!important;border:1px solid var(--yftx-line)!important;border-radius:999px!important;background:var(--yftx-surface-soft)!important;color:var(--yftx-muted)!important;font-size:12px!important;font-weight:600!important;line-height:1!important;white-space:nowrap!important}body.erp-app .image-status-badge.ok,body.erp-app .quality-badge.ok,body.erp-app .account-status-badge.active,body.erp-app .mapping-status-badge.ok,body.erp-app .system-check-badge.pass,body.erp-app .pill.ok{color:var(--yftx-success)!important}body.erp-app .image-status-badge.warning,body.erp-app .quality-badge.warning,body.erp-app .mapping-status-badge.warning,body.erp-app .system-check-badge.warn{color:var(--yftx-warning)!important}body.erp-app .image-status-badge.error,body.erp-app .quality-badge.error,body.erp-app .account-status-badge.disabled,body.erp-app .mapping-status-badge.error,body.erp-app .system-check-badge.fail,body.erp-app .pill.bad{color:var(--yftx-danger)!important}body.erp-app h1,body.erp-app h2,body.erp-app h3{letter-spacing:0!important}body.erp-app .removal-table-wrap td[class*=sku],body.erp-app .image-opt-table-wrap td[class*=sku],body.erp-app .export-listing-table-wrap td[class*=sku],body.erp-app .removal-table-wrap td[class*=asin],body.erp-app .image-opt-table-wrap td[class*=asin],body.erp-app .export-listing-table-wrap td[class*=asin]{font-family:var(--yftx-mono)!important;font-variant-numeric:tabular-nums!important}                        @media(min-width:1121px){   }body.copywriting-app,body.infringement-app,body.api-app,body.templates-app,body.watermark-app{overflow:hidden}body.copywriting-app .card,body.infringement-app .card,body.api-app .card,body.templates-app .card,body.watermark-app .card,body.copywriting-app .workspaceShell,body.copywriting-app .contentCard,body.copywriting-app .workspacePanel,body.copywriting-app .embeddedRemovalPane,body.copywriting-app .previewTableWrap,body.copywriting-app .tableWrap,body.copywriting-app .embeddedRemovalTableWrap{justify-items:stretch!important}body.copywriting-app .workspaceShell{padding:10px!important}body.copywriting-app .tableWrap table,body.copywriting-app .previewTableWrap table,body.copywriting-app .embeddedRemovalTableWrap table{table-layout:auto!important}body.copywriting-app .workflowButton,body.copywriting-app .selectionPromptButton,body.copywriting-app .embeddedRemovalButton,body.copywriting-app .primary,body.copywriting-app .secondary,body.infringement-app .primary,body.infringement-app .secondary,body.api-app .primary,body.api-app .secondary,body.templates-app .primary,body.templates-app .secondary,body.watermark-app .primary,body.watermark-app .secondary{box-shadow:none!important}body.copywriting-app .selectionPromptButton,body.infringement-app .primary,body.api-app .primary,body.templates-app .primary,body.watermark-app .primary{color:#fff!important}body.copywriting-app .selectionPromptButton:hover:not(:disabled),body.infringement-app .primary:hover:not(:disabled),body.api-app .primary:hover:not(:disabled),body.templates-app .primary:hover:not(:disabled),body.watermark-app .primary:hover:not(:disabled){border-color:var(--yftx-accent-hover)!important;background:var(--yftx-accent-hover)!important;color:#fff!important}body.copywriting-app .toast,body.infringement-app .toast,body.api-app .toast,body.templates-app .toast,body.watermark-app .toast,body.watermark-app .watermark-toast{box-shadow:0 12px 32px #00000029!important}@media(max-width:900px){body.erp-app #appView{grid-template-columns:112px minmax(0,1fr)!important;gap:8px!important;padding:8px!important}}@media(max-width:760px){body.erp-app #appView{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto minmax(0,1fr)!important;height:100vh!important;padding:8px!important;gap:8px!important}body.erp-app .sidebar{display:grid!important;grid-template-rows:auto auto!important;height:auto!important;min-height:0!important;border-radius:var(--yftx-radius-card)!important}body.erp-app .nav{flex-direction:row!important;justify-content:flex-start!important;overflow-x:auto!important;padding:4px 0!important}body.erp-app .nav button{width:auto!important;min-width:82px!important;height:36px!important;min-height:36px!important;padding:0 12px!important}body.erp-app .workspace{height:auto!important;min-height:0!important}body.erp-app .accounts-page-minimal{padding:12px!important}body.erp-app .accounts-shell-minimal{padding-top:52px!important}body.erp-app .system-check-page{width:100%!important}body.erp-app .removal-command-bar,body.erp-app .image-opt-command-bar,body.erp-app .export-listing-header{height:auto!important;min-height:64px!important;flex-wrap:wrap!important} }@media(prefers-reduced-motion:reduce){body.erp-app *,body.copywriting-app *,body.infringement-app *,body.api-app *,body.templates-app *,body.watermark-app *{animation:none!important;transition-duration:.01ms!important}}body.erp-app .brand{border:0!important;cursor:pointer!important}body.erp-app .brand:hover{background:var(--yftx-surface-soft)!important;border-radius:var(--yftx-radius-control)!important}body.erp-app .view-home.active{background:var(--yftx-page)!important}body.erp-app .accounts-page-minimal{padding:24px 20px 34px!important}body.erp-app .accounts-shell-minimal{padding-top:0!important}body.erp-app .accounts-primary-action{padding:0!important}body.erp-app .account-add-button{line-height:32px!important}body.erp-app .account-add-button span{transform:none!important}body.erp-app .account-table{margin:0!important}body.erp-app .view-system-check.active{padding:22px!important}body.erp-app .system-check-page{align-content:start!important}body.erp-app .system-check-header{overflow:visible!important}body.erp-app .system-check-header p{line-height:20px!important}body.erp-app .system-check-actions{gap:8px!important}body.erp-app .system-check-button{white-space:nowrap!important}body.erp-app .system-check-list{overflow:hidden!important}body.erp-app .system-check-row{box-shadow:none!important}body.erp-app .system-check-row:last-child{border-bottom:0!important}body.erp-app .system-check-row-main{text-align:left!important}body.erp-app .system-check-row-main strong{color:var(--yftx-text)!important}body.erp-app .system-check-row-main strong:before{content:""!important;width:6px!important;height:6px!important;flex:0 0 6px!important;border-radius:50%!important;background:var(--yftx-subtle)!important}body.erp-app .system-check-row-main span{text-align:left!important}body.erp-app .system-check-badge{text-align:center!important}body.templates-app .template-card{background:var(--yftx-page)!important}body.templates-app .toolbar{background:var(--yftx-surface)!important}@media(max-width:760px){body.erp-app .view-system-check.active{padding:14px!important}body.erp-app .accounts-page-minimal{padding:16px 12px 24px!important}}body.erp-app #accountFormFeedback:empty{display:none!important;min-height:0!important;margin:0!important}:root{--yftx-space-1:4px;--yftx-space-2:8px;--yftx-space-3:12px;--yftx-space-4:16px;--yftx-radius-frame:10px;--yftx-radius-card:8px;--yftx-radius-control:8px;--yftx-radius-small:6px;--yftx-shadow-card:0 1px 2px rgba(37,36,34,.05),0 6px 18px rgba(37,36,34,.05);--yftx-shadow-modal:0 24px 64px rgba(30,28,25,.2)}   body.erp-app .page-clear-button,body.copywriting-app .pageClearButton{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:78px!important;min-width:78px!important;max-width:78px!important;height:32px!important;min-height:32px!important;max-height:32px!important;padding:0!important;margin:0!important;border:1px solid rgba(166,72,67,.18)!important;border-radius:var(--yftx-radius-control)!important;background:var(--yftx-danger-soft)!important;color:var(--yftx-danger)!important;font-size:12px!important;font-weight:600!important;white-space:nowrap!important;box-shadow:none!important}body.erp-app .image-opt-command-spacer,body.erp-app .export-clear-toolbar,body.copywriting-app .previewDangerZone,body.copywriting-app .parseDangerZone{display:flex!important;align-items:center!important;justify-content:flex-start!important;justify-self:start!important;min-width:78px!important;margin:0!important;padding:0!important}body.copywriting-app .commandBar[data-panel=preview] .parseDangerZone,body.copywriting-app .commandBar[data-panel=parse] .previewDangerZone{display:none!important}body.erp-app .mapping-status-badge[data-export-locate]{cursor:pointer!important}body.erp-app .mapping-status-badge[data-export-locate]:hover{border-color:#8a6a3e47!important;background:#f4e9da!important}body.erp-app .mapping-missing-cell{white-space:nowrap!important}body.erp-app .export-listing-table-wrap tr.mapping-locate-flash td{background:#f8f0e4!important}body.erp-app .export-mapping-issue-bar{overflow-y:hidden!important}body.erp-app .export-mapping-issue-bar.hidden{display:none!important}body.erp-app .export-mapping-issue-title{white-space:nowrap!important}body.erp-app .export-mapping-issue-list{min-width:0!important}body.erp-app .export-mapping-issue-item{box-shadow:none!important}body.erp-app .export-mapping-issue-item:hover:not(:disabled){border-color:#8a6a3e4d!important;background:#f2e4cf!important;color:#76562e!important}body.erp-app .export-mapping-issue-more{white-space:nowrap!important}body.erp-app .view-copywriting,body.erp-app .view-infringement,body.erp-app .view-api,body.erp-app .view-templates{position:relative!important}body.erp-app .module-frame-status{text-align:center!important}body.erp-app .module-frame-status.hidden{display:none!important}body.erp-app .module-frame-status:before{content:""!important;display:block!important;width:16px!important;height:16px!important;margin:0 auto 9px!important;border:0!important;border-radius:50%!important;background:var(--yftx-accent)!important;opacity:.45!important}body.erp-app .module-frame-status[data-state=error]:before{border:0!important;width:8px!important;height:8px!important;background:var(--yftx-danger)!important;animation:none!important}body.erp-app .module-frame-status[data-state=empty]:before{border:0!important;width:8px!important;height:8px!important;background:var(--yftx-subtle)!important;animation:none!important}@keyframes yftx-spin{to{transform:rotate(360deg)}}body.erp-app .removal-empty-cell,body.erp-app .image-empty-cell,body.erp-app .export-listing-empty,body.erp-app .centered-empty-state td{vertical-align:middle!important}body.erp-app .user-name:before{content:none!important;display:none!important;width:0!important;height:0!important;flex:0 0 0!important;margin:0!important;padding:0!important;border:0!important}body.erp-app #loginSubmitBtn,body.erp-app .home-start-button,body.erp-app .removal-workflow-button,body.erp-app .image-transfer-export,body.erp-app .export-mapping-button:not(.secondary),body.erp-app .export-complete-button,body.erp-app .system-check-button.primary,body.erp-app .account-add-button,body.erp-app .account-editor-primary,body.erp-app .modal-btn.confirm:not(.danger),body.copywriting-app .selectionPromptButton,body.copywriting-app .embeddedRemovalButton:not(.danger),body.infringement-app .button.primary,body.api-app .action-button.primary,body.api-app .action-button.deepseek,body.api-app .action-button.r2,body.templates-app .primary,body.watermark-app .primary{border-color:var(--yftx-accent)!important;background:var(--yftx-accent)!important;color:#fff!important;box-shadow:none!important}body.erp-app #loginSubmitBtn:hover:not(:disabled),body.erp-app .home-start-button:hover:not(:disabled),body.erp-app .removal-workflow-button:hover:not(:disabled),body.erp-app .image-transfer-export:hover:not(:disabled),body.erp-app .export-mapping-button:not(.secondary):hover:not(:disabled),body.erp-app .export-complete-button:hover:not(:disabled),body.erp-app .system-check-button.primary:hover:not(:disabled),body.erp-app .account-add-button:hover:not(:disabled),body.erp-app .account-editor-primary:hover:not(:disabled),body.erp-app .modal-btn.confirm:not(.danger):hover:not(:disabled),body.copywriting-app .selectionPromptButton:hover:not(:disabled),body.copywriting-app .embeddedRemovalButton:not(.danger):hover:not(:disabled),body.infringement-app .button.primary:hover:not(:disabled),body.api-app .action-button.primary:hover:not(:disabled),body.api-app .action-button.deepseek:hover:not(:disabled),body.api-app .action-button.r2:hover:not(:disabled),body.templates-app .primary:hover:not(:disabled),body.watermark-app .primary:hover:not(:disabled){border-color:var(--yftx-accent-hover)!important;background:var(--yftx-accent-hover)!important;color:#fff!important}body.erp-app .removal-secondary-button:not(.danger),body.erp-app .image-tool-button,body.erp-app .image-open-doubao,body.erp-app .export-mapping-button.secondary,body.erp-app .system-check-button:not(.primary),body.erp-app .account-editor-secondary,body.erp-app .modal-btn:not(.confirm),body.erp-app .workflow-pagination button,body.erp-app button[data-workflow-page-action],body.copywriting-app .workflowButton,body.infringement-app .button.secondary,body.api-app .action-button.secondary,body.api-app .action-button.ghost,body.api-app .quick-button,body.templates-app .secondary,body.templates-app .retry,body.watermark-app .white,body.watermark-app .sync{border-color:var(--yftx-line-strong)!important;background:var(--yftx-surface)!important;color:var(--yftx-text)!important;box-shadow:none!important}body.erp-app .removal-secondary-button:not(.danger):hover:not(:disabled),body.erp-app .image-tool-button:hover:not(:disabled),body.erp-app .image-open-doubao:hover:not(:disabled),body.erp-app .export-mapping-button.secondary:hover:not(:disabled),body.erp-app .system-check-button:not(.primary):hover:not(:disabled),body.erp-app .account-editor-secondary:hover:not(:disabled),body.erp-app .modal-btn:not(.confirm):hover:not(:disabled),body.erp-app .workflow-pagination button:hover:not(:disabled),body.erp-app button[data-workflow-page-action]:hover:not(:disabled),body.copywriting-app .workflowButton:hover:not(:disabled),body.infringement-app .button.secondary:hover:not(:disabled),body.api-app .action-button.secondary:hover:not(:disabled),body.api-app .action-button.ghost:hover:not(:disabled),body.api-app .quick-button:hover:not(:disabled),body.templates-app .secondary:hover:not(:disabled),body.templates-app .retry:hover:not(:disabled),body.watermark-app .white:hover:not(:disabled),body.watermark-app .sync:hover:not(:disabled){border-color:var(--yftx-line-strong)!important;background:var(--yftx-surface-soft)!important;color:var(--yftx-text)!important}body.erp-app .removal-secondary-button.danger,body.erp-app .page-clear-button,body.erp-app .image-inline-delete,body.erp-app .export-quiet-delete,body.erp-app .modal-btn.confirm.danger,body.copywriting-app .selectionDeleteButton,body.copywriting-app .embeddedRemovalButton.danger,body.copywriting-app .pageClearButton,body.api-app .action-button.danger{border-color:#a14f492e!important;background:var(--yftx-danger-soft)!important;color:var(--yftx-danger)!important;box-shadow:none!important}body.erp-app .removal-secondary-button.danger:hover:not(:disabled),body.erp-app .page-clear-button:hover:not(:disabled),body.erp-app .image-inline-delete:hover:not(:disabled),body.erp-app .export-quiet-delete:hover:not(:disabled),body.erp-app .modal-btn.confirm.danger:hover:not(:disabled),body.copywriting-app .selectionDeleteButton:hover:not(:disabled),body.copywriting-app .embeddedRemovalButton.danger:hover:not(:disabled),body.copywriting-app .pageClearButton:hover:not(:disabled),body.api-app .action-button.danger:hover:not(:disabled){border-color:#a14f4947!important;background:#f3dfdd!important;color:var(--yftx-danger)!important}body.erp-app .account-editor-close,body.erp-app .optimized-upload-close,body.erp-app .product-detail-close,body.erp-app .erp-image-zoom-close,body.infringement-app .dialog-close,body.api-app .icon-button{border-color:transparent!important;background:transparent!important;color:var(--yftx-muted)!important;box-shadow:none!important}body.erp-app .account-editor-close:hover:not(:disabled),body.erp-app .optimized-upload-close:hover:not(:disabled),body.erp-app .product-detail-close:hover:not(:disabled),body.erp-app .erp-image-zoom-close:hover:not(:disabled),body.infringement-app .dialog-close:hover:not(:disabled),body.api-app .icon-button:hover:not(:disabled){background:var(--yftx-surface-soft)!important;color:var(--yftx-text)!important}body.erp-app .removal-table-wrap table:has(.removal-empty-cell),body.erp-app .image-opt-table-wrap table:has(.image-empty-cell),body.erp-app .export-listing-table-wrap table:has(.export-listing-empty),body.erp-app .removal-table-wrap table:has(.centered-empty-state),body.erp-app .image-opt-table-wrap table:has(.centered-empty-state),body.erp-app .export-listing-table-wrap table:has(.centered-empty-state),body.copywriting-app table:has(.emptyCell),body.copywriting-app table:has(.embeddedRemovalEmpty){height:100%!important;min-height:100%!important}body.erp-app .removal-table-wrap tbody:has(.removal-empty-cell),body.erp-app .image-opt-table-wrap tbody:has(.image-empty-cell),body.erp-app .export-listing-table-wrap tbody:has(.export-listing-empty),body.erp-app .removal-table-wrap tbody:has(.centered-empty-state),body.erp-app .image-opt-table-wrap tbody:has(.centered-empty-state),body.erp-app .export-listing-table-wrap tbody:has(.centered-empty-state),body.copywriting-app tbody:has(.emptyCell),body.copywriting-app tbody:has(.embeddedRemovalEmpty){height:100%!important;min-height:100%!important}body.erp-app .removal-table-wrap tr:has(.removal-empty-cell),body.erp-app .image-opt-table-wrap tr:has(.image-empty-cell),body.erp-app .export-listing-table-wrap tr:has(.export-listing-empty),body.erp-app .removal-table-wrap tr:has(.centered-empty-state),body.erp-app .image-opt-table-wrap tr:has(.centered-empty-state),body.erp-app .export-listing-table-wrap tr:has(.centered-empty-state),body.copywriting-app tr:has(.emptyCell),body.copywriting-app tr:has(.embeddedRemovalEmpty){height:100%!important;min-height:100%!important}body.erp-app .removal-empty-cell,body.erp-app .image-empty-cell,body.erp-app .export-listing-empty,body.erp-app .centered-empty-state td,body.copywriting-app .emptyCell,body.copywriting-app .embeddedRemovalEmpty{height:100%!important;min-height:220px!important;padding:24px!important;border:0!important;background:transparent!important;color:var(--yftx-subtle)!important;font-size:12px!important;font-weight:500!important;line-height:1.6!important;text-align:center!important;vertical-align:middle!important;white-space:normal!important}body.copywriting-app .embeddedRemovalEmpty span{text-align:center!important}body.api-app .connection-empty,body.templates-app .empty,body.infringement-app .empty-state{min-height:240px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;padding:24px!important;color:var(--yftx-subtle)!important;font-size:12px!important;font-weight:500!important;line-height:1.6!important;text-align:center!important}
body.erp-app #systemModal .system-modal-copy{text-align:center}
body.erp-app #systemModal .system-modal-copy h2{margin-bottom:5px!important}
body.erp-app #systemModal .system-modal-copy p{line-height:1.55!important}
body.erp-app #systemModal .system-modal-actions{border-top:1px solid var(--yftx-line)!important}
body.erp-app #systemModal .modal-btn{font-size:12px!important}
body.erp-app .export-listing-table-wrap col.export-col-select{width:46px!important;min-width:46px!important;max-width:46px!important}
body.erp-app .export-listing-table-wrap th.export-select-cell,body.erp-app .export-listing-table-wrap td.export-select-cell{width:46px!important;min-width:46px!important;max-width:46px!important;padding-left:8px!important;padding-right:8px!important}
body.erp-app .export-listing-table-wrap col.image-col-image,body.erp-app .export-listing-table-wrap th.image-col-image,body.erp-app .export-listing-table-wrap td.image-col-image{width:112px!important;min-width:112px!important;max-width:112px!important}
body.erp-app #exportFileModal .export-file-modal-copy{padding:14px 16px 12px}
body.erp-app #exportFileModal .export-file-modal-copy h2{line-height:1.35!important;margin:0 0 8px!important}
body.erp-app #exportFileModal .export-file-modal-copy p{line-height:1.5!important;margin:0 0 10px!important}
body.erp-app #exportFileModal .export-file-modal-copy label{margin-bottom:5px!important;font-size:12px!important}
body.erp-app #exportFileModal .export-file-modal-copy input,body.erp-app #exportFileModal .export-file-modal-copy select{height:34px!important;margin-bottom:9px!important;border-radius:var(--yftx-radius-control)!important;font-size:13px!important}
body.erp-app #exportFileModal .export-file-modal-actions{border-top:1px solid var(--yftx-line)!important}
body.erp-app #exportFileModal .modal-btn{font-size:12px!important}
body.erp-app .export-listing-header{grid-row:1!important}
body.erp-app .export-mapping-issue-bar{flex:0 0 auto!important}
body.erp-app .export-listing-table-wrap{grid-row:3!important}
body.erp-app #exportPagination{grid-row:4!important}
body.erp-app .export-listing-table-wrap table{border-collapse:separate!important;border-spacing:0!important;width:max-content!important;min-width:100%!important}
body.erp-app .export-listing-table-wrap th,body.erp-app .export-listing-table-wrap td{box-sizing:border-box!important}
body.erp-app .system-modal{width:min(360px,calc(100vw - 32px))!important}
body.erp-app .system-modal-copy{padding:20px 20px 16px!important}
body.erp-app .export-file-modal{width:min(430px,calc(100vw - 32px))!important} 

/* 2026-08-24 ui-hotfix: keep export/listing headers optically centered. */
body.erp-app .export-listing-table-wrap th{text-align:center!important}
body.erp-app .export-listing-table-wrap th>*{display:inline-flex!important;align-items:center!important;justify-content:center!important;margin-left:auto!important;margin-right:auto!important}

/* 2026-08-24 ui-hotfix: compact quiet modals without losing the action meaning. */
body.erp-app #systemModal .system-modal{width:min(300px,calc(100vw - 28px))!important;padding:14px 16px 12px!important}
body.erp-app #systemModal .system-modal-copy{padding:10px 10px 8px!important;text-align:center!important}
body.erp-app #systemModal .system-modal-copy h2{font-size:15px!important;line-height:1.35!important;margin:0 0 4px!important}
body.erp-app #systemModal .system-modal-copy p{font-size: 13px!important;line-height:1.5!important;margin:0!important}
body.erp-app #systemModal .system-modal-actions{border-top:1px solid var(--yftx-line)!important}
body.erp-app #systemModal .modal-btn{height:36px!important;font-size:12px!important}
body.erp-app #exportFileModal .export-file-modal{width:min(340px,calc(100vw - 28px))!important;padding:0!important}
body.erp-app #exportFileModal .export-file-modal-copy{padding:14px 16px 10px!important}
body.erp-app #exportFileModal .export-file-modal-copy h2{font-size:15px!important;margin:0 0 6px!important}
body.erp-app #exportFileModal .export-file-modal-copy p{font-size:12px!important;margin:0 0 8px!important}
body.erp-app #exportFileModal .export-file-modal-actions{padding:0!important;border-top:1px solid var(--yftx-line)!important}
body.erp-app #exportFileModal .modal-btn{height:36px!important;font-size:12px!important}

/* 2026-08-24 ui-hotfix: restore a balanced login logo after the earlier compaction. */
body.erp-app .login-card{width:min(380px,calc(100vw - 32px))!important;padding:26px 30px 26px!important}
body.erp-app .login-logo-frame{min-height:104px!important;margin:0 0 20px!important}
body.erp-app .login-logo{object-fit:contain}

/* 2026-08-25 compact dialogs/toasts */
body.erp-app .system-modal{width:min(300px,calc(100vw - 28px))!important;padding:14px 16px 12px!important}
body.erp-app .system-modal-copy{padding:10px 10px 8px!important}
body.erp-app .system-modal-copy h2{line-height:1.35!important;margin:0 0 4px!important}
body.erp-app .system-modal-copy p{margin:0!important}
body.erp-app .system-modal-actions{padding:0!important;border-top:1px solid var(--yftx-line)!important}
body.erp-app .erp-toast{line-height:1.4!important}

/* 2026-08-25 login logo sizing */
body.erp-app .login-logo{width:72px!important;height:72px!important;max-width:none!important;object-fit:contain!important;filter:none!important}

/* 2026-09-02 source inbox module */
body.erp-app .view-source-inbox{background:var(--yftx-bg)!important}
body.erp-app .source-inbox-frame{background:#f5f7f9!important}
html,body{color-scheme:light}
body.erp-app,body.copywriting-app,body.infringement-app,body.api-app,body.templates-app,body.watermark-app{
  margin:0;
  
  
  
  font-size:13px!important;
  line-height:1.55!important;
  letter-spacing:0!important;
  
  
}
body.erp-app *,body.copywriting-app *,body.infringement-app *,body.api-app *,body.templates-app *,body.watermark-app *{box-sizing:border-box;letter-spacing:0!important}
body.erp-app button,body.copywriting-app button,body.infringement-app button,body.api-app button,body.templates-app button,body.watermark-app button{
  box-shadow:none!important;transform:none!important;
  transition:background-color var(--yftx-normal) var(--yftx-ease),border-color var(--yftx-normal) var(--yftx-ease),color var(--yftx-normal) var(--yftx-ease),opacity var(--yftx-normal) var(--yftx-ease)!important;
}
body.erp-app input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]),body.erp-app select,body.erp-app textarea,
body.copywriting-app input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]),body.copywriting-app select,body.copywriting-app textarea,
body.infringement-app input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]),body.infringement-app select,body.infringement-app textarea,
body.api-app input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]),body.api-app select,body.api-app textarea,
body.templates-app input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]),body.templates-app select,body.templates-app textarea,
body.watermark-app input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]),body.watermark-app select,body.watermark-app textarea{
  height:var(--yftx-control)!important;padding:0 10px!important;border:1px solid var(--yftx-line-strong)!important;border-radius:var(--yftx-radius-control)!important;outline:0!important;background:var(--yftx-surface)!important;color:var(--yftx-text)!important;box-shadow:none!important;
}
body.erp-app textarea,body.copywriting-app textarea,body.infringement-app textarea,body.api-app textarea,body.templates-app textarea,body.watermark-app textarea{height:auto!important;min-height:76px!important;padding-top:9px!important;padding-bottom:9px!important;line-height:1.5!important;resize:vertical}
body.erp-app input:focus,body.erp-app select:focus,body.erp-app textarea:focus,body.copywriting-app input:focus,body.copywriting-app select:focus,body.copywriting-app textarea:focus,body.infringement-app input:focus,body.infringement-app select:focus,body.infringement-app textarea:focus,body.api-app input:focus,body.api-app select:focus,body.api-app textarea:focus,body.templates-app input:focus,body.templates-app select:focus,body.templates-app textarea:focus,body.watermark-app input:focus,body.watermark-app select:focus,body.watermark-app textarea:focus{border-color:var(--yftx-accent)!important;box-shadow:0 0 0 3px var(--yftx-focus)!important}
body.erp-app :focus-visible,body.copywriting-app :focus-visible,body.infringement-app :focus-visible,body.api-app :focus-visible,body.templates-app :focus-visible,body.watermark-app :focus-visible{outline:2px solid var(--yftx-focus);outline-offset:2px}
body.erp-app button:disabled,body.copywriting-app button:disabled,body.infringement-app button:disabled,body.api-app button:disabled,body.templates-app button:disabled,body.watermark-app button:disabled{opacity:.55!important;cursor:not-allowed!important}
/* ERP shell */
body.erp-app #appView{display:grid!important;grid-template-columns:128px minmax(0,1fr)!important;gap:10px!important;width:100%!important;height:100vh!important;margin:0!important;padding:10px!important;background:var(--yftx-page)!important}
body.erp-app .sidebar{grid-template-rows:auto minmax(0,1fr) auto!important;overflow:hidden!important}
body.erp-app .brand{display:flex!important;padding:0!important} body.erp-app .brand img{display:block!important;margin:0!important;filter:none!important} body.erp-app .brand::after,body.erp-app .brand-text{display:none!important;content:none!important}
body.erp-app .nav{min-height:0!important;overflow:visible!important}
body.erp-app .nav button{box-shadow:none!important}
body.erp-app .nav button svg{display:none!important}
body.erp-app .nav button:hover{background:var(--yftx-surface-soft)!important;color:var(--yftx-text)!important}
body.erp-app .nav button.active{border-color:rgba(95,113,100,.18)!important}
body.erp-app .nav button.active::before{content:""!important;position:absolute!important;left:6px!important;top:11px!important;bottom:11px!important;width:2px!important;border-radius:999px!important;background:var(--yftx-accent)!important}
body.erp-app .sidebar-user{border-top:1px solid var(--yftx-line)!important}
body.erp-app .user-name{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:7px!important;width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
body.erp-app .user-name::before{content:"";width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:var(--yftx-success)}
body.erp-app .user-popover{box-shadow:0 12px 30px rgba(30,28,25,.12)!important}
body.erp-app .user-menu-action{text-align:left!important}
body.erp-app .user-menu-action:hover{background:var(--yftx-surface-soft)!important;color:var(--yftx-text)!important}
body.erp-app .logout-action{color:var(--yftx-danger)!important}
body.erp-app .logout-action:hover{background:var(--yftx-danger-soft)!important;color:var(--yftx-danger)!important}
body.erp-app .workspace{overflow:hidden!important}
body.erp-app .content,body.erp-app .view,body.erp-app iframe{background:transparent!important}body.erp-app .view-copywriting,body.erp-app .view-image-optimization,body.erp-app .view-export-listing,body.erp-app .view-infringement,body.erp-app .view-templates,body.erp-app .view-api{padding:0!important}body.erp-app .copywriting-frame,body.erp-app .infringement-frame,body.erp-app .api-frame,body.erp-app .templates-frame{width:100%!important;height:100%!important;border:0!important;display:block!important;background:var(--yftx-page)!important}

/* command bars */
body.erp-app .removal-command-bar,body.erp-app .image-opt-command-bar,body.erp-app .export-listing-header{min-height:56px!important;height:56px!important;padding:10px 12px!important;gap:12px!important;border:1px solid var(--yftx-line)!important;border-radius:var(--yftx-radius-card)!important;background:var(--yftx-surface)!important;box-shadow:none!important}
body.erp-app .removal-selection-meta,body.erp-app .image-opt-selection-tools,body.erp-app .export-selection-meta{gap:7px 11px!important;color:var(--yftx-muted)!important;font-size:12px!important;line-height:18px!important}
body.erp-app .removal-selection-meta strong,body.erp-app .image-opt-selection-tools strong,body.erp-app .export-selection-meta strong{color:var(--yftx-text)!important;font-variant-numeric:tabular-nums}
body.erp-app .removal-workflow-button,body.erp-app .removal-secondary-button,body.erp-app .image-tool-button,body.erp-app .image-open-doubao,body.erp-app .image-transfer-export,body.erp-app .image-inline-delete,body.erp-app .export-mapping-button,body.erp-app .export-complete-button,body.erp-app .export-quiet-delete,body.erp-app .page-clear-button,body.erp-app .system-check-button,body.erp-app .account-add-button,body.erp-app .account-editor-primary,body.erp-app .account-editor-secondary,body.erp-app .modal-btn{min-height:32px!important;height:32px!important;padding:0 12px!important;border:1px solid var(--yftx-line-strong)!important;border-radius:var(--yftx-radius-control)!important;background:var(--yftx-surface)!important;color:var(--yftx-text)!important;font-size:12px!important;font-weight:600!important;white-space:nowrap!important;box-shadow:none!important}
body.erp-app .removal-secondary-button:hover:not(:disabled),body.erp-app .image-tool-button:hover:not(:disabled),body.erp-app .image-open-doubao:hover:not(:disabled),body.erp-app .export-mapping-button.secondary:hover:not(:disabled),body.erp-app .page-clear-button:hover:not(:disabled),body.erp-app .system-check-button:hover:not(:disabled),body.erp-app .account-editor-secondary:hover:not(:disabled),body.erp-app .modal-btn:hover:not(:disabled){background:var(--yftx-surface-soft)!important;color:var(--yftx-text)!important}
body.erp-app .removal-workflow-button,body.erp-app .image-transfer-export,body.erp-app .export-mapping-button:not(.secondary),body.erp-app .export-complete-button,body.erp-app .system-check-button.primary,body.erp-app .account-add-button,body.erp-app .account-editor-primary,body.erp-app .modal-btn.confirm:not(.danger){border-color:var(--yftx-accent)!important;background:var(--yftx-accent)!important;color:#fff!important}
body.erp-app .removal-workflow-button:hover:not(:disabled),body.erp-app .image-transfer-export:hover:not(:disabled),body.erp-app .export-mapping-button:not(.secondary):hover:not(:disabled),body.erp-app .export-complete-button:hover:not(:disabled),body.erp-app .system-check-button.primary:hover:not(:disabled),body.erp-app .account-add-button:hover:not(:disabled),body.erp-app .account-editor-primary:hover:not(:disabled),body.erp-app .modal-btn.confirm:not(.danger):hover:not(:disabled){border-color:var(--yftx-accent-hover)!important;background:var(--yftx-accent-hover)!important;color:#fff!important}
body.erp-app .image-inline-delete,body.erp-app .export-quiet-delete,body.erp-app .removal-secondary-button.danger,body.erp-app .page-clear-button.danger,body.erp-app .modal-btn.confirm.danger{border-color:rgba(161,79,73,.18)!important;background:var(--yftx-danger-soft)!important;color:var(--yftx-danger)!important}
body.erp-app .image-inline-delete:hover:not(:disabled),body.erp-app .export-quiet-delete:hover:not(:disabled),body.erp-app .removal-secondary-button.danger:hover:not(:disabled),body.erp-app .page-clear-button.danger:hover:not(:disabled),body.erp-app .modal-btn.confirm.danger:hover:not(:disabled){border-color:rgba(161,79,73,.28)!important;background:#f3dfdd!important;color:var(--yftx-danger)!important}
/* tables */
body.erp-app .removal-table-card,body.erp-app .image-opt-table-card,body.erp-app .export-listing-table-wrap,body.erp-app .accounts-table-panel,body.erp-app .system-check-header,body.erp-app .system-check-row{border:1px solid var(--yftx-line)!important;border-radius:var(--yftx-radius-card)!important;background:var(--yftx-surface)!important;box-shadow:none!important;overflow:hidden!important}
body.erp-app .removal-table-wrap,body.erp-app .image-opt-table-wrap,body.erp-app .export-listing-table-wrap{overflow:auto!important;overscroll-behavior:contain!important;background:var(--yftx-surface)!important}
body.erp-app .removal-table-wrap table,body.erp-app .image-opt-table-wrap table,body.erp-app .export-listing-table-wrap table{width:max-content!important;min-width:100%!important;table-layout:auto!important;border-collapse:separate!important;border-spacing:0!important;color:var(--yftx-text)!important;font-size:13px!important}
body.erp-app .removal-table-wrap th,body.erp-app .image-opt-table-wrap th,body.erp-app .export-listing-table-wrap th{height:38px!important;padding:7px 10px!important;border-bottom:1px solid var(--yftx-line)!important;background:var(--yftx-surface-soft)!important;color:var(--yftx-muted)!important;font-size:12px!important;font-weight:600!important;text-align:left!important;white-space:nowrap!important}
body.erp-app .removal-table-wrap td,body.erp-app .image-opt-table-wrap td,body.erp-app .export-listing-table-wrap td{height:52px!important;padding:8px 10px!important;border-bottom:1px solid var(--yftx-line)!important;background:var(--yftx-surface)!important;color:var(--yftx-text)!important;font-size:13px!important;line-height:18px!important;vertical-align:middle!important}
body.erp-app .removal-table-wrap tbody tr:hover td,body.erp-app .image-opt-table-wrap tbody tr:hover td,body.erp-app .export-listing-table-wrap tbody tr:hover td{background:var(--yftx-surface-hover)!important}
body.erp-app .removal-table-wrap tbody tr.selected td,body.erp-app .image-opt-table-wrap tbody tr.selected td,body.erp-app .export-listing-table-wrap tbody tr.selected td{background:var(--yftx-accent-soft)!important}
body.erp-app .removal-table-wrap th:first-child,body.erp-app .removal-table-wrap td:first-child,body.erp-app .image-opt-table-wrap th:first-child,body.erp-app .image-opt-table-wrap td:first-child,body.erp-app .export-listing-table-wrap th:first-child,body.erp-app .export-listing-table-wrap td:first-child{position:sticky!important;left:0!important;z-index:2!important;box-shadow:1px 0 0 var(--yftx-line)!important}
body.erp-app .removal-table-wrap th:first-child,body.erp-app .image-opt-table-wrap th:first-child,body.erp-app .export-listing-table-wrap th:first-child{z-index:3!important}
body.erp-app .removal-col-sku,body.erp-app .removal-col-asin,body.erp-app .image-col-sku,body.erp-app .image-col-asin{font-family:var(--yftx-mono)!important;font-variant-numeric:tabular-nums!important;font-size:12px!important;text-align:left!important}
body.erp-app td[class*="price"],body.erp-app td[class*="review-count"],body.erp-app td[class*="rating"],body.erp-app td[class*="rank"]{font-variant-numeric:tabular-nums!important;text-align:right!important}
body.erp-app td[class*="image"],body.erp-app td[class*="select"],body.erp-app td[class*="status"]{text-align:center!important}

/* pagination */
body.erp-app .workflow-pagination{min-height:38px!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;padding:6px 10px!important;border-top:1px solid var(--yftx-line)!important;background:var(--yftx-surface)!important}
body.erp-app .workflow-pagination button{height:28px!important;min-width:64px!important;padding:0 10px!important;border:1px solid var(--yftx-line)!important;border-radius:var(--yftx-radius-small)!important;background:var(--yftx-surface)!important;color:var(--yftx-muted)!important;font-size:12px!important;font-weight:600!important}
body.erp-app .workflow-pagination button:hover:not(:disabled){background:var(--yftx-surface-soft)!important;color:var(--yftx-text)!important}
body.erp-app .workflow-pagination [data-workflow-page-summary]{min-width:220px!important;color:var(--yftx-muted)!important;font-size:12px!important;text-align:right!important}

/* empty */
body.erp-app .removal-empty-cell,body.erp-app .image-empty-cell,body.erp-app .export-listing-empty,body.erp-app .removal-table-wrap td.centered-empty-state,body.erp-app .image-opt-table-wrap td.centered-empty-state,body.erp-app .export-listing-table-wrap td.centered-empty-state{height:180px!important;min-height:180px!important;padding:24px!important;border:0!important;background:transparent!important;color:var(--yftx-subtle)!important;font-size:12px!important;font-weight:500!important;text-align:center!important;vertical-align:middle!important}

/* modals toast */
body.erp-app .modal-backdrop,body.erp-app .erp-image-zoom-backdrop,body.erp-app .product-detail-backdrop{background:rgba(30,28,25,.28)!important;backdrop-filter:blur(2px)!important;-webkit-backdrop-filter:blur(2px)!important}
body.erp-app .system-modal,body.erp-app .account-editor-modal,body.erp-app .export-file-modal,body.erp-app .watermark-tool-modal,body.erp-app .product-detail-drawer{border:1px solid var(--yftx-line)!important;border-radius:var(--yftx-radius-card)!important;background:var(--yftx-surface)!important;box-shadow:var(--yftx-shadow-modal)!important}
body.erp-app .system-modal{width:min(360px,100%)!important}
body.erp-app .account-editor-modal{width:min(480px,100%)!important}
body.erp-app .export-file-modal{width:min(440px,100%)!important}
body.erp-app .erp-toast{position:fixed!important;left:50%!important;bottom:20px!important;z-index:2000!important;transform:translateX(-50%)!important;max-width:min(520px,calc(100vw - 36px))!important;padding:9px 13px!important;border:0!important;border-radius:var(--yftx-radius-control)!important;background:rgba(37,36,34,.92)!important;color:#fff!important;box-shadow:0 12px 32px rgba(0,0,0,.16)!important;font-size:12px!important;line-height:1.4!important}
/* account */
body.erp-app .view-accounts{overflow:auto!important;background:var(--yftx-page)!important}
body.erp-app .accounts-page-minimal{position:relative!important;padding:18px 20px 32px!important}
body.erp-app .accounts-shell-minimal{padding-top:52px!important}
body.erp-app .accounts-primary-action{top:16px!important;right:20px!important;z-index:3!important}
body.erp-app .account-add-button{line-height:30px!important}
body.erp-app .account-add-button span{transform:translateY(-1px)!important}
body.erp-app .account-table{overflow:hidden!important}
body.erp-app .account-table-header{font-weight:600!important}
body.erp-app .account-table-header>span{display:flex!important;align-items:center!important;justify-content:center!important;height:100%!important;text-align:center!important}
body.erp-app .account-table-body{display:block!important}
body.erp-app .account-list{display:block!important}
body.erp-app .account-table-row{row-gap:0!important;background:var(--yftx-surface)!important}
body.erp-app .account-table-row:last-child{border-bottom:0!important}
body.erp-app .account-table-cell{text-align:center!important}
body.erp-app .account-table-cell-name,body.erp-app .account-table-cell-account,body.erp-app .account-table-cell-status,body.erp-app .account-table-cell-edit{grid-area:auto!important}
body.erp-app .account-table-cell-name>span{display:block!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:var(--yftx-text)!important;font-size:15px!important;font-weight:600!important}
body.erp-app .account-table-cell-account{white-space:nowrap!important}
body.erp-app .account-row-meta{display:none!important}
body.erp-app .account-list-empty{grid-template-columns:1fr!important}
body.erp-app .account-list-empty .account-table-cell{text-align:center!important}

/* system check */
body.erp-app .view-system-check{overflow:auto!important;background:var(--yftx-page)!important}
body.erp-app .system-check-page{align-content:start!important}
body.erp-app .system-check-header{padding:12px 14px!important}
body.erp-app .system-check-header p{text-align:left!important}
body.erp-app .system-check-actions{gap:8px!important;margin-left:auto!important}
body.erp-app .system-check-list{gap:8px!important}
body.erp-app .system-check-row{justify-content:space-between!important;padding:10px 14px!important}
body.erp-app .system-check-row-main{flex:1 1 auto!important;min-width:0!important;text-align:left!important}
body.erp-app .system-check-row-main strong{text-align:left!important}
body.erp-app .system-check-row-main span{text-align:left!important}
body.erp-app .system-check-row-main small{display:none!important}
body.erp-app .system-check-badge{flex:0 0 auto!important;font-weight:600!important}

/* badges */
body.erp-app .image-status-badge,body.erp-app .quality-badge,body.erp-app .account-status-badge,body.erp-app .mapping-status-badge,body.erp-app .system-check-badge,body.erp-app .status-pill,body.erp-app .pill{display:inline-flex!important;align-items:center!important;gap:5px!important;min-height:22px!important;padding:0 8px!important;border:1px solid var(--yftx-line)!important;border-radius:999px!important;background:var(--yftx-surface-soft)!important;color:var(--yftx-muted)!important;font-size:12px!important;font-weight:600!important;line-height:1!important;white-space:nowrap!important}
body.erp-app .image-status-badge.ok,body.erp-app .quality-badge.ok,body.erp-app .account-status-badge.active,body.erp-app .mapping-status-badge.ok,body.erp-app .system-check-badge.pass,body.erp-app .pill.ok{border-color:rgba(82,112,90,.18)!important;background:#edf4ee!important;color:var(--yftx-success)!important}
body.erp-app .image-status-badge.warning,body.erp-app .quality-badge.warning,body.erp-app .mapping-status-badge.warning,body.erp-app .system-check-badge.warn{border-color:rgba(138,106,62,.18)!important;background:#f8f0e4!important;color:var(--yftx-warning)!important}
body.erp-app .image-status-badge.error,body.erp-app .quality-badge.error,body.erp-app .account-status-badge.disabled,body.erp-app .mapping-status-badge.error,body.erp-app .system-check-badge.fail,body.erp-app .pill.bad{border-color:rgba(161,79,73,.18)!important;background:var(--yftx-danger-soft)!important;color:var(--yftx-danger)!important}

/* typography */
body.erp-app h1,body.erp-app h2,body.erp-app h3{letter-spacing:0!important}
body.erp-app .removal-table-wrap td[class*="sku"],body.erp-app .image-opt-table-wrap td[class*="sku"],body.erp-app .export-listing-table-wrap td[class*="sku"],body.erp-app .removal-table-wrap td[class*="asin"],body.erp-app .image-opt-table-wrap td[class*="asin"],body.erp-app .export-listing-table-wrap td[class*="asin"]{font-family:var(--yftx-mono)!important;font-variant-numeric:tabular-nums!important}                        
@media(min-width:1121px){   
}

/* generic modules */
body.copywriting-app,body.infringement-app,body.api-app,body.templates-app,body.watermark-app{overflow:hidden}
body.copywriting-app .card,body.infringement-app .card,body.api-app .card,body.templates-app .card,body.watermark-app .card,body.copywriting-app .workspaceShell,body.copywriting-app .contentCard,body.copywriting-app .workspacePanel,body.copywriting-app .embeddedRemovalPane,body.copywriting-app .previewTableWrap,body.copywriting-app .tableWrap,body.copywriting-app .embeddedRemovalTableWrap{width:100%!important;max-width:none!important;margin:0!important;justify-items:stretch!important}
body.copywriting-app .workspaceShell{padding:10px!important}
body.copywriting-app .tableWrap table,body.copywriting-app .previewTableWrap table,body.copywriting-app .embeddedRemovalTableWrap table{width:max-content!important;min-width:100%!important;table-layout:auto!important}
body.copywriting-app .workflowButton,body.copywriting-app .selectionPromptButton,body.copywriting-app .embeddedRemovalButton,body.copywriting-app .primary,body.copywriting-app .secondary,body.infringement-app .primary,body.infringement-app .secondary,body.api-app .primary,body.api-app .secondary,body.templates-app .primary,body.templates-app .secondary,body.watermark-app .primary,body.watermark-app .secondary{height:32px!important;min-height:32px!important;border-radius:var(--yftx-radius-control)!important;font-size:12px!important;font-weight:600!important;box-shadow:none!important}
body.copywriting-app .selectionPromptButton,body.infringement-app .primary,body.api-app .primary,body.templates-app .primary,body.watermark-app .primary{border-color:var(--yftx-accent)!important;background:var(--yftx-accent)!important;color:#fff!important}
body.copywriting-app .selectionPromptButton:hover:not(:disabled),body.infringement-app .primary:hover:not(:disabled),body.api-app .primary:hover:not(:disabled),body.templates-app .primary:hover:not(:disabled),body.watermark-app .primary:hover:not(:disabled){border-color:var(--yftx-accent-hover)!important;background:var(--yftx-accent-hover)!important;color:#fff!important}
body.copywriting-app .toast,body.infringement-app .toast,body.api-app .toast,body.templates-app .toast,body.watermark-app .toast,body.watermark-app .watermark-toast{border-radius:var(--yftx-radius-control)!important;background:rgba(37,36,34,.92)!important;color:#fff!important;box-shadow:0 12px 32px rgba(0,0,0,.16)!important}

/* responsive */
@media(max-width:900px){body.erp-app #appView{grid-template-columns:112px minmax(0,1fr)!important;gap:8px!important;padding:8px!important}}
@media(max-width:760px){
  body.erp-app #appView{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto minmax(0,1fr)!important;height:100vh!important;padding:8px!important;gap:8px!important}
  body.erp-app .sidebar{display:grid!important;grid-template-rows:auto auto!important;height:auto!important;min-height:0!important;border-radius:var(--yftx-radius-card)!important}
  body.erp-app .nav{flex-direction:row!important;justify-content:flex-start!important;overflow-x:auto!important;padding:4px 0!important}
  body.erp-app .nav button{width:auto!important;min-width:82px!important;height:36px!important;min-height:36px!important;padding:0 12px!important}
  body.erp-app .workspace{height:auto!important;min-height:0!important}
  body.erp-app .accounts-page-minimal{padding:12px!important}
  body.erp-app .accounts-shell-minimal{padding-top:52px!important}
  body.erp-app .system-check-page{width:100%!important}
  body.erp-app .removal-command-bar,body.erp-app .image-opt-command-bar,body.erp-app .export-listing-header{height:auto!important;min-height:64px!important;flex-wrap:wrap!important} 
}
@media(prefers-reduced-motion:reduce){body.erp-app *,body.copywriting-app *,body.infringement-app *,body.api-app *,body.templates-app *,body.watermark-app *{animation:none!important;transition-duration:.01ms!important}}

/* 20260823 quiet workspace: home, centered accounts action, lighter system check, repaired template cards. */
body.erp-app .brand{border:0!important;background:transparent!important;padding:0!important;width:100%!important;cursor:pointer!important}
body.erp-app .brand:hover{background:var(--yftx-surface-soft)!important;border-radius:var(--yftx-radius-control)!important}
body.erp-app .view-home.active{display:block!important;height:100%!important;min-height:0!important;overflow:auto!important;background:var(--yftx-page)!important}

/* accounts: text action centered above the table */
body.erp-app .accounts-page-minimal{padding:24px 20px 34px!important}
body.erp-app .accounts-shell-minimal{padding-top:0!important}
body.erp-app .accounts-primary-action{padding:0!important}
body.erp-app .account-add-button{line-height:32px!important}
body.erp-app .account-add-button span{display:block!important;transform:none!important}
body.erp-app .account-table{margin:0!important}

/* system check: one quiet card, left information / right state */
body.erp-app .view-system-check.active{padding:22px!important}
body.erp-app .system-check-page{align-content:start!important}
body.erp-app .system-check-header{overflow:visible!important}
body.erp-app .system-check-header p{line-height:20px!important}
body.erp-app .system-check-actions{gap:8px!important}
body.erp-app .system-check-button{height:32px!important;padding:0 13px!important;border-radius:var(--yftx-radius-control)!important;font-size:12px!important;font-weight:600!important;white-space:nowrap!important}
body.erp-app .system-check-list{box-shadow:none!important;overflow:hidden!important}
body.erp-app .system-check-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:20px!important;box-shadow:none!important}
body.erp-app .system-check-row:last-child{border-bottom:0!important}
body.erp-app .system-check-row-main{display:grid!important;gap:3px!important;text-align:left!important}
body.erp-app .system-check-row-main strong{color:var(--yftx-text)!important}
body.erp-app .system-check-row-main strong::before{content:""!important;width:6px!important;height:6px!important;flex:0 0 6px!important;border-radius:50%!important;background:var(--yftx-subtle)!important}
body.erp-app .system-check-row-main span{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:var(--yftx-muted)!important;text-align:left!important}
body.erp-app .system-check-badge{min-width:46px!important;margin-left:0!important;padding:4px 8px!important;border:1px solid transparent!important;border-radius:999px!important;background:transparent!important;color:var(--yftx-muted)!important;text-align:center!important}

/* template library: restore card grid and prevent yftx-final flex overlap */
body.templates-app .template-card{height:100%!important;min-height:0!important;display:grid!important;grid-template-rows:auto auto minmax(0,1fr)!important;overflow:hidden!important;background:var(--yftx-page)!important}
body.templates-app .toolbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important;background:var(--yftx-surface)!important}
@media(max-width:760px){
  body.erp-app .view-system-check.active{padding:14px!important}
  body.erp-app .accounts-page-minimal{padding:16px 12px 24px!important}
}


/* 20260823 account spacing: hide the reserved feedback line until a real message is shown. */
body.erp-app #accountFormFeedback:empty{display:none!important;min-height:0!important;margin:0!important}

/* 20260823 final polish: single-source tokens, actionable mapping states, unified clear controls, quiet module status. */
:root{
  --yftx-space-1:4px;
  --yftx-space-2:8px;
  --yftx-space-3:12px;
  --yftx-space-4:16px;
  --yftx-radius-frame:10px;
  --yftx-radius-card:8px;
  --yftx-radius-control:8px;
  --yftx-radius-small:6px;
  --yftx-shadow-card:0 1px 2px rgba(37,36,34,.05),0 6px 18px rgba(37,36,34,.05);
  --yftx-shadow-modal:0 24px 64px rgba(30,28,25,.20);
}   

/* Identical page-clear controls across 图片优化 / 上架准备 / 文案优化. */
body.erp-app .page-clear-button,
body.copywriting-app .pageClearButton{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:78px!important;
  min-width:78px!important;
  max-width:78px!important;
  height:32px!important;
  min-height:32px!important;
  max-height:32px!important;
  padding:0!important;
  margin:0!important;
  border:1px solid rgba(166,72,67,.18)!important;
  border-radius:var(--yftx-radius-control)!important;
  background:var(--yftx-danger-soft)!important;
  color:var(--yftx-danger)!important;
  font-size:12px!important;
  font-weight:600!important;
  white-space:nowrap!important;
  box-shadow:none!important;
}
body.erp-app .image-opt-command-spacer,
body.erp-app .export-clear-toolbar,
body.copywriting-app .previewDangerZone,
body.copywriting-app .parseDangerZone{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  justify-self:start!important;
  
  margin:0!important;
  padding:0!important;
}

/* Keep only the active panel's page-clear control in the single-row command bar. */
body.copywriting-app .commandBar[data-panel="preview"] .parseDangerZone,
body.copywriting-app .commandBar[data-panel="parse"] .previewDangerZone{
  display:none!important;
}
body.erp-app .mapping-status-badge[data-export-locate]{cursor:pointer!important}
body.erp-app .mapping-status-badge[data-export-locate]:hover{border-color:rgba(138,106,62,.28)!important;background:#f4e9da!important}
body.erp-app .mapping-missing-cell{display:inline-flex!important;align-items:center!important;min-height:20px!important;color:var(--yftx-warning)!important;font-size:12px!important;font-weight:600!important;white-space:nowrap!important}
body.erp-app .export-listing-table-wrap tr.mapping-locate-flash td{background:#f8f0e4!important}
body.erp-app .export-mapping-issue-bar{position:absolute!important;top:72px!important;left:12px!important;right:12px!important;z-index:8!important;display:flex!important;align-items:center!important;gap:8px!important;padding:7px 9px!important;box-shadow:var(--yftx-shadow-card)!important;overflow-x:auto!important;overflow-y:hidden!important}
body.erp-app .export-mapping-issue-bar.hidden{display:none!important}
body.erp-app .export-mapping-issue-title{flex:0 0 auto!important;white-space:nowrap!important}
body.erp-app .export-mapping-issue-list{display:flex!important;align-items:center!important;gap:6px!important;min-width:0!important}
body.erp-app .export-mapping-issue-item{flex:0 0 auto!important;height:24px!important;padding:0 8px!important;border:1px solid rgba(138,106,62,.18)!important;border-radius:var(--yftx-radius-small)!important;background:#f8f0e4!important;color:var(--yftx-warning)!important;font-size:12px!important;font-weight:600!important;white-space:nowrap!important;box-shadow:none!important}
body.erp-app .export-mapping-issue-item:hover:not(:disabled){border-color:rgba(138,106,62,.30)!important;background:#f2e4cf!important;color:#76562e!important}
body.erp-app .export-mapping-issue-more{flex:0 0 auto!important;color:var(--yftx-subtle)!important;font-size:12px!important;white-space:nowrap!important}

/* Unified module-frame loading / error / empty overlay. */
body.erp-app .view-copywriting,body.erp-app .view-infringement,body.erp-app .view-api,body.erp-app .view-templates{position:relative!important}
body.erp-app .module-frame-status{position:absolute!important;inset:0!important;z-index:4!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;padding:24px!important;background:var(--yftx-page)!important;color:var(--yftx-muted)!important;font-size:12px!important;line-height:1.6!important;text-align:center!important}
body.erp-app .module-frame-status.hidden{display:none!important}
body.erp-app .module-frame-status::before{content:""!important;display:block!important;width:16px!important;height:16px!important;margin:0 auto 9px!important;border:0!important;border-radius:50%!important;background:var(--yftx-accent)!important;opacity:.45!important}
body.erp-app .module-frame-status[data-state="error"]::before{border:0!important;width:8px!important;height:8px!important;background:var(--yftx-danger)!important;animation:none!important}
body.erp-app .module-frame-status[data-state="empty"]::before{border:0!important;width:8px!important;height:8px!important;background:var(--yftx-subtle)!important;animation:none!important}
@keyframes yftx-spin{to{transform:rotate(360deg)}}
body.erp-app .removal-empty-cell,body.erp-app .image-empty-cell,body.erp-app .export-listing-empty,body.erp-app .centered-empty-state td{height:180px!important;min-height:180px!important;color:var(--yftx-subtle)!important;font-size:12px!important;font-weight:500!important;text-align:center!important;vertical-align:middle!important}


/* 20260823 sidebar account: remove the small status dot beside the account name. */
body.erp-app .user-name::before{content:none!important;display:none!important;width:0!important;height:0!important;flex:0 0 0!important;margin:0!important;padding:0!important;border:0!important}
/* 20260823 quiet unified actions for ERP and every module. */
body.erp-app #loginSubmitBtn,
body.erp-app .home-start-button,
body.erp-app .removal-workflow-button,
body.erp-app .image-transfer-export,
body.erp-app .export-mapping-button:not(.secondary),
body.erp-app .export-complete-button,
body.erp-app .system-check-button.primary,
body.erp-app .account-add-button,
body.erp-app .account-editor-primary,
body.erp-app .modal-btn.confirm:not(.danger),
body.copywriting-app .selectionPromptButton,
body.copywriting-app .embeddedRemovalButton:not(.danger),
body.infringement-app .button.primary,
body.api-app .action-button.primary,
body.api-app .action-button.deepseek,
body.api-app .action-button.r2,
body.templates-app .primary,
body.watermark-app .primary{
  border-color:var(--yftx-accent)!important;
  background:var(--yftx-accent)!important;
  color:#fff!important;
  box-shadow:none!important;
}
body.erp-app #loginSubmitBtn:hover:not(:disabled),
body.erp-app .home-start-button:hover:not(:disabled),
body.erp-app .removal-workflow-button:hover:not(:disabled),
body.erp-app .image-transfer-export:hover:not(:disabled),
body.erp-app .export-mapping-button:not(.secondary):hover:not(:disabled),
body.erp-app .export-complete-button:hover:not(:disabled),
body.erp-app .system-check-button.primary:hover:not(:disabled),
body.erp-app .account-add-button:hover:not(:disabled),
body.erp-app .account-editor-primary:hover:not(:disabled),
body.erp-app .modal-btn.confirm:not(.danger):hover:not(:disabled),
body.copywriting-app .selectionPromptButton:hover:not(:disabled),
body.copywriting-app .embeddedRemovalButton:not(.danger):hover:not(:disabled),
body.infringement-app .button.primary:hover:not(:disabled),
body.api-app .action-button.primary:hover:not(:disabled),
body.api-app .action-button.deepseek:hover:not(:disabled),
body.api-app .action-button.r2:hover:not(:disabled),
body.templates-app .primary:hover:not(:disabled),
body.watermark-app .primary:hover:not(:disabled){
  border-color:var(--yftx-accent-hover)!important;
  background:var(--yftx-accent-hover)!important;
  color:#fff!important;
}

body.erp-app .removal-secondary-button:not(.danger),
body.erp-app .image-tool-button,
body.erp-app .image-open-doubao,
body.erp-app .export-mapping-button.secondary,
body.erp-app .system-check-button:not(.primary),
body.erp-app .account-editor-secondary,
body.erp-app .modal-btn:not(.confirm),
body.erp-app .workflow-pagination button,
body.erp-app button[data-workflow-page-action],
body.copywriting-app .workflowButton,
body.infringement-app .button.secondary,
body.api-app .action-button.secondary,
body.api-app .action-button.ghost,
body.api-app .quick-button,
body.templates-app .secondary,
body.templates-app .retry,
body.watermark-app .white,
body.watermark-app .sync{
  border-color:var(--yftx-line-strong)!important;
  background:var(--yftx-surface)!important;
  color:var(--yftx-text)!important;
  box-shadow:none!important;
}
body.erp-app .removal-secondary-button:not(.danger):hover:not(:disabled),
body.erp-app .image-tool-button:hover:not(:disabled),
body.erp-app .image-open-doubao:hover:not(:disabled),
body.erp-app .export-mapping-button.secondary:hover:not(:disabled),
body.erp-app .system-check-button:not(.primary):hover:not(:disabled),
body.erp-app .account-editor-secondary:hover:not(:disabled),
body.erp-app .modal-btn:not(.confirm):hover:not(:disabled),
body.erp-app .workflow-pagination button:hover:not(:disabled),
body.erp-app button[data-workflow-page-action]:hover:not(:disabled),
body.copywriting-app .workflowButton:hover:not(:disabled),
body.infringement-app .button.secondary:hover:not(:disabled),
body.api-app .action-button.secondary:hover:not(:disabled),
body.api-app .action-button.ghost:hover:not(:disabled),
body.api-app .quick-button:hover:not(:disabled),
body.templates-app .secondary:hover:not(:disabled),
body.templates-app .retry:hover:not(:disabled),
body.watermark-app .white:hover:not(:disabled),
body.watermark-app .sync:hover:not(:disabled){
  border-color:var(--yftx-line-strong)!important;
  background:var(--yftx-surface-soft)!important;
  color:var(--yftx-text)!important;
}

body.erp-app .removal-secondary-button.danger,
body.erp-app .page-clear-button,
body.erp-app .image-inline-delete,
body.erp-app .export-quiet-delete,
body.erp-app .modal-btn.confirm.danger,
body.copywriting-app .selectionDeleteButton,
body.copywriting-app .embeddedRemovalButton.danger,
body.copywriting-app .pageClearButton,
body.api-app .action-button.danger{
  border-color:rgba(161,79,73,.18)!important;
  background:var(--yftx-danger-soft)!important;
  color:var(--yftx-danger)!important;
  box-shadow:none!important;
}
body.erp-app .removal-secondary-button.danger:hover:not(:disabled),
body.erp-app .page-clear-button:hover:not(:disabled),
body.erp-app .image-inline-delete:hover:not(:disabled),
body.erp-app .export-quiet-delete:hover:not(:disabled),
body.erp-app .modal-btn.confirm.danger:hover:not(:disabled),
body.copywriting-app .selectionDeleteButton:hover:not(:disabled),
body.copywriting-app .embeddedRemovalButton.danger:hover:not(:disabled),
body.copywriting-app .pageClearButton:hover:not(:disabled),
body.api-app .action-button.danger:hover:not(:disabled){
  border-color:rgba(161,79,73,.28)!important;
  background:#f3dfdd!important;
  color:var(--yftx-danger)!important;
}

body.erp-app .account-editor-close,
body.erp-app .optimized-upload-close,
body.erp-app .product-detail-close,
body.erp-app .erp-image-zoom-close,
body.infringement-app .dialog-close,
body.api-app .icon-button{
  border-color:transparent!important;
  background:transparent!important;
  color:var(--yftx-muted)!important;
  box-shadow:none!important;
}
body.erp-app .account-editor-close:hover:not(:disabled),
body.erp-app .optimized-upload-close:hover:not(:disabled),
body.erp-app .product-detail-close:hover:not(:disabled),
body.erp-app .erp-image-zoom-close:hover:not(:disabled),
body.infringement-app .dialog-close:hover:not(:disabled),
body.api-app .icon-button:hover:not(:disabled){
  background:var(--yftx-surface-soft)!important;
  color:var(--yftx-text)!important;
}
/* 20260823 one shared centered "暂无数据" position across every view. */
body.erp-app .removal-table-wrap table:has(.removal-empty-cell),
body.erp-app .image-opt-table-wrap table:has(.image-empty-cell),
body.erp-app .export-listing-table-wrap table:has(.export-listing-empty),
body.erp-app .removal-table-wrap table:has(.centered-empty-state),
body.erp-app .image-opt-table-wrap table:has(.centered-empty-state),
body.erp-app .export-listing-table-wrap table:has(.centered-empty-state),
body.copywriting-app table:has(.emptyCell),
body.copywriting-app table:has(.embeddedRemovalEmpty){height:100%!important;min-height:100%!important}
body.erp-app .removal-table-wrap tbody:has(.removal-empty-cell),
body.erp-app .image-opt-table-wrap tbody:has(.image-empty-cell),
body.erp-app .export-listing-table-wrap tbody:has(.export-listing-empty),
body.erp-app .removal-table-wrap tbody:has(.centered-empty-state),
body.erp-app .image-opt-table-wrap tbody:has(.centered-empty-state),
body.erp-app .export-listing-table-wrap tbody:has(.centered-empty-state),
body.copywriting-app tbody:has(.emptyCell),
body.copywriting-app tbody:has(.embeddedRemovalEmpty){height:100%!important;min-height:100%!important}
body.erp-app .removal-table-wrap tr:has(.removal-empty-cell),
body.erp-app .image-opt-table-wrap tr:has(.image-empty-cell),
body.erp-app .export-listing-table-wrap tr:has(.export-listing-empty),
body.erp-app .removal-table-wrap tr:has(.centered-empty-state),
body.erp-app .image-opt-table-wrap tr:has(.centered-empty-state),
body.erp-app .export-listing-table-wrap tr:has(.centered-empty-state),
body.copywriting-app tr:has(.emptyCell),
body.copywriting-app tr:has(.embeddedRemovalEmpty){height:100%!important;min-height:100%!important}
body.erp-app .removal-empty-cell,
body.erp-app .image-empty-cell,
body.erp-app .export-listing-empty,
body.erp-app .centered-empty-state td,
body.copywriting-app .emptyCell,
body.copywriting-app .embeddedRemovalEmpty{height:100%!important;min-height:220px!important;padding:24px!important;border:0!important;background:transparent!important;color:var(--yftx-subtle)!important;font-size:12px!important;font-weight:500!important;line-height:1.6!important;text-align:center!important;vertical-align:middle!important;white-space:normal!important}
body.copywriting-app .embeddedRemovalEmpty span{display:block!important;text-align:center!important}
body.api-app .connection-empty,
body.templates-app .empty,
body.infringement-app .empty-state{min-height:240px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;padding:24px!important;color:var(--yftx-subtle)!important;font-size:12px!important;font-weight:500!important;line-height:1.6!important;text-align:center!important}

/* 20260824 copywriting view switch: active tab is unmistakably filled, inactive is muted. */
body.copywriting-app .workflowActions .workflowButton:not(.active):not([aria-pressed="true"]){background:transparent!important;border-color:transparent!important;color:var(--yftx-muted)!important;box-shadow:none!important}
body.copywriting-app .workflowActions .workflowButton.active,
body.copywriting-app .workflowActions .workflowButton[aria-pressed="true"]{border-color:var(--yftx-accent)!important;box-shadow:0 1px 3px rgba(28,32,30,.14)!important}
/* 2026-08-24 ui-hotfix: unmistakable copywriting tab selected state. */
body.copywriting-app .workflowActions .workflowButton[aria-pressed="true"]{color:#fff!important;background:var(--yftx-accent)!important;border-color:var(--yftx-accent)!important;box-shadow:none!important}
body.copywriting-app .workflowActions .workflowButton[aria-pressed="false"]{color:var(--yftx-muted)!important;background:transparent!important;border-color:transparent!important;box-shadow:none!important}

/* 2026-08-25 compact module dialogs/toasts */
body.copywriting-app .toast,body.infringement-app .toast,body.api-app .toast,body.templates-app .toast,body.watermark-app .toast,body.watermark-app .watermark-toast{max-width:min(300px,calc(100vw - 32px))!important;padding:8px 12px!important;font-size:12px!important;line-height:1.4!important;white-space:normal!important;overflow-wrap:anywhere!important}
body.templates-app .upload-failure-list{max-height:180px!important}

/* 2026-09-02 source inbox module */
body.erp-app .view-source-inbox{width:100%!important;height:100%!important;min-height:0!important;padding:0!important;overflow:hidden!important;background:var(--yftx-page)!important}
body.erp-app .source-inbox-frame{width:100%!important;height:100%!important;min-height:0!important;border:0!important;display:block!important;background:#f5f7f9!important}
@media(prefers-color-scheme:dark){
  :root{
    --yftx-page:#1e1e1c;
    --yftx-workspace:#242422;
    --yftx-surface:#292927;
    --yftx-surface-soft:#31312e;
    --yftx-surface-hover:#333330;
    --yftx-text:#f2f0ec;
    --yftx-muted:#b8b4ae;
    --yftx-subtle:#8f8b85;
    --yftx-line:rgba(255,255,255,.10);
    --yftx-line-strong:rgba(255,255,255,.18);
    --yftx-accent:#799787;
    --yftx-accent-hover:#8aa697;
    --yftx-accent-soft:rgba(121,151,135,.18);
    --yftx-success:#8eb39a;
    --yftx-warning:#d1a86f;
    --yftx-danger:#d98a83;
    --yftx-danger-soft:rgba(217,138,131,.14);
    --yftx-focus:rgba(121,151,135,.30);
    --yftx-shadow-modal:0 24px 64px rgba(0,0,0,.42);

    --page:var(--yftx-page);
    --canvas:var(--yftx-page);
    --bg:var(--yftx-page);
    --background:var(--yftx-page);
    --surface:var(--yftx-surface);
    --surface-soft:var(--yftx-surface-soft);
    --surface-hover:var(--yftx-surface-hover);
    --text:var(--yftx-text);
    --muted:var(--yftx-muted);
    --subtle:var(--yftx-subtle);
    --secondary:var(--yftx-muted);
    --tertiary:var(--yftx-subtle);
    --line:var(--yftx-line);
    --line-strong:var(--yftx-line-strong);
    --accent:var(--yftx-accent);
    --accent-hover:var(--yftx-accent-hover);
    --accent-soft:var(--yftx-accent-soft);
    --primary:var(--yftx-accent);
    --primary-hover:var(--yftx-accent-hover);
    --primary-soft:var(--yftx-accent-soft);
    --color-accent:var(--yftx-accent);
    --y-accent:var(--yftx-accent);
    --y-accent-hover:var(--yftx-accent-hover);
    --y-accent-soft:var(--yftx-accent-soft);
    --ref-accent:var(--yftx-accent);
    --success:var(--yftx-success);
    --danger:var(--yftx-danger);
    --warning:var(--yftx-warning);
    --danger-soft:var(--yftx-danger-soft);
    --warning-bg:rgba(209,168,111,.14);
    --warning-note:rgba(209,168,111,.11);
    --warning-note-text:#f4c06a;
    --danger-hover:rgba(217,138,131,.12);
    --focus:var(--yftx-focus);
    --focus-ring:var(--yftx-focus);
    --radius:var(--yftx-radius-card);
    --radius-card:var(--yftx-radius-card);
    --radius-control:var(--yftx-radius-control);
    --r-window:var(--yftx-radius-frame);
    --height-control:var(--yftx-control);
    --control-height:var(--yftx-control);
    --shadow-modal:var(--yftx-shadow-modal);
    --font-family:var(--yftx-font);
    --mono-font:var(--yftx-mono);
  }
}
html,body{color-scheme:light}
@media(prefers-color-scheme:dark){html,body{color-scheme:dark}}
body.erp-app,body.copywriting-app,body.infringement-app,body.api-app,body.templates-app,body.watermark-app{
  color:var(--yftx-text)!important;
  background:var(--yftx-page)!important;
  font-family:var(--yftx-font)!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.erp-app ::selection,body.copywriting-app ::selection,body.infringement-app ::selection,body.api-app ::selection,body.templates-app ::selection,body.watermark-app ::selection{background:var(--yftx-accent-soft);color:var(--yftx-text)}
body.erp-app :focus-visible,body.copywriting-app :focus-visible,body.infringement-app :focus-visible,body.api-app :focus-visible,body.templates-app :focus-visible,body.watermark-app :focus-visible{outline:2px solid var(--yftx-focus)!important;outline-offset:2px!important}
body.erp-app button,body.copywriting-app button,body.infringement-app button,body.api-app button,body.templates-app button,body.watermark-app button{transition:background-color var(--yftx-normal) var(--yftx-ease),border-color var(--yftx-normal) var(--yftx-ease),color var(--yftx-normal) var(--yftx-ease),opacity var(--yftx-normal) var(--yftx-ease)!important}
body.erp-app button:disabled,body.copywriting-app button:disabled,body.infringement-app button:disabled,body.api-app button:disabled,body.templates-app button:disabled,body.watermark-app button:disabled{opacity:.5!important;cursor:not-allowed!important}
body.erp-app input[type="checkbox"],body.copywriting-app input[type="checkbox"],body.infringement-app input[type="checkbox"],body.api-app input[type="checkbox"],body.templates-app input[type="checkbox"],body.watermark-app input[type="checkbox"],
body.erp-app input[type="radio"],body.copywriting-app input[type="radio"],body.infringement-app input[type="radio"],body.api-app input[type="radio"],body.templates-app input[type="radio"],body.watermark-app input[type="radio"],
body.erp-app progress,body.copywriting-app progress,body.infringement-app progress,body.api-app progress,body.templates-app progress,body.watermark-app progress{accent-color:var(--yftx-accent)}
body.erp-app .erp-toast,body.copywriting-app .toast,body.infringement-app .toast,body.api-app .toast,body.templates-app .toast,body.watermark-app .toast,body.watermark-app .watermark-toast{border-radius:var(--yftx-radius-control)!important;background:rgba(37,36,34,.94)!important;color:#fff!important;box-shadow:0 12px 32px rgba(0,0,0,.16)!important}
body.erp-app .modal-backdrop,body.erp-app .erp-image-zoom-backdrop,body.erp-app .product-detail-backdrop{background:rgba(30,28,25,.28)!important;backdrop-filter:blur(2px)!important;-webkit-backdrop-filter:blur(2px)!important}
body.erp-app .removal-empty-cell,body.erp-app .image-empty-cell,body.erp-app .export-listing-empty,body.copywriting-app .empty-state,body.infringement-app .library-empty,body.api-app .connection-empty,body.templates-app .template-empty,body.watermark-app .watermark-empty{color:var(--yftx-subtle)!important;text-align:center!important}
body.copywriting-app .card,body.infringement-app .card,body.api-app .card,body.templates-app .card,body.watermark-app .card,body.copywriting-app .workspacePanel,body.copywriting-app .contentCard{border:1px solid var(--yftx-line)!important;border-radius:var(--yftx-radius-card)!important;background:var(--yftx-surface)!important;box-shadow:none!important}
body.copywriting-app .tableWrap,body.copywriting-app .previewTableWrap,body.copywriting-app .embeddedRemovalTableWrap{border:1px solid var(--yftx-line)!important;border-radius:var(--yftx-radius-card)!important;background:var(--yftx-surface)!important;overflow:auto!important}
body.erp-app .workflow-pagination button,body.copywriting-app .pagination button,body.infringement-app .pagination button,body.templates-app .pagination button{height:28px!important;min-height:28px!important;min-width:64px!important;padding:0 10px!important;border:1px solid var(--yftx-line)!important;border-radius:var(--yftx-radius-small)!important;background:var(--yftx-surface)!important;color:var(--yftx-muted)!important;font-size:12px!important;font-weight:600!important}
body.erp-app .workflow-pagination button:hover:not(:disabled),body.copywriting-app .pagination button:hover:not(:disabled),body.infringement-app .pagination button:hover:not(:disabled),body.templates-app .pagination button:hover:not(:disabled){background:var(--yftx-surface-soft)!important;color:var(--yftx-text)!important}       
/* Unified type scale: keep dense operational UI readable without oversized display type. */
:root{
  --yftx-type-label:11px;
  --yftx-type-compact:12px;
  --yftx-type-control:13px;
  --yftx-type-body:13px;
  --yftx-type-panel-title:14px;
  --yftx-type-modal-title:16px;
}
body.erp-app,body.copywriting-app,body.infringement-app,body.api-app,body.templates-app,body.watermark-app{font-size:var(--yftx-type-body)!important}
body.erp-app button,body.copywriting-app button,body.infringement-app button,body.api-app button,body.templates-app button,body.watermark-app button,
body.erp-app input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),body.copywriting-app input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),body.infringement-app input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),body.api-app input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),body.templates-app input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),body.watermark-app input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
body.erp-app select,body.copywriting-app select,body.infringement-app select,body.api-app select,body.templates-app select,body.watermark-app select,
body.erp-app textarea,body.copywriting-app textarea,body.infringement-app textarea,body.api-app textarea,body.templates-app textarea,body.watermark-app textarea{font-size:var(--yftx-type-control)!important}
body.erp-app label,body.copywriting-app label,body.infringement-app label,body.api-app label,body.templates-app label,body.watermark-app label{font-size:var(--yftx-type-compact)!important}
body.erp-app th,body.erp-app .account-table-header,body.copywriting-app #dataTable th,body.copywriting-app #outputTable th,body.copywriting-app .embeddedRemovalTableWrap th,body.infringement-app th,body.api-app th,body.templates-app th,body.watermark-app th{font-size:var(--yftx-type-compact)!important}
body.erp-app td,body.erp-app .account-table-row,body.copywriting-app #dataTable td,body.copywriting-app #outputTable td,body.copywriting-app .embeddedRemovalTableWrap td,body.infringement-app td,body.api-app td,body.templates-app td,body.watermark-app td{font-size:var(--yftx-type-control)!important}
body.erp-app .workflow-pagination button,body.copywriting-app .pagination button,body.infringement-app .pagination button,body.templates-app .pagination button{font-size:var(--yftx-type-compact)!important}
body.erp-app .removal-empty-cell,body.erp-app .image-empty-cell,body.erp-app .export-listing-empty,body.copywriting-app .empty-state,body.copywriting-app .embeddedRemovalEmpty,body.copywriting-app .emptyCell,body.infringement-app .empty-state,body.infringement-app .library-empty,body.api-app .connection-empty,body.templates-app .template-empty,body.watermark-app .watermark-empty,body.watermark-app .canvas-empty,body.watermark-app .empty-cell{font-size:var(--yftx-type-body)!important}
body.erp-app .system-check-row-main strong{font-size:var(--yftx-type-body)!important}
body.erp-app .system-check-row-main span{font-size:var(--yftx-type-compact)!important}
body.erp-app .system-check-badge,body.erp-app .image-status-badge,body.erp-app .quality-badge,body.erp-app .account-status-badge,body.erp-app .status-pill,body.erp-app .pill,body.copywriting-app .embeddedRemovalEyebrow,body.copywriting-app .embeddedRemovalNotice,body.infringement-app .status-pill,body.infringement-app .library-kicker,body.templates-app .status-pill,body.templates-app .library-kicker,body.api-app .connection-card small,body.api-app .editor-badge,body.templates-app .template-meta,body.templates-app .browse-path{font-size:var(--yftx-type-label)!important}
body.erp-app .system-modal-copy h2,body.erp-app .account-editor-header h2,body.erp-app .export-file-modal-copy h2,body.erp-app .product-detail-header h2,body.copywriting-app .embeddedRemovalTitle h2,body.watermark-app .success-dialog h2{font-size:var(--yftx-type-modal-title)!important}
body.infringement-app .metric-value strong,body.templates-app .metric-value strong{font-size:40px!important}
@keyframes yftx-boot-pulse{0%{box-shadow:0 0 0 0 rgba(95,113,100,.28)}70%{box-shadow:0 0 0 7px rgba(95,113,100,0)}100%{box-shadow:0 0 0 0 rgba(95,113,100,0)}}
/* ==== workspace-consistency-v162.css ==== */
/* 与飞同行 visible consistency pass v162
   Keep data keys, routing names and storage fields untouched.
   This layer only normalizes user-facing labels, buttons and common layout tokens. */

body.erp-app,
body.copywriting-app,
body.source-inbox-app,
body.infringement-app,
body.api-app,
body.templates-app,
body.watermark-app {
  --yftx-brand: #5f7164;
  --yftx-brand-hover: #526257;
  --yftx-brand-soft: #eef2ee;
  --yftx-danger: #a14f49;
  --yftx-danger-soft: #f7eceb;
  --yftx-warning: #8a6a3e;
  --yftx-success: #52705a;
  --yftx-radius-frame: 10px;
  --yftx-radius-card: 8px;
  --yftx-radius-control: 8px;
  --yftx-radius-small: 6px;
}

/* Consistent close buttons and SVG glyph sizing. */
body.erp-app button,
body.copywriting-app button,
body.source-inbox-app button,
body.infringement-app button,
body.api-app button,
body.templates-app button,
body.watermark-app button {
  letter-spacing: 0;
}

body.erp-app .icon-button,
body.source-inbox-app .icon-button,
body.infringement-app .dialog-close,
body.api-app .icon-button {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border-radius: 6px;
  font-size: 0;
  line-height: 1;
}

body.erp-app .icon-button svg,
body.source-inbox-app .icon-button svg,
body.infringement-app .dialog-close svg,
body.api-app .icon-button svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  stroke-width: 1.8;
  fill: none;
}

/* Source inbox: normalized command area, count/selection summary and sort controls. */
body.source-inbox-app {
  --inbox-accent: #5f7164;
  --inbox-accent-hover: #526257;
  --inbox-accent-soft: #eef2ee;
  --inbox-danger: #a14f49;
  --inbox-danger-soft: #f7eceb;
}

/* Copywriting: visible tab/action language and editable-name alignment. */
body.copywriting-app .commandBar {
  min-height: 58px;
}

body.copywriting-app .workflowButton,
body.copywriting-app .embeddedRemovalButton,
body.copywriting-app .pageClearButton,
body.copywriting-app #parseResultBtn {
  min-height: 34px;
  border-radius: 6px;
  font-size: 12px;
}

body.copywriting-app .parseInputPane {
  gap: 8px;
}

body.copywriting-app #dataTable th.col-name,
body.copywriting-app #dataTable td.col-name,
body.copywriting-app #embeddedRemovalTable th.col-name,
body.copywriting-app #embeddedRemovalTable td.col-name {
  text-align: left;
}

body.copywriting-app #dataTable td.col-name .cellClamp,
body.copywriting-app #embeddedRemovalTable td.col-name .cellClamp {
  justify-content: flex-start;
  margin: 0;
  
}

body.copywriting-app th.col-sku,
body.copywriting-app th.col-name,
body.copywriting-app th.col-short,
body.copywriting-app th.col-long,
body.copywriting-app td.col-sku,
body.copywriting-app td.col-name,
body.copywriting-app td.col-short,
body.copywriting-app td.col-long {
  white-space: normal;
}

/* Infringement and template libraries: normalized dialogs, buttons and empty states. */
body.infringement-app .library-toolbar,
body.templates-app .toolbar {
  min-height: 58px;
  padding: 10px 16px;
}

body.infringement-app .button,
body.infringement-app .pagination button,
body.templates-app .primary,
body.templates-app .secondary,
body.templates-app .pagination button {
  min-height: 32px;
  border-radius: 6px;
  font-size: 12px;
}

body.infringement-app .module-toast,
body.api-app .module-toast,
body.templates-app .toast,
body.copywriting-app .moduleToast,
body.source-inbox-app .inbox-toast,
body.watermark-app .watermark-toast {
  border-radius: 8px;
  font-size: 12px;
}

body.infringement-app .module-toast.warning,
body.api-app .module-toast.warning,
body.templates-app .toast.warning,
body.copywriting-app .moduleToast.warning,
body.source-inbox-app .inbox-toast.warning,
body.watermark-app .watermark-toast.warning {
  background: var(--yftx-warning, #8a6a3e);
}

body.infringement-app .module-toast.error,
body.api-app .module-toast.error,
body.templates-app .toast.error,
body.copywriting-app .moduleToast.error,
body.source-inbox-app .inbox-toast.error,
body.watermark-app .watermark-toast.error {
  background: var(--yftx-danger, #a14f49);
}

/* API settings: neutral interface terminology and labelled sidebar commands. */
body.api-app .api-page {
  background: #f4f6f8;
}

body.api-app .sidebar-head {
  
  
}

body.api-app .sidebar-head h1 {
  font-size: 15px;
}

body.api-app .icon-button.has-label {
  
  
  
  
  
  
  
  
}

body.api-app .icon-button.has-label svg {
  
  
}

body.api-app .icon-button.has-label span {
  width: auto;
  height: auto;
  line-height: 1;
}

body.api-app .panel-card {
  border-radius: 8px;
}

body.api-app .field span,
body.api-app .provider-select span {
  
}
/* ==== design-system-v163.css ==== */
/* 与飞同行 design system v163
   Single source tokens + shared component layer.
   Load this file last in every page so it wins over legacy CSS layers. */
:root,
body.erp-app,
body.copywriting-app,
body.source-inbox-app,
body.infringement-app,
body.api-app,
body.templates-app,
body.watermark-app {
  color-scheme: light;
  --ds-page: #eef2f5;
  --ds-canvas: #f6f9fb;
  --ds-surface: #ffffff;
  --ds-surface-soft: #f4f7f9;
  --ds-surface-hover: #eaf1f4;
  --ds-text: #1d2833;
  --ds-muted: #5e6d79;
  --ds-subtle: #94a1ab;
  --ds-border: #dfe6eb;
  --ds-border-strong: #cdd7de;
  --ds-accent: #0f766e;
  --ds-accent-hover: #0c635d;
  --ds-accent-soft: #e8f5f2;
  --ds-accent-text: #0b5f59;
  --ds-info: #2563a5;
  --ds-info-soft: #eaf3fb;
  --ds-success: #327158;
  --ds-success-soft: #e9f5ef;
  --ds-warning: #9a6718;
  --ds-warning-soft: #fff5df;
  --ds-danger: #b13d36;
  --ds-danger-soft: #fff0ee;
  --ds-focus: rgba(15, 118, 110, .20);
  --ds-shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 8px 22px rgba(16, 24, 40, .05);
  --ds-shadow-float: 0 20px 60px rgba(15, 23, 42, .16);
  --ds-radius-sm: 6px;
  --ds-radius: 8px;
  --ds-radius-lg: 10px;
  --ds-radius-pill: 999px;
  --ds-space-1: 4px;
  --ds-space-2: 8px;
  --ds-space-3: 12px;
  --ds-space-4: 16px;
  --ds-font: "PingFang SC", "PingFang TC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --ds-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;

  /* Alias the legacy token names without removing compatibility. */
  --page: var(--ds-page);
  --canvas: var(--ds-canvas);
  --bg: var(--ds-page);
  --background: var(--ds-page);
  --surface: var(--ds-surface);
  --surface-strong: var(--ds-surface);
  --surface-soft: var(--ds-surface-soft);
  --surface-hover: var(--ds-surface-hover);
  --text: var(--ds-text);
  --muted: var(--ds-muted);
  --subtle: var(--ds-subtle);
  --secondary: var(--ds-muted);
  --line: var(--ds-border);
  --line-strong: var(--ds-border-strong);
  --accent: var(--ds-accent);
  --accent-hover: var(--ds-accent-hover);
  --accent-active: var(--ds-accent-hover);
  --accent-soft: var(--ds-accent-soft);
  --accent-deep: var(--ds-accent-hover);
  --danger: var(--ds-danger);
  --danger-soft: var(--ds-danger-soft);
  --success: var(--ds-success);
  --success-soft: var(--ds-success-soft);
  --warning: var(--ds-warning);
  --warning-soft: var(--ds-warning-soft);
  --info: var(--ds-info);
  --info-soft: var(--ds-info-soft);
  --focus: var(--ds-focus);
  --radius: var(--ds-radius);
  --radius-card: var(--ds-radius);
  --radius-control: var(--ds-radius);
  --radius-small: var(--ds-radius-sm);
  --radius-panel: var(--ds-radius);
  --radius-modal: var(--ds-radius);
  --radius-frame: var(--ds-radius-lg);

  --yftx-bg: var(--ds-page);
  --yftx-page: var(--ds-page);
  --yftx-workspace: var(--ds-canvas);
  --yftx-surface: var(--ds-surface);
  --yftx-surface-soft: var(--ds-surface-soft);
  --yftx-surface-hover: var(--ds-surface-hover);
  --yftx-text: var(--ds-text);
  --yftx-muted: var(--ds-muted);
  --yftx-subtle: var(--ds-subtle);
  --yftx-line: var(--ds-border);
  --yftx-line-strong: var(--ds-border-strong);
  --yftx-accent: var(--ds-accent);
  --yftx-brand: var(--ds-accent);
  --yftx-brand-hover: var(--ds-accent-hover);
  --yftx-brand-soft: var(--ds-accent-soft);
  --yftx-accent-hover: var(--ds-accent-hover);
  --yftx-accent-soft: var(--ds-accent-soft);
  --yftx-danger: var(--ds-danger);
  --yftx-danger-soft: var(--ds-danger-soft);
  --yftx-success: var(--ds-success);
  --yftx-success-soft: var(--ds-success-soft);
  --yftx-warning: var(--ds-warning);
  --yftx-warning-soft: var(--ds-warning-soft);
  --yftx-focus: var(--ds-focus);
  --yftx-radius-control: var(--ds-radius);
  --yftx-radius-panel: var(--ds-radius);
  --yftx-radius-modal: var(--ds-radius);
  --yftx-radius-frame: var(--ds-radius-lg);
  --yftx-sidebar: 204px;
  --yftx-control: 34px;
  --yftx-control-compact: 32px;
  --yftx-form: 40px;
  --yftx-font: var(--ds-font);
  --yftx-mono: var(--ds-mono);
  --yftx-shadow-menu: var(--ds-shadow);
  --yftx-shadow-modal: var(--ds-shadow-float);
  --yftx-type-label: 11px;
  --yftx-type-compact: 12px;
  --yftx-type-control: 13px;
  --yftx-type-body: 13px;
  --yftx-type-panel-title: 14px;
  --yftx-type-modal-title: 16px;

  --quiet-bg: var(--ds-page);
  --quiet-surface: var(--ds-surface);
  --quiet-surface-soft: var(--ds-surface-soft);
  --quiet-text: var(--ds-text);
  --quiet-muted: var(--ds-muted);
  --quiet-subtle: var(--ds-subtle);
  --quiet-line: var(--ds-border);
  --quiet-line-strong: var(--ds-border-strong);
  --quiet-blue: var(--ds-accent);
  --quiet-blue-hover: var(--ds-accent-hover);
  --quiet-blue-soft: var(--ds-accent-soft);
  --quiet-green: var(--ds-accent);
  --quiet-danger: var(--ds-danger);
  --quiet-danger-bg: var(--ds-danger-soft);
  --quiet-radius: var(--ds-radius);
  --quiet-radius-lg: var(--ds-radius);
  --quiet-shadow: var(--ds-shadow);
  --quiet-shadow-float: var(--ds-shadow-float);
  --button-accent: var(--ds-accent);
  --button-accent-hover: var(--ds-accent-hover);
  --button-accent-active: var(--ds-accent-hover);
  --button-border: var(--ds-border-strong);
  --button-text: var(--ds-text);
  --button-danger: var(--ds-danger);
  --button-danger-soft: var(--ds-danger-soft);
  --selected-bg: var(--ds-accent-soft);
  --selected-border: rgba(15, 118, 110, .22);
  --selected-text: var(--ds-accent-text);
  --sidebar: var(--ds-sidebar, 204px);
}

html, body {
  color-scheme: light;
}

body.erp-app,
body.copywriting-app,
body.source-inbox-app,
body.infringement-app,
body.api-app,
body.templates-app,
body.watermark-app {
  
  
  
  
  
  
}

body.erp-app *,
body.copywriting-app *,
body.source-inbox-app *,
body.infringement-app *,
body.api-app *,
body.templates-app *,
body.watermark-app * {
  box-sizing: border-box;
  letter-spacing: 0 !important;
}

body.erp-app ::selection,
body.copywriting-app ::selection,
body.source-inbox-app ::selection,
body.infringement-app ::selection,
body.api-app ::selection,
body.templates-app ::selection,
body.watermark-app ::selection {
  color: var(--ds-text);
  background: var(--ds-accent-soft);
}

body.erp-app :focus-visible,
body.copywriting-app :focus-visible,
body.source-inbox-app :focus-visible,
body.infringement-app :focus-visible,
body.api-app :focus-visible,
body.templates-app :focus-visible,
body.watermark-app :focus-visible {
  outline: 2px solid var(--ds-focus) !important;
  outline-offset: 2px !important;
}

body.erp-app button,
body.copywriting-app button,
body.source-inbox-app button,
body.infringement-app button,
body.api-app button,
body.templates-app button,
body.watermark-app button {
  transition: background-color .14s ease, border-color .14s ease, color .14s ease, opacity .14s ease;
}

body.erp-app button:disabled,
body.copywriting-app button:disabled,
body.source-inbox-app button:disabled,
body.infringement-app button:disabled,
body.api-app button:disabled,
body.templates-app button:disabled,
body.watermark-app button:disabled {
  cursor: not-allowed !important;
}

body.erp-app input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]),
body.copywriting-app input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]),
body.source-inbox-app input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]),
body.infringement-app input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]),
body.api-app input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]),
body.templates-app input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]),
body.watermark-app input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]),
body.erp-app select,
body.copywriting-app select,
body.source-inbox-app select,
body.infringement-app select,
body.api-app select,
body.templates-app select,
body.watermark-app select,
body.erp-app textarea,
body.copywriting-app textarea,
body.source-inbox-app textarea,
body.infringement-app textarea,
body.api-app textarea,
body.templates-app textarea,
body.watermark-app textarea {
  color: var(--ds-text) !important;
  border-color: var(--ds-border-strong) !important;
  border-radius: var(--ds-radius) !important;
  background: var(--ds-surface) !important;
}

body.erp-app input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):focus,
body.copywriting-app input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):focus,
body.source-inbox-app input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):focus,
body.infringement-app input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):focus,
body.api-app input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):focus,
body.templates-app input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):focus,
body.watermark-app input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):focus,
body.erp-app select:focus,
body.copywriting-app select:focus,
body.source-inbox-app select:focus,
body.infringement-app select:focus,
body.api-app select:focus,
body.templates-app select:focus,
body.watermark-app select:focus,
body.erp-app textarea:focus,
body.copywriting-app textarea:focus,
body.source-inbox-app textarea:focus,
body.infringement-app textarea:focus,
body.api-app textarea:focus,
body.templates-app textarea:focus,
body.watermark-app textarea:focus {
  border-color: var(--ds-accent) !important;
  box-shadow: 0 0 0 3px var(--ds-focus) !important;
}

/* App shell: a wider, deliberate workbench instead of a narrow icon-only rail. */
body.erp-app #appView {
  --sidebar: 204px;
  grid-template-columns: 204px minmax(0, 1fr) !important;
  gap: 0 !important;
  width: 100% !important;
  height: 100vh !important;
  padding: 0 !important;
  background: var(--ds-canvas) !important;
}

body.erp-app .sidebar {
  
  
  
  
  
  
  
  
  
  
}

body.erp-app .brand {
  
  
  
  
  
  
  
}

body.erp-app .brand img {
  
  
  
  
  
}

body.erp-app .brand::after {
  content: "与飞同行";
  display: block !important;
  min-width: 0 !important;
  color: var(--ds-text) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

body.erp-app .nav {
  
  
  
  
  
  
}

body.erp-app .nav button {
  
  display: flex !important;
  align-items: center !important;
  
  
  
  
  
  
  
  
  
  
  
  
  
}

body.erp-app .nav button:hover {
  background: var(--ds-surface-soft) !important;
  color: var(--ds-text) !important;
}

body.erp-app .nav button.active {
  
  
  
}

body.erp-app .nav button.active::before {
  content: "" !important;
  position: absolute !important;
  left: -10px !important;
  top: 9px !important;
  bottom: 9px !important;
  width: 3px !important;
  border-radius: 0 3px 3px 0 !important;
  background: var(--ds-accent) !important;
}

body.erp-app .nav button svg,
body.erp-app .nav-icon {
  
  
  
  
  fill: none !important;
  stroke: currentColor !important;
  
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

body.erp-app .nav button span {
  min-width: 0 !important;
  
  
  
}

body.erp-app .sidebar-user {
  
  
}

body.erp-app .user-name {
  
  
  
  
  
  
}

body.erp-app .user-popover {
  
  
  
  
  
  
}

body.erp-app .user-menu-action {
  
  
  
  
}

body.erp-app .workspace {
  width: 100% !important;
  
  
  
  
  
  
}

body.erp-app .content {
  
}

body.erp-app .view-accounts,
body.erp-app .view-system-check {
  
  
}

/* Login */
body.erp-app #loginView {
  
}

body.erp-app .login-card {
  
  
  
  
  
  
}

body.erp-app .login-logo-frame {
  margin-bottom: 14px !important;
}

body.erp-app .login-logo {
  
  
  
}

body.erp-app .login-card input {
  
  
}

body.erp-app .login-card #loginSubmitBtn {
  
  
}

/* Shared component geometry: buttons are compact, flat, and semantically colored. */
body.erp-app .removal-workflow-button,
body.erp-app .removal-secondary-button,
body.erp-app .image-tool-button,
body.erp-app .image-open-doubao,
body.erp-app .image-transfer-export,
body.erp-app .image-inline-delete,
body.erp-app .export-mapping-button,
body.erp-app .export-complete-button,
body.erp-app .export-quiet-delete,
body.erp-app .page-clear-button,
body.erp-app .system-check-button,
body.erp-app .account-add-button,
body.erp-app .account-editor-primary,
body.erp-app .account-editor-secondary,
body.erp-app .modal-btn,
body.copywriting-app .workflowButton,
body.copywriting-app .pageClearButton,
body.copywriting-app .selectionDeleteButton,
body.copywriting-app .embeddedRemovalButton,
body.copywriting-app #parseResultBtn,
body.source-inbox-app .inbox-action,
body.infringement-app .button,
body.infringement-app .pagination button,
body.infringement-app .dialog-footer button,
body.api-app .action-button,
body.api-app .quick-button,
body.templates-app .primary,
body.templates-app .secondary,
body.watermark-app .white,
body.watermark-app .sync {
  min-height: 32px !important;
  height: 32px !important;
  padding: 0 12px !important;
  border-radius: var(--ds-radius) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  box-shadow: none !important;
}

body.erp-app #loginSubmitBtn,
body.erp-app .home-start-button,
body.erp-app .removal-workflow-button,
body.erp-app .image-transfer-export,
body.erp-app .export-mapping-button:not(.secondary),
body.erp-app .export-complete-button,
body.erp-app .system-check-button.primary,
body.erp-app .account-add-button,
body.erp-app .account-editor-primary,
body.erp-app .modal-btn.confirm:not(.danger),
body.copywriting-app .embeddedRemovalButton.primary,
body.copywriting-app .selectionPromptButton,
body.source-inbox-app .inbox-action.primary,
body.infringement-app .button.primary,
body.api-app .action-button.primary,
body.api-app .action-button.deepseek,
body.api-app .action-button.r2,
body.templates-app .primary,
body.watermark-app .primary,
body.watermark-app .sync {
  border-color: var(--ds-accent) !important;
  background: var(--ds-accent) !important;
  color: #ffffff !important;
}

body.erp-app #loginSubmitBtn:hover:not(:disabled),
body.erp-app .removal-workflow-button:hover:not(:disabled),
body.erp-app .image-transfer-export:hover:not(:disabled),
body.erp-app .export-mapping-button:not(.secondary):hover:not(:disabled),
body.erp-app .export-complete-button:hover:not(:disabled),
body.erp-app .system-check-button.primary:hover:not(:disabled),
body.erp-app .account-add-button:hover:not(:disabled),
body.erp-app .account-editor-primary:hover:not(:disabled),
body.erp-app .modal-btn.confirm:not(.danger):hover:not(:disabled),
body.copywriting-app .embeddedRemovalButton.primary:hover:not(:disabled),
body.copywriting-app .selectionPromptButton:hover:not(:disabled),
body.source-inbox-app .inbox-action.primary:hover:not(:disabled),
body.infringement-app .button.primary:hover:not(:disabled),
body.api-app .action-button.primary:hover:not(:disabled),
body.api-app .action-button.deepseek:hover:not(:disabled),
body.api-app .action-button.r2:hover:not(:disabled),
body.templates-app .primary:hover:not(:disabled),
body.watermark-app .primary:hover:not(:disabled),
body.watermark-app .sync:hover:not(:disabled) {
  border-color: var(--ds-accent-hover) !important;
  background: var(--ds-accent-hover) !important;
  color: #ffffff !important;
}

body.erp-app .removal-secondary-button:not(.danger),
body.erp-app .image-tool-button,
body.erp-app .image-open-doubao,
body.erp-app .export-mapping-button.secondary,
body.erp-app .system-check-button:not(.primary),
body.erp-app .account-editor-secondary,
body.erp-app .modal-btn:not(.confirm),
body.copywriting-app .workflowButton,
body.infringement-app .button.secondary,
body.api-app .action-button.secondary,
body.api-app .action-button.ghost,
body.api-app .quick-button,
body.templates-app .secondary,
body.watermark-app .white {
  border-color: var(--ds-border-strong) !important;
  background: var(--ds-surface) !important;
  color: var(--ds-text) !important;
}

body.erp-app .removal-secondary-button:not(.danger):hover:not(:disabled),
body.erp-app .image-tool-button:hover:not(:disabled),
body.erp-app .image-open-doubao:hover:not(:disabled),
body.erp-app .export-mapping-button.secondary:hover:not(:disabled),
body.erp-app .system-check-button:not(.primary):hover:not(:disabled),
body.erp-app .account-editor-secondary:hover:not(:disabled),
body.erp-app .modal-btn:not(.confirm):hover:not(:disabled),
body.copywriting-app .workflowButton:hover:not(:disabled),
body.infringement-app .button.secondary:hover:not(:disabled),
body.api-app .action-button.secondary:hover:not(:disabled),
body.api-app .action-button.ghost:hover:not(:disabled),
body.api-app .quick-button:hover:not(:disabled),
body.templates-app .secondary:hover:not(:disabled),
body.watermark-app .white:hover:not(:disabled) {
  border-color: var(--ds-border-strong) !important;
  background: var(--ds-surface-soft) !important;
  color: var(--ds-text) !important;
}

body.erp-app .removal-secondary-button.danger,
body.erp-app .page-clear-button,
body.erp-app .image-inline-delete,
body.erp-app .export-quiet-delete,
body.erp-app .modal-btn.confirm.danger,
body.copywriting-app .selectionDeleteButton,
body.copywriting-app .embeddedRemovalButton.danger,
body.copywriting-app .pageClearButton,
body.source-inbox-app .inbox-action.danger,
body.infringement-app .button.danger,
body.api-app .action-button.danger {
  border-color: rgba(177, 61, 54, .24) !important;
  background: var(--ds-danger-soft) !important;
  color: var(--ds-danger) !important;
}

body.erp-app .removal-secondary-button.danger:hover:not(:disabled),
body.erp-app .page-clear-button:hover:not(:disabled),
body.erp-app .image-inline-delete:hover:not(:disabled),
body.erp-app .export-quiet-delete:hover:not(:disabled),
body.erp-app .modal-btn.confirm.danger:hover:not(:disabled),
body.copywriting-app .selectionDeleteButton:hover:not(:disabled),
body.copywriting-app .embeddedRemovalButton.danger:hover:not(:disabled),
body.copywriting-app .pageClearButton:hover:not(:disabled),
body.source-inbox-app .inbox-action.danger:hover:not(:disabled),
body.infringement-app .button.danger:hover:not(:disabled),
body.api-app .action-button.danger:hover:not(:disabled) {
  border-color: rgba(177, 61, 54, .34) !important;
  background: #fde5e2 !important;
  color: var(--ds-danger) !important;
}

/* Tables, panels and data surfaces. */
body.erp-app .removal-table-card,
body.erp-app .image-opt-table-card,
body.erp-app .export-listing-shell,
body.erp-app .accounts-table-panel,
body.erp-app .system-check-header,
body.erp-app .system-check-list,
body.erp-app .permission-empty-card,
body.copywriting-app .contentCard,
body.source-inbox-app .inbox-toolbar,
body.source-inbox-app .inbox-pagination,
body.infringement-app .library-card,
body.infringement-app .dialog-card,
body.api-app .panel-card,
body.api-app .connection-form,
body.templates-app .template-card,
body.watermark-app .card {
  border-color: var(--ds-border) !important;
  border-radius: var(--ds-radius-lg) !important;
  background: var(--ds-surface) !important;
  box-shadow: var(--ds-shadow) !important;
}

body.source-inbox-app .inbox-toolbar,
body.source-inbox-app .inbox-pagination,
body.copywriting-app .commandBar,
body.api-app .api-sidebar,
body.api-app .editor-bar,
body.api-app .editor-actions {
  background: var(--ds-surface) !important;
  border-color: var(--ds-border) !important;
}

body.source-inbox-app .inbox-table thead th,
body.copywriting-app #dataTable th,
body.copywriting-app #embeddedRemovalTable th,
body.erp-app .removal-table-wrap th,
body.erp-app .image-opt-table-wrap th,
body.erp-app .export-listing-table-wrap th,
body.infringement-app th,
body.api-app th,
body.templates-app th {
  color: var(--ds-muted) !important;
  background: var(--ds-surface-soft) !important;
  border-color: var(--ds-border) !important;
  font-weight: 650 !important;
}

body.source-inbox-app .inbox-table tbody td,
body.copywriting-app #dataTable td,
body.copywriting-app #embeddedRemovalTable td,
body.erp-app .removal-table-wrap td,
body.erp-app .image-opt-table-wrap td,
body.erp-app .export-listing-table-wrap td,
body.infringement-app td,
body.api-app td,
body.templates-app td {
  color: var(--ds-text) !important;
  border-color: var(--ds-border) !important;
  background: var(--ds-surface) !important;
}

body.source-inbox-app .inbox-row:hover td,
body.copywriting-app tbody tr:hover td,
body.erp-app tbody tr:hover td,
body.infringement-app tbody tr:hover td,
body.api-app tbody tr:hover td {
  background: var(--ds-surface-hover) !important;
}

body.source-inbox-app .inbox-row.selected td,
body.copywriting-app tbody tr.selected td,
body.erp-app tbody tr.selected td,
body.infringement-app tr.selected td,
body.api-app tr.selected td {
  
}

body.source-inbox-app .inbox-table .table-thumb,
body.source-inbox-app .item-thumb-placeholder,
body.copywriting-app img[data-remote-image],
body.erp-app .image-opt-thumbnail {
  
  
}

/* Copywriting */
body.copywriting-app .commandBar {
  min-height: 62px !important;
  padding: 8px 14px !important;
  border-bottom-color: var(--ds-border) !important;
}

body.copywriting-app .workflowActions {
  
  
  
}

body.copywriting-app .workflowButton.active,
body.copywriting-app .workflowButton[aria-pressed="true"] {
  
  
  
  
}

body.copywriting-app .parseInputPane,
body.copywriting-app .embeddedRemovalPane,
body.copywriting-app .previewTableWrap {
  border-color: var(--ds-border) !important;
  border-radius: var(--ds-radius-lg) !important;
  background: var(--ds-surface) !important;
}

/* API */
body.api-app .api-page {
  background: var(--ds-canvas) !important;
}

body.api-app .api-page {
  
}

body.api-app .api-workspace {
  
}

body.api-app .connection-card.active {
  
  
}

body.api-app .provider-dot.deepseek,
body.api-app .editor-badge.deepseek {
  
  
}

body.infringement-app .metric-card,
body.templates-app .metric-card {
  border-color: var(--ds-border) !important;
  
  
  
}

/* Modal/dialog/toast polish */
body.erp-app .modal-backdrop,
body.erp-app .erp-image-zoom-backdrop,
body.erp-app .product-detail-backdrop,
body.infringement-app .dialog-backdrop {
  background: rgba(15, 23, 42, .34) !important;
  backdrop-filter: blur(3px) !important;
}

body.erp-app .system-modal,
body.erp-app .account-editor-modal,
body.erp-app .export-file-modal,
body.erp-app .watermark-tool-modal,
body.erp-app .product-detail-drawer,
body.infringement-app .dialog-card {
  border: 1px solid var(--ds-border) !important;
  border-radius: var(--ds-radius-lg) !important;
  background: var(--ds-surface) !important;
  box-shadow: var(--ds-shadow-float) !important;
}

body.erp-app .product-detail-drawer {
  
  
}

body.erp-app .erp-toast,
body.copywriting-app .moduleToast,
body.source-inbox-app .inbox-toast,
body.infringement-app .module-toast,
body.api-app .module-toast,
body.templates-app .toast,
body.watermark-app .watermark-toast {
  border: 0 !important;
  border-radius: var(--ds-radius) !important;
  background: #202a33f0 !important;
  color: #ffffff !important;
  box-shadow: var(--ds-shadow-float) !important;
  font-size: 12px !important;
}

body.copywriting-app .moduleToast.success,
body.source-inbox-app .inbox-toast.success,
body.infringement-app .module-toast.success,
body.api-app .module-toast.success,
body.templates-app .toast.success,
body.watermark-app .watermark-toast.success {
  background: var(--ds-success) !important;
}

body.copywriting-app .moduleToast.error,
body.source-inbox-app .inbox-toast.error,
body.infringement-app .module-toast.error,
body.api-app .module-toast.error,
body.templates-app .toast.error,
body.watermark-app .watermark-toast.error {
  background: var(--ds-danger) !important;
}

/* Shared close controls */
body.erp-app .account-editor-close,
body.erp-app .optimized-upload-close,
body.erp-app .product-detail-close,
body.erp-app .erp-image-zoom-close,
body.source-inbox-app .icon-button,
body.infringement-app .dialog-close {
  border: 1px solid transparent !important;
  border-radius: var(--ds-radius) !important;
  background: transparent !important;
  color: var(--ds-muted) !important;
}

body.erp-app .account-editor-close:hover,
body.erp-app .optimized-upload-close:hover,
body.erp-app .product-detail-close:hover,
body.erp-app .erp-image-zoom-close:hover,
body.source-inbox-app .icon-button:hover,
body.infringement-app .dialog-close:hover {
  background: var(--ds-surface-soft) !important;
  color: var(--ds-text) !important;
}

/* Responsive shell */
@media (max-width: 900px) {
  body.erp-app #appView {
    --sidebar: 96px;
    grid-template-columns: 96px minmax(0, 1fr) !important;
  }

  body.erp-app .sidebar {
    width: 96px !important;
    min-width: 96px !important;
    padding: 10px 6px !important;
  }

  body.erp-app .brand {
    justify-content: center !important;
    padding: 0 !important;
  }

  body.erp-app .brand::after,
  body.erp-app .nav button span {
    display: none !important;
  }

  body.erp-app .nav button {
    justify-content: center !important;
    padding: 0 !important;
  }

  body.erp-app .nav button svg {
    width: 20px !important;
    height: 20px !important;
  }
}

@media (max-width: 720px) {
  body.erp-app #appView {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
  }

  body.erp-app .sidebar {
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--ds-border) !important;
  }

  body.erp-app .brand {
    display: none !important;
  }

  body.erp-app .nav {
    flex-direction: row !important;
    overflow-x: auto !important;
  }

  body.erp-app .nav button {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 104px !important;
  }

  body.erp-app .nav button span {
    display: block !important;
  }

  body.erp-app .sidebar-user {
    display: none !important;
  }
}

/* v163 final polish: deeper workbench contrast and consistent toolbar identity. */
body.erp-app .sidebar {
  background: #1c3033 !important;
  border-right-color: rgba(255, 255, 255, .10) !important;
}

body.erp-app .brand {
  
}

body.erp-app .brand::after {
  color: #f7fbfa !important;
}

body.erp-app .nav button {
  
}

body.erp-app .nav button:hover {
  background: rgba(255, 255, 255, .07) !important;
  color: #ffffff !important;
}

body.erp-app .nav button.active {
  
  
  
}

body.erp-app .nav button.active::before {
  background: #4dd7bd !important;
}

body.erp-app .sidebar-user {
  border-top-color: rgba(255, 255, 255, .10) !important;
}

body.erp-app .user-name {
  border-color: rgba(255, 255, 255, .14) !important;
  
  
}

body.erp-app .user-popover {
  
  
  
}

body.erp-app .user-menu-action {
  
}

body.erp-app .user-menu-action:hover {
  background: rgba(255, 255, 255, .08) !important;
  color: #ffffff !important;
}

body.erp-app .logout-action {
  
}

body.erp-app .logout-action:hover {
  background: rgba(255, 96, 88, .12) !important;
  color: #fff1ef !important;
}

body.copywriting-app .previewTableWrap,
body.copywriting-app .embeddedRemovalTableWrap {
  position: relative;
}

body.source-inbox-app ::-webkit-scrollbar,
body.copywriting-app ::-webkit-scrollbar,
body.infringement-app ::-webkit-scrollbar,
body.api-app ::-webkit-scrollbar,
body.templates-app ::-webkit-scrollbar,
body.watermark-app ::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

body.source-inbox-app ::-webkit-scrollbar-thumb,
body.copywriting-app ::-webkit-scrollbar-thumb,
body.infringement-app ::-webkit-scrollbar-thumb,
body.api-app ::-webkit-scrollbar-thumb,
body.templates-app ::-webkit-scrollbar-thumb,
body.watermark-app ::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  border-radius: 999px;
  background: rgba(28, 48, 51, .24);
  background-clip: padding-box;
}

body.erp-app .image-opt-command-bar,
body.erp-app .export-listing-header,
body.erp-app .removal-command-bar {
  min-height: 52px !important;
}
/* ==== minimal-system-v164.css ==== */
/* 与飞同行 apple-clean v164
   Quiet, white-first, Apple-inspired workbench layer. */
:root,
body.erp-app,
body.copywriting-app,
body.source-inbox-app,
body.infringement-app,
body.api-app,
body.templates-app,
body.watermark-app {
  color-scheme: light;
  --ds-page: #f5f5f7;
  --ds-canvas: #fafafc;
  --ds-surface: rgba(255, 255, 255, .92);
  --ds-surface-soft: #f5f5f7;
  --ds-surface-hover: #f2f2f4;
  --ds-text: #1d1d1f;
  --ds-muted: #6e6e73;
  --ds-subtle: #86868b;
  --ds-border: rgba(29, 29, 31, .09);
  --ds-border-strong: rgba(29, 29, 31, .16);
  --ds-accent: #0071e3;
  --ds-accent-hover: #0077ed;
  --ds-accent-soft: #e8f1fb;
  --ds-accent-text: #0060df;
  --ds-info: #3d6a99;
  --ds-info-soft: #eef4fa;
  --ds-success: #397a58;
  --ds-success-soft: #eaf5ef;
  --ds-warning: #8a6420;
  --ds-warning-soft: #fbf6e8;
  --ds-danger: #b42318;
  --ds-danger-soft: #fef3f2;
  --ds-focus: rgba(29, 35, 41, .14);
  --ds-shadow: 0 0 0 rgba(0, 0, 0, 0);
  --ds-shadow-float: 0 18px 50px rgba(23, 27, 32, .12);
  --ds-radius-sm: 6px;
  --ds-radius: 6px;
  --ds-radius-lg: 8px;
  --ds-radius-pill: 999px;
  --ds-sidebar: 176px;
  --yftx-sidebar: 176px;
  --sidebar: 176px;
  --page: #f5f5f7;
  --bg: #f5f5f7;
  --surface: #ffffff;
  --surface-strong: #ffffff;
  --surface-soft: #f3f4f5;
  --surface-hover: #f0f1f3;
  --text: #1d1d1f;
  --muted: #6e6e73;
  --subtle: #86868b;
  --line: rgba(29, 29, 31, .09);
  --line-strong: rgba(29, 29, 31, .16);
  --accent: #0071e3;
  --accent-hover: #0077ed;
  --accent-soft: #e8f1fb;
  --accent-deep: #0060df;
  --danger: #b42318;
  --danger-soft: #fef3f2;
  --success: #397a58;
  --success-soft: #eaf5ef;
  --warning: #8a6420;
  --warning-soft: #fbf6e8;
  --info: #3d6a99;
  --info-soft: #eef4fa;
  --selected-bg: #e8f1fb;
  --selected-border: rgba(0, 113, 227, .18);
  --selected-text: #0060df;
  --focus: rgba(0, 113, 227, .16);
  --shadow-card: 0 0 0 rgba(0, 0, 0, 0);
  --shadow-modal: 0 18px 50px rgba(23, 27, 32, .12);
  --quiet-blue: #0071e3;
  --quiet-blue-hover: #0077ed;
  --quiet-blue-soft: #e8f1fb;
  --quiet-green: #397a58;
  --quiet-danger: #b42318;
  --quiet-danger-bg: #fef3f2;
  --button-accent: #0071e3;
  --button-accent-hover: #0077ed;
  --button-accent-active: #0060df;
  --ds-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", "PingFang SC", "Microsoft YaHei", sans-serif;
}

html,
body {
  
}

body.erp-app,
body.copywriting-app,
body.source-inbox-app,
body.infringement-app,
body.api-app,
body.templates-app,
body.watermark-app {
  
  
  
  
  
  
  
}

button,
input,
select,
textarea {
  
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid rgba(29, 35, 41, .28) !important;
  outline-offset: 1px !important;
  box-shadow: none !important;
}

* {
  box-shadow: none !important;
}

/* Main shell: clean narrow rail, no rounded frame. */
body.erp-app #appView {
  grid-template-columns: var(--ds-sidebar) minmax(0, 1fr) !important;
  gap: 0 !important;
  padding: 0 !important;
  background: var(--ds-canvas) !important;
}

body.erp-app .sidebar {
  
  
  height: 100vh !important;
  
  
  
  
  
  backdrop-filter: blur(24px) saturate(1.5);
  -webkit-backdrop-filter: blur(24px) saturate(1.5);
  
}

body.erp-app .brand {
  
  
  
  
  
  
}

body.erp-app .brand img {
  
  
  
  
  opacity: .9;
}

body.erp-app .brand::after {
  content: "与飞同行" !important;
  color: var(--ds-text) !important;
  font-size: 15px !important;
  font-weight: 620 !important;
  letter-spacing: 0 !important;
}

body.erp-app .nav {
  
  
}

body.erp-app .nav button {
  
  
  
  
  
  
  
  
  
}

body.erp-app .nav button:hover {
  background: rgba(0, 0, 0, .045) !important;
  color: var(--ds-text) !important;
}

body.erp-app .nav button.active {
  
  
  
}

body.erp-app .nav button.active::before,
body.erp-app .nav button::before {
  display: none !important;
  content: none !important;
}

body.erp-app .nav button svg,
body.erp-app .nav-icon {
  width: 16px !important;
  height: 16px !important;
  flex: 0 0 16px !important;
  stroke-width: 1.6 !important;
}

body.erp-app .sidebar-user {
  
  
}

body.erp-app .user-name {
  
  
  
  
  
  
  
}

body.erp-app .user-name:hover,
body.erp-app .user-name:focus-visible {
  background: rgba(0, 0, 0, .045) !important;
  color: var(--ds-text) !important;
}

body.erp-app .user-popover {
  
  
  
  
}

body.erp-app .user-menu-action {
  
  
  
  
}

body.erp-app .user-menu-action:hover {
  background: var(--ds-surface-soft) !important;
  color: var(--ds-text) !important;
}

body.erp-app .logout-action {
  
}

body.erp-app .workspace,
body.erp-app .content {
  height: 100vh !important;
  min-height: 100vh !important;
  background: var(--ds-page) !important;
}

body.erp-app .workspace {
  
  
}

body.erp-app .view-accounts,
body.erp-app .view-system-check {
  padding: 18px !important;
  overflow: auto !important;
}

/* Login: white centered card, quiet field. */
body.erp-app #loginView {
  background:
    radial-gradient(120% 80% at 50% 0%, rgba(255, 255, 255, .98) 0%, rgba(245, 245, 247, .96) 100%) !important;
}

body.erp-app .login-card {
  
  
  
  
  
  
  
  
  
  text-align: center !important;
}

body.erp-app .login-logo-frame {
  
}

body.erp-app .login-logo {
  
  
  
  
}

body.erp-app .login-card form {
  width: 100% !important;
}

body.erp-app .login-field {
  
  width: 100% !important;
  
}

body.erp-app .login-card input,
body.erp-app .login-card #loginSubmitBtn {
  
  
}

body.erp-app .login-card input {
  
  
  
  
  
  
}

body.erp-app .login-card input:focus {
  border-color: var(--ds-accent) !important;
  box-shadow: 0 0 0 4px rgba(0, 113, 227, .12) !important;
}

body.erp-app .login-card #loginSubmitBtn {
  
  
  
  
  
  text-indent: 0 !important;
}

body.erp-app .login-card #loginSubmitBtn:hover {
  background: var(--ds-accent-hover) !important;
}

body.erp-app .login-submit-icon {
  display: none !important;
}

/* Shared toolbar: white strip, no colored identity chips. */
body.source-inbox-app .inbox-toolbar,
body.source-inbox-app .inbox-pagination,
body.copywriting-app .commandBar,
body.api-app .api-sidebar,
body.api-app .editor-bar,
body.api-app .editor-actions,
body.infringement-app .library-toolbar,
body.templates-app .toolbar,
body.erp-app .image-opt-command-bar,
body.erp-app .export-listing-header,
body.erp-app .removal-command-bar,
body.erp-app .system-check-header,
body.erp-app .account-page-head {
  border-color: var(--ds-border) !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

body.source-inbox-app .inbox-toolbar,
body.copywriting-app .commandBar,
body.infringement-app .library-toolbar,
body.templates-app .toolbar,
body.api-app .editor-bar,
body.api-app .editor-actions,
body.erp-app .image-opt-command-bar,
body.erp-app .export-listing-header,
body.erp-app .removal-command-bar,
body.erp-app .system-check-header {
  border-bottom: 1px solid var(--ds-border) !important;
}

body.copywriting-app .commandBar {
  
  
  
}

/* Minimal buttons. */
body.erp-app #loginSubmitBtn,
body.erp-app .removal-workflow-button:not(.active),
body.erp-app .image-transfer-export,
body.erp-app .export-mapping-button:not(.secondary),
body.erp-app .export-complete-button,
body.erp-app .system-check-button.primary,
body.erp-app .account-add-button,
body.erp-app .account-editor-primary,
body.erp-app .modal-btn.confirm:not(.danger),
body.copywriting-app .selectionPromptButton,
body.copywriting-app .embeddedRemovalButton.primary,
body.source-inbox-app .inbox-action.primary,
body.infringement-app .button.primary,
body.api-app .action-button.primary,
body.api-app .action-button.deepseek,
body.api-app .action-button.r2,
body.templates-app .primary,
body.watermark-app .primary,
body.watermark-app .sync {
  border-color: var(--ds-accent) !important;
  background: var(--ds-accent) !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

body.erp-app #loginSubmitBtn:hover:not(:disabled),
body.erp-app .removal-workflow-button:not(.active):hover:not(:disabled),
body.erp-app .image-transfer-export:hover:not(:disabled),
body.erp-app .export-mapping-button:not(.secondary):hover:not(:disabled),
body.erp-app .export-complete-button:hover:not(:disabled),
body.erp-app .system-check-button.primary:hover:not(:disabled),
body.erp-app .account-add-button:hover:not(:disabled),
body.erp-app .account-editor-primary:hover:not(:disabled),
body.erp-app .modal-btn.confirm:not(.danger):hover:not(:disabled),
body.copywriting-app .selectionPromptButton:hover:not(:disabled),
body.copywriting-app .embeddedRemovalButton.primary:hover:not(:disabled),
body.source-inbox-app .inbox-action.primary:hover:not(:disabled),
body.infringement-app .button.primary:hover:not(:disabled),
body.api-app .action-button.primary:hover:not(:disabled),
body.api-app .action-button.deepseek:hover:not(:disabled),
body.api-app .action-button.r2:hover:not(:disabled),
body.templates-app .primary:hover:not(:disabled),
body.watermark-app .primary:hover:not(:disabled),
body.watermark-app .sync:hover:not(:disabled) {
  border-color: var(--ds-accent-hover) !important;
  background: var(--ds-accent-hover) !important;
  color: #ffffff !important;
}

body.erp-app .removal-secondary-button:not(.danger),
body.erp-app .image-tool-button,
body.erp-app .image-open-doubao,
body.erp-app .export-mapping-button.secondary,
body.erp-app .system-check-button:not(.primary),
body.erp-app .account-editor-secondary,
body.erp-app .modal-btn:not(.confirm),
body.erp-app .workflow-pagination button,
body.erp-app button[data-workflow-page-action],
body.copywriting-app .workflowButton,
body.copywriting-app .embeddedRemovalButton:not(.danger),
body.infringement-app .button.secondary,
body.api-app .action-button.secondary,
body.api-app .action-button.ghost,
body.api-app .quick-button,
body.templates-app .secondary,
body.templates-app .retry,
body.watermark-app .white {
  border-color: var(--ds-border-strong) !important;
  background: #ffffff !important;
  color: #344054 !important;
  box-shadow: none !important;
}

body.erp-app .removal-secondary-button:not(.danger):hover:not(:disabled),
body.erp-app .image-tool-button:hover:not(:disabled),
body.erp-app .image-open-doubao:hover:not(:disabled),
body.erp-app .export-mapping-button.secondary:hover:not(:disabled),
body.erp-app .system-check-button:not(.primary):hover:not(:disabled),
body.erp-app .account-editor-secondary:hover:not(:disabled),
body.erp-app .modal-btn:not(.confirm):hover:not(:disabled),
body.erp-app .workflow-pagination button:hover:not(:disabled),
body.erp-app button[data-workflow-page-action]:hover:not(:disabled),
body.copywriting-app .workflowButton:hover:not(:disabled),
body.copywriting-app .embeddedRemovalButton:not(.danger):hover:not(:disabled),
body.infringement-app .button.secondary:hover:not(:disabled),
body.api-app .action-button.secondary:hover:not(:disabled),
body.api-app .action-button.ghost:hover:not(:disabled),
body.api-app .quick-button:hover:not(:disabled),
body.templates-app .secondary:hover:not(:disabled),
body.templates-app .retry:hover:not(:disabled),
body.watermark-app .white:hover:not(:disabled) {
  border-color: #b8c0c6 !important;
  background: #f5f5f7 !important;
  color: var(--ds-text) !important;
}

/* Quiet destructive controls. */
body.erp-app .removal-secondary-button.danger,
body.erp-app .page-clear-button,
body.erp-app .image-inline-delete,
body.erp-app .export-quiet-delete,
body.copywriting-app .selectionDeleteButton,
body.copywriting-app .embeddedRemovalButton.danger,
body.copywriting-app .pageClearButton,
body.source-inbox-app .inbox-action.danger,
body.infringement-app .button.danger,
body.api-app .action-button.danger {
  border-color: transparent !important;
  background: transparent !important;
  color: #6e6e73 !important;
  box-shadow: none !important;
}

body.erp-app .removal-secondary-button.danger:hover:not(:disabled),
body.erp-app .page-clear-button:hover:not(:disabled),
body.erp-app .image-inline-delete:hover:not(:disabled),
body.erp-app .export-quiet-delete:hover:not(:disabled),
body.copywriting-app .selectionDeleteButton:hover:not(:disabled),
body.copywriting-app .embeddedRemovalButton.danger:hover:not(:disabled),
body.copywriting-app .pageClearButton:hover:not(:disabled),
body.source-inbox-app .inbox-action.danger:hover:not(:disabled),
body.infringement-app .button.danger:hover:not(:disabled),
body.api-app .action-button.danger:hover:not(:disabled) {
  border-color: rgba(180, 35, 24, .14) !important;
  background: var(--ds-danger-soft) !important;
  color: var(--ds-danger) !important;
}

body.erp-app .modal-btn.confirm.danger {
  border-color: rgba(180, 35, 24, .18) !important;
  background: #ffffff !important;
  color: var(--ds-danger) !important;
}

body.erp-app .modal-btn.confirm.danger:hover:not(:disabled) {
  border-color: rgba(180, 35, 24, .28) !important;
  background: var(--ds-danger-soft) !important;
  color: var(--ds-danger) !important;
}

body.erp-app .account-editor-close,
body.erp-app .optimized-upload-close,
body.erp-app .product-detail-close,
body.erp-app .erp-image-zoom-close,
body.infringement-app .dialog-close,
body.api-app .icon-button,
body.source-inbox-app .icon-button,
body.source-inbox-app .inbox-pagination button,
body.source-inbox-app .inbox-pagination select {
  border-color: transparent !important;
  background: transparent !important;
  color: var(--ds-muted) !important;
}

body.erp-app .account-editor-close:hover,
body.erp-app .optimized-upload-close:hover,
body.erp-app .product-detail-close:hover,
body.erp-app .erp-image-zoom-close:hover,
body.infringement-app .dialog-close:hover,
body.api-app .icon-button:hover,
body.source-inbox-app .icon-button:hover,
body.source-inbox-app .inbox-pagination button:hover:not(:disabled) {
  background: #f5f5f7 !important;
  color: var(--ds-text) !important;
}

body.erp-app .page-clear-button,
body.erp-app .export-quiet-delete,
body.copywriting-app .pageClearButton,
body.copywriting-app .selectionDeleteButton,
body.source-inbox-app .inbox-action {
  min-width: 0 !important;
  width: auto !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 12px !important;
  border-radius: 980px !important;
  font-size: 12px !important;
}

body.source-inbox-app .inbox-action.primary,
body.erp-app .export-mapping-button,
body.erp-app .export-complete-button,
body.erp-app .image-transfer-export,
body.erp-app .image-tool-button,
body.erp-app .account-add-button,
body.copywriting-app .selectionPromptButton,
body.copywriting-app .embeddedRemovalButton,
body.api-app .action-button,
body.api-app .quick-button,
body.infringement-app .button,
body.templates-app .primary,
body.templates-app .secondary,
body.watermark-app .primary,
body.watermark-app .sync,
body.watermark-app .white {
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 14px !important;
  border-radius: 980px !important;
  font-size: 12px !important;
  font-weight: 550 !important;
  white-space: nowrap !important;
}

body.copywriting-app .workflowButton {
  
  
  
  
  
  
  
  
  
}

body.copywriting-app .workflowButton.active,
body.copywriting-app .workflowButton[aria-pressed="true"] {
  
  
  
}

body.copywriting-app .workflowActions {
  
  
  
}

/* Counters and labels become plain text, not pills. */
body.source-inbox-app .inbox-total-text,
body.source-inbox-app .inbox-selection-text,
body.source-inbox-app #paginationSummary,
body.infringement-app .count-line,
body.templates-app .count,
body.api-app .save-state,
body.api-app .provider-dot,
body.api-app .editor-badge,
body.infringement-app .save-status,
body.templates-app .upload-cloud-state,
body.erp-app .system-check-badge,
body.erp-app .status-pill,
body.infringement-app .status-pill,
body.templates-app .status-pill,
body.erp-app .pill {
  display: inline-flex !important;
  align-items: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ds-muted) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 20px !important;
  padding: 0 !important;
  box-shadow: none !important;
}

body.infringement-app .status-dot,
body.templates-app .status-dot,
body.erp-app .status-dot {
  width: 6px !important;
  height: 6px !important;
  flex: 0 0 6px !important;
  border-radius: 50% !important;
  background: #b6bcc4 !important;
  box-shadow: none !important;
}

body.infringement-app .metric-card,
body.templates-app .metric-card {
  
  
  
  
  
  
  
  
  
  
  
  border-bottom: 0 !important;
  
  
  
}

body.infringement-app .metric-eyebrow,
body.templates-app .metric-eyebrow {
  
  
  
  
}

body.infringement-app .metric-value,
body.templates-app .metric-value {
  
  
  
  
}

body.infringement-app .metric-value strong,
body.templates-app .metric-value strong {
  
  
  
}

body.infringement-app .metric-value span,
body.templates-app .metric-value span {
  
}

body.infringement-app .metric-foot,
body.templates-app .metric-foot {
  
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

body.infringement-app .count-dashboard,
body.templates-app .count-dashboard {
  
  
  
  
  
}

/* Surfaces and tables: flat, one-pixel structure. */
body.erp-app .removal-table-card,
body.erp-app .image-opt-table-card,
body.erp-app .export-listing-shell,
body.erp-app .accounts-table-panel,
body.erp-app .system-check-header,
body.erp-app .system-check-list,
body.erp-app .permission-empty-card,
body.copywriting-app .contentCard,
body.copywriting-app .parseInputPane,
body.copywriting-app .embeddedRemovalPane,
body.copywriting-app .previewTableWrap,
body.source-inbox-app .inbox-list,
body.infringement-app .library-card,
body.infringement-app .dialog-card,
body.api-app .panel-card,
body.api-app .connection-form,
body.api-app .result-card,
body.templates-app .template-card,
body.templates-app .template-item,
body.watermark-app .card {
  border-radius: 0 !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

body.erp-app .removal-table-card,
body.erp-app .image-opt-table-card,
body.erp-app .export-listing-shell,
body.erp-app .accounts-table-panel,
body.copywriting-app .contentCard,
body.source-inbox-app .inbox-list,
body.infringement-app .library-card,
body.api-app .connection-form,
body.templates-app .template-card,
body.watermark-app .card {
  border-color: var(--ds-border) !important;
}

body.source-inbox-app .inbox-table thead th,
body.copywriting-app #dataTable th,
body.copywriting-app #embeddedRemovalTable th,
body.erp-app .removal-table-wrap th,
body.erp-app .image-opt-table-wrap th,
body.erp-app .export-listing-table-wrap th,
body.infringement-app th,
body.api-app th,
body.templates-app th,
body.watermark-app th {
  
  
  
  
  
  
  
  
  
}

body.source-inbox-app .inbox-table tbody td,
body.copywriting-app #dataTable td,
body.copywriting-app #embeddedRemovalTable td,
body.erp-app .removal-table-wrap td,
body.erp-app .image-opt-table-wrap td,
body.erp-app .export-listing-table-wrap td,
body.infringement-app td,
body.api-app td,
body.templates-app td,
body.watermark-app td {
  
  
  
  
  
  
}

body.source-inbox-app .inbox-row:hover td,
body.copywriting-app tbody tr:hover td,
body.erp-app tbody tr:hover td,
body.infringement-app tbody tr:hover td,
body.api-app tbody tr:hover td,
body.templates-app tbody tr:hover td {
  background: #fafafa !important;
}

body.source-inbox-app .inbox-row.selected td,
body.copywriting-app tbody tr.selected td,
body.erp-app tbody tr.selected td,
body.infringement-app tr.selected td,
body.api-app tr.selected td {
  
  color: var(--ds-text) !important;
}

body.source-inbox-app .inbox-table .table-thumb,
body.source-inbox-app .item-thumb-placeholder,
body.copywriting-app img[data-remote-image],
body.erp-app .image-opt-thumbnail {
  
  border-color: var(--ds-border) !important;
  
}

/* Copywriting panels: less chrome, more data. */
body.copywriting-app .workspaceShell {
  height: 100vh !important;
  min-height: 0 !important;
  padding: 14px 18px 16px !important;
  gap: 10px !important;
  grid-template-rows: 50px minmax(0, 1fr) !important;
  background: #f5f5f7 !important;
}

body.copywriting-app .commandBar {
  
  
  
  border: 1px solid var(--ds-border) !important;
  
  background: #ffffff !important;
}

body.copywriting-app .contentCard {
  
  
  
  
  
}

body.copywriting-app .parseWorkspace {
  
}

body.copywriting-app .parseInputPane,
body.copywriting-app .embeddedRemovalPane {
  
  
}

body.copywriting-app .parseInputPane {
  
  
}

body.copywriting-app .embeddedRemovalPane {
  background: #ffffff !important;
}

body.copywriting-app .tableWrap,
body.copywriting-app .previewTableWrap {
  
  
}

body.copywriting-app .tableFootnote,
body.copywriting-app #previewNote {
  
  
  
  
  
}

body.copywriting-app .parseInputPane .editor {
  border: 1px solid var(--ds-border) !important;
  border-radius: 6px !important;
  background: #ffffff !important;
}

/* Infringement and templates grid. */
body.infringement-app .library-card,
body.templates-app .template-card {
  border: 0 !important;
}

body.infringement-app .library-page,
body.templates-app .template-page {
  padding: 0 24px !important;
  
}

body.infringement-app .library-card,
body.templates-app .template-card {
  
  
  
}

body.infringement-app .library-toolbar,
body.templates-app .toolbar {
  
  
  
  
  
}

body.infringement-app .empty-state,
body.templates-app .empty,
body.api-app .connection-empty,
body.api-app .empty-editor {
  min-height: 200px !important;
  background: #ffffff !important;
  color: var(--ds-subtle) !important;
  font-size: 12px !important;
}

/* API setup: narrow list rail, white editor. */
body.api-app .api-page {
  grid-template-columns: 220px minmax(0, 1fr) !important;
  background: var(--ds-page) !important;
}

body.api-app .api-sidebar {
  
}

body.api-app .sidebar-head {
  
  
  
}

body.api-app .sidebar-head h1,
body.api-app .editor-title-group h2 {
  
  
  
  
}

body.api-app .quick-actions {
  
  border-bottom: 1px solid var(--ds-border) !important;
}

body.api-app .connection-list {
  
}

body.api-app .connection-card {
  
  
  
}

body.api-app .connection-card.active {
  
  
}

body.api-app .api-workspace {
  
}

body.api-app .connection-form {
  
  
}

body.api-app .panel-card,
body.api-app .result-card {
  
  
  
  
  
}

body.api-app .panel-card .card-head h3 {
  
  
  
}

body.api-app .editor-bar {
  
}

body.api-app .editor-actions {
  
  
}

body.api-app .field span,
body.api-app .provider-select span {
  
  
  
  
}

body.api-app .field input,
body.api-app .field select,
body.api-app .field textarea,
body.api-app .provider-select select,
body.api-app .page-jump input,
body.infringement-app .text-input,
body.infringement-app .batch-input,
body.templates-app input[type="text"],
body.source-inbox-app select,
body.copywriting-app select,
body.copywriting-app textarea,
body.watermark-app select,
body.watermark-app input[type="number"],
body.erp-app input[type="text"],
body.erp-app input[type="password"],
body.erp-app input[type="email"],
body.erp-app input[type="url"],
body.erp-app select,
body.erp-app textarea {
  height: 32px !important;
  min-height: 32px !important;
  border: 1px solid var(--ds-border-strong) !important;
  border-radius: 6px !important;
  background: #ffffff !important;
  color: var(--ds-text) !important;
  font-size: 12px !important;
  box-shadow: none !important;
}

body.api-app .field textarea,
body.infringement-app .batch-input,
body.copywriting-app textarea,
body.erp-app textarea {
  height: auto !important;
  
  
}

body.api-app .field input:focus,
body.api-app .field select:focus,
body.api-app .field textarea:focus,
body.infringement-app .text-input:focus,
body.infringement-app .batch-input:focus,
body.source-inbox-app select:focus,
body.copywriting-app select:focus,
body.copywriting-app textarea:focus,
body.watermark-app select:focus,
body.watermark-app input:focus,
body.erp-app input:focus,
body.erp-app select:focus,
body.erp-app textarea:focus {
  border-color: #6b7280 !important;
  box-shadow: 0 0 0 3px rgba(29, 35, 41, .06) !important;
  outline: 0 !important;
}

body.api-app .advanced-card summary {
  
  
  
  
}

body.api-app .provider-dot.deepseek,
body.api-app .editor-badge.deepseek {
  background: transparent !important;
  color: var(--ds-muted) !important;
}

/* Image/export workbench toolbars. */
body.erp-app .image-opt-command-bar,
body.erp-app .export-listing-header,
body.erp-app .removal-command-bar {
  min-height: 50px !important;
  height: 50px !important;
  padding: 0 12px !important;
}

body.erp-app .image-opt-command-bar .image-opt-command-spacer,
body.erp-app .export-listing-header .export-clear-toolbar {
  min-width: 0 !important;
  padding: 0 !important;
}

/* Modals and drawers remain clean and restrained. */
body.erp-app .modal-backdrop,
body.infringement-app .dialog-backdrop,
body.copywriting-app .modal-backdrop {
  background: rgba(23, 27, 32, .26) !important;
}

body.erp-app .system-modal,
body.erp-app .account-modal,
body.erp-app .product-detail-card,
body.infringement-app .dialog-card {
  
  
  
  
}

body.erp-app .account-editor-header,
body.erp-app .product-detail-header,
body.infringement-app .dialog-header {
  
  
}

body.erp-app .modal-btn,
body.infringement-app .dialog-footer .button {
  height: 32px !important;
  
  
}

body.erp-app .toast,
body.source-inbox-app .inbox-toast,
body.copywriting-app .moduleToast,
body.infringement-app .module-toast,
body.api-app .module-toast,
body.templates-app .toast,
body.watermark-app .watermark-toast {
  
  
  
  
  
  
}

/* Disabled controls: quiet and clear, no muddy backgrounds. */
body.erp-app button:disabled,
body.copywriting-app button:disabled,
body.source-inbox-app button:disabled,
body.infringement-app button:disabled,
body.api-app button:disabled,
body.templates-app button:disabled,
body.watermark-app button:disabled {
  opacity: .45 !important;
  cursor: not-allowed !important;
}

@media (max-width: 900px) {
  :root,
  body.erp-app {
    --ds-sidebar: 64px;
    --yftx-sidebar: 64px;
    --sidebar: 64px;
  }

  body.erp-app #appView {
    grid-template-columns: 64px minmax(0, 1fr) !important;
  }

  body.erp-app .sidebar {
    width: 64px !important;
    min-width: 64px !important;
    padding: 10px 8px !important;
  }

  body.erp-app .brand {
    justify-content: center !important;
    padding: 0 !important;
  }

  body.erp-app .brand::after {
    display: none !important;
  }

  body.erp-app .nav button {
    justify-content: center !important;
    padding: 0 !important;
  }

  body.erp-app .nav button span {
    display: none !important;
  }

  body.erp-app .sidebar-user {
    display: none !important;
  }

  body.infringement-app .metric-card,
  body.templates-app .metric-card {
    padding: 0 12px !important;
  }

  body.infringement-app .metric-foot,
  body.templates-app .metric-foot {
    display: none !important;
  }
}
/* ==== polished-system-v165.css ==== */
/* 与飞同行 polished system v165
   Premium Apple-inspired workbench. Load after all previous layers. */
:root,
body.erp-app,
body.copywriting-app,
body.source-inbox-app,
body.infringement-app,
body.api-app,
body.templates-app,
body.watermark-app {
  color-scheme: light;
  --ds-page: #eef1f5;
  --ds-canvas: #f7f8fa;
  --ds-surface: #ffffff;
  --ds-surface-soft: #f4f6f8;
  --ds-surface-hover: #eef1f5;
  --ds-text: #121417;
  --ds-muted: #5b6472;
  --ds-subtle: #8a919d;
  --ds-border: #dfe3e8;
  --ds-border-strong: #cbd2d9;
  --ds-accent: #0071e3;
  --ds-accent-hover: #0077ed;
  --ds-accent-soft: #edf5ff;
  --ds-accent-text: #0060df;
  --ds-focus: rgba(0, 113, 227, .16);
  --ds-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 12px 30px rgba(15, 23, 42, .05);
  --ds-shadow-float: 0 24px 70px rgba(15, 23, 42, .14);
  --ds-radius-sm: 8px;
  --ds-radius: 10px;
  --ds-radius-lg: 12px;
  --ds-radius-pill: 999px;
  --ds-sidebar: 176px;
  --yftx-sidebar: 176px;
  --sidebar: 176px;
  --page: #eef1f5;
  --bg: #eef1f5;
  --surface: #ffffff;
  --surface-soft: #f4f6f8;
  --surface-hover: #eef1f5;
  --text: #121417;
  --muted: #5b6472;
  --subtle: #8a919d;
  --line: #dfe3e8;
  --line-strong: #cbd2d9;
  --accent: #0071e3;
  --accent-hover: #0077ed;
  --accent-soft: #edf5ff;
  --accent-deep: #0060df;
  --danger: #c13b34;
  --danger-soft: #fff1f0;
  --success: #2f7d58;
  --success-soft: #e9f7f0;
  --warning: #9a6b16;
  --warning-soft: #fff6df;
  --info: #2e6f9d;
  --info-soft: #e9f4fb;
  --selected-bg: #edf5ff;
  --selected-border: rgba(0, 113, 227, .18);
  --selected-text: #0060df;
  --focus: rgba(0, 113, 227, .16);
  --shadow-card: 0 1px 2px rgba(15, 23, 42, .04), 0 12px 30px rgba(15, 23, 42, .05);
  --shadow-modal: 0 24px 70px rgba(15, 23, 42, .14);
  --quiet-blue: #0071e3;
  --quiet-blue-hover: #0077ed;
  --quiet-blue-soft: #edf5ff;
  --quiet-danger: #c13b34;
  --quiet-danger-bg: #fff1f0;
  --button-accent: #0071e3;
  --button-accent-hover: #0077ed;
  --button-accent-active: #0060df;
  --ds-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", "PingFang SC", "Microsoft YaHei", sans-serif;
}

html,
body {
  
}

body.erp-app,
body.copywriting-app,
body.source-inbox-app,
body.infringement-app,
body.api-app,
body.templates-app,
body.watermark-app {
  background: var(--ds-page) !important;
  color: var(--ds-text) !important;
  font-family: var(--ds-font) !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

button,
input,
select,
textarea {
  font-family: inherit !important;
  letter-spacing: 0 !important;
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(0, 113, 227, .22) !important;
  outline-offset: 1px !important;
  box-shadow: none !important;
}

/* Main shell becomes a real application window, not a flat web page. */
body.erp-app #appView {
  height: 100vh !important;
  min-height: 100vh !important;
  display: grid !important;
  grid-template-columns: var(--ds-sidebar) minmax(0, 1fr) !important;
  gap: 12px !important;
  padding: 12px !important;
  background: #eef1f5 !important;
}

body.erp-app .sidebar,
body.erp-app .workspace {
  height: 100% !important;
  min-height: 0 !important;
  
  
}

body.erp-app .sidebar {
  
  
  
  
  
  
  
  
  
  
}

body.erp-app .workspace {
  
  
  
  
}

body.erp-app .workspace .content,
body.erp-app .workspace .view {
  
}

body.erp-app .brand {
  
  
  
  
  
  align-items: center !important;
  
  gap: 10px !important;
  border-radius: 10px !important;
}

body.erp-app .brand img {
  
  
  
  
  
}

body.erp-app .brand::after {
  display: none !important;
  content: none !important;
}

body.erp-app .nav {
  
  
  display: flex !important;
  
  
  
  
  
}

body.erp-app .nav button {
  
  
  
  
  
  
  
  
  
  
  
  transition: background .14s ease, color .14s ease;
}

body.erp-app .nav button:hover {
  background: #f4f6f8 !important;
  color: #1b1f27 !important;
}

body.erp-app .nav button.active {
  
  
  
}

body.erp-app .nav button.active::before,
body.erp-app .nav button::before {
  display: none !important;
  content: none !important;
}

body.erp-app .nav button svg,
body.erp-app .nav-icon {
  display: none !important;
}

body.erp-app .sidebar-user {
  
  
}

body.erp-app .user-name {
  
  
  
  
  
  
  
  
}

body.erp-app .user-name:hover,
body.erp-app .user-name:focus-visible {
  background: #eef1f5 !important;
  color: var(--ds-text) !important;
}

body.erp-app .user-popover {
  
  
  
  
}

body.erp-app .user-menu-action {
  
  
  
  
}

body.erp-app .user-menu-action:hover {
  background: #f4f6f8 !important;
  color: var(--ds-text) !important;
}

body.erp-app .logout-action {
  
}

/* Login gets a real product centerpiece and room to breathe. */
body.erp-app #loginView {
  min-height: 100vh !important;
  background:
    radial-gradient(110% 90% at 50% 0%, #ffffff 0%, #f2f4f7 100%) !important;
}

body.erp-app .login-card {
  
  
  
  
  
  
}

body.erp-app .login-logo-frame {
  
}

body.erp-app .login-logo {
  
  
  
  
  
}

body.erp-app .login-card input,
body.erp-app .login-card #loginSubmitBtn {
  
  
}

body.erp-app .login-card input {
  
  
  
  
  
}

body.erp-app .login-card input:focus {
  border-color: var(--ds-accent) !important;
  box-shadow: 0 0 0 4px rgba(0, 113, 227, .14) !important;
}

body.erp-app .login-card #loginSubmitBtn {
  
  
  
  
  
}

body.erp-app .login-card #loginSubmitBtn:hover {
  background: var(--ds-accent-hover) !important;
}

/* Larger shared controls with confidence, not skeleton thinness. */
body.erp-app #loginSubmitBtn,
body.erp-app .removal-workflow-button:not(.active),
body.erp-app .image-transfer-export,
body.erp-app .export-mapping-button:not(.secondary),
body.erp-app .export-complete-button,
body.erp-app .system-check-button.primary,
body.erp-app .account-add-button,
body.erp-app .account-editor-primary,
body.erp-app .modal-btn.confirm:not(.danger),
body.copywriting-app .selectionPromptButton,
body.copywriting-app .embeddedRemovalButton.primary,
body.source-inbox-app .inbox-action.primary,
body.infringement-app .button.primary,
body.api-app .action-button.primary,
body.api-app .action-button.deepseek,
body.api-app .action-button.r2,
body.templates-app .primary,
body.watermark-app .primary,
body.watermark-app .sync {
  min-height: 36px !important;
  height: 36px !important;
  padding: 0 16px !important;
  border: 1px solid var(--ds-accent) !important;
  border-radius: 10px !important;
  background: var(--ds-accent) !important;
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .04) !important;
}

body.erp-app #loginSubmitBtn:hover:not(:disabled),
body.erp-app .removal-workflow-button:not(.active):hover:not(:disabled),
body.erp-app .image-transfer-export:hover:not(:disabled),
body.erp-app .export-mapping-button:not(.secondary):hover:not(:disabled),
body.erp-app .export-complete-button:hover:not(:disabled),
body.erp-app .system-check-button.primary:hover:not(:disabled),
body.erp-app .account-add-button:hover:not(:disabled),
body.erp-app .account-editor-primary:hover:not(:disabled),
body.erp-app .modal-btn.confirm:not(.danger):hover:not(:disabled),
body.copywriting-app .selectionPromptButton:hover:not(:disabled),
body.copywriting-app .embeddedRemovalButton.primary:hover:not(:disabled),
body.source-inbox-app .inbox-action.primary:hover:not(:disabled),
body.infringement-app .button.primary:hover:not(:disabled),
body.api-app .action-button.primary:hover:not(:disabled),
body.api-app .action-button.deepseek:hover:not(:disabled),
body.api-app .action-button.r2:hover:not(:disabled),
body.templates-app .primary:hover:not(:disabled),
body.watermark-app .primary:hover:not(:disabled),
body.watermark-app .sync:hover:not(:disabled) {
  background: var(--ds-accent-hover) !important;
  border-color: var(--ds-accent-hover) !important;
  color: #ffffff !important;
}

body.erp-app .removal-secondary-button:not(.danger),
body.erp-app .image-tool-button,
body.erp-app .image-open-doubao,
body.erp-app .export-mapping-button.secondary,
body.erp-app .system-check-button:not(.primary),
body.erp-app .account-editor-secondary,
body.erp-app .modal-btn:not(.confirm),
body.erp-app .workflow-pagination button,
body.erp-app button[data-workflow-page-action],
body.copywriting-app .workflowButton,
body.copywriting-app .embeddedRemovalButton:not(.danger),
body.infringement-app .button.secondary,
body.api-app .action-button.secondary,
body.api-app .action-button.ghost,
body.api-app .quick-button,
body.templates-app .secondary,
body.templates-app .retry,
body.watermark-app .white {
  min-height: 34px !important;
  height: 34px !important;
  padding: 0 14px !important;
  border: 1px solid var(--ds-border-strong) !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  color: #3d4450 !important;
  font-size: 13px !important;
  font-weight: 560 !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .03) !important;
}

body.erp-app .removal-secondary-button:not(.danger):hover:not(:disabled),
body.erp-app .image-tool-button:hover:not(:disabled),
body.erp-app .image-open-doubao:hover:not(:disabled),
body.erp-app .export-mapping-button.secondary:hover:not(:disabled),
body.erp-app .system-check-button:not(.primary):hover:not(:disabled),
body.erp-app .account-editor-secondary:hover:not(:disabled),
body.erp-app .modal-btn:not(.confirm):hover:not(:disabled),
body.erp-app .workflow-pagination button:hover:not(:disabled),
body.erp-app button[data-workflow-page-action]:hover:not(:disabled),
body.copywriting-app .workflowButton:hover:not(:disabled),
body.copywriting-app .embeddedRemovalButton:not(.danger):hover:not(:disabled),
body.infringement-app .button.secondary:hover:not(:disabled),
body.api-app .action-button.secondary:hover:not(:disabled),
body.api-app .action-button.ghost:hover:not(:disabled),
body.api-app .quick-button:hover:not(:disabled),
body.templates-app .secondary:hover:not(:disabled),
body.templates-app .retry:hover:not(:disabled),
body.watermark-app .white:hover:not(:disabled) {
  border-color: #aeb6c0 !important;
  background: #fafbfc !important;
  color: var(--ds-text) !important;
}

body.erp-app .page-clear-button,
body.erp-app .image-inline-delete,
body.erp-app .export-quiet-delete,
body.copywriting-app .selectionDeleteButton,
body.copywriting-app .embeddedRemovalButton.danger,
body.copywriting-app .pageClearButton,
body.source-inbox-app .inbox-action.danger,
body.infringement-app .button.danger,
body.api-app .action-button.danger {
  min-height: 34px !important;
  height: 34px !important;
  padding: 0 12px !important;
  border: 1px solid rgba(193, 59, 52, .16) !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  color: #c13b34 !important;
  font-size: 13px !important;
  font-weight: 560 !important;
}

body.erp-app .page-clear-button:hover:not(:disabled),
body.erp-app .image-inline-delete:hover:not(:disabled),
body.erp-app .export-quiet-delete:hover:not(:disabled),
body.copywriting-app .selectionDeleteButton:hover:not(:disabled),
body.copywriting-app .embeddedRemovalButton.danger:hover:not(:disabled),
body.copywriting-app .pageClearButton:hover:not(:disabled),
body.source-inbox-app .inbox-action.danger:hover:not(:disabled),
body.infringement-app .button.danger:hover:not(:disabled),
body.api-app .action-button.danger:hover:not(:disabled) {
  border-color: rgba(193, 59, 52, .28) !important;
  background: #fff5f4 !important;
  color: #b52a23 !important;
}

body.erp-app .account-editor-close,
body.erp-app .optimized-upload-close,
body.erp-app .product-detail-close,
body.erp-app .erp-image-zoom-close,
body.infringement-app .dialog-close,
body.api-app .icon-button,
body.source-inbox-app .icon-button {
  border: 0 !important;
  background: transparent !important;
  color: #5b6472 !important;
}

body.erp-app .account-editor-close:hover,
body.erp-app .optimized-upload-close:hover,
body.erp-app .product-detail-close:hover,
body.erp-app .erp-image-zoom-close:hover,
body.infringement-app .dialog-close:hover,
body.api-app .icon-button:hover,
body.source-inbox-app .icon-button:hover {
  background: #f4f6f8 !important;
  color: var(--ds-text) !important;
}

body.copywriting-app .workflowButton {
  
  
  
  
  
  
  
  
  
}

body.copywriting-app .workflowButton.active,
body.copywriting-app .workflowButton[aria-pressed="true"] {
  
  
  font-weight: 650 !important;
}

body.copywriting-app .workflowActions {
  
  
  
  
  
}

/* Shared toolbar height and whitespace. */
body.source-inbox-app .inbox-toolbar,
body.copywriting-app .commandBar,
body.infringement-app .library-toolbar,
body.templates-app .toolbar,
body.api-app .editor-bar,
body.erp-app .image-opt-command-bar,
body.erp-app .export-listing-header,
body.erp-app .removal-command-bar,
body.erp-app .system-check-header {
  min-height: 62px !important;
  height: 62px !important;
  padding: 0 24px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ds-border) !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

/* Panels get a white sheet and a soft, quiet depth. */
body.source-inbox-app .inbox-shell,
body.copywriting-app .workspaceShell,
body.infringement-app .library-page,
body.templates-app .template-page,
body.api-app .api-page,
body.watermark-app .workspace {
  background: #f6f7f9 !important;
}

body.source-inbox-app .inbox-list,
body.copywriting-app .contentCard,
body.copywriting-app .parseInputPane,
body.copywriting-app .embeddedRemovalPane,
body.copywriting-app .previewTableWrap,
body.infringement-app .library-card,
body.templates-app .template-card,
body.api-app .connection-form,
body.api-app .panel-card,
body.api-app .result-card,
body.watermark-app .card {
  border-color: var(--ds-border) !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  box-shadow: var(--ds-shadow) !important;
}

body.source-inbox-app .inbox-table thead th,
body.copywriting-app #dataTable th,
body.copywriting-app #embeddedRemovalTable th,
body.erp-app .removal-table-wrap th,
body.erp-app .image-opt-table-wrap th,
body.erp-app .export-listing-table-wrap th,
body.infringement-app th,
body.api-app th,
body.templates-app th,
body.watermark-app th {
  height: 42px !important;
  padding: 0 10px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ds-border) !important;
  background: #f8f9fb !important;
  color: #5b6472 !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
}

body.source-inbox-app .inbox-table tbody td,
body.copywriting-app #dataTable td,
body.copywriting-app #embeddedRemovalTable td,
body.erp-app .removal-table-wrap td,
body.erp-app .image-opt-table-wrap td,
body.erp-app .export-listing-table-wrap td,
body.infringement-app td,
body.api-app td,
body.templates-app td,
body.watermark-app td {
  height: 50px !important;
  padding: 9px 10px !important;
  border: 0 !important;
  border-bottom: 1px solid #e8ebef !important;
  background: #ffffff !important;
  color: var(--ds-text) !important;
  font-size: 13px !important;
  vertical-align: middle !important;
}

body.source-inbox-app .inbox-row:hover td,
body.copywriting-app tbody tr:hover td,
body.erp-app tbody tr:hover td,
body.infringement-app tbody tr:hover td,
body.api-app tbody tr:hover td,
body.templates-app tbody tr:hover td {
  background: #f8fafc !important;
}

body.source-inbox-app .inbox-row.selected td,
body.copywriting-app tbody tr.selected td,
body.erp-app tbody tr.selected td,
body.infringement-app tr.selected td,
body.api-app tr.selected td {
  background: #edf5ff !important;
}

body.source-inbox-app .inbox-table .table-thumb,
body.source-inbox-app .item-thumb-placeholder,
body.copywriting-app img[data-remote-image],
body.erp-app .image-opt-thumbnail {
  border-radius: 8px !important;
  border: 1px solid var(--ds-border) !important;
  box-shadow: none !important;
}

/* Copywriting: substantial tool surface with clearer row height. */
body.copywriting-app .workspaceShell {
  height: 100vh !important;
  display: grid !important;
  grid-template-rows: 62px minmax(0, 1fr) !important;
  padding: 0 !important;
  gap: 0 !important;
}

body.copywriting-app .commandBar {
  
}

body.copywriting-app .contentCard {
  
  
  
}

body.copywriting-app .tableWrap,
body.copywriting-app .previewTableWrap {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.copywriting-app .parseWorkspace {
  
}

body.copywriting-app .parseInputPane,
body.copywriting-app .embeddedRemovalPane {
  
  
  
}

body.copywriting-app .parseInputPane {
  border-right: 1px solid var(--ds-border) !important;
  background: #fbfcfd !important;
}

body.copywriting-app .tableFootnote,
body.copywriting-app #previewNote {
  
  
  
  color: #5b6472 !important;
  font-size: 12px !important;
}

/* Infringement/templates: hero count, not a lonely tiny number. */
body.infringement-app .library-page,
body.templates-app .template-page {
  padding: 0 !important;
}

body.infringement-app .library-card,
body.templates-app .template-card {
  
  
  
  
  
  
  
  
}

body.infringement-app .library-toolbar,
body.templates-app .toolbar {
  
  
  
}

body.infringement-app .count-dashboard,
body.templates-app .count-dashboard {
  
  
  
  
  
}

body.infringement-app .metric-card,
body.templates-app .metric-card {
  
  min-width: 320px !important;
  
  
  flex-direction: row !important;
  
  
  
  
  
  
  
}

body.infringement-app .metric-eyebrow,
body.templates-app .metric-eyebrow {
  margin: 0 !important;
  
  
  font-weight: 560 !important;
}

body.infringement-app .metric-value,
body.templates-app .metric-value {
  display: flex !important;
  align-items: baseline !important;
  gap: 4px !important;
  margin: 0 !important;
}

body.infringement-app .metric-value strong,
body.templates-app .metric-value strong {
  font-size: 42px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  color: var(--ds-text) !important;
}

body.infringement-app .metric-value span,
body.templates-app .metric-value span {
  color: #5b6472 !important;
  font-size: 15px !important;
}

body.infringement-app .metric-foot,
body.templates-app .metric-foot {
  margin: 0 !important;
}

body.infringement-app .metric-foot .status-pill,
body.templates-app .metric-foot .status-pill {
  min-height: 28px !important;
  padding: 0 12px !important;
  border: 1px solid rgba(0, 113, 227, .14) !important;
  border-radius: 999px !important;
  background: #edf5ff !important;
  color: #0060df !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

/* API settings: stronger hierarchy, less empty. */
body.api-app .api-page {
  grid-template-columns: 248px minmax(0, 1fr) !important;
  background: #f6f7f9 !important;
}

body.api-app .api-sidebar {
  
  
}

body.api-app .sidebar-head {
  
  
  
  
}

body.api-app .sidebar-head h1,
body.api-app .editor-title-group h2 {
  margin: 0 !important;
  color: var(--ds-text) !important;
  font-size: 15px !important;
  font-weight: 680 !important;
}

body.api-app .connection-card {
  
  
  
}

body.api-app .connection-card.active {
  
  
}

body.api-app .api-workspace {
  
}

body.api-app .connection-form {
  
  
  
  
}

body.api-app .panel-card,
body.api-app .result-card {
  
  
  
  
  
  
}

body.api-app .panel-card .card-head h3 {
  color: var(--ds-text) !important;
  font-size: 13px !important;
  font-weight: 650 !important;
}

body.api-app .editor-bar,
body.api-app .editor-actions {
  
}

body.api-app .editor-actions {
  
}

body.api-app .field input,
body.api-app .field select,
body.api-app .field textarea,
body.api-app .provider-select select,
body.infringement-app .text-input,
body.infringement-app .batch-input,
body.templates-app input[type="text"],
body.source-inbox-app select,
body.copywriting-app select,
body.copywriting-app textarea,
body.watermark-app select,
body.watermark-app input[type="number"],
body.erp-app input[type="text"],
body.erp-app input[type="password"],
body.erp-app input[type="email"],
body.erp-app input[type="url"],
body.erp-app select,
body.erp-app textarea {
  height: 36px !important;
  min-height: 36px !important;
  border: 1px solid var(--ds-border-strong) !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: var(--ds-text) !important;
  font-size: 13px !important;
}

body.api-app .field textarea,
body.infringement-app .batch-input,
body.copywriting-app textarea,
body.erp-app textarea {
  min-height: 76px !important;
  padding: 9px 11px !important;
}

body.api-app .field input:focus,
body.api-app .field select:focus,
body.api-app .field textarea:focus,
body.infringement-app .text-input:focus,
body.infringement-app .batch-input:focus,
body.source-inbox-app select:focus,
body.copywriting-app select:focus,
body.copywriting-app textarea:focus,
body.watermark-app select:focus,
body.watermark-app input:focus,
body.erp-app input:focus,
body.erp-app select:focus,
body.erp-app textarea:focus {
  border-color: var(--ds-accent) !important;
  box-shadow: 0 0 0 4px rgba(0, 113, 227, .12) !important;
  outline: 0 !important;
}

/* Watermark: a balanced image workspace, not a thin corner. */
body.watermark-app .workspace {
  background: #f6f7f9 !important;
  padding: 16px !important;
}

/* Empty states should still feel intentional. */
body.source-inbox-app .inbox-empty-row td,
body.copywriting-app .emptyCell,
body.copywriting-app .embeddedRemovalEmpty,
body.infringement-app .empty-state,
body.templates-app .empty,
body.api-app .connection-empty,
body.api-app .empty-editor,
body.erp-app .removal-empty-cell,
body.erp-app .image-empty-cell,
body.erp-app .export-listing-empty {
  min-height: 220px !important;
  color: #8a919d !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  background: transparent !important;
}

/* Modals and overlays: clear focus, no washed-out shape. */
body.erp-app .modal-backdrop,
body.infringement-app .dialog-backdrop,
body.copywriting-app .modal-backdrop {
  background: rgba(15, 23, 42, .28) !important;
}

body.erp-app .system-modal,
body.erp-app .account-modal,
body.erp-app .product-detail-card,
body.infringement-app .dialog-card {
  border: 1px solid var(--ds-border) !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  box-shadow: var(--ds-shadow-float) !important;
}

body.erp-app .account-editor-header,
body.erp-app .product-detail-header,
body.infringement-app .dialog-header {
  border-bottom: 1px solid var(--ds-border) !important;
  background: #ffffff !important;
}

body.erp-app .modal-btn,
body.infringement-app .dialog-footer .button {
  min-height: 36px !important;
  padding: 0 16px !important;
  border-radius: 10px !important;
}

body.erp-app .toast,
body.source-inbox-app .inbox-toast,
body.copywriting-app .moduleToast,
body.infringement-app .module-toast,
body.api-app .module-toast,
body.templates-app .toast,
body.watermark-app .watermark-toast {
  border: 1px solid var(--ds-border) !important;
  
  background: #ffffff !important;
  color: var(--ds-text) !important;
  box-shadow: var(--ds-shadow-float) !important;
  font-size: 13px !important;
}

body.erp-app button:disabled,
body.copywriting-app button:disabled,
body.source-inbox-app button:disabled,
body.infringement-app button:disabled,
body.api-app button:disabled,
body.templates-app button:disabled,
body.watermark-app button:disabled {
  opacity: .42 !important;
  cursor: not-allowed !important;
}

@media (max-width: 900px) {
  body.erp-app #appView {
    grid-template-columns: 176px minmax(0, 1fr) !important;
    gap: 8px !important;
    padding: 8px !important;
  }

  body.erp-app .sidebar {
    width: 100% !important;
    min-width: 0 !important;
    padding: 10px 8px !important;
  }

  body.erp-app .brand {
    justify-content: center !important;
    padding: 0 !important;
  }

  body.erp-app .brand img {
    width: 40px !important;
    height: 40px !important;
    object-fit: contain !important;
  }

  body.erp-app .nav button {
    justify-content: center !important;
    padding: 0 !important;
  }

  body.erp-app .nav button span {
    display: block !important;
  }

  body.infringement-app .metric-value strong,
  body.templates-app .metric-value strong {
    font-size: 32px !important;
  }

  body.infringement-app .metric-card,
  body.templates-app .metric-card {
    min-width: 0 !important;
  }
}

@media (max-width: 720px) {
  body.erp-app #appView {
    grid-template-columns: 160px minmax(0, 1fr) !important;
  }

  body.erp-app .brand img {
    width: 36px !important;
    height: 36px !important;
  }

  body.erp-app .nav button {
    min-height: 38px !important;
    height: 38px !important;
    font-size: 13px !important;
  }
}

/* Compact centered confirmation dialogs across main and module views. */
body.erp-app .system-modal,
body.source-inbox-app .runtime-dialog,
body.copywriting-app .runtime-dialog,
body.infringement-app .runtime-dialog,
body.api-app .runtime-dialog,
body.templates-app .runtime-dialog,
body.watermark-app .runtime-dialog {
  width: min(288px, calc(100vw - 32px)) !important;
  border-radius: 14px !important;
  box-shadow: 0 18px 46px rgba(15, 23, 42, .14) !important;
}

body.erp-app .system-modal-copy,
body.source-inbox-app .runtime-dialog-copy,
body.copywriting-app .runtime-dialog-copy,
body.infringement-app .runtime-dialog-copy,
body.api-app .runtime-dialog-copy,
body.templates-app .runtime-dialog-copy,
body.watermark-app .runtime-dialog-copy {
  padding: 18px 16px 10px !important;
  text-align: center !important;
}

body.erp-app #systemModal .system-modal-copy p,
body.source-inbox-app .runtime-dialog:not(:has(.runtime-dialog-input)) .runtime-dialog-copy p,
body.copywriting-app .runtime-dialog:not(:has(.runtime-dialog-input)) .runtime-dialog-copy p,
body.infringement-app .runtime-dialog:not(:has(.runtime-dialog-input)) .runtime-dialog-copy p,
body.api-app .runtime-dialog:not(:has(.runtime-dialog-input)) .runtime-dialog-copy p,
body.templates-app .runtime-dialog:not(:has(.runtime-dialog-input)) .runtime-dialog-copy p,
body.watermark-app .runtime-dialog:not(:has(.runtime-dialog-input)) .runtime-dialog-copy p {
  display: none !important;
}

body.erp-app .system-modal-copy h2,
body.source-inbox-app .runtime-dialog-copy h2,
body.copywriting-app .runtime-dialog-copy h2,
body.infringement-app .runtime-dialog-copy h2,
body.api-app .runtime-dialog-copy h2,
body.templates-app .runtime-dialog-copy h2,
body.watermark-app .runtime-dialog-copy h2 {
  margin: 0 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
}

body.erp-app .system-modal-actions,
body.source-inbox-app .runtime-dialog-actions,
body.copywriting-app .runtime-dialog-actions,
body.infringement-app .runtime-dialog-actions,
body.api-app .runtime-dialog-actions,
body.templates-app .runtime-dialog-actions,
body.watermark-app .runtime-dialog-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  
  padding: 12px 16px 16px !important;
  border-top: 0 !important;
  background: transparent !important;
}

body.erp-app .modal-btn,
body.erp-app .modal-btn + .modal-btn,
body.source-inbox-app .runtime-dialog-button,
body.copywriting-app .runtime-dialog-button,
body.infringement-app .runtime-dialog-button,
body.api-app .runtime-dialog-button,
body.templates-app .runtime-dialog-button,
body.watermark-app .runtime-dialog-button {
  flex: 0 0 auto !important;
  min-width: 82px !important;
  width: auto !important;
  min-height: 34px !important;
  height: 34px !important;
  padding: 0 16px !important;
  border: 1px solid var(--ds-border-strong) !important;
  border-left: 1px solid var(--ds-border-strong) !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  color: var(--ds-text) !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 650 !important;
  line-height: 1 !important;
}

body.erp-app .modal-btn.confirm.danger,
body.source-inbox-app .runtime-dialog-button.danger,
body.copywriting-app .runtime-dialog-button.danger,
body.infringement-app .runtime-dialog-button.danger,
body.api-app .runtime-dialog-button.danger,
body.templates-app .runtime-dialog-button.danger,
body.watermark-app .runtime-dialog-button.danger {
  border-color: #d8564e !important;
  background: #d8564e !important;
  color: #ffffff !important;
}

body.erp-app .modal-btn.confirm.danger:hover,
body.source-inbox-app .runtime-dialog-button.danger:hover,
body.copywriting-app .runtime-dialog-button.danger:hover,
body.infringement-app .runtime-dialog-button.danger:hover,
body.api-app .runtime-dialog-button.danger:hover,
body.templates-app .runtime-dialog-button.danger:hover,
body.watermark-app .runtime-dialog-button.danger:hover {
  border-color: #b84640 !important;
  background: #b84640 !important;
  color: #ffffff !important;
}

body.erp-app .modal-btn:not(.confirm):hover,
body.source-inbox-app .runtime-dialog-button.secondary:hover,
body.copywriting-app .runtime-dialog-button.secondary:hover,
body.infringement-app .runtime-dialog-button.secondary:hover,
body.api-app .runtime-dialog-button.secondary:hover,
body.templates-app .runtime-dialog-button.secondary:hover,
body.watermark-app .runtime-dialog-button.secondary:hover {
  border-color: var(--ds-border-strong) !important;
  background: var(--ds-surface-soft) !important;
  color: var(--ds-text) !important;
}

/* 2026-09-04 yftx geometry v166
   Final visual layer: one workbench frame, one toolbar rhythm and one set
   of radii for every main page and module. */
:root,
body.erp-app,
body.copywriting-app,
body.source-inbox-app,
body.infringement-app,
body.api-app,
body.templates-app,
body.watermark-app {
  --ds-radius-sm: 8px;
  --ds-radius: 10px;
  --ds-radius-lg: 14px;
  --ds-radius-frame: 16px;
  --yftx-radius-control: 10px;
  --yftx-radius-panel: 14px;
  --yftx-radius-card: 14px;
  --yftx-radius-modal: 16px;
  --yftx-radius-frame: 16px;
  --yftx-toolbar-height: 64px;
  --yftx-toolbar-pad: 20px;
  --yftx-page-gutter: 20px;
}

html,
body {
  
}

body.erp-app #appView,
body.copywriting-app .workspaceShell,
body.source-inbox-app .inbox-shell,
body.infringement-app .library-page,
body.templates-app .template-page,
body.api-app .api-page,
body.watermark-app .workspace {
  background: #f3f5f8 !important;
}

body.erp-app #appView {
  --ds-sidebar: 176px;
  --sidebar: 176px;
  
  
  
}

body.erp-app .sidebar,
body.erp-app .workspace {
  border-radius: 16px !important;
  overflow: hidden !important;
}

body.erp-app .workspace .content,
body.erp-app .workspace .view {
  background: #ffffff !important;
}

/* Shared page toolbar geometry. */
body.source-inbox-app .inbox-toolbar,
body.copywriting-app .commandBar,
body.infringement-app .library-toolbar,
body.templates-app .toolbar,
body.api-app .sidebar-head,
body.api-app .editor-bar,
body.erp-app .image-opt-command-bar,
body.erp-app .export-listing-header,
body.erp-app .system-check-header,
body.erp-app .accounts-primary-action {
  min-height: 64px !important;
  height: 64px !important;
  max-height: 64px !important;
  padding: 0 20px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ds-border) !important;
  border-radius: 16px 16px 0 0 !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

body.copywriting-app .workspaceShell {
  
  height: 100vh !important;
}

body.infringement-app .library-card,
body.templates-app .template-card {
  
  
}

body.infringement-app .count-dashboard,
body.templates-app .count-dashboard {
  
  
  
  
}

/* Accounts and system check become full-width workbenches with the same
   top bar rhythm as the module pages. */
body.erp-app .view-accounts,
body.erp-app .view-system-check {
  padding: 0 !important;
  overflow: hidden !important;
}

body.erp-app .accounts-page-minimal {
  width: 100% !important;
  min-height: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  
}

body.erp-app .accounts-shell-minimal {
  
  
  
  
  
  
  
  
}

body.erp-app .accounts-primary-action {
  position: static !important;
  
  
  
  
  
  
  z-index: auto !important;
}

body.erp-app .account-add-button {
  
  
  
  
  
  
  
  
  line-height: 1 !important;
}

body.erp-app .account-add-button span {
  line-height: 1 !important;
  transform: none !important;
}

body.erp-app #accountFormFeedback {
  
  
  
  
}

body.erp-app .accounts-table-panel {
  
  
  
  border: 1px solid var(--ds-border) !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  overflow: auto !important;
}

body.erp-app .system-check-page {
  
  
  
  
  
  
  
  
  align-content: stretch !important;
}

body.erp-app .system-check-header {
  
  
  
  
}

body.erp-app .system-check-header p {
  
  
  
}

body.erp-app .system-check-list {
  
  
  
  
  
  
}

/* Built-in image and export workbenches use the full top bar, then a clean
   floating table card. */
body.erp-app .image-opt-shell,
body.erp-app .export-listing-shell {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #f3f5f8 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

body.erp-app .export-listing-header {
  
  
  
  
  
}

body.erp-app .export-mapping-issue-bar {
  grid-row: 2 !important;
  min-height: 0 !important;
  margin: 14px 20px 0 !important;
  border-radius: 10px !important;
  
}

body.erp-app .export-listing-table-wrap {
  
  
  
  
  
  
  
}

body.erp-app #exportPagination {
  grid-row: 4 !important;
  
  max-height: 56px !important;
  padding: 0 20px !important;
  border: 0 !important;
  
}

/* API settings become one stacked, module-based page. */
body.api-app .api-page {
  display: block !important;
  min-height: 100% !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

body.api-app .api-sidebar {
  
  
  
  
}

body.api-app .sidebar-head {
  
  
  
  
}

body.api-app .sidebar-head h1,
body.api-app .editor-title-group h2 {
  display: none !important;
}

body.api-app .connection-list {
  
  
  
  
  
  
}

body.api-app .connection-card {
  
  
  
  
  
  
  
  
}

body.api-app .connection-card.active {
  
  
}

body.api-app .quick-actions {
  
  
}

body.api-app .api-workspace {
  
  
  
}

body.api-app .empty-editor {
  
  
  
}

body.api-app .connection-form {
  
  
  
  
  
}

body.api-app .editor-body {
  
  
  
}

body.api-app .editor-actions {
  
  
  
  
  
  
  
}

body.api-app .panel-card,
body.api-app .result-card,
body.api-app .empty-panel {
  
  
}

/* Account table must stay inside its rounded sheet even with long names,
   long accounts or the edit action menu. */
body.erp-app .account-table {
  width: 100% !important;
  min-width: 0 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
}

body.erp-app .account-table-header,
body.erp-app .account-table-row {
  
  min-width: 0 !important;
  
}

body.erp-app .account-table-header > span,
body.erp-app .account-table-cell {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.erp-app .account-table-cell-name > span,
body.erp-app .account-table-cell-account {
  
  min-width: 0 !important;
  
  
  
  
}

body.erp-app .account-table-cell-edit {
  
}

body.erp-app .account-editor-modal {
  
  
  overflow: hidden !important;
  border-radius: 16px !important;
}

body.erp-app .account-editor-body {
  
  max-height: calc(100vh - 170px) !important;
  
}

body.erp-app .account-editor-fields {
  
  
}

body.erp-app .account-editor-field {
  
}

body.erp-app .account-editor-field input {
  
  min-width: 0 !important;
}

/* One rounded language for modals, cards, controls and small elements. */
body.erp-app .system-modal,
body.erp-app .export-file-modal,
body.erp-app .watermark-tool-modal,
body.erp-app .product-detail-card,
body.infringement-app .dialog-card,
body.copywriting-app .runtime-dialog,
body.source-inbox-app .runtime-dialog,
body.api-app .runtime-dialog,
body.templates-app .runtime-dialog,
body.watermark-app .runtime-dialog {
  border-radius: 16px !important;
}

body.erp-app .system-modal-actions,
body.source-inbox-app .runtime-dialog-actions,
body.copywriting-app .runtime-dialog-actions,
body.infringement-app .runtime-dialog-actions,
body.api-app .runtime-dialog-actions,
body.templates-app .runtime-dialog-actions,
body.watermark-app .runtime-dialog-actions {
  gap: 10px !important;
}

body.erp-app button,
body.copywriting-app button,
body.source-inbox-app button,
body.infringement-app button,
body.api-app button,
body.templates-app button,
body.watermark-app button,
body.erp-app input,
body.erp-app select,
body.erp-app textarea,
body.copywriting-app input,
body.copywriting-app select,
body.copywriting-app textarea,
body.source-inbox-app input,
body.source-inbox-app select,
body.source-inbox-app textarea,
body.infringement-app input,
body.infringement-app select,
body.infringement-app textarea,
body.api-app input,
body.api-app select,
body.api-app textarea,
body.templates-app input,
body.templates-app select,
body.templates-app textarea,
body.watermark-app input,
body.watermark-app select,
body.watermark-app textarea {
  border-radius: 10px !important;
}

body.erp-app .account-editor-close,
body.erp-app .optimized-upload-close,
body.erp-app .product-detail-close,
body.erp-app .erp-image-zoom-close,
body.source-inbox-app .icon-button,
body.source-inbox-app .detail-image-remove,
body.infringement-app .dialog-close,
body.api-app .icon-button {
  border-radius: 10px !important;
}

body.erp-app .system-check-row,
body.erp-app .removal-table-card,
body.source-inbox-app .inbox-list,
body.copywriting-app .parseInputPane,
body.copywriting-app .embeddedRemovalPane,
body.watermark-app .card,
body.watermark-app .drop,
body.watermark-app .quiet-section,
body.watermark-app .regions,
body.watermark-app .stage {
  border-radius: 14px !important;
}

body.erp-app .toast,
body.source-inbox-app .inbox-toast,
body.copywriting-app .moduleToast,
body.infringement-app .module-toast,
body.api-app .module-toast,
body.templates-app .toast,
body.watermark-app .watermark-toast {
  border-radius: 12px !important;
}

/* Small, quiet motion that makes switching and data states feel fluid
   without making the workbench look playful. */
body.erp-app .view.active {
  animation: yftxViewLift .18s cubic-bezier(.2, .8, .2, 1);
}

@keyframes yftxViewLift {
  from {
    opacity: .55;
    transform: translateY(4px) scale(.999);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

body.erp-app .image-opt-table-card,
body.erp-app .export-listing-table-wrap,
body.erp-app .accounts-table-panel,
body.erp-app .system-check-list,
body.source-inbox-app .inbox-list,
body.copywriting-app .parseInputPane,
body.copywriting-app .embeddedRemovalPane,
body.api-app .connection-card {
  transition: border-color .14s ease, background-color .14s ease, transform .14s ease, box-shadow .14s ease;
}

@media (max-width: 900px) {
  body.erp-app #appView {
    grid-template-columns: 160px minmax(0, 1fr) !important;
    gap: 8px !important;
    padding: 8px !important;
  }

  body.source-inbox-app .inbox-toolbar,
  body.copywriting-app .commandBar,
  body.infringement-app .library-toolbar,
  body.templates-app .toolbar,
  body.api-app .sidebar-head,
  body.api-app .editor-bar,
  body.erp-app .image-opt-command-bar,
  body.erp-app .export-listing-header,
  body.erp-app .system-check-header,
  body.erp-app .accounts-primary-action {
    height: auto !important;
    min-height: 64px !important;
    max-height: none !important;
    padding: 12px 16px !important;
  }

  body.copywriting-app .workspaceShell {
    grid-template-rows: auto minmax(0, 1fr) !important;
  }

  body.api-app .connection-list {
    grid-template-columns: 1fr !important;
    padding: 12px 16px !important;
  }

  body.api-app .editor-body,
  body.erp-app .image-opt-content {
    padding: 12px 16px 16px !important;
  }

  body.erp-app .export-listing-table-wrap {
    margin: 10px 12px 0 !important;
  }

  body.erp-app .accounts-table-panel,
  body.erp-app .system-check-list {
    margin: 10px 12px 12px !important;
  }
}

@media (max-width: 720px) {
  body.erp-app #appView {
    grid-template-columns: 148px minmax(0, 1fr) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.erp-app .view.active {
    animation: none !important;
  }

  body.erp-app .image-opt-table-card,
  body.erp-app .export-listing-table-wrap,
  body.erp-app .accounts-table-panel,
  body.erp-app .system-check-list,
  body.source-inbox-app .inbox-list,
  body.copywriting-app .parseInputPane,
  body.copywriting-app .embeddedRemovalPane,
  body.api-app .connection-card {
    transition: none !important;
  }
}

/* 2026-09-04 v166: narrower centered sidebar and copywriting-aligned core
   workbench geometry. Loaded last so it wins over earlier layout layers. */
:root,
body.erp-app #appView {
  --ds-sidebar: 138px;
  --yftx-sidebar: 138px;
  --sidebar: 138px;
}

body.erp-app #appView {
  
  
  
}

body.erp-app .workspace .content {
  
  
  
}

body.erp-app .sidebar {
  
}

body.erp-app .brand {
  flex: 0 0 58px !important;
  
  
  
  
}

body.erp-app .brand img {
  
  
  
}

body.erp-app .nav {
  
  
}

body.erp-app .nav button {
  
  
  
  
  
}

body.erp-app .sidebar-user {
  
}

body.erp-app .user-name {
  
  
  
  
  
}

/* Core workbench views share copywriting's anatomy: one top command row and
   one full body sheet below it. */
body.erp-app .view-image-optimization,
body.erp-app .view-export-listing {
  padding: 0 !important;
}

body.erp-app .image-opt-command-bar,
body.erp-app .export-listing-header {
  position: static !important;
  border-radius: 0 !important;
}

body.erp-app .image-opt-table-wrap {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: auto !important;
  width: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: auto !important;
}

body.erp-app .export-listing-table-wrap {
  
  
  margin: 0 !important;
  border: 1px solid var(--ds-border) !important;
  border-radius: 14px !important;
  
  box-shadow: none !important;
}

/* Boss-only management pages become centered, compact sheets without
   full-width top bars at the edge of the app. */
body.erp-app .view-accounts.active,
body.erp-app .view-system-check.active {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: auto !important;
  padding: 24px !important;
}

body.erp-app .accounts-page-minimal,
body.erp-app .accounts-shell-minimal {
  
  
  
  
  
  
}

body.erp-app .accounts-page-minimal {
  
  
  
  
}

body.erp-app .accounts-shell-minimal {
  
  
  
  
  
}

body.erp-app .accounts-primary-action {
  
  
  
  
  
  
  
  
  
  
  border-radius: 0 !important;
  
}

body.erp-app #accountFormFeedback {
  flex: 0 0 auto !important;
  
  
  
  
}

body.erp-app .accounts-table-panel {
  flex: 0 1 auto !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: min(62vh, 560px) !important;
  margin: 0 !important;
}

body.erp-app .system-check-page {
  
  height: auto !important;
  
  max-height: none !important;
  
  
  
  
  
  
}

body.erp-app .system-check-header {
  
  
  
  
  
  
  
  
  
  
}

body.erp-app .system-check-list {
  
  
  
  
  
  
}

body.infringement-app .library-page,
body.templates-app .template-page,
body.api-app .api-page {
  
  
  
  
  
  overflow: auto !important;
  
  
}

body.infringement-app .library-card,
body.templates-app .template-card {
  
  
  
  
  
  
  
  
  
  
  
  
}

body.infringement-app .library-toolbar,
body.templates-app .toolbar {
  
  
  
  
  
  
  
  
  
  
  
  
  
  
}

body.infringement-app .count-dashboard,
body.templates-app .count-dashboard {
  
  
  
  
  
  
  place-items: center !important;
  overflow: hidden !important;
}

body.api-app .api-page {
  padding: 20px !important;
}

body.api-app .api-sidebar,
body.api-app .api-workspace {
  
  
  
}

body.api-app .api-sidebar {
  
  
}

body.api-app .sidebar-head {
  
  
  
  
  
  
  
  
  
  
  
}

body.api-app .connection-list {
  
}

body.api-app .api-workspace {
  
  
}

body.api-app .connection-form {
  
  
  
  overflow: hidden !important;
}

body.api-app .empty-editor,
body.api-app .empty-panel {
  
  
  
}

body.api-app .editor-actions {
  
}

@media (max-width: 900px) {
  body.erp-app #appView {
    grid-template-columns: 132px minmax(0, 1fr) !important;
  }

  body.erp-app .workspace .content {
    height: calc(100vh - 18px) !important;
    max-height: calc(100vh - 18px) !important;
  }

  body.erp-app .view-accounts.active,
  body.erp-app .view-system-check.active {
    padding: 14px !important;
  }

  body.infringement-app .library-page,
  body.templates-app .template-page,
  body.api-app .api-page {
    padding: 14px !important;
  }
}

@media (max-width: 720px) {
  body.erp-app #appView {
    grid-template-columns: 128px minmax(0, 1fr) !important;
  }
}

/* Final v167 pass: boss pages sit at the middle-upper area, main nav is a
   square continuous list, and the remaining workbenches share one clean sheet. */
body.erp-app .view-accounts.active,
body.erp-app .view-system-check.active {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  overflow: auto !important;
  padding: clamp(58px, 9vh, 104px) 24px 24px !important;
}

body.erp-app .accounts-page-minimal,
body.erp-app .accounts-shell-minimal {
  width: min(680px, 100%) !important;
  max-width: 680px !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.erp-app .accounts-page-minimal {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  overflow: visible !important;
}

body.erp-app .accounts-shell-minimal {
  
  
  
  
  
}

body.erp-app .accounts-primary-action {
  
  
  
  
  
  
  
  
  
  
}

body.erp-app #accountFormFeedback {
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

body.erp-app .system-check-page {
  
  
  min-height: 0 !important;
  
  
  
  
  
  
}

body.erp-app .system-check-header {
  
  
  max-height: none !important;
  
  margin: 0 !important;
  
  
  
  
}

body.erp-app .system-check-list {
  
  
  height: auto !important;
  
  
}

body.infringement-app .library-page,
body.templates-app .template-page,
body.api-app .api-page {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-height: 100vh !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  padding: clamp(58px, 9vh, 104px) 24px 24px !important;
  
}

body.infringement-app .library-card,
body.templates-app .template-card {
  
  
  
  
  
  
  
}

body.api-app .api-sidebar,
body.api-app .api-workspace {
  width: min(780px, 100%) !important;
  max-width: 780px !important;
  margin: 0 !important;
}

body.api-app .sidebar-head {
  
  
  
  
  
  
  
  
  
  
  
}

body.api-app .sidebar-head > div:first-child {
  display: none !important;
}

body.api-app .connection-list {
  
  
  
  
  
}

body.api-app .api-workspace {
  margin-top: 16px !important;
}

body.api-app .connection-form.hidden,
body.api-app .connection-form[hidden],
body.api-app .empty-editor.hidden,
body.api-app .empty-editor[hidden] {
  display: none !important;
}

/* API cards are the primary modules; embedded provider forms only keep real fields. */
body.api-app .connection-form.provider-r2 .core-card,
body.api-app .connection-form.provider-deepseek .core-card,
body.api-app .connection-form.provider-r2 .editor-title-group,
body.api-app .connection-form.provider-deepseek .editor-title-group,
body.api-app .connection-form.provider-r2 .provider-card .card-head,
body.api-app .connection-form.provider-deepseek .provider-card .card-head {
  display: none !important;
}

body.api-app .connection-form.provider-r2 .editor-bar,
body.api-app .connection-form.provider-deepseek .editor-bar {
  min-height: 0 !important;
  height: auto !important;
  padding: 0 0 10px !important;
  border: 0 !important;
  justify-content: flex-end !important;
}

body.erp-app .nav {
  
  
}

body.erp-app .nav button {
  
  
  margin: 0 !important;
  
  
  
  
}

/* Copywriting and image use the same white sheet rhythm as the source inbox
   and listing-prep pages, while keeping their existing command row. */
body.copywriting-app .workspaceShell {
  background: var(--ds-page, #f3f5f8) !important;
}

body.copywriting-app .contentCard {
  height: 100% !important;
  
  
  
  
  
  overflow: hidden !important;
}

body.copywriting-app .workspacePanel {
  height: 100% !important;
  
  
}

body.copywriting-app .previewTableWrap,
body.copywriting-app .tableWrap {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

body.copywriting-app .parseWorkspace {
  
  
  
}

body.copywriting-app .parseInputPane,
body.copywriting-app .embeddedRemovalPane {
  
}

/* The clear buttons in workflow pages are compact but no longer cramped. */
body.erp-app .page-clear-button,
body.copywriting-app .pageClearButton {
  width: auto !important;
  min-width: 128px !important;
  max-width: none !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  padding: 0 16px !important;
  font-size: 12px !important;
}

body.erp-app .image-opt-command-spacer,
body.erp-app .export-clear-toolbar,
body.copywriting-app .previewDangerZone,
body.copywriting-app .parseDangerZone {
  min-width: 132px !important;
}

/* Workflow clear buttons override module-level width rules regardless of load order. */
body.copywriting-app .commandBar[data-panel="preview"] #clearCopywritingPage,
body.copywriting-app .commandBar[data-panel="parse"] #clearParsePage,
body.erp-app .image-opt-command-spacer #clearImagePage,
body.erp-app .export-clear-toolbar #clearExportPage {
  width: auto !important;
  min-width: 128px !important;
  max-width: none !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  padding: 0 16px !important;
}

/* Account rows and the three-dot action menu stay centered and vertical. */
body.erp-app .account-table-header,
body.erp-app .account-table-row {
  align-items: center !important;
  align-content: center !important;
}

body.erp-app .account-table-header > span,
body.erp-app .account-table-cell {
  
  
  justify-content: center !important;
  align-content: center !important;
  min-height: 58px !important;
  height: 58px !important;
  padding: 0 !important;
  text-align: center !important;
  line-height: 1.2 !important;
}

body.erp-app .account-table-cell-name,
body.erp-app .account-table-cell-account,
body.erp-app .account-table-cell-status,
body.erp-app .account-table-cell-edit {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.erp-app .account-table-cell-name > span,
body.erp-app .account-table-cell-account {
  display: block !important;
  flex: 0 1 auto !important;
  width: auto !important;
  
  
  
  
  line-height: 1 !important;
}

body.erp-app .account-table-cell-edit {
  
}

body.erp-app .account-more-button {
  
  
  
  
  
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  
  
}

body.erp-app .account-action-menu[hidden] {
  display: none !important;
}

body.erp-app .account-action-menu:not([hidden]) {
  display: flex !important;
  flex-direction: column !important;
  width: min(164px, calc(100vw - 24px)) !important;
  min-width: 156px !important;
  max-width: 164px !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 6px !important;
  gap: 3px !important;
  border-radius: 10px !important;
}

body.erp-app .account-action-menu button {
  position: relative !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  
  
  max-width: 100% !important;
  
  
  
  
  
  
  
  
  
  
  line-height: 1 !important;
  
  white-space: nowrap !important;
}

body.erp-app .account-action-menu button.danger {
  margin-top: 2px !important;
  border-top: 0 !important;
  border-radius: 7px !important;
}

/* Keep the account editor small, quiet and vertically stacked. */
body.erp-app .account-editor-modal {
  width: min(420px, calc(100vw - 32px)) !important;
  max-width: calc(100vw - 24px) !important;
  border-radius: 14px !important;
}

body.erp-app .account-editor-header {
  padding: 18px 20px 12px !important;
}

body.erp-app .account-editor-header h2 {
  font-size: 15px !important;
}

body.erp-app .account-editor-body {
  
  
  flex-direction: column !important;
  gap: 14px !important;
}

body.erp-app .account-editor-fields {
  
  
  
  
}

body.erp-app .account-editor-field {
  
}

body.erp-app .account-editor-field > span {
  margin-bottom: 5px !important;
  
}

body.erp-app .account-editor-field input {
  
  
  
}

body.erp-app .account-editor-actions {
  
  
}

body.erp-app .account-editor-primary,
body.erp-app .account-editor-secondary {
  min-width: 88px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 14px !important;
  font-size: 12px !important;
}

@media (max-width: 900px) {
  body.erp-app .view-accounts.active,
  body.erp-app .view-system-check.active,
  body.infringement-app .library-page,
  body.templates-app .template-page,
  body.api-app .api-page {
    padding: clamp(46px, 7vh, 72px) 14px 16px !important;
  }
}

/* v168: bronze-gold brand system based on the high-resolution logo, one login
   module, consistent workbench geometry, and a wider API settings surface. */
:root,
body.erp-app,
body.copywriting-app,
body.source-inbox-app,
body.infringement-app,
body.api-app,
body.templates-app,
body.watermark-app {
  color-scheme: light;
  --yftx-logo: #b68e51;
  --yftx-logo-deep: #8f581c;
  --yftx-logo-hover: #7b4a17;
  --yftx-logo-active: #633b10;
  --yftx-logo-soft: #f8efdf;
  --yftx-logo-softer: #fbf6ed;
  --yftx-logo-text: #6e4312;
  --yftx-page: #f4f3f0;
  --yftx-page-deep: #ebe8e1;
  --yftx-surface: #ffffff;
  --yftx-surface-soft: #f7f5f1;
  --yftx-surface-hover: #f1ece3;
  --yftx-text: #211f1c;
  --yftx-muted: #63615c;
  --yftx-subtle: #918d86;
  --yftx-line: #e2dfd8;
  --yftx-line-strong: #cec9bf;
  --yftx-danger: #b03a32;
  --yftx-danger-soft: #fff2f0;
  --yftx-success: #4d7454;
  --yftx-success-soft: #edf5ee;
  --yftx-warning: #8a6427;
  --yftx-warning-soft: #faf1df;
  --yftx-focus: rgba(143, 88, 28, .16);
  --ds-page: #f4f3f0;
  --ds-canvas: #f8f7f5;
  --ds-surface: #ffffff;
  --ds-surface-soft: #f7f5f1;
  --ds-surface-hover: #f1ece3;
  --ds-text: #211f1c;
  --ds-muted: #63615c;
  --ds-subtle: #918d86;
  --ds-border: #e2dfd8;
  --ds-border-strong: #cec9bf;
  --ds-accent: #8f581c;
  --ds-accent-hover: #7b4a17;
  --ds-accent-soft: #f8efdf;
  --ds-accent-text: #6e4312;
  --ds-focus: rgba(143, 88, 28, .16);
  --ds-shadow: 0 1px 2px rgba(57, 45, 26, .04), 0 14px 34px rgba(57, 45, 26, .06);
  --ds-shadow-float: 0 22px 60px rgba(57, 45, 26, .14);
  --accent: #8f581c;
  --accent-hover: #7b4a17;
  --accent-soft: #f8efdf;
  --accent-deep: #6e4312;
  --selected-bg: #f8efdf;
  --selected-border: rgba(143, 88, 28, .22);
  --selected-text: #6e4312;
  --focus: rgba(143, 88, 28, .16);
  --quiet-blue: #8f581c;
  --quiet-blue-hover: #7b4a17;
  --quiet-blue-soft: #f8efdf;
  --quiet-green: #8f581c;
  --quiet-danger: #b03a32;
  --quiet-danger-soft: #fff2f0;
  --button-accent: #8f581c;
  --button-accent-hover: #7b4a17;
  --button-accent-active: #633b10;
}

html,
body {
  
  
}

body.source-inbox-app,
body.copywriting-app,
body.infringement-app,
body.api-app,
body.templates-app,
body.watermark-app {
  
}

::selection {
  background: var(--ds-accent-soft, #f8efdf) !important;
  color: var(--ds-text, #211f1c) !important;
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid var(--ds-focus, rgba(143, 88, 28, .16)) !important;
  outline-offset: 2px !important;
}

body.erp-app .brand img {
  
  
  
  
  
}

body.erp-app .nav button {
  
}

body.erp-app .nav button:hover {
  background: var(--ds-surface-soft, #f7f5f1) !important;
  color: var(--ds-text, #211f1c) !important;
}

body.erp-app .nav button.active {
  
  border: 1px solid rgba(143, 88, 28, .14) !important;
  
  
}

body.erp-app .user-name:hover,
body.erp-app .user-name:focus-visible,
body.erp-app .user-menu-action:hover {
  background: var(--ds-accent-soft, #f8efdf) !important;
  color: var(--ds-accent-text, #6e4312) !important;
}

/* Login: small centered module, crisp high-res logo, centered fields. */
body.erp-app #loginView {
  background:
    radial-gradient(120% 95% at 50% -10%, rgba(255, 255, 255, .98) 0%, rgba(244, 240, 232, .82) 48%, rgba(234, 229, 219, .9) 100%) !important;
}

body.erp-app .login-card {
  
  
  
  
  
  
  
  
  
}

body.erp-app .login-logo-frame {
  
}

body.erp-app .login-logo {
  
  
  
  
}

body.erp-app .login-card form {
  
  flex-direction: column !important;
  
}

body.erp-app .login-field {
  margin: 0 !important;
}

body.erp-app .login-card input,
body.erp-app .login-card #loginSubmitBtn {
  height:36px !important;
  min-height:36px !important;
  border-radius: 12px !important;
}

body.erp-app .login-card input {
  
  
  
  
  font-size: 13px !important;
  
}

body.erp-app .login-card input::placeholder {
  color: #948f86 !important;
  text-align: center !important;
}

body.erp-app .login-card input:focus {
  border-color: var(--ds-accent, #8f581c) !important;
  box-shadow: 0 0 0 4px var(--ds-focus, rgba(143, 88, 28, .16)) !important;
}

body.erp-app .login-card #loginSubmitBtn {
  margin: 3px 0 0 !important;
  
  
  
  
  
}

body.erp-app .login-card #loginSubmitBtn:hover:not(:disabled) {
  background: var(--ds-accent-hover, #7b4a17) !important;
  border-color: var(--ds-accent-hover, #7b4a17) !important;
}

body.erp-app .login-error {
  
  
  
  
}

/* One neutral surface and one warm bronze action color across every app. */
body.erp-app .image-opt-shell,
body.erp-app .export-listing-shell,
body.copywriting-app .workspaceShell,
body.source-inbox-app .inbox-shell,
body.api-app .api-page,
body.infringement-app .library-page,
body.templates-app .template-page {
  background: var(--ds-page, #f4f3f0) !important;
}

body.source-inbox-app .inbox-toolbar,
body.copywriting-app .commandBar,
body.erp-app .image-opt-command-bar,
body.erp-app .export-listing-header {
  
  
  
  
  
  
  
  
}

body.source-inbox-app .inbox-list,
body.copywriting-app .contentCard,
body.erp-app .image-opt-table-card,
body.erp-app .export-listing-table-wrap {
  border: 0 !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

body.source-inbox-app .inbox-row.selected td,
body.copywriting-app tbody tr.selected td,
body.erp-app tbody tr.selected td,
body.erp-app .removal-table-wrap tbody tr.selected td,
body.erp-app .image-opt-table-wrap tbody tr.selected td,
body.erp-app .export-listing-table-wrap tbody tr.selected td,
body.infringement-app tr.selected td,
body.api-app tr.selected td {
  background: var(--ds-accent-soft, #f8efdf) !important;
}

body.copywriting-app .workflowButton.active,
body.copywriting-app .workflowButton[aria-pressed="true"],
body.copywriting-app .workflowActions {
  
}

body.copywriting-app .workflowButton.active,
body.copywriting-app .workflowButton[aria-pressed="true"] {
  
  
}

body.erp-app .workflow-pagination button,
body.source-inbox-app .inbox-pagination button,
body.erp-app .page-clear-button,
body.copywriting-app .pageClearButton,
body.copywriting-app .workflowButton,
body.copywriting-app .embeddedRemovalButton:not(.danger),
body.copywriting-app .embeddedRemovalButton.primary,
body.copywriting-app .selectionPromptButton,
body.source-inbox-app .inbox-action,
body.erp-app .image-tool-button,
body.erp-app .image-open-doubao,
body.erp-app .image-transfer-export,
body.erp-app .export-mapping-button,
body.erp-app .export-complete-button,
body.erp-app .system-check-button,
body.erp-app .account-add-button,
body.erp-app .account-editor-secondary,
body.erp-app .account-editor-primary,
body.erp-app .modal-btn,
body.infringement-app .button,
body.infringement-app .button.primary,
body.infringement-app .button.secondary,
body.templates-app .primary,
body.templates-app .secondary,
body.api-app .action-button,
body.api-app .quick-button,
body.watermark-app button {
  border-radius: 10px !important;
  font-weight: 620 !important;
}

body.erp-app #loginSubmitBtn,
body.erp-app .removal-workflow-button:not(.active),
body.erp-app .image-open-doubao,
body.erp-app .image-transfer-export,
body.erp-app .export-mapping-button:not(.secondary),
body.erp-app .export-complete-button,
body.erp-app .system-check-button.primary,
body.erp-app .account-add-button,
body.erp-app .account-editor-primary,
body.erp-app .modal-btn.confirm:not(.danger),
body.copywriting-app .selectionPromptButton,
body.copywriting-app .embeddedRemovalButton.primary,
body.source-inbox-app .inbox-action.primary,
body.infringement-app .button.primary,
body.api-app .action-button.primary,
body.api-app .action-button.deepseek,
body.api-app .action-button.r2,
body.templates-app .primary,
body.watermark-app .primary,
body.watermark-app .sync {
  border: 1px solid var(--ds-accent, #8f581c) !important;
  background: var(--ds-accent, #8f581c) !important;
  color: #ffffff !important;
  box-shadow: 0 1px 2px rgba(71, 45, 16, .06), 0 5px 14px rgba(143, 88, 28, .10) !important;
}

body.erp-app #loginSubmitBtn:hover:not(:disabled),
body.erp-app .removal-workflow-button:not(.active):hover:not(:disabled),
body.erp-app .image-open-doubao:hover:not(:disabled),
body.erp-app .image-transfer-export:hover:not(:disabled),
body.erp-app .export-mapping-button:not(.secondary):hover:not(:disabled),
body.erp-app .export-complete-button:hover:not(:disabled),
body.erp-app .system-check-button.primary:hover:not(:disabled),
body.erp-app .account-add-button:hover:not(:disabled),
body.erp-app .account-editor-primary:hover:not(:disabled),
body.erp-app .modal-btn.confirm:not(.danger):hover:not(:disabled),
body.copywriting-app .selectionPromptButton:hover:not(:disabled),
body.copywriting-app .embeddedRemovalButton.primary:hover:not(:disabled),
body.source-inbox-app .inbox-action.primary:hover:not(:disabled),
body.infringement-app .button.primary:hover:not(:disabled),
body.api-app .action-button.primary:hover:not(:disabled),
body.api-app .action-button.deepseek:hover:not(:disabled),
body.api-app .action-button.r2:hover:not(:disabled),
body.templates-app .primary:hover:not(:disabled),
body.watermark-app .primary:hover:not(:disabled),
body.watermark-app .sync:hover:not(:disabled) {
  background: var(--ds-accent-hover, #7b4a17) !important;
  border-color: var(--ds-accent-hover, #7b4a17) !important;
  color: #ffffff !important;
}

body.erp-app .removal-secondary-button:not(.danger),
body.erp-app .image-tool-button,
body.erp-app .export-mapping-button.secondary,
body.erp-app .system-check-button:not(.primary),
body.erp-app .account-editor-secondary,
body.erp-app .modal-btn:not(.confirm),
body.copywriting-app .workflowButton,
body.copywriting-app .embeddedRemovalButton:not(.danger),
body.source-inbox-app .inbox-action:not(.primary):not(.danger),
body.infringement-app .button.secondary,
body.api-app .action-button.secondary,
body.api-app .action-button.ghost,
body.api-app .quick-button,
body.templates-app .secondary,
body.watermark-app .white {
  border: 1px solid var(--ds-border-strong, #cec9bf) !important;
  background: #ffffff !important;
  color: #4d4a44 !important;
  box-shadow: none !important;
}

body.erp-app .removal-secondary-button:not(.danger):hover:not(:disabled),
body.erp-app .image-tool-button:hover:not(:disabled),
body.erp-app .export-mapping-button.secondary:hover:not(:disabled),
body.erp-app .system-check-button:not(.primary):hover:not(:disabled),
body.erp-app .account-editor-secondary:hover:not(:disabled),
body.erp-app .modal-btn:not(.confirm):hover:not(:disabled),
body.copywriting-app .workflowButton:hover:not(:disabled),
body.copywriting-app .embeddedRemovalButton:not(.danger):hover:not(:disabled),
body.source-inbox-app .inbox-action:not(.primary):not(.danger):hover:not(:disabled),
body.infringement-app .button.secondary:hover:not(:disabled),
body.api-app .action-button.secondary:hover:not(:disabled),
body.api-app .action-button.ghost:hover:not(:disabled),
body.api-app .quick-button:hover:not(:disabled),
body.templates-app .secondary:hover:not(:disabled),
body.watermark-app .white:hover:not(:disabled) {
  border-color: rgba(143, 88, 28, .28) !important;
  background: var(--ds-accent-soft, #f8efdf) !important;
  color: var(--ds-accent-text, #6e4312) !important;
}

body.erp-app .page-clear-button,
body.erp-app .image-inline-delete,
body.erp-app .export-quiet-delete,
body.copywriting-app .pageClearButton,
body.copywriting-app .embeddedRemovalButton.danger,
body.copywriting-app .selectionDeleteButton,
body.source-inbox-app .inbox-action.danger,
body.api-app .action-button.danger {
  border-color: rgba(176, 58, 50, .18) !important;
  background: var(--ds-danger-soft, #fff2f0) !important;
  color: var(--ds-danger, #b03a32) !important;
}

body.erp-app .removal-table-wrap th,
body.erp-app .image-opt-table-wrap th,
body.erp-app .export-listing-table-wrap th,
body.source-inbox-app .inbox-table thead th,
body.copywriting-app #dataTable th,
body.copywriting-app #embeddedRemovalTable th {
  background: #f7f5f1 !important;
  border-color: var(--ds-border, #e2dfd8) !important;
  color: #5e5a53 !important;
}

body.erp-app .removal-table-wrap td,
body.erp-app .image-opt-table-wrap td,
body.erp-app .export-listing-table-wrap td,
body.source-inbox-app .inbox-table tbody td,
body.copywriting-app #dataTable td,
body.copywriting-app #embeddedRemovalTable td {
  border-color: #ece9e3 !important;
  background: #ffffff !important;
}

body.erp-app input[type="checkbox"],
body.erp-app input[type="radio"],
body.source-inbox-app input[type="checkbox"],
body.source-inbox-app input[type="radio"],
body.copywriting-app input[type="checkbox"],
body.copywriting-app input[type="radio"],
body.api-app input[type="checkbox"],
body.api-app input[type="radio"] {
  accent-color: var(--ds-accent, #8f581c) !important;
}

/* API settings: refined module cards at the upper middle, editor beside them. */
body.api-app .api-page {
  min-height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding: clamp(54px, 9vh, 96px) clamp(20px, 3vw, 40px) 32px !important;
}

body.api-app .api-sidebar {
  
  
  
  
  
}

body.api-app .sidebar-head {
  
  
  
  
  
  
  
  
  
  
  
}

body.api-app .sidebar-head > div:first-child,
body.api-app .editor-title-group,
body.api-app .sidebar-head h1 {
  display: none !important;
}

body.api-app .connection-list {
  
  
  
  
  
}

body.api-app .connection-card {
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease !important;
}

body.api-app .connection-card:hover {
  border-color: rgba(143, 88, 28, .26) !important;
  box-shadow: 0 4px 18px rgba(57, 45, 26, .06) !important;
  transform: translateY(-1px) !important;
}

body.api-app .connection-card.active {
  
  
  
}

body.api-app .provider-dot {
  grid-row: 1 / 3 !important;
  width: 58px !important;
  min-width: 58px !important;
  height: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 12px !important;
  background: #f3eee5 !important;
  color: #675f53 !important;
  
  
  
}

body.api-app .provider-dot.deepseek {
  background: #e7eef2 !important;
  color: #305a6b !important;
}

body.api-app .connection-card strong {
  align-self: end !important;
  
  
  
}

body.api-app .connection-card small {
  
  color: var(--ds-muted, #63615c) !important;
  
}

body.api-app .api-workspace {
  display: none !important;
}

body.api-app .api-workspace:has(.empty-editor:not(.hidden)) {
  display: block !important;
  width: min(760px, 100%) !important;
  margin-top: 14px !important;
}

body.api-app .empty-editor,
body.api-app .empty-panel {
  min-height: 0 !important;
  height: auto !important;
  padding: 22px !important;
  border: 0 !important;
  border-radius: 18px !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.api-app .empty-actions {
  
}

body.api-app .api-page:has(.connection-form:not(.hidden)) {
  display: grid !important;
  grid-template-columns: minmax(320px, 360px) minmax(0, 1fr) !important;
  align-items: start !important;
  justify-content: center !important;
  column-gap: 24px !important;
}

body.api-app .api-page:has(.connection-form:not(.hidden)) .api-sidebar {
  width: 100% !important;
  max-width: 360px !important;
}

body.api-app .api-page:has(.connection-form:not(.hidden)) .sidebar-head {
  position: static !important;
  width: 100% !important;
  margin: 0 0 14px !important;
}

body.api-app .api-page:has(.connection-form:not(.hidden)) .connection-list {
  grid-template-columns: 1fr !important;
  max-width: 100% !important;
  padding: 0 !important;
}

body.api-app .api-page:has(.connection-form:not(.hidden)) .api-workspace {
  display: block !important;
  width: 100% !important;
  max-width: 860px !important;
  margin: 0 !important;
  border: 1px solid var(--ds-border, #e2dfd8) !important;
  border-radius: 20px !important;
  background: #ffffff !important;
  box-shadow: var(--ds-shadow, 0 1px 2px rgba(57, 45, 26, .04), 0 14px 34px rgba(57, 45, 26, .06)) !important;
  overflow: hidden !important;
}

body.api-app .connection-form {
  
  
  
  
  
  
  
  
}

body.api-app .editor-bar,
body.api-app .editor-actions {
  
  
  
  border-color: var(--ds-border, #e2dfd8) !important;
  
}

body.api-app .editor-body {
  
  
  
}

body.api-app .panel-card,
body.api-app .result-card {
  
  
  
  
  
  
  
  
}

body.api-app .connection-form.provider-r2 .editor-body,
body.api-app .connection-form.provider-deepseek .editor-body {
  padding-top: 22px !important;
}

body.api-app .field input,
body.api-app .field select,
body.api-app .field textarea,
body.api-app .provider-select select {
  
  
  
}

body.api-app .field input:focus,
body.api-app .field select:focus,
body.api-app .field textarea:focus,
body.api-app .provider-select select:focus {
  border-color: var(--ds-accent, #8f581c) !important;
  box-shadow: 0 0 0 3px var(--ds-focus, rgba(143, 88, 28, .16)) !important;
}

body.api-app .module-toast {
  border-radius: 12px !important;
}

@media (max-width: 980px) {
  body.api-app .api-page:has(.connection-form:not(.hidden)) {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
  }

  body.api-app .api-page:has(.connection-form:not(.hidden)) .api-sidebar,
  body.api-app .api-page:has(.connection-form:not(.hidden)) .api-workspace {
    max-width: 680px !important;
    width: 100% !important;
  }

  body.api-app .api-page:has(.connection-form:not(.hidden)) .connection-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  body.api-app .connection-list,
  body.api-app .api-page:has(.connection-form:not(.hidden)) .connection-list {
    grid-template-columns: 1fr !important;
  }

  body.api-app .api-page {
    padding: 44px 16px 24px !important;
  }
}

/* Keep module iframes aligned to the parent workspace width. */
html,
body.source-inbox-app,
body.copywriting-app,
body.api-app,
body.infringement-app,
body.templates-app,
body.watermark-app {
  overflow: hidden !important;
  scrollbar-gutter: auto !important;
}
/* ==== yftx-system-v170.css ==== */
/* YFTX System v170 canonical layer.
   Load last. This is the source of truth for shared page geometry,
   action hierarchy, states, dialogs and responsive rules. */
:root,
body.erp-app,
body.source-inbox-app,
body.copywriting-app,
body.infringement-app,
body.api-app,
body.templates-app,
body.watermark-app {
  --yftx-space-1: 4px;
  --yftx-space-2: 8px;
  --yftx-space-3: 12px;
  --yftx-space-4: 16px;
  --yftx-space-5: 20px;
  --yftx-radius-control: 10px;
  --yftx-radius-card: 14px;
  --yftx-radius-panel: 18px;
  --yftx-height-control: 36px;
  --yftx-height-bar: 64px;
  --yftx-height-pager: 56px;
  --yftx-sidebar-width: 138px;
  --yftx-accent: #343a43;
  --yftx-accent-hover: #252b32;
  --yftx-accent-soft: #eef1f4;
  --yftx-danger: #b13b3b;
  --yftx-danger-soft: #fff1f0;
  --yftx-success: #3c7455;
  --yftx-success-soft: #ecf6f0;
  --yftx-warning: #59616c;
  --yftx-warning-soft: #f1f3f6;
  --yftx-page: #eef1f5;
  --yftx-page-deep: #e2e6ec;
  --yftx-canvas: #f5f7f9;
  --yftx-workspace: #f5f7f9;
  --yftx-bg: #eef1f5;
  --yftx-surface: #ffffff;
  --yftx-surface-soft: #f4f6f8;
  --yftx-surface-hover: #edf0f3;
  --yftx-surface-strong: #ffffff;
  --yftx-text: #20242b;
  --yftx-muted: #5c646f;
  --yftx-subtle: #89919d;
  --yftx-line: #dfe3e8;
  --yftx-line-strong: #cbd1d8;
  --yftx-focus: rgba(37, 43, 51, .15);
  --yftx-overlay: rgba(22, 26, 32, .38);
  --yftx-selected: #eef1f4;
  --yftx-logo: #b08050;
  --yftx-logo-deep: #343a43;
  --yftx-logo-hover: #252b32;
  --yftx-logo-active: #20252c;
  --yftx-logo-soft: #eef1f4;
  --yftx-logo-softer: #f7f8fa;
  --yftx-logo-text: #252b32;
  --ds-page: #eef1f5;
  --ds-canvas: #f5f7f9;
  --ds-surface: #ffffff;
  --ds-surface-soft: #f4f6f8;
  --ds-surface-hover: #edf0f3;
  --ds-text: #20242b;
  --ds-muted: #5c646f;
  --ds-subtle: #89919d;
  --ds-border: #dfe3e8;
  --ds-border-strong: #cbd1d8;
  --ds-accent: #343a43;
  --ds-accent-hover: #252b32;
  --ds-accent-soft: #eef1f4;
  --ds-accent-text: #252b32;
  --ds-focus: rgba(37, 43, 51, .15);
  --ds-shadow: 0 1px 2px rgba(24, 29, 35, .04), 0 14px 34px rgba(24, 29, 35, .06);
  --ds-shadow-float: 0 24px 70px rgba(24, 29, 35, .15);
  --accent: #343a43;
  --accent-hover: #252b32;
  --accent-soft: #eef1f4;
  --accent-deep: #252b32;
  --selected-bg: #eef1f4;
  --selected-border: rgba(37, 43, 51, .18);
  --selected-text: #252b32;
  --focus: rgba(37, 43, 51, .15);
  --focus-ring: rgba(37, 43, 51, .15);
  --quiet-blue: #343a43;
  --quiet-blue-hover: #252b32;
  --quiet-blue-soft: #eef1f4;
  --quiet-green: #343a43;
  --quiet-danger: #b13b3b;
  --quiet-danger-soft: #fff1f0;
  --quiet-bg: #eef1f5;
  --quiet-surface: #ffffff;
  --quiet-surface-soft: #f4f6f8;
  --quiet-text: #20242b;
  --quiet-muted: #5c646f;
  --quiet-subtle: #89919d;
  --quiet-line: rgba(27, 32, 39, .10);
  --quiet-line-strong: rgba(27, 32, 39, .16);
  --button-accent: #343a43;
  --button-accent-hover: #252b32;
  --button-accent-active: #20252c;
}

body.erp-app #appView {
  
}

body.erp-app .sidebar {
  
  
  padding-inline: 10px;
}

body.erp-app .workspace,
body.erp-app .sidebar {
  border-radius: var(--yftx-radius-panel);
}

button,
select,
input,
textarea {
  font-family: inherit;
}

button:not(:disabled) {
  cursor: pointer;
}

/* Shared action hierarchy: destructive actions stay red, primary actions use the accent. */
body.erp-app .page-clear-button,
body.erp-app .image-inline-delete,
body.erp-app .export-quiet-delete,
body.erp-app .modal-btn.confirm.danger,
body.copywriting-app .selectionDeleteButton,
body.copywriting-app .embeddedRemovalButton.danger,
body.copywriting-app .pageClearButton,
body.source-inbox-app .inbox-action.danger,
body.api-app .action-button.danger,
body.infringement-app .button.danger,
body.templates-app .danger {
  border-color: rgba(176, 58, 50, .2) !important;
  background: var(--yftx-danger-soft) !important;
  color: var(--yftx-danger) !important;
}

body.erp-app .account-add-button,
body.erp-app .account-editor-primary,
body.erp-app .system-check-button.primary,
body.erp-app .image-copy-open-doubao,
body.erp-app .image-transfer-export,
body.erp-app .export-mapping-button:not(.secondary),
body.erp-app .export-complete-button,
body.erp-app .modal-btn.confirm:not(.danger),
body.copywriting-app .selectionPromptButton,
body.copywriting-app .embeddedRemovalButton.primary,
body.source-inbox-app .inbox-action.primary,
body.api-app .action-button.primary,
body.api-app .action-button.deepseek,
body.api-app .action-button.r2,
body.infringement-app .button.primary,
body.templates-app .primary,
body.watermark-app .primary,
body.watermark-app .sync {
  border-color: var(--yftx-accent) !important;
  background: var(--yftx-accent) !important;
  color: #fff !important;
}

body.erp-app .account-add-button:hover:not(:disabled),
body.erp-app .account-editor-primary:hover:not(:disabled),
body.erp-app .system-check-button.primary:hover:not(:disabled),
body.erp-app .image-copy-open-doubao:hover:not(:disabled),
body.erp-app .image-transfer-export:hover:not(:disabled),
body.erp-app .export-mapping-button:not(.secondary):hover:not(:disabled),
body.erp-app .export-complete-button:hover:not(:disabled),
body.erp-app .modal-btn.confirm:not(.danger):hover:not(:disabled),
body.copywriting-app .selectionPromptButton:hover:not(:disabled),
body.copywriting-app .embeddedRemovalButton.primary:hover:not(:disabled),
body.source-inbox-app .inbox-action.primary:hover:not(:disabled),
body.api-app .action-button.primary:hover:not(:disabled),
body.api-app .action-button.deepseek:hover:not(:disabled),
body.api-app .action-button.r2:hover:not(:disabled),
body.infringement-app .button.primary:hover:not(:disabled),
body.templates-app .primary:hover:not(:disabled),
body.watermark-app .primary:hover:not(:disabled),
body.watermark-app .sync:hover:not(:disabled) {
  border-color: var(--yftx-accent-hover) !important;
  background: var(--yftx-accent-hover) !important;
  color: #fff !important;
}

/* Secondary actions stay quiet and neutral unless explicitly destructive. */
body.infringement-app .button.secondary,
body.infringement-app .dialog-close,
body.templates-app .secondary,
body.api-app .action-button.secondary,
body.api-app .action-button.ghost,
body.api-app .quick-button,
body.api-app .icon-button,
body.erp-app .account-editor-secondary,
body.erp-app .image-tool-button,
body.erp-app .export-mapping-button.secondary,
body.erp-app .modal-btn:not(.confirm),
body.erp-app .account-editor-close,
body.erp-app .product-detail-close,
body.erp-app .optimized-upload-close,
body.copywriting-app .workflowButton,
body.copywriting-app .embeddedRemovalButton:not(.danger):not(.primary),
body.source-inbox-app .inbox-sort-button,
body.source-inbox-app .icon-button,
body.watermark-app .white {
  border-color: rgba(27, 32, 39, .18) !important;
  background: #fff !important;
  color: #3f4650 !important;
}

body.erp-app .account-add-button:disabled,
body.erp-app .account-editor-primary:disabled,
body.erp-app .system-check-button.primary:disabled,
body.erp-app .image-copy-open-doubao:disabled,
body.erp-app .image-transfer-export:disabled,
body.erp-app .export-mapping-button:not(.secondary):disabled,
body.erp-app .export-complete-button:disabled,
body.erp-app .modal-btn.confirm:not(.danger):disabled,
body.copywriting-app .selectionPromptButton:disabled,
body.copywriting-app .embeddedRemovalButton.primary:disabled,
body.source-inbox-app .inbox-action.primary:disabled,
body.api-app .action-button.primary:disabled,
body.api-app .action-button.deepseek:disabled,
body.api-app .action-button.r2:disabled,
body.infringement-app .button.primary:disabled,
body.templates-app .primary:disabled,
body.watermark-app .primary:disabled,
body.watermark-app .sync:disabled {
  border-color: #dfe3e8 !important;
  background: #eef1f4 !important;
  color: #99a1ad !important;
  box-shadow: none !important;
}

/* Consistent state surfaces. */
body.erp-app .removal-empty-cell,
body.erp-app .image-empty-cell,
body.erp-app .export-listing-empty,
body.erp-app .centered-empty-state,
body.copywriting-app .emptyCell,
body.copywriting-app .embeddedRemovalEmpty,
body.source-inbox-app .inbox-empty-row td,
body.infringement-app .empty-state,
body.templates-app .empty,
body.api-app .connection-empty,
body.watermark-app .empty-cell,
body.watermark-app .canvas-empty {
  min-height: 180px !important;
  color: #918d86 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
}

body.erp-app .module-frame-status,
body.source-inbox-app .inbox-loading,
body.copywriting-app .embeddedActionStatus,
body.api-app .module-toast,
body.copywriting-app .moduleToast,
body.source-inbox-app .inbox-toast,
body.templates-app .toast,
body.infringement-app .module-toast {
  border-radius: 12px !important;
}

body.erp-app .erp-toast.error,
body.source-inbox-app .inbox-toast.error,
body.copywriting-app .moduleToast.error,
body.api-app .module-toast.error,
body.templates-app .toast.error,
body.infringement-app .module-toast.error {
  min-width: 260px !important;
  max-width: min(520px, calc(100vw - 32px)) !important;
  white-space: normal !important;
  line-height: 1.55 !important;
}

/* Consistent table and list geometry. */
body.erp-app .removal-table-wrap,
body.erp-app .image-opt-table-wrap,
body.erp-app .export-listing-table-wrap,
body.source-inbox-app .inbox-list,
body.copywriting-app .tableWrap,
body.api-app .connection-list {
  scrollbar-width: thin;
  scrollbar-color: rgba(27, 32, 39, .28) transparent;
}

body.erp-app .removal-table-wrap table,
body.erp-app .image-opt-table-wrap table,
body.erp-app .export-listing-table-wrap table,
body.source-inbox-app .inbox-table,
body.copywriting-app table {
  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

body.erp-app .removal-table-wrap th,
body.erp-app .image-opt-table-wrap th,
body.erp-app .export-listing-table-wrap th,
body.source-inbox-app .inbox-table th,
body.copywriting-app table th {
  position: sticky !important;
  top: 0 !important;
  z-index: 3 !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 6px 10px !important;
  vertical-align: middle !important;
}

body.erp-app .removal-table-wrap td,
body.erp-app .image-opt-table-wrap td,
body.erp-app .export-listing-table-wrap td,
body.source-inbox-app .inbox-table td,
body.copywriting-app table td {
  vertical-align: middle !important;
  padding: 8px 10px !important;
}

body.erp-app .removal-table-wrap tbody tr,
body.erp-app .export-listing-table-wrap tbody tr {
  height: 54px !important;
  min-height: 54px !important;
}

body.erp-app .image-opt-table-wrap tbody tr {
  height: 118px !important;
  min-height: 118px !important;
}

body.copywriting-app #dataTable tbody tr,
body.copywriting-app #embeddedRemovalTable tbody tr {
  height: 52px !important;
  min-height: 52px !important;
}

body.erp-app .workflow-pagination,
body.source-inbox-app .inbox-pagination,
body.copywriting-app .copywritingPager {
  min-height: var(--yftx-height-pager) !important;
  height: var(--yftx-height-pager) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 0 16px !important;
}

body.erp-app .workflow-pagination button,
body.source-inbox-app .inbox-pagination button,
body.copywriting-app .copywritingPager button {
  min-width: 76px !important;
  height: 32px !important;
  padding: 0 12px !important;
  border-radius: 9px !important;
  font-size: 12px !important;
}

body.copywriting-app .copy-status {
  
  
  
  
  
  
  
  
  
  
}

body.copywriting-app .copy-status.idle {
  
  
}

/* Compact, stable page-size controls. */
body.source-inbox-app .inbox-pagination label {
  display: flex !important;
  align-items: center !important;
}

/* Common dialog geometry and independent action buttons. */
.modal-backdrop,
.account-editor-backdrop,
.dialog-backdrop,
.product-detail-backdrop,
.erp-image-zoom-backdrop {
  background: rgba(22, 26, 32, .40) !important;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

.system-modal,
.account-editor-modal,
.export-file-modal,
.watermark-tool-modal,
.dialog-card,
.account-modal {
  border-radius: 16px !important;
  box-shadow: 0 24px 70px rgba(24, 29, 35, .16) !important;
}

.system-modal-actions,
.account-editor-actions,
.export-file-modal-actions,
.dialog-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  padding: 14px 16px !important;
  
}

.system-modal-actions button,
.account-editor-actions button,
.export-file-modal-actions button,
.dialog-footer button {
  min-width: 86px !important;
  height: 36px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  border-radius: 10px !important;
  font-size: 13px !important;
}

/* API cards: keep provider identity in the dot, expose status visually. */
body.api-app .connection-card {
  position: relative !important;
  overflow: hidden !important;
}

body.api-app .connection-meta {
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

body.api-app .connection-card .connection-state {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 20px !important;
  padding: 0 7px !important;
  border-radius: 999px !important;
  background: var(--yftx-success-soft) !important;
  
  
  
  white-space: nowrap !important;
}

body.api-app .connection-card small {
  
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Export audit strip. */
.export-last-meta {
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-height: 24px !important;
  padding: 0 14px !important;
  color: #63615c !important;
  font-size: 12px !important;
  white-space: nowrap !important;
}

.export-last-meta:empty {
  display: none !important;
}

/* Response width tuning for employee laptops. */
@media (max-width: 1440px) {
  :root,
  body.erp-app,
  body.source-inbox-app,
  body.copywriting-app,
  body.infringement-app,
  body.api-app,
  body.templates-app,
  body.watermark-app {
    --yftx-sidebar-width: 126px;
  }

  body.erp-app .nav button,
  body.erp-app .sidebar-user {
    padding-inline: 8px !important;
  }
}

@media (max-width: 1280px) {
  body.erp-app #appView {
    gap: 10px !important;
    padding: 10px !important;
  }

  body.erp-app .sidebar,
  body.erp-app .workspace {
    border-radius: 14px !important;
  }

  body.erp-app .image-opt-command-bar,
  body.erp-app .export-listing-header,
  body.source-inbox-app .inbox-toolbar,
  body.copywriting-app .commandBar {
    padding-inline: 14px !important;
  }

  body.erp-app .image-opt-command-bar,
  body.erp-app .export-listing-header {
    flex-wrap: wrap !important;
    row-gap: 6px !important;
  }

  body.api-app .connection-list {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 1080px) {
  body.erp-app .sidebar {
    width: 116px !important;
    min-width: 116px !important;
  }

  body.erp-app .workspace {
    min-width: 0 !important;
  }

  body.erp-app .nav button {
    min-width: 0 !important;
    padding-inline: 4px !important;
    font-size: 12px !important;
  }
}

@media (max-width: 760px) {
  body.erp-app #appView {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
  }

  body.erp-app .sidebar {
    width: 100% !important;
    min-width: 100% !important;
    height: 72px !important;
    min-height: 72px !important;
    flex-direction: row !important;
    align-items: center !important;
    padding: 8px !important;
  }

  body.erp-app .brand {
    flex: 0 0 58px !important;
    height: 58px !important;
    margin: 0 !important;
  }

  body.erp-app .nav {
    flex-direction: row !important;
    justify-content: center !important;
    gap: 6px !important;
    overflow-x: auto !important;
  }

  body.erp-app .nav button {
    width: auto !important;
    flex: 0 0 auto !important;
    padding-inline: 10px !important;
  }

  body.erp-app .workspace {
    min-height: 0 !important;
  }
}

/* v171 Graphite neutral workbench theme.
   Loads last and intentionally overrides older brand-tinted layers.
   The warm gold remains only in the logo image itself. */
:root,
html,
body.erp-app,
body.source-inbox-app,
body.copywriting-app,
body.infringement-app,
body.api-app,
body.templates-app,
body.watermark-app {
  color: #20242b !important;
}

html,
body {
  
  
}

body.erp-app #appView,
body.erp-app .view,
body.erp-app .content,
body.erp-app .image-opt-shell,
body.erp-app .export-listing-shell,
body.copywriting-app .workspaceShell,
body.source-inbox-app .inbox-shell,
body.api-app .api-page,
body.infringement-app .library-page,
body.templates-app .template-page,
body.watermark-app .workspace {
  
}

body.erp-app .sidebar,
body.erp-app .workspace,
body.erp-app .view-accounts,
body.erp-app .view-system-check,
body.erp-app .removal-table-card,
body.erp-app .image-opt-table-card,
body.erp-app .export-listing-table-wrap,
body.erp-app .accounts-table-panel,
body.erp-app .system-check-header,
body.erp-app .system-check-row,
body.erp-app .permission-empty-card {
  
  
  
}

body.erp-app .brand {
  background: transparent !important;
}

body.erp-app .brand img,
body.erp-app .login-logo {
  filter: none !important;
}

body.erp-app .nav button {
  
}

body.erp-app .nav button:hover {
  background: #f1f3f6 !important;
  color: #20242b !important;
}

body.erp-app .nav button.active {
  
  
  
  
}

body.erp-app .nav button.active span,
body.erp-app .nav button.active svg {
  
}

body.erp-app .user-name,
body.erp-app .user-popover,
body.erp-app .sidebar-user {
  
  
}

body.erp-app .user-name:hover,
body.erp-app .user-name:focus-visible,
body.erp-app .user-menu-action:hover {
  background: #f1f3f6 !important;
  color: #20242b !important;
}

/* Login */
body.erp-app #loginView {
  background:
    radial-gradient(130% 100% at 50% -10%, #ffffff 0%, #f1f3f6 64%, #e6e9ee 100%) !important;
}

body.erp-app .login-card {
  
  
  
}

body.erp-app .login-card input {
  
  
  
}

body.erp-app .login-card input::placeholder {
  color: #89919d !important;
}

body.erp-app .login-card input:focus {
  border-color: #343a43 !important;
  box-shadow: 0 0 0 4px rgba(37, 43, 51, .14) !important;
}

body.erp-app .login-card #loginSubmitBtn,
body.erp-app .login-card #loginSubmitBtn:hover:not(:disabled) {
  border-color: #343a43 !important;
  background: #343a43 !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

/* Shared action colors */
body.erp-app #loginSubmitBtn,
body.erp-app .home-start-button,
body.erp-app .removal-workflow-button:not(.active),
body.erp-app .image-open-doubao,
body.erp-app .image-transfer-export,
body.erp-app .export-mapping-button:not(.secondary),
body.erp-app .export-complete-button,
body.erp-app .system-check-button.primary,
body.erp-app .account-add-button,
body.erp-app .account-editor-primary,
body.erp-app .modal-btn.confirm:not(.danger),
body.copywriting-app .selectionPromptButton,
body.copywriting-app .embeddedRemovalButton.primary,
body.source-inbox-app .inbox-action.primary,
body.infringement-app .button.primary,
body.api-app .action-button.primary,
body.api-app .action-button.deepseek,
body.api-app .action-button.r2,
body.templates-app .primary,
body.watermark-app .primary,
body.watermark-app .sync,
body.watermark-app .primary-actions .primary,
body.watermark-app .primary-actions .sync,
body.watermark-app .success-dialog button {
  border-color: #343a43 !important;
  background: #343a43 !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

body.erp-app #loginSubmitBtn:hover:not(:disabled),
body.erp-app .home-start-button:hover:not(:disabled),
body.erp-app .removal-workflow-button:not(.active):hover:not(:disabled),
body.erp-app .image-open-doubao:hover:not(:disabled),
body.erp-app .image-transfer-export:hover:not(:disabled),
body.erp-app .export-mapping-button:not(.secondary):hover:not(:disabled),
body.erp-app .export-complete-button:hover:not(:disabled),
body.erp-app .system-check-button.primary:hover:not(:disabled),
body.erp-app .account-add-button:hover:not(:disabled),
body.erp-app .account-editor-primary:hover:not(:disabled),
body.erp-app .modal-btn.confirm:not(.danger):hover:not(:disabled),
body.copywriting-app .selectionPromptButton:hover:not(:disabled),
body.copywriting-app .embeddedRemovalButton.primary:hover:not(:disabled),
body.source-inbox-app .inbox-action.primary:hover:not(:disabled),
body.infringement-app .button.primary:hover:not(:disabled),
body.api-app .action-button.primary:hover:not(:disabled),
body.api-app .action-button.deepseek:hover:not(:disabled),
body.api-app .action-button.r2:hover:not(:disabled),
body.templates-app .primary:hover:not(:disabled),
body.watermark-app .primary:hover:not(:disabled),
body.watermark-app .sync:hover:not(:disabled),
body.watermark-app .primary-actions .primary:hover:not(:disabled),
body.watermark-app .primary-actions .sync:hover:not(:disabled),
body.watermark-app .success-dialog button:hover:not(:disabled) {
  border-color: #252b32 !important;
  background: #252b32 !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

body.erp-app .removal-secondary-button:not(.danger),
body.erp-app .image-tool-button,
body.erp-app .export-mapping-button.secondary,
body.erp-app .system-check-button:not(.primary),
body.erp-app .account-editor-secondary,
body.erp-app .modal-btn:not(.confirm),
body.erp-app .workflow-pagination button,
body.erp-app button[data-workflow-page-action],
body.copywriting-app .workflowButton,
body.copywriting-app .embeddedRemovalButton:not(.danger):not(.primary),
body.source-inbox-app .inbox-action:not(.primary):not(.danger),
body.source-inbox-app .inbox-sort-button,
body.infringement-app .button.secondary,
body.api-app .action-button.secondary,
body.api-app .action-button.ghost,
body.api-app .quick-button,
body.api-app .icon-button,
body.templates-app .secondary,
body.templates-app .retry,
body.watermark-app .white {
  border-color: rgba(27, 32, 39, .18) !important;
  background: #ffffff !important;
  color: #3f4650 !important;
  box-shadow: none !important;
}

body.erp-app .removal-secondary-button:not(.danger):hover:not(:disabled),
body.erp-app .image-tool-button:hover:not(:disabled),
body.erp-app .export-mapping-button.secondary:hover:not(:disabled),
body.erp-app .system-check-button:not(.primary):hover:not(:disabled),
body.erp-app .account-editor-secondary:hover:not(:disabled),
body.erp-app .modal-btn:not(.confirm):hover:not(:disabled),
body.erp-app .workflow-pagination button:hover:not(:disabled),
body.erp-app button[data-workflow-page-action]:hover:not(:disabled),
body.copywriting-app .workflowButton:hover:not(:disabled),
body.copywriting-app .embeddedRemovalButton:not(.danger):not(.primary):hover:not(:disabled),
body.source-inbox-app .inbox-action:not(.primary):not(.danger):hover:not(:disabled),
body.source-inbox-app .inbox-sort-button:hover,
body.infringement-app .button.secondary:hover:not(:disabled),
body.api-app .action-button.secondary:hover:not(:disabled),
body.api-app .action-button.ghost:hover:not(:disabled),
body.api-app .quick-button:hover:not(:disabled),
body.api-app .icon-button:hover,
body.templates-app .secondary:hover:not(:disabled),
body.templates-app .retry:hover:not(:disabled),
body.watermark-app .white:hover:not(:disabled) {
  border-color: rgba(27, 32, 39, .30) !important;
  background: #f2f4f6 !important;
  color: #20242b !important;
}

body.erp-app .page-clear-button,
body.erp-app .image-inline-delete,
body.erp-app .export-quiet-delete,
body.erp-app .removal-secondary-button.danger,
body.erp-app .modal-btn.confirm.danger,
body.copywriting-app .pageClearButton,
body.copywriting-app .selectionDeleteButton,
body.copywriting-app .embeddedRemovalButton.danger,
body.source-inbox-app .inbox-action.danger,
body.api-app .action-button.danger,
body.infringement-app .button.danger,
body.templates-app .danger {
  border-color: rgba(177, 59, 59, .20) !important;
  background: #fff1f0 !important;
  color: #b13b3b !important;
  box-shadow: none !important;
}

body.erp-app .page-clear-button:hover:not(:disabled),
body.erp-app .image-inline-delete:hover:not(:disabled),
body.erp-app .export-quiet-delete:hover:not(:disabled),
body.erp-app .removal-secondary-button.danger:hover:not(:disabled),
body.erp-app .modal-btn.confirm.danger:hover:not(:disabled),
body.copywriting-app .pageClearButton:hover:not(:disabled),
body.copywriting-app .selectionDeleteButton:hover:not(:disabled),
body.copywriting-app .embeddedRemovalButton.danger:hover:not(:disabled),
body.source-inbox-app .inbox-action.danger:hover:not(:disabled),
body.api-app .action-button.danger:hover:not(:disabled),
body.infringement-app .button.danger:hover:not(:disabled),
body.templates-app .danger:hover:not(:disabled) {
  border-color: rgba(177, 59, 59, .34) !important;
  background: #fdeceb !important;
  color: #9f2f30 !important;
}

body.erp-app button:disabled,
body.copywriting-app button:disabled,
body.source-inbox-app button:disabled,
body.infringement-app button:disabled,
body.api-app button:disabled,
body.templates-app button:disabled,
body.watermark-app button:disabled {
  border-color: #dfe3e8 !important;
  background: #eef1f4 !important;
  color: #99a1ad !important;
  opacity: 1 !important;
  box-shadow: none !important;
}

/* Lists, tables, and selected states */
body.erp-app .removal-table-wrap th,
body.erp-app .image-opt-table-wrap th,
body.erp-app .export-listing-table-wrap th,
body.source-inbox-app .inbox-table thead th,
body.copywriting-app #dataTable th,
body.copywriting-app #embeddedRemovalTable th,
body.infringement-app th,
body.api-app th,
body.templates-app th,
body.watermark-app th,
body.erp-app .account-table-header,
body.erp-app #dataTable th,
body.erp-app #imageOptimizationTable th,
body.erp-app #exportListingTable th {
  border-color: #dfe3e8 !important;
  background: #f4f6f8 !important;
  color: #59616c !important;
}

body.erp-app .removal-table-wrap td,
body.erp-app .image-opt-table-wrap td,
body.erp-app .export-listing-table-wrap td,
body.source-inbox-app .inbox-table tbody td,
body.copywriting-app #dataTable td,
body.copywriting-app #embeddedRemovalTable td,
body.infringement-app td,
body.api-app td,
body.templates-app td,
body.watermark-app td,
body.erp-app .account-table-row,
body.erp-app #dataTable td,
body.erp-app #imageOptimizationTable td,
body.erp-app #exportListingTable td {
  
  
  
}

body.erp-app tbody tr:hover td,
body.source-inbox-app .inbox-row:hover td,
body.copywriting-app #dataTable tbody tr:hover td,
body.copywriting-app #embeddedRemovalTable tbody tr:hover td,
body.infringement-app tbody tr:hover td,
body.api-app tbody tr:hover td,
body.templates-app tbody tr:hover td {
  background: #f6f8fa !important;
}

body.erp-app tbody tr.selected td,
body.erp-app tbody tr.selected-for-delete td,
body.erp-app .removal-table-wrap tbody tr.selected td,
body.erp-app .image-opt-table-wrap tbody tr.selected td,
body.erp-app .export-listing-table-wrap tbody tr.selected td,
body.source-inbox-app .inbox-row.selected td,
body.source-inbox-app .inbox-row.selected:hover td,
body.copywriting-app #dataTable tbody tr.selected td,
body.copywriting-app #embeddedRemovalTable tbody tr.selected td,
body.infringement-app tr.selected td,
body.api-app tr.selected td,
body.templates-app tr.selected td {
  background: #eef1f4 !important;
  color: #20242b !important;
  box-shadow: none !important;
}

body.erp-app .removal-table-wrap th:first-child,
body.erp-app .removal-table-wrap td:first-child,
body.erp-app .image-opt-table-wrap th:first-child,
body.erp-app .image-opt-table-wrap td:first-child,
body.erp-app .export-listing-table-wrap th:first-child,
body.erp-app .export-listing-table-wrap td:first-child {
  background: inherit !important;
}

body.copywriting-app .workflowButton.active,
body.copywriting-app .workflowButton[aria-pressed="true"],
body.copywriting-app .workflowActions {
  background: #eef1f4 !important;
}

body.copywriting-app .workflowButton.active,
body.copywriting-app .workflowButton[aria-pressed="true"] {
  
  
}

body.erp-app input[type="checkbox"],
body.erp-app input[type="radio"],
body.source-inbox-app input[type="checkbox"],
body.source-inbox-app input[type="radio"],
body.copywriting-app input[type="checkbox"],
body.copywriting-app input[type="radio"],
body.api-app input[type="checkbox"],
body.api-app input[type="radio"],
body.watermark-app input[type="range"],
body.source-inbox-app .select-all-button,
body.source-inbox-app .item-select {
  
}

/* Dialog and overlay surfaces */
.modal-backdrop,
.account-editor-backdrop,
.dialog-backdrop,
.product-detail-backdrop,
.erp-image-zoom-backdrop {
  background: rgba(22, 26, 32, .40) !important;
}

.system-modal,
.account-editor-modal,
.export-file-modal,
.watermark-tool-modal,
.dialog-card,
.account-modal,
.product-detail-drawer {
  
  
  
}

.system-modal-actions,
.account-editor-actions,
.export-file-modal-actions,
.dialog-footer {
  
}

body.api-app .connection-meta .last-saved,
body.erp-app .removal-empty-cell,
body.erp-app .image-empty-cell,
body.erp-app .export-listing-empty,
body.copywriting-app .emptyCell,
body.copywriting-app .embeddedRemovalEmpty,
body.source-inbox-app .inbox-empty-row td,
body.infringement-app .empty-state,
body.templates-app .empty,
body.api-app .connection-empty,
body.watermark-app .canvas-empty {
  color: #89919d !important;
}

.export-last-meta {
  color: #5c646f !important;
}

body.copywriting-app .copy-status.idle {
  
  
}

/* API module */
body.api-app .connection-card:hover {
  border-color: rgba(37, 43, 51, .26) !important;
  box-shadow: 0 6px 22px rgba(24, 29, 35, .06) !important;
}

body.api-app .connection-card.active {
  
  
  
}

body.api-app .provider-dot,
body.api-app .provider-dot.deepseek,
body.api-app .provider-dot.r2,
body.api-app .editor-badge,
body.api-app .editor-badge.deepseek,
body.api-app .editor-badge.r2 {
  
  
}

body.api-app .quick-button.deepseek,
body.api-app .quick-button.r2 {
  border-color: rgba(27, 32, 39, .18) !important;
  background: #f4f6f8 !important;
  color: #3f4650 !important;
}

body.api-app .field input,
body.api-app .field select,
body.api-app .field textarea,
body.api-app .provider-select select {
  
  
}

body.api-app .field input:focus,
body.api-app .field select:focus,
body.api-app .field textarea:focus,
body.api-app .provider-select select:focus {
  border-color: #343a43 !important;
  box-shadow: 0 0 0 3px rgba(37, 43, 51, .12) !important;
}

/* Independent module surfaces */
body.infringement-app .library-card,
body.templates-app .template-card,
body.watermark-app .card,
body.api-app .connection-form,
body.api-app .api-workspace,
body.api-app .panel-card,
body.api-app .result-card {
  border-color: #dfe3e8 !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

/* Keep status chips readable without reintroducing a warm UI layer. */
body.erp-app .mapping-status-badge.warning,
body.erp-app .system-check-badge.warn,
body.copywriting-app .copy-status.working,
body.api-app .status-pill.orange,
body.api-app .result-card.warning {
  border-color: rgba(37, 43, 51, .14) !important;
  color: #59616c !important;
  background: #f1f3f6 !important;
}

body.erp-app .export-mapping-issue-item,
body.erp-app .export-listing-table-wrap tr.mapping-locate-flash td,
body.erp-app .mapping-status-badge[data-export-locate]:hover {
  border-color: rgba(37, 43, 51, .18) !important;
  background: #f1f3f6 !important;
  color: #59616c !important;
}

body.erp-app .export-mapping-issue-item:hover:not(:disabled) {
  border-color: rgba(37, 43, 51, .24) !important;
  background: #e8ebee !important;
  color: #3f4650 !important;
}

/* v171 Graphite finish: neutralize module-level warm remnants.
   Kept after the main override so internal module CSS cannot leak old
   tan/gold surfaces back into detail drawers, tables, or controls. */
body.erp-app .removal-table-wrap,
body.erp-app .image-opt-table-wrap,
body.erp-app .export-listing-table-wrap,
body.copywriting-app .previewTableWrap,
body.copywriting-app .outputTableWrap,
body.copywriting-app .embeddedRemovalTableWrap,
body.copywriting-app .parseInputPane,
body.copywriting-app .embeddedRemovalPane,
body.copywriting-app .workspacePanel {
  border-color: rgba(27, 32, 39, .12) !important;
  background: #ffffff !important;
}

body.copywriting-app #dataTable th.selectCell,
body.copywriting-app #embeddedRemovalTable th.embeddedRemovalSelect {
  background: #f4f6f8 !important;
  box-shadow: 1px 0 0 rgba(27, 32, 39, .10) !important;
}

body.copywriting-app #dataTable td.selectCell,
body.copywriting-app #embeddedRemovalTable td.embeddedRemovalSelect,
body.copywriting-app #dataTable tbody tr.selected td.selectCell,
body.copywriting-app #embeddedRemovalTable tbody tr.selected td.embeddedRemovalSelect {
  background: #ffffff !important;
  box-shadow: 1px 0 0 rgba(27, 32, 39, .10) !important;
}

body.copywriting-app #dataTable tbody tr:hover td.selectCell,
body.copywriting-app #embeddedRemovalTable tbody tr:hover td.embeddedRemovalSelect {
  background: #f6f8fa !important;
}

body.copywriting-app #dataTable tbody tr.selected td.selectCell,
body.copywriting-app #embeddedRemovalTable tbody tr.selected td.embeddedRemovalSelect {
  background: #eef1f4 !important;
}

body.copywriting-app #dataTable tbody tr.selected td,
body.copywriting-app #embeddedRemovalTable tbody tr.selected td {
  background: #eef1f4 !important;
}

body.copywriting-app .moduleToast,
body.copywriting-app .moduleToast.success,
body.copywriting-app .moduleToast.warning,
body.copywriting-app .moduleToast.error,
body.copywriting-app .moduleToast.parse {
  
  
}

body.api-app .api-sidebar,
body.api-app .sidebar-head,
body.api-app .editor-bar,
body.api-app .editor-body,
body.api-app .editor-actions,
body.api-app .empty-panel {
  border-color: rgba(27, 32, 39, .10) !important;
  background: #ffffff !important;
}

body.api-app .connection-list {
  
}

body.api-app .quick-button,
body.api-app .quick-button.deepseek,
body.api-app .quick-button.r2,
body.api-app .action-button.secondary,
body.api-app .action-button.ghost,
body.api-app .icon-button {
  border-color: rgba(27, 32, 39, .18) !important;
  background: #ffffff !important;
  color: #3f4650 !important;
}

body.infringement-app .metric-card,
body.infringement-app .term-grid,
body.infringement-app .dialog-body,
body.infringement-app .dialog-header,
body.infringement-app .count-dashboard,
body.templates-app .metric-card,
body.templates-app .count-dashboard,
body.templates-app .upload-status {
  border-color: rgba(27, 32, 39, .10) !important;
  background: #ffffff !important;
}

body.infringement-app .status-pill,
body.infringement-app .metric-foot,
body.templates-app .status-pill,
body.templates-app .metric-foot {
  color: #5c646f !important;
}

body.erp-app .export-mapping-issue-bar {
  border: 1px solid rgba(27, 32, 39, .10) !important;
  background: #f7f8fa !important;
  color: #3f4650 !important;
}
/* ==== yftx-system-v172.css ==== */
/* YFTX System v172 Light Air theme.
   Load after v170 so graphite accents and hard-coded module colors are
   replaced by a quieter, airy blue-gray workbench. */
:root,
html,
body.erp-app,
body.source-inbox-app,
body.copywriting-app,
body.infringement-app,
body.api-app,
body.templates-app,
body.watermark-app {
  color-scheme: light;
  --yftx-radius-control: 8px;
  --yftx-radius-card: 11px;
  --yftx-radius-panel: 14px;
  --yftx-accent: #4f7187;
  --yftx-accent-hover: #3f5e72;
  --yftx-accent-soft: #eaf1f5;
  --yftx-danger: #b14f4a;
  --yftx-danger-soft: #fdf1f0;
  --yftx-success: #39745e;
  --yftx-success-soft: #eaf5f0;
  --yftx-warning: #8a6a3c;
  --yftx-warning-soft: #f8f2e8;
  --yftx-page: #f4f7f8;
  --yftx-page-deep: #e9eff2;
  --yftx-canvas: #f8fafb;
  --yftx-workspace: #f8fafb;
  --yftx-bg: #f4f7f8;
  --yftx-surface: #ffffff;
  --yftx-surface-soft: #f2f6f8;
  --yftx-surface-hover: #eaf1f4;
  --yftx-surface-strong: #ffffff;
  --yftx-text: #1d2933;
  --yftx-muted: #5c6b78;
  --yftx-subtle: #8a99a5;
  --yftx-line: #e1e8ec;
  --yftx-line-strong: #c9d4dc;
  --yftx-focus: rgba(79, 113, 135, .16);
  --yftx-overlay: rgba(24, 37, 46, .32);
  --yftx-selected: #e8f0f4;
  --yftx-logo: #b78e52;
  --yftx-logo-deep: #4f7187;
  --yftx-logo-hover: #3f5e72;
  --yftx-logo-active: #34505f;
  --yftx-logo-soft: #eaf1f5;
  --yftx-logo-softer: #f7fafb;
  --yftx-logo-text: #2f4758;
  --ds-page: #f4f7f8;
  --ds-canvas: #f8fafb;
  --ds-surface: #ffffff;
  --ds-surface-soft: #f2f6f8;
  --ds-surface-hover: #eaf1f4;
  --ds-text: #1d2933;
  --ds-muted: #5c6b78;
  --ds-subtle: #8a99a5;
  --ds-border: #e1e8ec;
  --ds-border-strong: #c9d4dc;
  --ds-accent: #4f7187;
  --ds-accent-hover: #3f5e72;
  --ds-accent-soft: #eaf1f5;
  --ds-accent-text: #365366;
  --ds-focus: rgba(79, 113, 135, .16);
  --ds-shadow: 0 1px 2px rgba(30, 48, 60, .04), 0 14px 34px rgba(30, 48, 60, .06);
  --ds-shadow-float: 0 24px 70px rgba(30, 48, 60, .15);
  --accent: #4f7187;
  --accent-hover: #3f5e72;
  --accent-soft: #eaf1f5;
  --accent-deep: #34505f;
  --selected-bg: #e8f0f4;
  --selected-border: rgba(79, 113, 135, .22);
  --selected-text: #335065;
  --focus: rgba(79, 113, 135, .16);
  --focus-ring: rgba(79, 113, 135, .16);
  --quiet-blue: #4f7187;
  --quiet-blue-hover: #3f5e72;
  --quiet-blue-soft: #eaf1f5;
  --quiet-green: #39745e;
  --quiet-danger: #b14f4a;
  --quiet-danger-soft: #fdf1f0;
  --quiet-bg: #f4f7f8;
  --quiet-surface: #ffffff;
  --quiet-surface-soft: #f2f6f8;
  --quiet-text: #1d2933;
  --quiet-muted: #5c6b78;
  --quiet-subtle: #8a99a5;
  --quiet-line: rgba(79, 113, 135, .14);
  --quiet-line-strong: rgba(79, 113, 135, .24);
  --button-accent: #4f7187;
  --button-accent-hover: #3f5e72;
  --button-accent-active: #34505f;
}

html,
body {
  background: #f4f7f8 !important;
  scrollbar-color: rgba(79, 113, 135, .24) transparent !important;
}

body.erp-app #appView,
body.erp-app .view,
body.erp-app .content,
body.erp-app .image-opt-shell,
body.erp-app .export-listing-shell,
body.copywriting-app .workspaceShell,
body.source-inbox-app .inbox-shell,
body.api-app .api-page,
body.infringement-app .library-page,
body.templates-app .template-page,
body.watermark-app .workspace {
  background: #f8fafb !important;
}

body.erp-app .sidebar,
body.erp-app .workspace,
body.erp-app .view-accounts,
body.erp-app .view-system-check,
body.erp-app .removal-table-card,
body.erp-app .image-opt-table-card,
body.erp-app .export-listing-table-wrap,
body.erp-app .accounts-table-panel,
body.erp-app .system-check-header,
body.erp-app .system-check-row,
body.erp-app .permission-empty-card {
  border-color: #e1e8ec !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

body.erp-app .nav button {
  
}

body.erp-app .nav button:hover,
body.erp-app .nav button:focus-visible {
  background: #eaf1f5 !important;
  color: #2f4758 !important;
}

body.erp-app .nav button.active {
  border-color: #4f7187 !important;
  
  
  box-shadow: none !important;
}

body.erp-app .nav button,
body.erp-app .nav button.active {
  border-radius: 10px !important;
}

body.erp-app .nav button.active span,
body.erp-app .nav button.active svg {
  
}

body.erp-app .user-name,
body.erp-app .user-popover,
body.erp-app .sidebar-user {
  border-color: #e1e8ec !important;
  background: #ffffff !important;
}

body.erp-app .user-name:hover,
body.erp-app .user-name:focus-visible,
body.erp-app .user-menu-action:hover {
  background: #eaf1f5 !important;
  color: #2f4758 !important;
}

body.erp-app #loginView {
  background: linear-gradient(180deg, #fbfcfd 0%, #edf3f5 100%) !important;
}

body.erp-app .login-card {
  
  
  
}

body.erp-app .login-card input {
  border-color: #cbd7df !important;
  
  
}

body.erp-app .login-card input::placeholder {
  color: #8a99a5 !important;
}

body.erp-app .login-card input:focus {
  border-color: #4f7187 !important;
  box-shadow: 0 0 0 4px rgba(79, 113, 135, .14) !important;
}

body.erp-app #loginSubmitBtn,
body.erp-app .home-start-button,
body.erp-app .removal-workflow-button:not(.active),
body.erp-app .image-open-doubao,
body.erp-app .image-transfer-export,
body.erp-app .export-mapping-button:not(.secondary),
body.erp-app .export-complete-button,
body.erp-app .system-check-button.primary,
body.erp-app .account-add-button,
body.erp-app .account-editor-primary,
body.erp-app .modal-btn.confirm:not(.danger),
body.copywriting-app .selectionPromptButton,
body.copywriting-app .embeddedRemovalButton.primary,
body.source-inbox-app .inbox-action.primary,
body.infringement-app .button.primary,
body.api-app .action-button.primary,
body.api-app .action-button.deepseek,
body.api-app .action-button.r2,
body.templates-app .primary,
body.watermark-app .primary,
body.watermark-app .sync,
body.watermark-app .primary-actions .primary,
body.watermark-app .primary-actions .sync,
body.watermark-app .success-dialog button {
  border-color: #4f7187 !important;
  background: #4f7187 !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

body.erp-app #loginSubmitBtn:hover:not(:disabled),
body.erp-app .home-start-button:hover:not(:disabled),
body.erp-app .removal-workflow-button:not(.active):hover:not(:disabled),
body.erp-app .image-open-doubao:hover:not(:disabled),
body.erp-app .image-transfer-export:hover:not(:disabled),
body.erp-app .export-mapping-button:not(.secondary):hover:not(:disabled),
body.erp-app .export-complete-button:hover:not(:disabled),
body.erp-app .system-check-button.primary:hover:not(:disabled),
body.erp-app .account-add-button:hover:not(:disabled),
body.erp-app .account-editor-primary:hover:not(:disabled),
body.erp-app .modal-btn.confirm:not(.danger):hover:not(:disabled),
body.copywriting-app .selectionPromptButton:hover:not(:disabled),
body.copywriting-app .embeddedRemovalButton.primary:hover:not(:disabled),
body.source-inbox-app .inbox-action.primary:hover:not(:disabled),
body.infringement-app .button.primary:hover:not(:disabled),
body.api-app .action-button.primary:hover:not(:disabled),
body.api-app .action-button.deepseek:hover:not(:disabled),
body.api-app .action-button.r2:hover:not(:disabled),
body.templates-app .primary:hover:not(:disabled),
body.watermark-app .primary:hover:not(:disabled),
body.watermark-app .sync:hover:not(:disabled),
body.watermark-app .primary-actions .primary:hover:not(:disabled),
body.watermark-app .primary-actions .sync:hover:not(:disabled),
body.watermark-app .success-dialog button:hover:not(:disabled) {
  border-color: #3f5e72 !important;
  background: #3f5e72 !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

body.erp-app .removal-secondary-button:not(.danger),
body.erp-app .image-tool-button,
body.erp-app .export-mapping-button.secondary,
body.erp-app .system-check-button:not(.primary),
body.erp-app .account-editor-secondary,
body.erp-app .modal-btn:not(.confirm),
body.erp-app .workflow-pagination button,
body.erp-app button[data-workflow-page-action],
body.copywriting-app .workflowButton,
body.copywriting-app .embeddedRemovalButton:not(.danger):not(.primary),
body.source-inbox-app .inbox-action:not(.primary):not(.danger),
body.infringement-app .button.secondary,
body.api-app .action-button.secondary,
body.api-app .action-button.ghost,
body.api-app .quick-button,
body.api-app .icon-button,
body.templates-app .secondary,
body.templates-app .retry,
body.watermark-app .white {
  border-color: #d5e0e7 !important;
  background: #ffffff !important;
  color: #4b5c69 !important;
  box-shadow: none !important;
}

body.erp-app .removal-secondary-button:not(.danger):hover:not(:disabled),
body.erp-app .image-tool-button:hover:not(:disabled),
body.erp-app .export-mapping-button.secondary:hover:not(:disabled),
body.erp-app .system-check-button:not(.primary):hover:not(:disabled),
body.erp-app .account-editor-secondary:hover:not(:disabled),
body.erp-app .modal-btn:not(.confirm):hover:not(:disabled),
body.erp-app .workflow-pagination button:hover:not(:disabled),
body.erp-app button[data-workflow-page-action]:hover:not(:disabled),
body.copywriting-app .workflowButton:hover:not(:disabled),
body.copywriting-app .embeddedRemovalButton:not(.danger):not(.primary):hover:not(:disabled),
body.source-inbox-app .inbox-action:not(.primary):not(.danger):hover:not(:disabled),
body.infringement-app .button.secondary:hover:not(:disabled),
body.api-app .action-button.secondary:hover:not(:disabled),
body.api-app .action-button.ghost:hover:not(:disabled),
body.api-app .quick-button:hover:not(:disabled),
body.api-app .icon-button:hover:not(:disabled),
body.templates-app .secondary:hover:not(:disabled),
body.templates-app .retry:hover:not(:disabled),
body.watermark-app .white:hover:not(:disabled) {
  border-color: #bdcbd4 !important;
  background: #f2f6f8 !important;
  color: #263a47 !important;
}

body.erp-app button:disabled,
body.copywriting-app button:disabled,
body.source-inbox-app button:disabled,
body.infringement-app button:disabled,
body.api-app button:disabled,
body.templates-app button:disabled,
body.watermark-app button:disabled {
  border-color: #e5ebef !important;
  background: #f0f3f5 !important;
  color: #a0aab2 !important;
  opacity: 1 !important;
  box-shadow: none !important;
}

body.erp-app .removal-table-wrap th,
body.erp-app .image-opt-table-wrap th,
body.erp-app .export-listing-table-wrap th,
body.source-inbox-app .inbox-table thead th,
body.copywriting-app #dataTable th,
body.copywriting-app #embeddedRemovalTable th,
body.infringement-app th,
body.api-app th,
body.templates-app th,
body.watermark-app th,
body.erp-app .account-table-header,
body.erp-app #dataTable th,
body.erp-app #imageOptimizationTable th,
body.erp-app #exportListingTable th {
  border-color: #dce5ea !important;
  background: #f3f7f9 !important;
  color: #536471 !important;
}

body.erp-app .removal-table-wrap td,
body.erp-app .image-opt-table-wrap td,
body.erp-app .export-listing-table-wrap td,
body.source-inbox-app .inbox-table tbody td,
body.copywriting-app #dataTable td,
body.copywriting-app #embeddedRemovalTable td,
body.infringement-app td,
body.api-app td,
body.templates-app td,
body.watermark-app td,
body.erp-app .account-table-row,
body.erp-app #dataTable td,
body.erp-app #imageOptimizationTable td,
body.erp-app #exportListingTable td {
  border-color: #e5ebef !important;
  background: #ffffff !important;
  color: #27333d !important;
}

body.erp-app tbody tr:hover td,
body.source-inbox-app .inbox-row:hover td,
body.copywriting-app #dataTable tbody tr:hover td,
body.copywriting-app #embeddedRemovalTable tbody tr:hover td,
body.infringement-app tbody tr:hover td,
body.api-app tbody tr:hover td,
body.templates-app tbody tr:hover td {
  background: #f2f7f9 !important;
}

body.erp-app tbody tr.selected td,
body.erp-app tbody tr.selected-for-delete td,
body.erp-app .removal-table-wrap tbody tr.selected td,
body.erp-app .image-opt-table-wrap tbody tr.selected td,
body.erp-app .export-listing-table-wrap tbody tr.selected td,
body.source-inbox-app .inbox-row.selected td,
body.source-inbox-app .inbox-row.selected:hover td,
body.copywriting-app #dataTable tbody tr.selected td,
body.copywriting-app #embeddedRemovalTable tbody tr.selected td,
body.infringement-app tr.selected td,
body.api-app tr.selected td,
body.templates-app tr.selected td {
  background: #e8f0f4 !important;
  color: #22343f !important;
  box-shadow: none !important;
}

body.copywriting-app .workspacePanel,
body.copywriting-app .previewTableWrap,
body.copywriting-app .outputTableWrap,
body.copywriting-app .embeddedRemovalTableWrap,
body.copywriting-app .parseInputPane,
body.copywriting-app .embeddedRemovalPane {
  border-color: #e1e8ec !important;
  background: #ffffff !important;
  border-radius: 11px !important;
}

body.copywriting-app .moduleToast,
body.copywriting-app .moduleToast.success,
body.copywriting-app .moduleToast.warning,
body.copywriting-app .moduleToast.error,
body.copywriting-app .moduleToast.parse {
  background: #4f7187 !important;
  color: #ffffff !important;
}

.modal-backdrop,
.account-editor-backdrop,
.dialog-backdrop,
.product-detail-backdrop,
.erp-image-zoom-backdrop {
  background: rgba(28, 44, 55, .34) !important;
}

.system-modal,
.account-editor-modal,
.export-file-modal,
.watermark-tool-modal,
.dialog-card,
.account-modal,
.product-detail-drawer {
  border-color: #dce5ea !important;
  background: #ffffff !important;
  box-shadow: 0 24px 70px rgba(30, 48, 60, .15) !important;
}

.system-modal-actions,
.account-editor-actions,
.export-file-modal-actions,
.dialog-footer {
  background: #f8fafb !important;
}

body.erp-app input[type="checkbox"],
body.erp-app input[type="radio"],
body.source-inbox-app input[type="checkbox"],
body.source-inbox-app input[type="radio"],
body.copywriting-app input[type="checkbox"],
body.copywriting-app input[type="radio"],
body.api-app input[type="checkbox"],
body.api-app input[type="radio"],
body.watermark-app input[type="range"],
body.source-inbox-app .select-all-button,
body.source-inbox-app .item-select {
  accent-color: #4f7187 !important;
}

body.infringement-app .library-card,
body.templates-app .template-card,
body.watermark-app .card,
body.api-app .connection-form,
body.api-app .api-workspace,
body.api-app .panel-card,
body.api-app .result-card {
  border-color: #e1e8ec !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

body.api-app .connection-card:hover {
  border-color: #bdcbd4 !important;
  box-shadow: 0 6px 22px rgba(30, 48, 60, .06) !important;
}

body.api-app .connection-card.active {
  
  
  
}

body.api-app .field input,
body.api-app .field select,
body.api-app .field textarea,
body.api-app .provider-select select {
  
  
}

body.api-app .field input:focus,
body.api-app .field select:focus,
body.api-app .field textarea:focus,
body.api-app .provider-select select:focus {
  border-color: #4f7187 !important;
  box-shadow: 0 0 0 3px rgba(79, 113, 135, .12) !important;
}

body.copywriting-app .copy-status.idle {
  background: #f2f6f8 !important;
  color: #596b78 !important;
}

body.copywriting-app .copy-status.working,
body.copywriting-app .embeddedActionStatus.warning,
body.api-app .status-pill.orange,
body.api-app .result-card.warning,
body.erp-app .mapping-status-badge.warning,
body.erp-app .system-check-badge.warn {
  border-color: rgba(138, 106, 60, .22) !important;
  color: #7c603b !important;
  background: #f8f2e8 !important;
}
/* ==== yftx-system-v173.css ==== */
/* YFTX System v173 final consistency layer.
   Loaded after v172 so it can settle geometry, corners, sidebar spacing,
   table states and small shared surfaces without restructuring modules. */
:root,
html,
body.erp-app,
body.source-inbox-app,
body.copywriting-app,
body.infringement-app,
body.api-app,
body.templates-app,
body.watermark-app {
  color-scheme: light;
  --yftx-radius-control: 8px;
  --yftx-radius-card: 10px;
  --yftx-radius-panel: 12px;
  --yftx-radius-modal: 12px;
  --yftx-sidebar-width: 116px;
  --ds-radius-control: 8px;
  --ds-radius-card: 10px;
  --ds-radius-panel: 12px;
  --ds-radius-modal: 12px;
}

body.erp-app #appView {
  --sidebar: 116px;
  
  
  
}

body.erp-app .sidebar {
  
  
  
  
  
}

body.erp-app .brand {
  width: 100% !important;
  min-width: 0 !important;
  
  padding: 0 !important;
}

body.erp-app .brand img {
  
  
  flex: 0 0 42px !important;
  
  
}

body.erp-app .brand::after,
body.erp-app .nav-icon,
body.erp-app .nav button svg {
  display: none !important;
  content: none !important;
}

body.erp-app .nav {
  
  
  
  
}

body.erp-app .nav button {
  
  
  
  
  
  
  letter-spacing: 0 !important;
  
}

body.erp-app .workspace {
  
}

body.erp-app .workspace .content {
  height: calc(100vh - 20px) !important;
  min-height: 0 !important;
  max-height: calc(100vh - 20px) !important;
  overflow: hidden !important;
}

body.erp-app .view.active {
  
}

body.erp-app .copywriting-frame,
body.erp-app .source-inbox-frame,
body.erp-app .infringement-frame,
body.erp-app .templates-frame,
body.erp-app .api-frame {
  border-radius: 12px !important;
  overflow: hidden !important;
}

body.source-inbox-app .inbox-toolbar,
body.copywriting-app .commandBar,
body.erp-app .image-opt-command-bar,
body.erp-app .export-listing-header {
  
  
  
  
  
}

body.copywriting-app .workspaceShell {
  
  
  
}

body.copywriting-app .contentCard,
body.copywriting-app .workspacePanel {
  border-radius: 0 !important;
}

body.erp-app .image-opt-content,
body.erp-app .export-listing-table-wrap {
  border-radius: 0 !important;
}

body.erp-app .image-opt-table-card,
body.erp-app .export-listing-table-wrap,
body.source-inbox-app .inbox-list,
body.copywriting-app .parseInputPane,
body.copywriting-app .embeddedRemovalPane {
  border-radius: 0 !important;
}

/* Compact action controls with enough room for complete labels. */
body.erp-app .page-clear-button,
body.copywriting-app .pageClearButton {
  width: auto !important;
  min-width: 108px !important;
  max-width: none !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  padding: 0 14px !important;
  border-radius: 8px !important;
  white-space: nowrap !important;
}

body.source-inbox-app .inbox-action,
body.copywriting-app .workflowButton,
body.copywriting-app .embeddedRemovalButton,
body.erp-app .image-tool-button,
body.erp-app .image-inline-delete,
body.erp-app .image-transfer-export,
body.erp-app .export-mapping-button,
body.erp-app .export-complete-button,
body.erp-app .system-check-button,
body.erp-app .account-add-button,
body.erp-app .account-editor-primary,
body.erp-app .account-editor-secondary,
body.erp-app .modal-btn {
  min-height: 34px !important;
  height: 34px !important;
  border-radius: 8px !important;
  white-space: nowrap !important;
}

/* Source inbox table: centered cells, quiet sortable headers and complete rows. */
body.source-inbox-app .inbox-table {
  min-width: 1080px !important;
}

/* Source inbox load, empty and error states. */
body.source-inbox-app .inbox-empty-row td {
  height: 100% !important;
  padding: 0 !important;
}

body.copywriting-app .copy-status {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 46px !important;
  height: 22px !important;
  padding: 0 7px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

/* Shared modal and toast surfaces keep one small radius. */
body.erp-app .system-modal,
body.erp-app .account-editor-modal,
body.erp-app .export-file-modal,
body.erp-app .watermark-tool-modal,
body.infringement-app .dialog-card,
body.watermark-app .card {
  border-radius: 12px !important;
}

body.erp-app #systemModal .system-modal-actions,
body.erp-app #exportFileModal .export-file-modal-actions,
body.erp-app .account-editor-actions,
body.infringement-app .dialog-footer {
  
  
  
  
  
}

body.erp-app #systemModal .modal-btn,
body.erp-app #exportFileModal .modal-btn,
body.erp-app .account-editor-actions button {
  min-width: 88px !important;
}

/* Recover snapshot button shown after global clear. */
.yftx-snapshot-restore {
  position: fixed !important;
  right: 18px !important;
  bottom: 18px !important;
  z-index: 9999 !important;
  min-width: 132px !important;
  height: 36px !important;
  padding: 0 14px !important;
  border: 1px solid #c6d2da !important;
  border-radius: 9px !important;
  background: #ffffff !important;
  color: #365366 !important;
  box-shadow: 0 14px 34px rgba(30, 48, 60, .16) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
}

.yftx-snapshot-restore:hover {
  border-color: #9fb6c2 !important;
  background: #f2f6f8 !important;
}

@media (max-width: 1080px) {
  body.erp-app #appView {
    grid-template-columns: 116px minmax(0, 1fr) !important;
  }
}

@media (max-width: 760px) {
  body.erp-app #appView {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    gap: 6px !important;
    padding: 6px !important;
  }

  body.erp-app .sidebar {
    width: 100% !important;
    min-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    padding: 6px 8px !important;
    border-radius: 10px !important;
  }

  body.erp-app .brand {
    flex: 0 0 42px !important;
    width: 42px !important;
  }

  body.erp-app .nav {
    flex: 1 1 auto !important;
    flex-direction: row !important;
    justify-content: center !important;
    padding: 0 !important;
  }

  body.erp-app .nav button {
    width: auto !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    padding: 0 8px !important;
  }

  body.erp-app .sidebar-user {
    display: none !important;
  }
}

/* ===== css/workbench-v179.css ===== */
:root,
html,
body.erp-app,
body.source-inbox-app,
body.copywriting-app,
body.infringement-app,
body.api-app,
body.templates-app,
body.watermark-app {
  color-scheme: light;
  --wb-page: #f1f4ef;
  --wb-page-soft: #f7f9f5;
  --wb-surface: #ffffff;
  --wb-surface-soft: #f6f8f4;
  --wb-surface-hover: #eef2eb;
  --wb-text: #222b26;
  --wb-muted: #66726b;
  --wb-subtle: #8d9991;
  --wb-line: #e3e8e0;
  --wb-line-strong: #cbd4c9;
  --wb-accent: #2f6b4f;
  --wb-accent-hover: #275a42;
  --wb-accent-active: #204d38;
  --wb-accent-soft: #eaf3ed;
  --wb-accent-softer: #f5faf7;
  --wb-danger: #a6514c;
  --wb-danger-hover: #91433f;
  --wb-danger-soft: #fbf0ee;
  --wb-success: #397a56;
  --wb-success-soft: #eaf5ee;
  --wb-warning: #9a7537;
  --wb-warning-soft: #fbf4e8;
  --wb-focus: rgba(47, 107, 79, .16);
  --wb-shadow-pop: 0 18px 46px rgba(34, 43, 38, .10);
  --wb-shadow-modal: 0 30px 80px rgba(34, 43, 38, .16);
  --wb-r-control: 8px;
  --wb-r-card: 10px;
  --wb-r-panel: 14px;
  --wb-r-modal: 14px;
  --wb-control: 34px;
  --wb-control-small: 28px;
  --wb-font: "SF Pro Text", "PingFang SC", "苹方-简", "Microsoft YaHei", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  --wb-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
}

html,
body.erp-app,
body.source-inbox-app,
body.copywriting-app,
body.infringement-app,
body.api-app,
body.templates-app,
body.watermark-app {
  background: var(--wb-page) !important;
  color: var(--wb-text) !important;
  font-family: var(--wb-font) !important;
  font-size: 13px !important;
  text-rendering: optimizeLegibility !important;
  -webkit-font-smoothing: antialiased !important;
}

html {
  height: 100% !important;
}

body.source-inbox-app,
body.copywriting-app,
body.infringement-app,
body.api-app,
body.templates-app,
body.watermark-app {
  width: 100% !important;
  height: 100vh !important;
  min-height: 100% !important;
  max-height: 100vh !important;
  overflow: hidden !important;
}

body.erp-app *,
body.source-inbox-app *,
body.copywriting-app *,
body.infringement-app *,
body.api-app *,
body.templates-app *,
body.watermark-app * {
  box-sizing: border-box !important;
  letter-spacing: 0 !important;
}

body.erp-app button,
body.erp-app input,
body.erp-app select,
body.erp-app textarea,
body.source-inbox-app button,
body.source-inbox-app input,
body.source-inbox-app select,
body.source-inbox-app textarea,
body.copywriting-app button,
body.copywriting-app input,
body.copywriting-app select,
body.copywriting-app textarea,
body.infringement-app button,
body.infringement-app input,
body.infringement-app select,
body.infringement-app textarea,
body.api-app button,
body.api-app input,
body.api-app select,
body.api-app textarea,
body.templates-app button,
body.templates-app input,
body.templates-app select,
body.templates-app textarea,
body.watermark-app button,
body.watermark-app input,
body.watermark-app select,
body.watermark-app textarea {
  font-family: inherit !important;
  letter-spacing: 0 !important;
}

body.erp-app :is(button, input, select, textarea):focus-visible,
body.source-inbox-app :is(button, input, select, textarea):focus-visible,
body.copywriting-app :is(button, input, select, textarea):focus-visible,
body.infringement-app :is(button, input, select, textarea):focus-visible,
body.api-app :is(button, input, select, textarea):focus-visible,
body.templates-app :is(button, input, select, textarea):focus-visible,
body.watermark-app :is(button, input, select, textarea):focus-visible {
  outline: 2px solid var(--wb-focus) !important;
  outline-offset: 2px !important;
  box-shadow: none !important;
}

body.erp-app ::-webkit-scrollbar,
body.source-inbox-app ::-webkit-scrollbar,
body.copywriting-app ::-webkit-scrollbar,
body.infringement-app ::-webkit-scrollbar,
body.api-app ::-webkit-scrollbar,
body.templates-app ::-webkit-scrollbar,
body.watermark-app ::-webkit-scrollbar {
  width: 10px !important;
  height: 10px !important;
}

body.erp-app ::-webkit-scrollbar-thumb,
body.source-inbox-app ::-webkit-scrollbar-thumb,
body.copywriting-app ::-webkit-scrollbar-thumb,
body.infringement-app ::-webkit-scrollbar-thumb,
body.api-app ::-webkit-scrollbar-thumb,
body.templates-app ::-webkit-scrollbar-thumb,
body.watermark-app ::-webkit-scrollbar-thumb {
  border: 3px solid transparent !important;
  border-radius: 999px !important;
  background: rgba(43, 58, 49, .20) !important;
  background-clip: padding-box !important;
}

body.erp-app ::-webkit-scrollbar-thumb:hover,
body.source-inbox-app ::-webkit-scrollbar-thumb:hover,
body.copywriting-app ::-webkit-scrollbar-thumb:hover,
body.infringement-app ::-webkit-scrollbar-thumb:hover,
body.api-app ::-webkit-scrollbar-thumb:hover,
body.templates-app ::-webkit-scrollbar-thumb:hover,
body.watermark-app ::-webkit-scrollbar-thumb:hover {
  background: rgba(43, 58, 49, .34) !important;
  background-clip: padding-box !important;
}

body.erp-app ::selection,
body.source-inbox-app ::selection,
body.copywriting-app ::selection,
body.infringement-app ::selection,
body.api-app ::selection,
body.templates-app ::selection,
body.watermark-app ::selection {
  background: rgba(47, 107, 79, .15) !important;
}

/* Login: keep it quiet, centered and compact. */
body.erp-app #loginView {
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 255, 255, .86), transparent 42%),
    linear-gradient(160deg, #eef2ec 0%, #f6f7f3 46%, #edf1eb 100%) !important;
  padding: 18px !important;
}

body.erp-app .login-card {
  
  
  
  
  
  
  
  
  
  
}

body.erp-app .login-logo-frame {
  
}

body.erp-app .login-logo {
  
  
  
  
  object-fit: contain !important;
  
}

body.erp-app .login-card form {
  
  
}

body.erp-app .login-field {
  display: block !important;
}

body.erp-app .login-card input {
  
  
  
  
  
  
  
}

body.erp-app .login-card input::placeholder {
  color: var(--wb-subtle) !important;
  opacity: 1 !important;
}

body.erp-app .login-card input:focus {
  border-color: rgba(47, 107, 79, .55) !important;
  box-shadow: 0 0 0 4px var(--wb-focus) !important;
}

body.erp-app #password {
  margin-top: 0 !important;
}

body.erp-app .login-card #loginSubmitBtn {
  
  
  border: 1px solid var(--wb-accent) !important;
  
  
  
  font-size: 13px !important;
  
  letter-spacing: .04em !important;
}

body.erp-app .login-card #loginSubmitBtn:hover:not(:disabled) {
  border-color: var(--wb-accent-hover) !important;
  background: var(--wb-accent-hover) !important;
}

body.erp-app .login-card #loginSubmitBtn:disabled {
  cursor: not-allowed !important;
  border-color: var(--wb-line) !important;
  background: var(--wb-surface-soft) !important;
  color: var(--wb-subtle) !important;
  opacity: 1 !important;
}

body.erp-app .login-error {
  min-height: 18px !important;
  margin: 0 !important;
  color: var(--wb-danger) !important;
  
  
}

/* Single calm main frame. */
body.erp-app #appView {
  grid-template-columns: 116px minmax(0, 1fr) !important;
  gap: 0 !important;
  padding: 10px !important;
  background: transparent !important;
}

body.erp-app .sidebar {
  
  
  
  
  
  
  
  
  
  
  
}

body.erp-app .workspace {
  
  
  
  
  
  
  
}

body.erp-app .workspace .content,
body.erp-app .workspace .view,
body.erp-app .workspace .view.active {
  
  
  
}

body.erp-app .sidebar .brand {
  
  
  
  
  
  
  
  
}

body.erp-app .brand:hover {
  background: transparent !important;
}

body.erp-app .brand img {
  
  
  
  
  
}

body.erp-app .nav {
  
  
  
  
}

body.erp-app .nav button {
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
}

body.erp-app .nav button:hover,
body.erp-app .nav button:focus-visible {
  background: var(--wb-surface-soft) !important;
  color: var(--wb-text) !important;
  outline: none !important;
}

body.erp-app .nav button.active {
  
  
}

body.erp-app .nav button.active::before {
  content: "" !important;
  position: absolute !important;
  left: -8px !important;
  top: 9px !important;
  bottom: 9px !important;
  width: 3px !important;
  border-radius: 999px !important;
  background: var(--wb-accent) !important;
}

body.erp-app .nav button.active span,
body.erp-app .nav button.active svg {
  color: var(--wb-accent) !important;
}

body.erp-app .sidebar-user {
  
  
  
}

body.erp-app .user-menu {
  
}

body.erp-app .user-name {
  
  
  
  
  
  
  
  
}

body.erp-app .user-name:hover,
body.erp-app .user-name:focus-visible {
  border-color: var(--wb-line-strong) !important;
  background: var(--wb-surface-soft) !important;
  color: var(--wb-text) !important;
}

body.erp-app .user-popover {
  
  
  
  
  
  
}

body.erp-app .user-menu-action {
  
  
  
  
  
  
  
  
  
  
  
}

body.erp-app .user-menu-action:hover,
body.erp-app .user-menu-action:focus-visible {
  background: var(--wb-accent-soft) !important;
  color: var(--wb-accent) !important;
}

body.erp-app .logout-action {
  
  
  
  
}

body.erp-app .logout-action:hover {
  background: var(--wb-danger-soft) !important;
  color: var(--wb-danger) !important;
}

/* All workbench pages share one direct content frame. */
body.source-inbox-app .inbox-shell,
body.copywriting-app .workspaceShell,
body.erp-app .image-opt-shell,
body.erp-app .export-listing-shell {
  height: 100% !important;
  min-height: 0 !important;
  background: transparent !important;
}

body.copywriting-app .workspaceShell {
  
  
  
}

body.source-inbox-app .inbox-toolbar,
body.copywriting-app .commandBar,
body.erp-app .image-opt-command-bar,
body.erp-app .export-listing-header {
  min-height: 56px !important;
  height: 56px !important;
  max-height: 56px !important;
  padding: 0 16px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--wb-line) !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}

body.copywriting-app .commandBar {
  
  
}

/* Button language: neutral outline, quiet danger, single primary. */
body.source-inbox-app .inbox-action,
body.copywriting-app .pageClearButton,
body.copywriting-app .selectionDeleteButton,
body.copywriting-app .workflowButton,
body.copywriting-app .embeddedRemovalButton,
body.erp-app .page-clear-button,
body.erp-app .image-tool-button,
body.erp-app .image-open-doubao,
body.erp-app .image-inline-delete,
body.erp-app .image-transfer-export,
body.erp-app .export-mapping-button,
body.erp-app .export-complete-button,
body.erp-app .export-quiet-delete,
body.erp-app .system-check-button,
body.erp-app .account-add-button,
body.erp-app .account-editor-primary,
body.erp-app .account-editor-secondary,
body.erp-app .modal-btn,
body.infringement-app .button,
body.api-app .action-button,
body.api-app .quick-button,
body.api-app .icon-button,
body.templates-app .primary,
body.templates-app .secondary,
body.watermark-app .primary,
body.watermark-app .secondary,
body.watermark-app .white {
  min-height: 32px !important;
  height: 32px !important;
  padding: 0 13px !important;
  border: 1px solid var(--wb-line-strong) !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: var(--wb-muted) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 30px !important;
  white-space: nowrap !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

body.source-inbox-app .inbox-action:hover:not(:disabled),
body.copywriting-app .pageClearButton:hover:not(:disabled),
body.copywriting-app .selectionDeleteButton:hover:not(:disabled),
body.copywriting-app .workflowButton:hover:not(:disabled),
body.copywriting-app .embeddedRemovalButton:hover:not(:disabled),
body.erp-app .page-clear-button:hover:not(:disabled),
body.erp-app .image-tool-button:hover:not(:disabled),
body.erp-app .image-open-doubao:hover:not(:disabled),
body.erp-app .image-inline-delete:hover:not(:disabled),
body.erp-app .image-transfer-export:hover:not(:disabled),
body.erp-app .export-mapping-button:hover:not(:disabled),
body.erp-app .export-complete-button:hover:not(:disabled),
body.erp-app .export-quiet-delete:hover:not(:disabled),
body.erp-app .system-check-button:hover:not(:disabled),
body.erp-app .account-editor-primary:hover:not(:disabled),
body.erp-app .account-editor-secondary:hover:not(:disabled),
body.erp-app .modal-btn:hover:not(:disabled),
body.infringement-app .button:hover:not(:disabled),
body.api-app .action-button:hover:not(:disabled),
body.api-app .quick-button:hover:not(:disabled),
body.api-app .icon-button:hover:not(:disabled),
body.templates-app .primary:hover:not(:disabled),
body.templates-app .secondary:hover:not(:disabled),
body.watermark-app .primary:hover:not(:disabled),
body.watermark-app .secondary:hover:not(:disabled),
body.watermark-app .white:hover:not(:disabled) {
  border-color: var(--wb-line-strong) !important;
  background: var(--wb-surface-hover) !important;
  color: var(--wb-text) !important;
  box-shadow: none !important;
}

body.source-inbox-app .inbox-action.primary,
body.copywriting-app .selectionPromptButton,
body.copywriting-app .embeddedRemovalButton.primary,
body.erp-app .image-open-doubao,
body.erp-app .image-transfer-export,
body.erp-app .export-mapping-button:not(.secondary),
body.erp-app .export-complete-button,
body.erp-app .system-check-button.primary,
body.erp-app .account-add-button,
body.erp-app .account-editor-primary,
body.erp-app .modal-btn.confirm:not(.danger),
body.infringement-app .button.primary,
body.api-app .action-button.primary,
body.templates-app .primary,
body.watermark-app .primary,
body.watermark-app .sync {
  border-color: var(--wb-accent) !important;
  background: var(--wb-accent) !important;
  color: #fff !important;
}

body.source-inbox-app .inbox-action.primary:hover:not(:disabled),
body.copywriting-app .selectionPromptButton:hover:not(:disabled),
body.copywriting-app .embeddedRemovalButton.primary:hover:not(:disabled),
body.erp-app .image-open-doubao:hover:not(:disabled),
body.erp-app .image-transfer-export:hover:not(:disabled),
body.erp-app .export-mapping-button:not(.secondary):hover:not(:disabled),
body.erp-app .export-complete-button:hover:not(:disabled),
body.erp-app .system-check-button.primary:hover:not(:disabled),
body.erp-app .account-add-button:hover:not(:disabled),
body.erp-app .account-editor-primary:hover:not(:disabled),
body.erp-app .modal-btn.confirm:not(.danger):hover:not(:disabled),
body.infringement-app .button.primary:hover:not(:disabled),
body.api-app .action-button.primary:hover:not(:disabled),
body.templates-app .primary:hover:not(:disabled),
body.watermark-app .primary:hover:not(:disabled),
body.watermark-app .sync:hover:not(:disabled) {
  border-color: var(--wb-accent-hover) !important;
  background: var(--wb-accent-hover) !important;
  color: #fff !important;
}

body.source-inbox-app .inbox-action.danger,
body.copywriting-app .selectionDeleteButton,
body.copywriting-app .embeddedRemovalButton.danger,
body.erp-app .image-inline-delete,
body.erp-app .export-quiet-delete,
body.erp-app .page-clear-button.danger,
body.copywriting-app .pageClearButton.danger,
body.erp-app .modal-btn.confirm.danger,
body.infringement-app .button.danger {
  border-color: rgba(166, 81, 76, .18) !important;
  background: var(--wb-danger-soft) !important;
  color: var(--wb-danger) !important;
}

body.source-inbox-app .inbox-action.danger:hover:not(:disabled),
body.copywriting-app .selectionDeleteButton:hover:not(:disabled),
body.copywriting-app .embeddedRemovalButton.danger:hover:not(:disabled),
body.erp-app .image-inline-delete:hover:not(:disabled),
body.erp-app .export-quiet-delete:hover:not(:disabled),
body.erp-app .page-clear-button.danger:hover:not(:disabled),
body.copywriting-app .pageClearButton.danger:hover:not(:disabled),
body.erp-app .modal-btn.confirm.danger:hover:not(:disabled),
body.infringement-app .button.danger:hover:not(:disabled) {
  border-color: rgba(166, 81, 76, .28) !important;
  background: #f7e7e5 !important;
  color: var(--wb-danger-hover) !important;
}

body.source-inbox-app button:disabled,
body.copywriting-app button:disabled,
body.erp-app button:disabled,
body.infringement-app button:disabled,
body.api-app button:disabled,
body.templates-app button:disabled,
body.watermark-app button:disabled {
  cursor: not-allowed !important;
  border-color: var(--wb-line) !important;
  background: var(--wb-surface-soft) !important;
  color: var(--wb-subtle) !important;
  opacity: 1 !important;
  box-shadow: none !important;
}

body.erp-app .page-clear-button,
body.copywriting-app .pageClearButton {
  min-width: 104px !important;
}

body.source-inbox-app .inbox-pagination,
body.erp-app .workflow-pagination,
body.copywriting-app .copywritingPager,
body.infringement-app .pagination {
  
  
  
  
  
  
  
}

body.source-inbox-app #pageSizeSelect,
body.source-inbox-app .inbox-pagination button,
body.erp-app .workflow-pagination button,
body.copywriting-app .copywritingPager button,
body.infringement-app .pagination button,
body.infringement-app .page-jump button {
  
  
  
  
  
  
  
  
  
  
  
}

/* Consistent table foundation. */
body.source-inbox-app .inbox-list,
body.copywriting-app .previewTableWrap,
body.copywriting-app .outputTableWrap,
body.copywriting-app .embeddedRemovalTableWrap,
body.erp-app .image-opt-table-wrap,
body.erp-app .export-listing-table-wrap {
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
}

body.source-inbox-app .inbox-list,
body.copywriting-app .tableWrap,
body.erp-app .image-opt-table-card,
body.erp-app .export-listing-table-wrap {
  box-shadow: none !important;
}

body.source-inbox-app .inbox-table,
body.copywriting-app #dataTable,
body.copywriting-app #outputTable,
body.copywriting-app #embeddedRemovalTable,
body.erp-app #imageOptimizationTable,
body.erp-app #exportListingTable {
  font-size: 13px !important;
  color: var(--wb-text) !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

body.source-inbox-app .inbox-table thead th,
body.copywriting-app #dataTable th,
body.copywriting-app #outputTable th,
body.copywriting-app #embeddedRemovalTable th,
body.erp-app #imageOptimizationTable th,
body.erp-app #exportListingTable th,
body.erp-app .account-table-header {
  
  
  
  
  
  
  
  
  
  
  
  
}

body.source-inbox-app .inbox-table tbody td,
body.copywriting-app #dataTable td,
body.copywriting-app #outputTable td,
body.copywriting-app #embeddedRemovalTable td,
body.erp-app #imageOptimizationTable td,
body.erp-app #exportListingTable td {
  height: 58px !important;
  min-height: 58px !important;
  padding: 7px 10px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--wb-line) !important;
  background: #fff !important;
  color: var(--wb-text) !important;
  font-size: 13px !important;
  line-height: 19px !important;
  vertical-align: middle !important;
}

body.source-inbox-app .inbox-table tbody tr:last-child td,
body.copywriting-app #dataTable tbody tr:last-child td,
body.copywriting-app #outputTable tbody tr:last-child td,
body.copywriting-app #embeddedRemovalTable tbody tr:last-child td,
body.erp-app #imageOptimizationTable tbody tr:last-child td,
body.erp-app #exportListingTable tbody tr:last-child td {
  border-bottom: 0 !important;
}

body.source-inbox-app .inbox-table tbody tr:hover td,
body.copywriting-app #dataTable tbody tr:hover td,
body.copywriting-app #outputTable tbody tr:hover td,
body.copywriting-app #embeddedRemovalTable tbody tr:hover td,
body.erp-app #imageOptimizationTable tbody tr:hover td,
body.erp-app #exportListingTable tbody tr:hover td {
  background: #f8faf6 !important;
}

body.source-inbox-app .inbox-row.selected td,
body.source-inbox-app .inbox-row.selected:hover td,
body.copywriting-app #dataTable tbody tr.selected td,
body.copywriting-app #embeddedRemovalTable tbody tr.selected td,
body.erp-app #imageOptimizationTable tbody tr.selected td,
body.erp-app #exportListingTable tbody tr.selected td {
  background: var(--wb-accent-softer) !important;
  box-shadow: inset 3px 0 0 var(--wb-accent) !important;
}

body.source-inbox-app .inbox-table input[type="checkbox"],
body.source-inbox-app input[type="checkbox"],
body.copywriting-app input[type="checkbox"],
body.erp-app input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  margin: 0 !important;
  accent-color: var(--wb-accent) !important;
  cursor: pointer !important;
}

body.copywriting-app .emptyCell,
body.copywriting-app .embeddedRemovalEmpty,
body.infringement-app .empty-state,
body.templates-app .empty {
  min-height: 260px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  color: var(--wb-subtle) !important;
  background: transparent !important;
  font-size: 12px !important;
}

body.copywriting-app .emptyCell::before,
body.copywriting-app .embeddedRemovalEmpty::before,
body.infringement-app .empty-state::before,
body.templates-app .empty::before {
  content: "" !important;
  width: 38px !important;
  height: 38px !important;
  display: block !important;
  border: 1px solid var(--wb-line) !important;
  border-radius: 12px !important;
  background: var(--wb-accent-soft) !important;
}

/* Copywriting segmented controls. */
body.copywriting-app .workflowActions {
  display: inline-flex !important;
  align-items: center !important;
  gap: 2px !important;
  height: 34px !important;
  padding: 3px !important;
  border: 1px solid var(--wb-line) !important;
  border-radius: 10px !important;
  background: var(--wb-surface-soft) !important;
}

body.copywriting-app .workflowButton {
  
  
  
  
  
  
  
  
  
  
}

body.copywriting-app .workflowButton:hover {
  color: var(--wb-text) !important;
  background: rgba(255, 255, 255, .72) !important;
}

body.copywriting-app .workflowButton[aria-pressed="true"],
body.copywriting-app .workflowButton.active {
  
  
  
}

body.copywriting-app .contentCard {
  
  
  
}

body.copywriting-app .workspacePanel {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

body.copywriting-app .previewTableWrap {
  
  
}

body.copywriting-app .tableFootnote {
  
  
  
  
  color: var(--wb-subtle) !important;
  font-size: 12px !important;
}

body.copywriting-app .parseWorkspace {
  
  
  
  
}

body.copywriting-app .parseInputPane,
body.copywriting-app .embeddedRemovalPane {
  
  
  
  
}

body.copywriting-app .parseInputPane {
  
}

body.copywriting-app .editor {
  
  
  
  color: var(--wb-text) !important;
  font-family: var(--wb-font) !important;
  font-size: 13px !important;
  line-height: 22px !important;
}

body.copywriting-app .editor:focus {
  border-color: rgba(47, 107, 79, .42) !important;
  box-shadow: 0 0 0 3px var(--wb-focus) !important;
}

body.copywriting-app .cellCopyButton {
  
  
  
  
  
}

body.copywriting-app .cellCopyButton:hover {
  background: var(--wb-surface-soft) !important;
  color: var(--wb-text) !important;
}

body.erp-app .image-opt-table-card,
body.erp-app .export-listing-table-wrap {
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
}

body.erp-app .image-opt-table-wrap,
body.erp-app .export-listing-table-wrap {
  
}

body.erp-app .image-opt-thumbnail,
body.erp-app .export-optimized-thumb,
body.erp-app .image-placeholder,
body.erp-app .optimized-placeholder {
  
  
  
  
  
  background: var(--wb-surface-soft) !important;
  
}

body.erp-app .workflow-pagination {
  
  
  
  
}

/* Detail drawer. */
body.source-inbox-app .inbox-detail-panel,
body.erp-app .product-detail-drawer {
  width: min(680px, 100vw) !important;
  max-width: 680px !important;
  border: 0 !important;
  border-left: 1px solid var(--wb-line) !important;
  background: #fff !important;
  box-shadow: -28px 0 70px rgba(43, 58, 49, .12) !important;
}

body.source-inbox-app .inbox-detail-content,
body.erp-app .product-detail-body {
  padding: 20px !important;
}

body.source-inbox-app .icon-button,
body.erp-app .product-detail-close {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  border: 1px solid var(--wb-line) !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: var(--wb-subtle) !important;
  box-shadow: 0 6px 16px rgba(43, 58, 49, .08) !important;
}

body.source-inbox-app .icon-button:hover,
body.erp-app .product-detail-close:hover {
  border-color: var(--wb-line-strong) !important;
  background: var(--wb-surface-soft) !important;
  color: var(--wb-text) !important;
}

body.source-inbox-app .detail-section,
body.erp-app .product-detail-body section,
body.erp-app .product-detail-body .detail-section {
  border: 1px solid var(--wb-line) !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: none !important;
}

body.source-inbox-app .detail-section h3,
body.erp-app .product-detail-body h3 {
  color: var(--wb-text) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
}

body.source-inbox-app .detail-grid dt,
body.erp-app .product-detail-body dt {
  color: var(--wb-subtle) !important;
  font-size: 12px !important;
}

body.source-inbox-app .detail-grid dd,
body.erp-app .product-detail-body dd {
  color: var(--wb-text) !important;
  font-size: 13px !important;
}

/* Status pills. */
body.erp-app .image-status-badge,
body.erp-app .quality-badge,
body.erp-app .account-status-badge,
body.erp-app .mapping-status-badge,
body.erp-app .system-check-badge,
body.infringement-app .status-pill,
body.api-app .status-pill,
body.copywriting-app .copy-status,
body.copywriting-app .embeddedActionStatus {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 22px !important;
  height: 22px !important;
  padding: 0 8px !important;
  border: 1px solid var(--wb-line) !important;
  border-radius: 999px !important;
  background: var(--wb-surface-soft) !important;
  color: var(--wb-muted) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

body.erp-app .image-status-badge.ok,
body.erp-app .quality-badge.ok,
body.erp-app .account-status-badge.active,
body.erp-app .mapping-status-badge.ok,
body.erp-app .system-check-badge.pass,
body.infringement-app .status-pill.green,
body.api-app .status-pill.green,
body.copywriting-app .copy-status.done {
  border-color: rgba(57, 122, 86, .16) !important;
  background: var(--wb-success-soft) !important;
  color: var(--wb-success) !important;
}

body.erp-app .image-status-badge.warning,
body.erp-app .quality-badge.warning,
body.erp-app .mapping-status-badge.warning,
body.erp-app .system-check-badge.warn,
body.infringement-app .status-pill.orange,
body.api-app .status-pill.orange,
body.copywriting-app .copy-status.working,
body.copywriting-app .embeddedActionStatus.warning {
  border-color: rgba(154, 117, 55, .16) !important;
  background: var(--wb-warning-soft) !important;
  color: var(--wb-warning) !important;
}

body.erp-app .image-status-badge.error,
body.erp-app .quality-badge.error,
body.erp-app .account-status-badge.disabled,
body.erp-app .mapping-status-badge.error,
body.erp-app .system-check-badge.fail,
body.infringement-app .status-pill.red,
body.api-app .status-pill.red,
body.copywriting-app .copy-status.error,
body.copywriting-app .embeddedActionStatus.error {
  border-color: rgba(166, 81, 76, .16) !important;
  background: var(--wb-danger-soft) !important;
  color: var(--wb-danger) !important;
}

/* Settings/library pages become quieter centered surfaces. */
body.infringement-app .library-page,
body.templates-app .template-page,
body.api-app .api-page {
  background: var(--wb-page) !important;
}

body.infringement-app .library-card,
body.templates-app .template-card {
  
  
  
  
  
  
  
}

body.infringement-app .library-toolbar,
body.templates-app .toolbar {
  
  
  
  
  
}

body.infringement-app .library-toolbar,
body.templates-app .toolbar {
  
  
  
  
}

body.infringement-app .count-dashboard,
body.templates-app .count-dashboard {
  
  
}

body.infringement-app .metric-card,
body.templates-app .metric-card {
  
  
  
  
  
  
  
  
  
  
  
}

body.infringement-app .metric-card .metric-value,
body.templates-app .metric-card .metric-value {
  
  
  
  
}

body.infringement-app .metric-card .metric-eyebrow,
body.templates-app .metric-card .metric-eyebrow {
  color: var(--wb-subtle) !important;
  font-size: 12px !important;
}

body.infringement-app .metric-card .metric-foot,
body.templates-app .metric-card .metric-foot {
  
  color: var(--wb-subtle) !important;
}

body.api-app .api-page {
  
  
  
  
  
}

body.api-app .api-sidebar {
  
  
}

body.api-app .sidebar-head,
body.api-app .editor-bar {
  height: 56px !important;
  min-height: 56px !important;
  border-color: var(--wb-line) !important;
  background: #fff !important;
}

body.api-app .connection-card {
  
  
}

body.api-app .connection-card:hover {
  border-color: var(--wb-line) !important;
  background: var(--wb-surface-soft) !important;
  box-shadow: none !important;
}

body.api-app .connection-card.active {
  
  
  
}

body.api-app .panel-card,
body.api-app .result-card,
body.api-app .empty-panel {
  width: min(920px, 100%) !important;
  
  
  
  
}

body.api-app .editor-body {
  
}

body.api-app .field-grid.two {
  gap: 12px !important;
}

body.api-app .field span,
body.api-app .provider-select span {
  
  
  
}

body.api-app .field input,
body.api-app .field select,
body.api-app .field textarea,
body.api-app .provider-select select {
  
  
  
  
  color: var(--wb-text) !important;
  
}

body.api-app .field textarea {
  
}

body.api-app .field input:focus,
body.api-app .field select:focus,
body.api-app .field textarea:focus,
body.api-app .provider-select select:focus {
  border-color: rgba(47, 107, 79, .46) !important;
  box-shadow: 0 0 0 3px var(--wb-focus) !important;
}

body.api-app .advanced-card {
  
}

body.api-app .advanced-card summary {
  
  color: var(--wb-muted) !important;
  
  font-weight: 650 !important;
}

body.api-app .editor-actions {
  
  
  
  
}

/* Accounts and system check. */
body.erp-app .view-accounts,
body.erp-app .view-system-check {
  padding: 18px !important;
  overflow: auto !important;
  background: var(--wb-page) !important;
}

body.erp-app .accounts-page-minimal,
body.erp-app .system-check-page {
  
  
}

body.erp-app .accounts-shell-minimal {
  
  
  
}

body.erp-app .accounts-primary-action {
  
  
}

body.erp-app .account-add-button {
  
}

body.erp-app .accounts-list-panel {
  
  
  
  
}

body.erp-app .account-table-header,
body.erp-app .account-table-row {
  
  
}

body.erp-app .account-table-header {
  
  
}

body.erp-app .account-table-row {
  
  
}

body.erp-app .account-table-row:hover {
  background: #f8faf6 !important;
}

body.erp-app .account-table-cell-name > span {
  
  
  
}

body.erp-app .account-table-cell-account {
  
  
  
}

body.erp-app .account-more-button {
  
  
  
  
  
  
  
  
}

body.erp-app .system-check-page {
  
  
  
}

body.erp-app .system-check-header {
  
  
  
  
}

body.erp-app .system-check-list {
  border: 1px solid var(--wb-line) !important;
  
  background: #fff !important;
  
}

body.erp-app .system-check-row {
  
  
  
}

body.erp-app .system-check-row:last-child {
  border-bottom: 0 !important;
}

/* Shared overlays and feedback. */
body.erp-app .modal-backdrop,
body.erp-app .account-editor-backdrop,
body.erp-app .product-detail-backdrop,
body.erp-app .erp-image-zoom-backdrop,
body.infringement-app .dialog-backdrop {
  background: rgba(34, 43, 38, .30) !important;
  backdrop-filter: blur(3px) !important;
  -webkit-backdrop-filter: blur(3px) !important;
}

body.erp-app .system-modal,
body.erp-app .account-editor-modal,
body.erp-app .export-file-modal,
body.erp-app .watermark-tool-modal,
body.erp-app .erp-image-zoom-dialog,
body.infringement-app .dialog-card {
  
  
  
  
}

body.erp-app .system-modal {
  
}

body.erp-app .system-modal-copy {
  
}

body.erp-app .system-modal-copy h2 {
  
  
}

body.erp-app .system-modal-copy p {
  
  
  
}

body.erp-app #systemModal .system-modal-actions,
body.erp-app #exportFileModal .export-file-modal-actions,
body.erp-app .account-editor-actions,
body.infringement-app .dialog-footer {
  
  
  
  
  
  
  
}

body.erp-app #systemModal .modal-btn,
body.erp-app #exportFileModal .modal-btn,
body.erp-app .account-editor-actions button,
body.infringement-app .dialog-footer .button {
  
}

body.erp-app .account-editor-modal {
  
}

body.erp-app .account-editor-body {
  padding: 16px 18px 12px !important;
}

body.erp-app .account-editor-field {
  display: grid !important;
  gap: 6px !important;
  
}

body.erp-app .account-editor-field > span {
  color: var(--wb-muted) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
}

body.erp-app .account-editor-field input {
  width: 100% !important;
  height: 36px !important;
  padding: 0 11px !important;
  border: 1px solid var(--wb-line-strong) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--wb-text) !important;
  font-size: 13px !important;
}

body.erp-app .account-editor-field input:focus {
  border-color: rgba(47, 107, 79, .46) !important;
  box-shadow: 0 0 0 3px var(--wb-focus) !important;
}

body.erp-app .export-file-modal {
  
}

body.erp-app .export-file-modal label {
  color: var(--wb-muted) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
}

body.erp-app .export-file-modal select,
body.erp-app .export-file-modal input {
  width: 100% !important;
  height: 36px !important;
  padding: 0 11px !important;
  border: 1px solid var(--wb-line-strong) !important;
  border-radius: 8px !important;
  background: #fff !important;
}

body.erp-app .erp-toast,
body.source-inbox-app .inbox-toast,
body.copywriting-app .moduleToast,
body.infringement-app .module-toast,
body.api-app .module-toast,
body.templates-app .toast,
body.watermark-app .watermark-toast {
  max-width: min(480px, calc(100vw - 32px)) !important;
  min-height: 36px !important;
  padding: 9px 14px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: rgba(35, 44, 38, .94) !important;
  color: #fff !important;
  box-shadow: 0 18px 44px rgba(34, 43, 38, .18) !important;
  font-size: 12px !important;
  line-height: 18px !important;
  text-align: center !important;
}

body.source-inbox-app .inbox-toast.error,
body.copywriting-app .moduleToast.error,
body.infringement-app .module-toast.error,
body.api-app .module-toast.error,
body.templates-app .toast.error,
body.watermark-app .watermark-toast.error {
  background: rgba(136, 68, 62, .96) !important;
}

body.source-inbox-app .inbox-toast.warning,
body.copywriting-app .moduleToast.warning,
body.infringement-app .module-toast.warning,
body.api-app .module-toast.warning,
body.templates-app .toast.warning,
body.watermark-app .watermark-toast.warning {
  background: rgba(126, 95, 45, .96) !important;
}

body.source-inbox-app .inbox-toast.success,
body.copywriting-app .moduleToast.success,
body.infringement-app .module-toast.success,
body.api-app .module-toast.success,
body.templates-app .toast.success,
body.watermark-app .watermark-toast.success {
  background: rgba(45, 103, 71, .96) !important;
}

body.erp-app .export-listing-header {
  
  
  justify-content: space-between !important;
  
}

body.erp-app .export-mapping-center,
body.erp-app .export-listing-actions {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

body.erp-app .export-last-meta,
body.erp-app .image-cloudflare-status {
  color: var(--wb-subtle) !important;
  font-size: 12px !important;
}

body.erp-app .permission-empty-view {
  
}

body.erp-app .permission-empty-card {
  
  
  
  
  
  
}

body.erp-app .permission-empty-card p {
  color: var(--wb-subtle) !important;
  font-size: 13px !important;
}

@media (prefers-reduced-motion: reduce) {
  body.erp-app *,
  body.source-inbox-app *,
  body.copywriting-app *,
  body.infringement-app *,
  body.api-app *,
  body.templates-app *,
  body.watermark-app * {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

@media (max-width: 760px) {
  body.erp-app #appView {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    gap: 0 !important;
    padding: 6px !important;
  }

  body.erp-app .sidebar {
    width: 100% !important;
    min-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    flex-direction: row !important;
    align-items: center !important;
    padding: 6px 8px !important;
    border: 1px solid var(--wb-line) !important;
    border-bottom: 0 !important;
    border-radius: 14px 14px 0 0 !important;
  }

  body.erp-app .workspace {
    border-radius: 0 0 14px 14px !important;
  }

  body.erp-app .nav {
    flex: 1 1 auto !important;
    flex-direction: row !important;
    justify-content: flex-end !important;
    gap: 2px !important;
  }

  body.erp-app .nav button {
    width: auto !important;
    min-width: 0 !important;
    flex: 0 1 auto !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 9px !important;
  }

  body.erp-app .nav button.active::before {
    display: none !important;
  }

  body.erp-app .sidebar-user {
    display: none !important;
  }

  body.source-inbox-app .inbox-toolbar,
  body.copywriting-app .commandBar,
  body.erp-app .image-opt-command-bar,
  body.erp-app .export-listing-header {
    height: auto !important;
    min-height: 56px !important;
    max-height: none !important;
    flex-wrap: wrap !important;
    padding: 8px 12px !important;
    gap: 6px !important;
  }

  body.erp-app .image-opt-selection-tools,
  body.erp-app .export-mapping-center,
  body.erp-app .export-listing-actions {
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
  }
}

/* Final exact overrides: intentionally repeat high-specificity rules that
   module-tail and page-specific CSS may otherwise win by specificity. */
body.erp-app .nav button .nav-icon {
  display: none !important;
}

body.erp-app .nav button span {
  
  
  max-width: 100% !important;
  
  
  
}

body.erp-app .nav {
  
  
}

body.erp-app .sidebar-user {
  
  
}

/* Keep module headers on one quiet line until the shell really goes compact. */
body.source-inbox-app .inbox-toolbar,
body.copywriting-app .commandBar,
body.erp-app .image-opt-command-bar,
body.erp-app .export-listing-header {
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
}

body.source-inbox-app .inbox-toolbar-primary,
body.source-inbox-app .inbox-selection-actions,
body.erp-app .image-opt-selection-tools,
body.erp-app .image-action-group,
body.erp-app .export-listing-actions,
body.erp-app .export-mapping-center {
  flex-wrap: nowrap !important;
}

body.copywriting-app .commandBar {
  
  justify-items: stretch !important;
}

/* Consistent compact action buttons across every module. */
body.source-inbox-app .inbox-toolbar .inbox-action,
body.copywriting-app .commandSide button,
body.copywriting-app .selectionPromptButton,
body.copywriting-app .embeddedRemovalButton,
body.copywriting-app #parseResultBtn,
body.erp-app .image-opt-command-bar button,
body.erp-app .export-listing-header button,
body.infringement-app .library-toolbar .button,
body.infringement-app .dialog-footer .button,
body.templates-app .toolbar-actions .primary,
body.templates-app .upload-failure-actions .primary,
body.templates-app .upload-failure-actions .secondary,
body.watermark-app #processBtn,
body.watermark-app #syncBtn,
body.watermark-app #addManual,
body.watermark-app #clearRegions,
body.watermark-app #prevImg,
body.watermark-app #nextImg {
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 13px !important;
  border-radius: 9px !important;
  line-height: 30px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}

body.source-inbox-app .inbox-toolbar .inbox-action.danger:not(:disabled),
body.copywriting-app .selectionDeleteButton:not(:disabled),
body.copywriting-app .embeddedRemovalButton.danger:not(:disabled),
body.erp-app .image-inline-delete:not(:disabled),
body.erp-app .export-quiet-delete:not(:disabled),
body.erp-app .page-clear-button.danger:not(:disabled),
body.copywriting-app .pageClearButton.danger:not(:disabled),
body.infringement-app .button.danger:not(:disabled) {
  border-color: rgba(166, 81, 76, .18) !important;
  background: var(--wb-danger-soft) !important;
  color: var(--wb-danger) !important;
}

body.source-inbox-app .inbox-toolbar .inbox-action.primary:not(:disabled),
body.copywriting-app .selectionPromptButton:not(:disabled),
body.copywriting-app .embeddedRemovalButton.primary:not(:disabled),
body.copywriting-app #parseResultBtn:not(:disabled),
body.erp-app .image-open-doubao:not(:disabled),
body.erp-app .image-transfer-export:not(:disabled),
body.erp-app .export-mapping-button:not(.secondary):not(:disabled),
body.erp-app .export-complete-button:not(:disabled),
body.infringement-app .button.primary:not(:disabled),
body.templates-app .primary:not(:disabled),
body.watermark-app #processBtn:not(:disabled),
body.watermark-app .sync:not(:disabled) {
  border-color: var(--wb-accent) !important;
  background: var(--wb-accent) !important;
  color: #fff !important;
}

body.source-inbox-app .inbox-toolbar .inbox-action.primary:hover:not(:disabled),
body.copywriting-app .selectionPromptButton:hover:not(:disabled),
body.copywriting-app .embeddedRemovalButton.primary:hover:not(:disabled),
body.copywriting-app #parseResultBtn:hover:not(:disabled),
body.erp-app .image-open-doubao:hover:not(:disabled),
body.erp-app .image-transfer-export:hover:not(:disabled),
body.erp-app .export-mapping-button:not(.secondary):hover:not(:disabled),
body.erp-app .export-complete-button:hover:not(:disabled),
body.infringement-app .button.primary:hover:not(:disabled),
body.templates-app .primary:hover:not(:disabled),
body.watermark-app #processBtn:hover:not(:disabled),
body.watermark-app .sync:hover:not(:disabled) {
  border-color: var(--wb-accent-hover) !important;
  background: var(--wb-accent-hover) !important;
  color: #fff !important;
}

body.source-inbox-app .inbox-toolbar .inbox-action:disabled,
body.copywriting-app .commandSide button:disabled,
body.copywriting-app .selectionPromptButton:disabled,
body.copywriting-app .embeddedRemovalButton:disabled,
body.copywriting-app #parseResultBtn:disabled,
body.erp-app .image-opt-command-bar button:disabled,
body.erp-app .export-listing-header button:disabled,
body.infringement-app .library-toolbar .button:disabled,
body.infringement-app .dialog-footer .button:disabled,
body.templates-app .toolbar-actions .primary:disabled,
body.templates-app .upload-failure-actions .primary:disabled,
body.templates-app .upload-failure-actions .secondary:disabled,
body.watermark-app #processBtn:disabled,
body.watermark-app #syncBtn:disabled {
  border-color: var(--wb-line) !important;
  background: var(--wb-surface-soft) !important;
  color: var(--wb-subtle) !important;
  opacity: 1 !important;
}

/* Quiet segmented control. */
body.copywriting-app .workflowActions {
  height: 32px !important;
  min-height: 32px !important;
  padding: 2px !important;
  gap: 2px !important;
  border: 1px solid var(--wb-line) !important;
  background: var(--wb-surface-soft) !important;
}

body.copywriting-app .workflowButton {
  
  
  
  
  
  
  
  
  
  
  
}

body.copywriting-app .workflowButton:hover,
body.copywriting-app .workflowButton:focus-visible {
  background: rgba(255, 255, 255, .78) !important;
  color: var(--wb-text) !important;
  box-shadow: none !important;
}

body.copywriting-app .workflowActions .workflowButton.active,
body.copywriting-app .workflowActions .workflowButton[aria-pressed="true"] {
  border: 0 !important;
  background: #fff !important;
  color: var(--wb-accent) !important;
  box-shadow: 0 1px 5px rgba(43, 58, 49, .10) !important;
}

/* Settings pages: remove oversized old primary accents and keep cards quiet. */
body.infringement-app .library-card,
body.templates-app .template-card {
  width: min(1320px, 100%) !important;
  margin: 0 auto !important;
  background: #fff !important;
}

body.infringement-app .metric-card,
body.templates-app .metric-card {
  
  
}

body.infringement-app .metric-card .metric-value,
body.templates-app .metric-card .metric-value {
  
  
}

body.infringement-app .button.secondary:not(:disabled),
body.templates-app .secondary:not(:disabled),
body.api-app .action-button.secondary:not(:disabled),
body.api-app .action-button.ghost:not(:disabled) {
  border-color: var(--wb-line-strong) !important;
  background: #fff !important;
  color: var(--wb-muted) !important;
}

body.infringement-app .button.secondary:hover:not(:disabled),
body.templates-app .secondary:hover:not(:disabled),
body.api-app .action-button.secondary:hover:not(:disabled),
body.api-app .action-button.ghost:hover:not(:disabled) {
  border-color: var(--wb-line-strong) !important;
  background: var(--wb-surface-hover) !important;
  color: var(--wb-text) !important;
}

@media (max-width: 700px) {
  body.source-inbox-app .inbox-toolbar,
  body.copywriting-app .commandBar,
  body.erp-app .image-opt-command-bar,
  body.erp-app .export-listing-header {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    height: auto !important;
    min-height: 56px !important;
    max-height: none !important;
    align-content: center !important;
    gap: 6px !important;
  }

  body.source-inbox-app .inbox-toolbar-primary,
  body.source-inbox-app .inbox-selection-actions,
  body.erp-app .image-opt-selection-tools,
  body.erp-app .image-action-group,
  body.erp-app .export-listing-actions,
  body.erp-app .export-mapping-center {
    flex-wrap: wrap !important;
  }
}

/* Exact clear-button overrides used by module-tail with very high specificity. */
body.copywriting-app .commandBar[data-panel="preview"] #clearCopywritingPage,
body.copywriting-app .commandBar[data-panel="parse"] #clearParsePage,
body.erp-app .image-opt-command-spacer #clearImagePage,
body.erp-app .export-clear-toolbar #clearExportPage {
  width: auto !important;
  min-width: 128px !important;
  max-width: none !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  padding: 0 16px !important;
  border-radius: 9px !important;
  line-height: 30px !important;
}

body.source-inbox-app #clearAllBtn,
body.source-inbox-app #deleteSelectedBtn,
body.source-inbox-app #transferCopyBtn,
body.erp-app #startExportMapping,
body.erp-app #exportCompleteTable,
body.erp-app #exportMissingTemplatePlan,
body.copywriting-app #generatePrompt,
body.copywriting-app #parseResultBtn,
body.copywriting-app #embeddedTransferExport,
body.copywriting-app #embeddedDeleteRemovalSelected,
body.copywriting-app #embeddedStripBrandTerms {
  width: auto !important;
  max-width: none !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
}

/* API provider actions should stay quiet instead of carrying old brand colors. */
body.api-app .action-button.deepseek:not(:disabled),
body.api-app .action-button.r2:not(:disabled),
body.api-app .quick-button.deepseek:not(:disabled),
body.api-app .quick-button.r2:not(:disabled) {
  border-color: var(--wb-line-strong) !important;
  background: #fff !important;
  color: var(--wb-muted) !important;
}

body.api-app .action-button.deepseek:hover:not(:disabled),
body.api-app .action-button.r2:hover:not(:disabled),
body.api-app .quick-button.deepseek:hover:not(:disabled),
body.api-app .quick-button.r2:hover:not(:disabled) {
  border-color: var(--wb-line-strong) !important;
  background: var(--wb-surface-hover) !important;
  color: var(--wb-text) !important;
}

body.api-app .action-button.deepseek:disabled,
body.api-app .action-button.r2:disabled,
body.api-app .quick-button.deepseek:disabled,
body.api-app .quick-button.r2:disabled {
  border-color: var(--wb-line) !important;
  background: var(--wb-surface-soft) !important;
  color: var(--wb-subtle) !important;
  opacity: 1 !important;
}


/* Final visual layer for the YFTX workbench.
   This file only changes presentation. Business behavior stays untouched. */

:root,
body.erp-app,
body.source-inbox-app,
body.copywriting-app,
body.infringement-app,
body.api-app,
body.templates-app,
body.watermark-app {
  color-scheme: light;
  --wb-page: #eef2f0;
  --wb-page-soft: #f6f8f7;
  --wb-surface: #ffffff;
  --wb-surface-soft: #f4f7f5;
  --wb-surface-hover: #eaf0ec;
  --wb-text: #202824;
  --wb-muted: #66746c;
  --wb-subtle: #94a19a;
  --wb-line: #e4eae6;
  --wb-line-strong: #ccd7d0;
  --wb-accent: #3f7a63;
  --wb-accent-hover: #346955;
  --wb-accent-active: #2c5948;
  --wb-accent-soft: #edf5f1;
  --wb-accent-softer: #f7fbf9;
  --wb-danger: #a45d57;
  --wb-danger-hover: #8e4c47;
  --wb-danger-soft: #faf1ef;
  --wb-success: #4f8767;
  --wb-success-soft: #eef7f1;
  --wb-warning: #8f713d;
  --wb-warning-soft: #faf5ea;
  --wb-focus: rgba(63, 122, 99, .16);
  --wb-shadow-pop: 0 14px 36px rgba(32, 40, 36, .08);
  --wb-shadow-modal: 0 28px 80px rgba(24, 34, 29, .18);
  --wb-r-control: 8px;
  --wb-r-card: 10px;
  --wb-r-panel: 14px;
  --wb-r-modal: 14px;
  --wb-control: 32px;
  --wb-control-small: 28px;
  --wb-font: "SF Pro Text", "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
}

body.erp-app,
body.source-inbox-app,
body.copywriting-app,
body.infringement-app,
body.api-app,
body.templates-app,
body.watermark-app {
  
  
  
}

body.erp-app :is(button, input, select, textarea),
body.source-inbox-app :is(button, input, select, textarea),
body.copywriting-app :is(button, input, select, textarea),
body.infringement-app :is(button, input, select, textarea),
body.api-app :is(button, input, select, textarea),
body.templates-app :is(button, input, select, textarea),
body.watermark-app :is(button, input, select, textarea) {
  transition: color .14s ease, background-color .14s ease, border-color .14s ease, box-shadow .14s ease;
}

/* Remove the remaining decorative gradients and make the shell a clean frame. */
body.erp-app #loginView {
  background: #eef2f0 !important;
  padding: 18px !important;
}

body.erp-app .login-card {
  
  max-width: 336px !important;
  
  
  
  
  
  
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.erp-app .login-logo-frame {
  margin: 0 0 8px !important;
}

body.erp-app .login-logo {
  width: 84px !important;
  max-width: 84px !important;
  height: auto !important;
  max-height: 68px !important;
  filter: none !important;
}

body.erp-app .login-card form {
  display: grid !important;
  gap: 9px !important;
}

body.erp-app .login-card input {
  
  padding: 0 14px !important;
  border: 1px solid var(--wb-line-strong) !important;
  
  background: #fff !important;
  color: var(--wb-text) !important;
  text-align: center !important;
  box-shadow: none !important;
}

body.erp-app .login-card input:focus {
  border-color: rgba(63, 122, 99, .48) !important;
  box-shadow: 0 0 0 4px var(--wb-focus) !important;
}

body.erp-app .login-card #loginSubmitBtn {
  
  
  margin-top: 2px !important;
  border-color: var(--wb-accent) !important;
  
  background: var(--wb-accent) !important;
  color: #fff !important;
  font-weight: 600 !important;
}

body.erp-app .login-card #loginSubmitBtn:hover:not(:disabled) {
  background: var(--wb-accent-hover) !important;
  border-color: var(--wb-accent-hover) !important;
}

body.erp-app #appView {
  
  
  
  
}

body.erp-app .sidebar {
  
  
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  
  
  
  
  
  
  
}

body.erp-app .workspace {
  
  
  
  
  
  
  
}

body.erp-app .workspace .content,
body.erp-app .workspace .view,
body.erp-app .workspace .view.active {
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

body.erp-app .sidebar .brand {
  
  
  
  
  
  justify-content: center !important;
  border: 0 !important;
  background: transparent !important;
}

body.erp-app .brand:hover {
  background: transparent !important;
}

body.erp-app .brand img {
  
  
  
  object-fit: contain !important;
  filter: none !important;
}

body.erp-app .nav {
  width: 100% !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  align-items: center !important;
  
  
  
}

body.erp-app .nav button {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  
  
  
  
  
  border: 0 !important;
  
  
  
  
  
  
  
}

body.erp-app .nav button .nav-icon {
  display: none !important;
}

body.erp-app .nav button span {
  display: block !important;
  width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.erp-app .nav button:hover,
body.erp-app .nav button:focus-visible {
  background: var(--wb-surface-soft) !important;
  color: var(--wb-text) !important;
  outline: none !important;
}

body.erp-app .nav button.active {
  
  
  
}

body.erp-app .nav button.active::before {
  display: none !important;
}

body.erp-app .sidebar-user {
  
  
  
  
  
}

body.erp-app .user-menu {
  width: 100% !important;
}

body.erp-app .user-name {
  
  
  
  
  
  
  
  
  
}

body.erp-app .user-name:hover,
body.erp-app .user-name:focus-visible {
  border-color: var(--wb-line-strong) !important;
  background: var(--wb-surface-soft) !important;
  color: var(--wb-text) !important;
}

body.erp-app .user-popover {
  position: absolute !important;
  
  
  
  
  
  
  
  
  
  
  
  z-index: 120 !important;
}

body.erp-app .user-menu-action {
  width: 100% !important;
  
  
  
  
  
  
  
  
  
  
}

body.erp-app .user-menu-action:hover,
body.erp-app .user-menu-action:focus-visible {
  background: var(--wb-accent-soft) !important;
  color: var(--wb-accent) !important;
}

body.erp-app .logout-action {
  
  
  
  
}

/* Shared quiet frame for every main work area. */
body.source-inbox-app .inbox-shell,
body.copywriting-app .workspaceShell,
body.erp-app .image-opt-shell,
body.erp-app .export-listing-shell {
  height: 100% !important;
  min-height: 0 !important;
  background: var(--wb-surface) !important;
}

body.copywriting-app .workspaceShell {
  
}

body.source-inbox-app .inbox-toolbar,
body.copywriting-app .commandBar,
body.erp-app .image-opt-command-bar,
body.erp-app .export-listing-header,
body.infringement-app .library-toolbar,
body.templates-app .toolbar,
body.api-app .sidebar-head {
  min-height: 56px !important;
  height: 56px !important;
  max-height: 56px !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--wb-line) !important;
  border-radius: 0 !important;
  background: var(--wb-surface) !important;
  box-shadow: none !important;
}

body.copywriting-app .commandBar {
  display: grid !important;
  
  align-items: center !important;
  
}

body.copywriting-app .commandSideLeft {
  justify-self: start !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

body.copywriting-app .commandMeta {
  
}

body.copywriting-app .commandSide[data-command-panel] {
  display: none !important;
}

body.copywriting-app .commandBar[data-panel="preview"] .previewDangerZone,
body.copywriting-app .commandBar[data-panel="parse"] .parseDangerZone {
  display: flex !important;
}

/* Buttons become small, calm and consistently rounded. */
body.source-inbox-app .inbox-action,
body.copywriting-app .commandSide button,
body.copywriting-app .workflowButton,
body.copywriting-app .selectionPromptButton,
body.copywriting-app .embeddedRemovalButton,
body.copywriting-app #parseResultBtn,
body.erp-app .page-clear-button,
body.erp-app .image-tool-button,
body.erp-app .image-open-doubao,
body.erp-app .image-inline-delete,
body.erp-app .image-transfer-export,
body.erp-app .export-mapping-button,
body.erp-app .export-complete-button,
body.erp-app .export-quiet-delete,
body.erp-app .system-check-button,
body.erp-app .account-add-button,
body.erp-app .account-editor-primary,
body.erp-app .account-editor-secondary,
body.erp-app .modal-btn,
body.infringement-app .button,
body.api-app .action-button,
body.api-app .quick-button,
body.api-app .icon-button,
body.templates-app .primary,
body.templates-app .secondary,
body.watermark-app .primary,
body.watermark-app .secondary,
body.watermark-app .white {
  min-height: 32px !important;
  height: 32px !important;
  max-height: 32px !important;
  padding: 0 14px !important;
  border: 1px solid var(--wb-line-strong) !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: var(--wb-muted) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 30px !important;
  white-space: nowrap !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

body.source-inbox-app .inbox-action:hover:not(:disabled),
body.copywriting-app .commandSide button:hover:not(:disabled),
body.copywriting-app .workflowButton:hover:not(:disabled),
body.copywriting-app .selectionPromptButton:hover:not(:disabled),
body.copywriting-app .embeddedRemovalButton:hover:not(:disabled),
body.erp-app .page-clear-button:hover:not(:disabled),
body.erp-app .image-tool-button:hover:not(:disabled),
body.erp-app .image-open-doubao:hover:not(:disabled),
body.erp-app .image-transfer-export:hover:not(:disabled),
body.erp-app .export-mapping-button:hover:not(:disabled),
body.erp-app .export-complete-button:hover:not(:disabled),
body.erp-app .system-check-button:hover:not(:disabled),
body.erp-app .account-editor-secondary:hover:not(:disabled),
body.erp-app .modal-btn:hover:not(:disabled),
body.infringement-app .button:hover:not(:disabled),
body.api-app .action-button:hover:not(:disabled),
body.api-app .quick-button:hover:not(:disabled),
body.api-app .icon-button:hover:not(:disabled),
body.templates-app .primary:hover:not(:disabled),
body.templates-app .secondary:hover:not(:disabled),
body.watermark-app .primary:hover:not(:disabled),
body.watermark-app .secondary:hover:not(:disabled),
body.watermark-app .white:hover:not(:disabled) {
  border-color: var(--wb-line-strong) !important;
  background: var(--wb-surface-soft) !important;
  color: var(--wb-text) !important;
  box-shadow: none !important;
}

body.source-inbox-app .inbox-action.primary,
body.copywriting-app .selectionPromptButton,
body.copywriting-app .embeddedRemovalButton.primary,
body.erp-app .image-open-doubao,
body.erp-app .image-transfer-export,
body.erp-app .export-mapping-button:not(.secondary),
body.erp-app .export-complete-button,
body.erp-app .system-check-button.primary,
body.erp-app .account-add-button,
body.erp-app .account-editor-primary,
body.erp-app .modal-btn.confirm:not(.danger),
body.infringement-app .button.primary,
body.api-app .action-button.primary,
body.templates-app .primary,
body.watermark-app .primary,
body.watermark-app .sync {
  border-color: var(--wb-accent) !important;
  background: var(--wb-accent) !important;
  color: #fff !important;
}

body.source-inbox-app .inbox-action.primary:hover:not(:disabled),
body.copywriting-app .selectionPromptButton:hover:not(:disabled),
body.copywriting-app .embeddedRemovalButton.primary:hover:not(:disabled),
body.erp-app .image-open-doubao:hover:not(:disabled),
body.erp-app .image-transfer-export:hover:not(:disabled),
body.erp-app .export-mapping-button:not(.secondary):hover:not(:disabled),
body.erp-app .export-complete-button:hover:not(:disabled),
body.erp-app .system-check-button.primary:hover:not(:disabled),
body.erp-app .account-add-button:hover:not(:disabled),
body.erp-app .account-editor-primary:hover:not(:disabled),
body.erp-app .modal-btn.confirm:not(.danger):hover:not(:disabled),
body.infringement-app .button.primary:hover:not(:disabled),
body.api-app .action-button.primary:hover:not(:disabled),
body.templates-app .primary:hover:not(:disabled),
body.watermark-app .primary:hover:not(:disabled),
body.watermark-app .sync:hover:not(:disabled) {
  border-color: var(--wb-accent-hover) !important;
  background: var(--wb-accent-hover) !important;
  color: #fff !important;
}

body.source-inbox-app .inbox-action.danger,
body.copywriting-app .selectionDeleteButton,
body.copywriting-app .embeddedRemovalButton.danger,
body.erp-app .image-inline-delete,
body.erp-app .export-quiet-delete,
body.infringement-app .button.danger {
  border-color: rgba(164, 93, 87, .18) !important;
  background: var(--wb-danger-soft) !important;
  color: var(--wb-danger) !important;
}

body.source-inbox-app .inbox-action.danger:hover:not(:disabled),
body.copywriting-app .selectionDeleteButton:hover:not(:disabled),
body.copywriting-app .embeddedRemovalButton.danger:hover:not(:disabled),
body.erp-app .image-inline-delete:hover:not(:disabled),
body.erp-app .export-quiet-delete:hover:not(:disabled),
body.infringement-app .button.danger:hover:not(:disabled) {
  background: #f5e7e5 !important;
  color: var(--wb-danger-hover) !important;
}

body.source-inbox-app button:disabled,
body.copywriting-app button:disabled,
body.erp-app button:disabled,
body.infringement-app button:disabled,
body.api-app button:disabled,
body.templates-app button:disabled,
body.watermark-app button:disabled {
  cursor: not-allowed !important;
  border-color: var(--wb-line) !important;
  background: var(--wb-surface-soft) !important;
  color: #a4afa8 !important;
  opacity: 1 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

body.erp-app .page-clear-button,
body.copywriting-app .pageClearButton,
body.source-inbox-app #clearAllBtn {
  min-width: 104px !important;
}

body.copywriting-app .workflowActions {
  
  display: inline-flex !important;
  
  
  
  
  
  
  
  
  
}

body.copywriting-app .workflowButton {
  
  
  
  
  
  
  
  
  
  
  
  line-height: 24px !important;
  
}

body.copywriting-app .workflowButton[aria-pressed="true"],
body.copywriting-app .workflowButton.active {
  border: 0 !important;
  background: #fff !important;
  color: var(--wb-accent) !important;
  box-shadow: 0 1px 4px rgba(32, 40, 36, .07) !important;
}

/* Unified table base. */
body.source-inbox-app .inbox-table,
body.copywriting-app #dataTable,
body.copywriting-app #outputTable,
body.copywriting-app #embeddedRemovalTable,
body.erp-app #imageOptimizationTable,
body.erp-app #exportListingTable,
body.erp-app .account-table {
  font-size: 13px !important;
  color: var(--wb-text) !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

body.source-inbox-app .inbox-table thead th,
body.copywriting-app #dataTable th,
body.copywriting-app #outputTable th,
body.copywriting-app #embeddedRemovalTable th,
body.erp-app #imageOptimizationTable th,
body.erp-app #exportListingTable th,
body.erp-app .account-table-header {
  height: 40px !important;
  min-height: 40px !important;
  padding: 7px 10px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--wb-line) !important;
  background: #fafcfb !important;
  color: #6d7b73 !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 18px !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
}

body.source-inbox-app .inbox-table tbody td,
body.copywriting-app #dataTable td,
body.copywriting-app #outputTable td,
body.copywriting-app #embeddedRemovalTable td,
body.erp-app #exportListingTable td,
body.erp-app .account-table-row {
  height: 58px !important;
  min-height: 58px !important;
  padding: 7px 10px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--wb-line) !important;
  background: #fff !important;
  color: var(--wb-text) !important;
  line-height: 19px !important;
  vertical-align: middle !important;
}

body.source-inbox-app .inbox-table tbody tr:last-child td,
body.copywriting-app #dataTable tbody tr:last-child td,
body.copywriting-app #outputTable tbody tr:last-child td,
body.copywriting-app #embeddedRemovalTable tbody tr:last-child td,
body.erp-app #exportListingTable tbody tr:last-child td,
body.erp-app .account-table-row:last-child {
  border-bottom: 0 !important;
}

body.source-inbox-app .inbox-table tbody tr:hover td,
body.copywriting-app #dataTable tbody tr:hover td,
body.copywriting-app #outputTable tbody tr:hover td,
body.copywriting-app #embeddedRemovalTable tbody tr:hover td,
body.erp-app #imageOptimizationTable tbody tr:hover td,
body.erp-app #exportListingTable tbody tr:hover td,
body.erp-app .account-table-row:hover {
  background: #f8faf8 !important;
}

body.source-inbox-app .inbox-row.selected td,
body.source-inbox-app .inbox-row.selected:hover td,
body.copywriting-app #dataTable tbody tr.selected td,
body.copywriting-app #embeddedRemovalTable tbody tr.selected td,
body.erp-app #imageOptimizationTable tbody tr.selected td,
body.erp-app #exportListingTable tbody tr.selected td {
  background: var(--wb-accent-softer) !important;
  box-shadow: none !important;
}

body.source-inbox-app input[type="checkbox"],
body.copywriting-app input[type="checkbox"],
body.erp-app input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  margin: 0 !important;
  accent-color: var(--wb-accent) !important;
  border-radius: 5px !important;
}

body.source-inbox-app .inbox-pagination,
body.erp-app .workflow-pagination,
body.copywriting-app .copywritingPager,
body.infringement-app .pagination {
  min-height: 44px !important;
  height: 44px !important;
  max-height: 44px !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-top: 1px solid var(--wb-line) !important;
  background: #fff !important;
}

body.source-inbox-app #pageSizeSelect,
body.source-inbox-app .inbox-pagination button,
body.erp-app .workflow-pagination button,
body.copywriting-app .copywritingPager button,
body.infringement-app .pagination button,
body.infringement-app .page-jump button {
  height: 28px !important;
  min-height: 28px !important;
  max-height: 28px !important;
  padding: 0 10px !important;
  border: 1px solid var(--wb-line) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--wb-muted) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 26px !important;
  white-space: nowrap !important;
}

body.source-inbox-app .inbox-empty,
body.source-inbox-app .inbox-error-state,
body.copywriting-app .emptyCell,
body.copywriting-app .embeddedRemovalEmpty,
body.infringement-app .empty-state,
body.templates-app .empty {
  min-height: 240px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  color: #97a49c !important;
  background: transparent !important;
  font-size: 12px !important;
  text-align: center !important;
}

body.source-inbox-app .inbox-empty::before,
body.source-inbox-app .inbox-error-state::before,
body.copywriting-app .emptyCell::before,
body.copywriting-app .embeddedRemovalEmpty::before,
body.infringement-app .empty-state::before,
body.templates-app .empty::before {
  content: "" !important;
  width: 38px !important;
  height: 38px !important;
  display: block !important;
  border: 1px solid var(--wb-line) !important;
  border-radius: 12px !important;
  background:
    linear-gradient(135deg, var(--wb-accent-soft), #fff) !important;
  box-shadow: none !important;
}

/* Copywriting table: readable cells with quiet actions. */
body.copywriting-app .contentCard {
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
}

body.copywriting-app .previewTableWrap,
body.copywriting-app .embeddedRemovalTableWrap,
body.copywriting-app .outputTableWrap {
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
}

body.copywriting-app #dataTable,
body.copywriting-app #embeddedRemovalTable,
body.copywriting-app #outputTable {
  width: 100% !important;
  min-width: 1180px !important;
  max-width: none !important;
  table-layout: fixed !important;
}

body.copywriting-app #dataTable td,
body.copywriting-app #embeddedRemovalTable td,
body.copywriting-app #outputTable td {
  height: 58px !important;
  max-height: 58px !important;
  padding: 6px 8px !important;
  overflow: hidden !important;
}

body.copywriting-app .copyableCell {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 24px !important;
  gap: 4px !important;
  align-items: center !important;
  padding: 0 !important;
}

body.copywriting-app .cellClamp {
  display: -webkit-box !important;
  max-height: 38px !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  line-height: 17px !important;
  text-align: left !important;
  overflow-wrap: anywhere !important;
}

body.copywriting-app td.col-name .cellClamp,
body.copywriting-app td.col-long .cellClamp {
  text-align: left !important;
}

body.copywriting-app .cellCopyButton {
  position: static !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  border-radius: 7px !important;
  background: transparent !important;
  color: #a2aea7 !important;
  opacity: 0 !important;
  transform: none !important;
}

body.copywriting-app .cellCopyButton:hover {
  background: var(--wb-surface-soft) !important;
  color: var(--wb-accent) !important;
}

body.copywriting-app td:hover .cellCopyButton {
  opacity: 1 !important;
  transform: none !important;
}

body.copywriting-app .tableFootnote {
  min-height: 44px !important;
  padding: 0 18px !important;
  border-top: 1px solid var(--wb-line) !important;
  background: #fff !important;
}

body.copywriting-app .copywritingPager {
  
  
  
  
}

body.copywriting-app .parseWorkspace {
  
  
  
  
}

body.copywriting-app .parseInputPane,
body.copywriting-app .embeddedRemovalPane {
  
  
  
  
}

body.copywriting-app .editor {
  border: 1px solid var(--wb-line) !important;
  border-radius: 10px !important;
  background: #fff !important;
}

/* Image optimization and export direct workbenches. */
body.erp-app .image-opt-command-bar,
body.erp-app .export-listing-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

body.erp-app .image-opt-selection-tools,
body.erp-app .export-listing-actions,
body.erp-app .export-mapping-center {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
}

body.erp-app .image-opt-table-wrap,
body.erp-app .export-listing-table-wrap {
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  overflow: auto !important;
}

body.erp-app .image-opt-table-wrap table,
body.erp-app .export-listing-table-wrap table {
  width: max(100%, 1180px) !important;
  min-width: max(100%, 1180px) !important;
  table-layout: auto !important;
}

body.erp-app .image-opt-table-wrap th,
body.erp-app .export-listing-table-wrap th {
  position: sticky !important;
  top: 0 !important;
  z-index: 4 !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 7px 9px !important;
  border-right: 0 !important;
  border-bottom: 1px solid var(--wb-line) !important;
  background: #fafcfb !important;
  color: #6d7b73 !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  text-align: center !important;
}

body.erp-app .image-opt-table-wrap td,
body.erp-app .export-listing-table-wrap td {
  min-height: 56px !important;
  padding: 7px 9px !important;
  border-right: 0 !important;
  border-bottom: 1px solid var(--wb-line) !important;
  background: #fff !important;
  color: var(--wb-text) !important;
  font-size: 12px !important;
  vertical-align: middle !important;
}

body.erp-app .image-opt-thumbnail,
body.erp-app .export-optimized-thumb,
body.erp-app .image-placeholder,
body.erp-app .optimized-placeholder {
  width: 54px !important;
  height: 54px !important;
  min-width: 54px !important;
  border: 1px solid var(--wb-line) !important;
  border-radius: 10px !important;
  object-fit: contain !important;
}

body.erp-app .workflow-pagination {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
}

/* Accounts, system check and other shell-owned pages. */
body.erp-app .view-accounts,
body.erp-app .view-system-check {
  padding: 16px !important;
  overflow: auto !important;
  background: var(--wb-page-soft) !important;
}

body.erp-app .accounts-page-minimal,
body.erp-app .system-check-page {
  
  
  
}

body.erp-app .accounts-shell-minimal {
  
  
  
  
}

body.erp-app .accounts-primary-action {
  
  
}

body.erp-app .accounts-list-panel,
body.erp-app .system-check-list {
  
  
  
  
  
}

body.erp-app .account-table {
  
}

body.erp-app .account-table-header,
body.erp-app .account-table-row {
  
  
}

body.erp-app .account-table-header {
  
  
}

body.erp-app .account-table-row {
  
  
}

body.erp-app .account-more-button {
  
  
  
  
  
  
  box-shadow: none !important;
}

body.erp-app .account-more-button:hover {
  border-color: var(--wb-line-strong) !important;
  background: var(--wb-surface-soft) !important;
  color: var(--wb-text) !important;
}

body.erp-app .system-check-page {
  
  
  
}

body.erp-app .system-check-header {
  
  
  
  
  
  
  
}

body.erp-app .system-check-row {
  
  
  
}

/* Infringement and template pages share one centered library surface. */
body.infringement-app .library-page,
body.templates-app .template-page {
  background: var(--wb-page-soft) !important;
}

body.infringement-app .library-card,
body.templates-app .template-card {
  
  
  
  
  
  
  grid-template-rows: 56px auto minmax(0, 1fr) auto !important;
  
  
  
  
}

body.infringement-app .library-toolbar,
body.templates-app .toolbar {
  
  
  
  
  grid-row: 1 !important;
}

body.infringement-app .count-dashboard,
body.templates-app .count-dashboard {
  grid-row: 2 !important;
  
  align-items: center !important;
  
  
  
}

body.infringement-app .metric-card,
body.templates-app .metric-card {
  
  
  
  
  grid-template-columns: auto auto 1fr !important;
  
  
  
  
  
  
  
}

body.infringement-app .metric-card .metric-value,
body.templates-app .metric-card .metric-value {
  
}

body.infringement-app .metric-card .metric-value strong,
body.templates-app .metric-card .metric-value strong {
  
}

body.infringement-app .metric-card .metric-foot,
body.templates-app .metric-card .metric-foot {
  justify-self: end !important;
}

/* API settings as a quieter two-pane editor. */
body.api-app .api-page {
  width: 100% !important;
  max-width: 100% !important;
  grid-template-columns: 240px minmax(0, 1fr) !important;
  background: var(--wb-page-soft) !important;
}

body.api-app .api-sidebar {
  
  
}

body.api-app .sidebar-head {
  
  
  
  
}

body.api-app .connection-list {
  
  
  
  
}

body.api-app .connection-card {
  
  
  
  
  
  
}

body.api-app .connection-card.active {
  
  
  
}

body.api-app .connection-card:hover {
  border-color: var(--wb-line-strong) !important;
  background: var(--wb-surface-soft) !important;
}

body.api-app .panel-card,
body.api-app .result-card,
body.api-app .empty-panel {
  border: 1px solid var(--wb-line) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: none !important;
}

body.api-app .editor-body {
  
}

body.api-app .field input,
body.api-app .field select,
body.api-app .field textarea,
body.api-app .provider-select select {
  min-height: 36px !important;
  border-color: var(--wb-line-strong) !important;
  border-radius: 9px !important;
  background: #fff !important;
  
}

body.api-app .editor-actions {
  
  
  
  
}

/* Shared overlays: tighter, centered, quiet. */
body.erp-app .modal-backdrop,
body.erp-app .account-editor-backdrop,
body.erp-app .product-detail-backdrop,
body.erp-app .erp-image-zoom-backdrop,
body.infringement-app .dialog-backdrop {
  background: rgba(25, 33, 29, .24) !important;
  backdrop-filter: blur(3px) !important;
  -webkit-backdrop-filter: blur(3px) !important;
}

body.erp-app .system-modal,
body.erp-app .account-editor-modal,
body.erp-app .export-file-modal,
body.erp-app .watermark-tool-modal,
body.erp-app .erp-image-zoom-dialog,
body.infringement-app .dialog-card {
  border: 1px solid var(--wb-line) !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: var(--wb-shadow-modal) !important;
}

body.erp-app .system-modal {
  
}

body.erp-app .system-modal-copy {
  
  
}

body.erp-app .system-modal-copy h2 {
  margin: 0 0 6px !important;
  
  font-weight: 650 !important;
}

body.erp-app .system-modal-copy p {
  margin: 0 !important;
  
  
  
}

body.erp-app #systemModal .system-modal-actions,
body.erp-app #exportFileModal .export-file-modal-actions,
body.erp-app .account-editor-actions,
body.infringement-app .dialog-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  padding: 12px 16px !important;
  border-top: 1px solid var(--wb-line) !important;
  background: #fff !important;
}

body.erp-app #systemModal .modal-btn,
body.erp-app #exportFileModal .modal-btn,
body.erp-app .account-editor-actions button,
body.infringement-app .dialog-footer .button {
  min-width: 104px !important;
}

body.erp-app .account-editor-modal {
  
}

body.erp-app .export-file-modal {
  
}

body.erp-app .account-editor-header,
body.erp-app .product-detail-header {
  border-bottom: 1px solid var(--wb-line) !important;
  background: #fff !important;
}

body.erp-app .account-editor-header h2,
body.erp-app .product-detail-header h2 {
  
  font-weight: 650 !important;
}

body.erp-app .account-editor-close,
body.erp-app .product-detail-close {
  
  
  border: 1px solid var(--wb-line) !important;
  
  background: #fff !important;
  color: var(--wb-muted) !important;
  box-shadow: none !important;
}

body.erp-app .product-detail-backdrop {
  display: grid !important;
  justify-items: end !important;
  padding: 10px !important;
}

body.erp-app .product-detail-drawer {
  
  max-width: 680px !important;
  
  
  
  background: #fff !important;
  
  overflow: hidden !important;
}

body.erp-app .product-detail-body {
  
  overflow: auto !important;
}

body.erp-app .product-detail-body section,
body.erp-app .product-detail-body .detail-section {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

body.erp-app .product-detail-body .detail-section + .detail-section,
body.erp-app .product-detail-body section + section {
  border-top: 1px solid var(--wb-line) !important;
}

/* Toasts and floating feedback stay clean. */
body.erp-app .erp-toast,
body.source-inbox-app .inbox-toast,
body.copywriting-app .moduleToast,
body.infringement-app .module-toast,
body.api-app .module-toast,
body.templates-app .toast,
body.watermark-app .watermark-toast {
  border-radius: 12px !important;
  box-shadow: 0 18px 46px rgba(25, 33, 29, .16) !important;
  background: rgba(32, 40, 36, .96) !important;
  color: #fff !important;
  font-size: 12px !important;
}

/* Subtle, stable scrollbars across all frames. */
body.erp-app ::-webkit-scrollbar,
body.source-inbox-app ::-webkit-scrollbar,
body.copywriting-app ::-webkit-scrollbar,
body.infringement-app ::-webkit-scrollbar,
body.api-app ::-webkit-scrollbar,
body.templates-app ::-webkit-scrollbar,
body.watermark-app ::-webkit-scrollbar {
  width: 8px !important;
  height: 8px !important;
}

body.erp-app ::-webkit-scrollbar-thumb,
body.source-inbox-app ::-webkit-scrollbar-thumb,
body.copywriting-app ::-webkit-scrollbar-thumb,
body.infringement-app ::-webkit-scrollbar-thumb,
body.api-app ::-webkit-scrollbar-thumb,
body.templates-app ::-webkit-scrollbar-thumb,
body.watermark-app ::-webkit-scrollbar-thumb {
  border: 2px solid transparent !important;
  border-radius: 999px !important;
  background: rgba(43, 55, 48, .18) !important;
  background-clip: padding-box !important;
}

@media (prefers-reduced-motion: reduce) {
  body.erp-app *,
  body.source-inbox-app *,
  body.copywriting-app *,
  body.infringement-app *,
  body.api-app *,
  body.templates-app *,
  body.watermark-app * {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ============================================================
   Final deterministic layer
   These rules exist only to settle historical overrides that were
   introduced by earlier visual layers with !important. Keeping them
   at the end of the final CSS file prevents those older declarations
   from creating a mixed, left/right or inset layout.
   ============================================================ */

/* Full-frame shell for every main standalone work area. */
body.source-inbox-app .inbox-shell,
body.copywriting-app .workspaceShell,
body.erp-app .image-opt-shell,
body.erp-app .export-listing-shell,
body.infringement-app .library-page,
body.templates-app .template-page,
body.api-app .api-page {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100vh !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  box-shadow: none !important;
}

body.source-inbox-app .inbox-shell,
body.copywriting-app .workspaceShell,
body.erp-app .image-opt-shell,
body.erp-app .export-listing-shell {
  display: grid !important;
}

body.copywriting-app .workspaceShell,
body.erp-app .image-opt-shell,
body.erp-app .export-listing-shell {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: 56px minmax(0, 1fr) !important;
  background: var(--wb-surface) !important;
}

body.infringement-app .library-page,
body.templates-app .template-page {
  
  
  
  background: var(--wb-surface) !important;
}

body.infringement-app .library-card,
body.templates-app .template-card {
  position: relative !important;
  inset: auto !important;
  
  
  
  
  
  
  max-height: none !important;
  
  
  
  
  
  
  
}

body.infringement-app .library-toolbar,
body.templates-app .toolbar {
  position: relative !important;
  flex: 0 0 56px !important;
  width: 100% !important;
  max-width: none !important;
  
  
  
  margin: 0 !important;
  
  display: flex !important;
  align-items: center !important;
  
  
  
  
  
  
  box-shadow: none !important;
}

body.infringement-app .count-dashboard,
body.templates-app .count-dashboard {
  flex: 0 0 auto !important;
  width: 100% !important;
  
  
  margin: 0 !important;
  
  display: block !important;
  
  
  
  box-shadow: none !important;
}

body.infringement-app .metric-card,
body.templates-app .metric-card {
  
  
  
  
  
  
  display: flex !important;
  align-items: center !important;
  
  
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.infringement-app .metric-card .metric-value,
body.templates-app .metric-card .metric-value {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 4px !important;
  color: var(--wb-muted) !important;
  
}

body.infringement-app .metric-card .metric-value strong,
body.templates-app .metric-card .metric-value strong {
  color: var(--wb-text) !important;
  
  
  font-variant-numeric: tabular-nums !important;
}

/* API settings: one full-frame surface, no old two-pane shell. */
body.api-app .api-page {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  background: var(--wb-surface) !important;
}

body.api-app .api-sidebar {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  
  flex: 1 1 auto !important;
  flex-direction: column !important;
  
  max-width: none !important;
  
  
  margin: 0 !important;
  
  
  
  
  
  
}

body.api-app .sidebar-head {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  border-radius: 0 !important;
  
  box-shadow: none !important;
}

body.api-app .sidebar-head > div:first-child,
body.api-app .sidebar-head h1 {
  display: none !important;
}

body.api-app .sidebar-head .sidebar-tools {
  margin-left: auto !important;
}

body.api-app .connection-list {
  
  
  
  
  
  margin: 0 !important;
  
  
  
  grid-auto-rows: max-content !important;
  
  
  
  background: var(--wb-surface) !important;
}

body.api-app .connection-empty {
  grid-column: 1 / -1 !important;
  
  
  
  
  
  
  
  box-shadow: none !important;
}

body.api-app .connection-card {
  
  
  
  
  
  
  
  
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  grid-template-rows: auto auto !important;
  align-content: center !important;
  
  
  
  
  
  
  text-align: left !important;
  color: var(--wb-text) !important;
  transform: none !important;
}

body.api-app .connection-card:hover {
  border-color: rgba(63, 122, 99, .28) !important;
  background: var(--wb-accent-softer) !important;
  box-shadow: none !important;
  transform: none !important;
}

body.api-app .connection-card.active {
  
  
  box-shadow: none !important;
}

body.api-app .provider-dot,
body.api-app .provider-dot.deepseek,
body.api-app .provider-dot.r2,
body.api-app .editor-badge,
body.api-app .editor-badge.deepseek,
body.api-app .editor-badge.r2 {
  width: 46px !important;
  min-width: 46px !important;
  height: 30px !important;
  min-height: 30px !important;
  grid-row: 1 / 3 !important;
  margin: 0 !important;
  padding: 0 8px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 9px !important;
  background: var(--wb-accent-soft) !important;
  color: var(--wb-accent) !important;
  font-size: 12px !important;
  font-weight: 760 !important;
  line-height: 1 !important;
}

body.api-app .connection-card .connection-meta {
  
  grid-column: 2 / 4 !important;
  grid-row: 1 !important;
  
  
  justify-content: space-between !important;
  
}

body.api-app .connection-card strong {
  min-width: 0 !important;
  
  
  
  
  
  
}

body.api-app .connection-card small,
body.api-app .connection-card .connection-state {
  min-width: 0 !important;
  color: var(--wb-muted) !important;
  
  
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.api-app .connection-card small {
  grid-column: 2 !important;
  grid-row: 2 !important;
  align-self: center !important;
}

body.api-app .connection-card .connection-state {
  flex: 0 0 auto !important;
}

body.api-app .api-workspace,
body.api-app .api-workspace:has(.empty-editor:not(.hidden)) {
  display: none !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--wb-surface) !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

body.api-app .api-page:has(.connection-form:not(.hidden)) {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100vh !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body.api-app .api-page:has(.connection-form:not(.hidden)) .api-sidebar {
  flex: 0 0 214px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border-right: 0 !important;
  border-bottom: 1px solid var(--wb-line) !important;
}

body.api-app .api-page:has(.connection-form:not(.hidden)) .connection-list {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  padding: 12px 18px !important;
}

body.api-app .api-page:has(.connection-form:not(.hidden)) .api-workspace {
  display: block !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: auto !important;
  border: 0 !important;
  border-top: 1px solid var(--wb-line) !important;
  background: var(--wb-page-soft) !important;
}

body.api-app .connection-form {
  
  
  
  
  
  
  
  
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--wb-surface) !important;
  box-shadow: none !important;
}

body.api-app .editor-bar {
  flex: 0 0 56px !important;
  width: 100% !important;
  
  
  
  margin: 0 !important;
  
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  border: 0 !important;
  
  
}

body.api-app .editor-body {
  min-height: 0 !important;
  
  
  
}

body.api-app .panel-card,
body.api-app .result-card {
  
  
  
  
  
  
  
  
}

body.api-app .editor-actions {
  
  
  margin: 0 !important;
  
  
  
  
  
  border: 0 !important;
  
  border-radius: 0 !important;
  
}

body.api-app .quick-actions {
  position: absolute !important;
  
  
  left: auto !important;
  
  width: 208px !important;
  margin: 0 !important;
  padding: 6px !important;
  border: 1px solid var(--wb-line) !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, .98) !important;
  box-shadow: var(--wb-shadow-pop) !important;
}

/* Neutralize old hard-coded provider and warning palettes. */
body.api-app .quick-button.deepseek,
body.api-app .quick-button.r2,
body.api-app .action-button.deepseek,
body.api-app .action-button.r2 {
  border-color: var(--wb-line-strong) !important;
  background: var(--wb-accent-soft) !important;
  color: var(--wb-accent) !important;
}

body.api-app .status-pill,
body.api-app .status-pill.green,
body.api-app .status-pill.orange,
body.infringement-app .status-pill,
body.templates-app .status-pill {
  border-color: rgba(63, 122, 99, .18) !important;
  background: var(--wb-accent-soft) !important;
  color: var(--wb-accent) !important;
  box-shadow: none !important;
}

body.api-app .result-card.warning,
body.copywriting-app .copy-status.working,
body.erp-app .mapping-status-badge.warning,
body.erp-app .system-check-badge.warn {
  border-color: rgba(143, 113, 61, .24) !important;
  background: var(--wb-warning-soft) !important;
  color: var(--wb-warning) !important;
}

/* Accounts and system check share the same quiet centered treatment. */
body.erp-app .view-accounts,
body.erp-app .view-system-check {
  padding: 0 !important;
  overflow: hidden !important;
  background: var(--wb-surface) !important;
}

body.erp-app .accounts-page-minimal,
body.erp-app .system-check-page {
  width: 100% !important;
  max-width: none !important;
  min-height: 100% !important;
  height: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: var(--wb-page-soft) !important;
}

body.erp-app .accounts-shell-minimal,
body.erp-app .system-check-page {
  
  
  
  margin: 0 auto !important;
  padding: 22px 20px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  
  
  background: transparent !important;
}

body.erp-app .accounts-list-panel,
body.erp-app .system-check-list {
  width: 100% !important;
  
  
  margin: 0 !important;
  border: 1px solid var(--wb-line) !important;
  
  background: var(--wb-surface) !important;
  box-shadow: none !important;
  
}

body.erp-app .accounts-primary-action {
  
  
  
}

body.erp-app .system-check-page {
  
  
}

/* Guard against old centered/content-card rules leaking in at narrow widths. */
@media (max-width: 1100px) {
  body.api-app .connection-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  body.api-app .connection-list,
  body.infringement-app .term-grid,
  body.templates-app .template-grid {
    grid-template-columns: 1fr !important;
  }

  body.api-app .connection-card {
    min-height: 76px !important;
  }

  body.erp-app .image-opt-command-bar,
  body.erp-app .export-listing-header {
    height: auto !important;
    min-height: 56px !important;
    max-height: none !important;
    flex-wrap: wrap !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    row-gap: 6px !important;
  }
}

/* Shell separation and reliable account menu layering.
   These final rules keep the sidebar and workspace as distinct rounded
   surfaces, and let the account popover sit above embedded iframe content. */
body.erp-app #appView {
  gap: 10px !important;
}

body.erp-app .sidebar {
  position: relative !important;
  z-index: 20 !important;
  isolation: isolate !important;
  border-right: 1px solid var(--wb-line) !important;
  
  
}

body.erp-app .workspace {
  border-left: 1px solid var(--wb-line) !important;
  
  
  
}

body.erp-app .sidebar-user {
  position: relative !important;
  
  
  margin-top: auto !important;
  padding: 10px 0 0 !important;
  border: 0 !important;
  
  background: transparent !important;
}

body.erp-app .user-menu {
  position: relative !important;
  z-index: 30 !important;
}

body.erp-app .user-popover {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  
  transition: opacity .14s ease, transform .14s ease, visibility 0s linear .14s !important;
}

body.erp-app .user-menu.open .user-popover {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
  transition-delay: 0s !important;
}

body.erp-app .user-name {
  position: relative !important;
  z-index: 2 !important;
  cursor: pointer !important;
}

/* 统一四个工作页的“暂无数据”空状态。
   空数据时隐藏无意义的表头/说明条，使文案居中显示在可用内容区。 */
body.erp-app .image-opt-table-wrap:has(.centered-empty-state),
body.erp-app .export-listing-table-wrap:has(.centered-empty-state),
body.copywriting-app .previewTableWrap:has(.centeredEmptyState),
body.copywriting-app .embeddedRemovalTableWrap:has(.embeddedRemovalEmptyState) {
  display: grid !important;
  place-items: stretch !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body.erp-app .image-opt-table-wrap:has(.centered-empty-state) table,
body.erp-app .export-listing-table-wrap:has(.centered-empty-state) table,
body.copywriting-app .previewTableWrap:has(.centeredEmptyState) table,
body.copywriting-app .embeddedRemovalTableWrap:has(.embeddedRemovalEmptyState) table {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

body.erp-app .image-opt-table-wrap tbody:has(.centered-empty-state),
body.erp-app .export-listing-table-wrap tbody:has(.centered-empty-state),
body.copywriting-app .previewTableWrap tbody:has(.centeredEmptyState),
body.copywriting-app .embeddedRemovalTableWrap tbody:has(.embeddedRemovalEmptyState) {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
}

body.erp-app .image-opt-table-wrap tr:has(.centered-empty-state),
body.erp-app .export-listing-table-wrap tr:has(.centered-empty-state),
body.copywriting-app .previewTableWrap tr:has(.centeredEmptyState),
body.copywriting-app .embeddedRemovalTableWrap tr:has(.embeddedRemovalEmptyState) {
  display: flex !important;
  flex: 1 1 100% !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
}

body.erp-app .image-opt-table-wrap td:has(.image-empty-cell),
body.erp-app .export-listing-table-wrap td:has(.export-listing-empty),
body.copywriting-app .previewTableWrap td:has(.emptyCell),
body.copywriting-app .embeddedRemovalTableWrap td:has(.embeddedRemovalEmpty) {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 1 1 100% !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.erp-app .image-empty-cell,
body.erp-app .export-listing-empty,
body.copywriting-app .emptyCell,
body.copywriting-app .embeddedRemovalEmpty {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 1 1 100% !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #8b9992 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  text-align: center !important;
  white-space: normal !important;
}

body.copywriting-app .workspacePanel:has(.centeredEmptyState) .tableFootnote {
  display: none !important;
}

body.erp-app .image-opt-table-wrap tbody.centered-empty-state,
body.erp-app .export-listing-table-wrap tbody.centered-empty-state,
body.copywriting-app .previewTableWrap tbody.centeredEmptyState,
body.copywriting-app .embeddedRemovalTableWrap tbody.embeddedRemovalEmptyState {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
}

body.erp-app .image-opt-table-wrap tbody.centered-empty-state tr,
body.erp-app .export-listing-table-wrap tbody.centered-empty-state tr,
body.copywriting-app .previewTableWrap tbody.centeredEmptyState tr,
body.copywriting-app .embeddedRemovalTableWrap tbody.embeddedRemovalEmptyState tr {
  display: flex !important;
  flex: 1 1 100% !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
}

body.erp-app .image-opt-table-wrap td.image-empty-cell,
body.erp-app .export-listing-table-wrap td.export-listing-empty,
body.copywriting-app .previewTableWrap td.emptyCell,
body.copywriting-app .embeddedRemovalTableWrap td.embeddedRemovalEmpty {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 1 1 100% !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #8b9992 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  text-align: center !important;
  white-space: normal !important;
}

body.erp-app .image-opt-table-wrap table tbody.centered-empty-state tr td.image-empty-cell,
body.erp-app .export-listing-table-wrap table tbody.centered-empty-state tr td.export-listing-empty,
body.copywriting-app .previewTableWrap table tbody.centeredEmptyState tr td.emptyCell,
body.copywriting-app .embeddedRemovalTableWrap table tbody.embeddedRemovalEmptyState tr td.embeddedRemovalEmpty {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 1 1 100% !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #8b9992 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  text-align: center !important;
  white-space: normal !important;
}

body.erp-app .image-opt-shell:has(.centered-empty-state) #imageOptimizationTable tbody.centered-empty-state tr td.image-empty-cell,
body.erp-app .export-listing-shell:has(.centered-empty-state) #exportListingTable tbody.centered-empty-state tr td.export-listing-empty,
body.copywriting-app .previewTableWrap:has(.centeredEmptyState) #dataTable tbody.centeredEmptyState tr td.emptyCell,
body.copywriting-app .embeddedRemovalTableWrap:has(.embeddedRemovalEmptyState) #embeddedRemovalTable tbody.embeddedRemovalEmptyState tr td.embeddedRemovalEmpty {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 1 1 100% !important;
  width: 100% !important;
  height: 190px !important;
  min-height: 190px !important;
  max-height: 190px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #8b9992 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  text-align: center !important;
  white-space: normal !important;
}

/* 2026-09-07 精致化收口：账号菜单留在左侧栏内，悬停自动弹出。 */
body.erp-app .user-popover {
  left: 0 !important;
  right: 0 !important;
  bottom: calc(100% + 8px) !important;
  width: 100% !important;
  min-width: 100% !important;
  padding: 5px !important;
  border: 1px solid var(--wb-line) !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, .98) !important;
  box-shadow: 0 14px 34px rgba(32, 40, 36, .12) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
}

body.erp-app .user-menu:hover .user-popover,
body.erp-app .user-menu:focus-within .user-popover,
body.erp-app .user-menu.open .user-popover {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
  transition-delay: 0s !important;
}

body.erp-app .user-menu-action {
  
  
  
  
  
  
  
  
}

body.erp-app .logout-action {
  
  
  border-radius: 0 0 8px 8px !important;
}

body.erp-app .sidebar-user {
  
}

/* 管理类页面统一为居中小巧的卡片感布局，不再铺满整个工作区。 */
body.erp-app .view-accounts.active,
body.erp-app .view-system-check.active {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  padding: clamp(24px, 5vh, 48px) 20px 18px !important;
  overflow: auto !important;
  background: var(--wb-page-soft) !important;
}

body.erp-app .view-accounts:not(.active),
body.erp-app .view-system-check:not(.active) {
  display: none !important;
}

body.erp-app .view-accounts .accounts-page-minimal,
body.erp-app .view-system-check .system-check-page {
  width: min(860px, 100%) !important;
  max-width: 860px !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(100vh - 72px) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
}

body.erp-app .view-accounts .accounts-page-minimal {
  display: block !important;
}

body.erp-app .management-page-heading h1,
body.erp-app .system-check-header h2 {
  margin: 0 !important;
  color: var(--wb-text) !important;
  font-size: 18px !important;
  font-weight: 680 !important;
  line-height: 1.25 !important;
}

body.erp-app .accounts-shell-minimal,
body.erp-app .system-check-page {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(100vh - 130px) !important;
  gap: 10px !important;
  overflow: auto !important;
}

body.erp-app .accounts-list-panel,
body.erp-app .system-check-list {
  flex: 0 1 auto !important;
  min-height: 240px !important;
  max-height: calc(100vh - 190px) !important;
  border-radius: 14px !important;
  overflow: auto !important;
}

body.erp-app .accounts-primary-action {
  
}

body.erp-app .system-check-header {
  
  
}

body.erp-app .system-check-header h2 {
  margin-bottom: 4px !important;
}

body.erp-app .system-check-header p {
  
  
  
}

body.erp-app .system-check-actions {
  
}

/* API、侵权词库、类目模版改为页面内居中的浅色工作台。 */
body.api-app,
body.infringement-app,
body.templates-app {
  padding: 10px 0 !important;
  background: var(--wb-page-soft) !important;
}

body.api-app .api-page,
body.infringement-app .library-page,
body.templates-app .template-page {
  
  
  
  
  
  
  
  
  
  
}

body.infringement-app .library-page,
body.templates-app .template-page {
  
  
  
}

body.infringement-app .library-card,
body.templates-app .template-card {
  
  
  
  
  
  
  
  
}

body.infringement-app .library-toolbar,
body.templates-app .toolbar {
  
  
  
  
}

body.infringement-app .toolbar-actions,
body.templates-app .toolbar-actions {
  justify-content: center !important;
}

body.infringement-app .count-dashboard,
body.templates-app .count-dashboard {
  
  
  
  
}

body.infringement-app .metric-card,
body.templates-app .metric-card {
  
  
  
}

body.api-app .api-page {
  
}

body.api-app .sidebar-head {
  
  
}

body.api-app .api-workspace .panel-card,
body.api-app .api-workspace .result-card {
  
}

body.api-app .empty-editor {
  
}

body.api-app .empty-panel {
  
  
}

/* 统一字重、字号和间距，减少不同模块间的视觉落差。 */
body.erp-app,
body.source-inbox-app,
body.copywriting-app,
body.infringement-app,
body.api-app,
body.templates-app,
body.watermark-app {
  font-size: 13px !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  text-rendering: optimizeLegibility !important;
  -webkit-font-smoothing: antialiased !important;
}

body.erp-app h1,
body.erp-app h2,
body.erp-app h3,
body.copywriting-app h1,
body.copywriting-app h2,
body.copywriting-app h3,
body.infringement-app h1,
body.infringement-app h2,
body.infringement-app h3,
body.api-app h1,
body.api-app h2,
body.api-app h3,
body.templates-app h1,
body.templates-app h2,
body.templates-app h3 {
  letter-spacing: 0 !important;
}

body.erp-app button,
body.copywriting-app button,
body.infringement-app button,
body.api-app button,
body.templates-app button,
body.watermark-app button {
  letter-spacing: 0 !important;
}

/* 文案优化：空数据不再套一个方框；AI 回填输入框与右侧清理区等高。 */
body.copywriting-app .contentCard:has(.previewTableWrap .centeredEmptyState) {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.copywriting-app .workspacePanel.active:has(.previewTableWrap .centeredEmptyState) {
  padding: 0 !important;
}

body.copywriting-app .previewTableWrap:has(.centeredEmptyState) {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.copywriting-app .parseInputPane {
  position: relative !important;
  justify-content: stretch !important;
  
  overflow: hidden !important;
}

body.copywriting-app .parseInputPane #aiResult {
  flex: 1 1 auto !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 16px 15px !important;
  border: 0 !important;
  border-radius: 0 !important;
}

body.copywriting-app .parseInputPane .message {
  position: absolute !important;
  right: 10px !important;
  bottom: 8px !important;
  z-index: 2 !important;
  max-width: calc(100% - 20px) !important;
  
  margin: 0 !important;
  
  border-radius: 7px !important;
  
  box-shadow: 0 6px 16px rgba(32, 40, 36, .06) !important;
  
  
}

/* 20260907 owner pages final polish: compact centered sheets. */
body.erp-app .view-accounts .accounts-page-minimal {
  width: min(900px, 100%) !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: block !important;
}

body.erp-app .accounts-shell-minimal {
  
  max-width: 100% !important;
  min-width: 0 !important;
  
  
}

body.erp-app .accounts-list-panel {
  
  
}

body.erp-app .system-check-page {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  
  
  margin: 0 auto !important;
}

body.erp-app .view-system-check .system-check-page {
  
  
}

body.erp-app .system-check-header {
  
  
  
  
  
  
  
}

body.erp-app .system-check-header > div:first-child {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 3px !important;
}

body.erp-app .system-check-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  
}

body.api-app,
body.infringement-app,
body.templates-app {
  padding: clamp(48px, 6vh, 72px) 22px 18px !important;
  background: var(--wb-page-soft) !important;
}

body.api-app .api-page,
body.infringement-app .library-page,
body.templates-app .template-page {
  width: min(1180px, 100%) !important;
  max-width: 1180px !important;
  height: calc(100vh - clamp(72px, 9vh, 96px)) !important;
  min-height: 0 !important;
  max-height: calc(100vh - 68px) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 1px solid rgba(222, 230, 225, .96) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 12px 30px rgba(32, 40, 36, .06) !important;
  overflow: hidden !important;
}

body.infringement-app .library-page,
body.templates-app .template-page {
  display: flex !important;
  
  
}

body.infringement-app .library-card,
body.templates-app .template-card {
  
  
  
  
  
  
  
  
}

body.infringement-app .library-toolbar,
body.templates-app .toolbar {
  
  
  
  
  
}

body.infringement-app .library-meta h1,
body.templates-app .toolbar-meta h1,
body.api-app .sidebar-head h1 {
  font-size: 15px !important;
  font-weight: 680 !important;
  color: var(--wb-text) !important;
}

body.infringement-app .count-dashboard,
body.templates-app .count-dashboard {
  justify-content: center !important;
  
  
  
}

body.infringement-app .metric-card,
body.templates-app .metric-card {
  
  
  justify-content: center !important;
}

/* API settings: keep a stable left list and centered editor/empty state. */
body.api-app .api-page,
body.api-app .api-page:has(.connection-form:not(.hidden)) {
  display: grid !important;
  grid-template-columns: 228px minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  flex-direction: row !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  width: min(1180px, 100%) !important;
  max-width: 1180px !important;
  height: calc(100vh - clamp(72px, 9vh, 96px)) !important;
  max-height: calc(100vh - 68px) !important;
  margin: 0 auto !important;
}

body.api-app .api-sidebar,
body.api-app .api-page:has(.connection-form:not(.hidden)) .api-sidebar {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  width: 228px !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 100% !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-right: 1px solid var(--wb-line) !important;
  border-bottom: 0 !important;
  background: #fff !important;
}

body.api-app .sidebar-head {
  
  
  
  gap: 8px !important;
  
  
  
  text-align: left !important;
}

body.api-app .sidebar-head > div:first-child {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 3px !important;
  min-width: 0 !important;
}

body.api-app .api-workspace,
body.api-app .api-workspace:has(.empty-editor:not(.hidden)),
body.api-app .api-page:has(.connection-form:not(.hidden)) .api-workspace {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  flex: 1 1 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-top: 0 !important;
  border-radius: 0 !important;
  background: var(--wb-page-soft) !important;
  box-shadow: none !important;
  overflow: auto !important;
}

body.api-app .empty-editor {
  
  
  width: 100% !important;
  
  
  
}

body.api-app .empty-panel {
  
  
  
  
  
  
}

body.api-app .empty-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  
}

body.api-app .connection-list {
  
  
  
  
  
}

body.api-app .connection-card {
  
  
  
  
  
  
}

body.api-app .connection-empty {
  
  
  
  border: 1px dashed var(--wb-line-strong) !important;
  
  background: transparent !important;
  
}

body.api-app .connection-form {
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
}

body.api-app .editor-body {
  
  
}

body.api-app .api-workspace .panel-card,
body.api-app .api-workspace .result-card {
  
  
  margin: 0 auto 10px !important;
}

body.api-app .editor-bar,
body.api-app .editor-actions {
  
  
  background: #fff !important;
}

body.api-app .editor-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  
}

body.copywriting-app .parseWorkspace {
  align-items: stretch !important;
}

body.copywriting-app .parseInputPane,
body.copywriting-app .embeddedRemovalPane {
  height: 100% !important;
  
}

body.copywriting-app .embeddedRemovalPane {
  overflow: hidden !important;
  border-radius: 12px !important;
}

@media (max-width: 900px) {
  body.api-app .api-page,
  body.api-app .api-page:has(.connection-form:not(.hidden)) {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
  }

  body.api-app .api-sidebar,
  body.api-app .api-page:has(.connection-form:not(.hidden)) .api-sidebar {
    width: 100% !important;
    height: auto !important;
    max-height: 42vh !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--wb-line) !important;
  }

  body.infringement-app .library-toolbar,
  body.templates-app .toolbar {
    flex-wrap: wrap !important;
    min-height: auto !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
}

/* 2026-09-07 第二轮精细收口：删除重复页标题，统一空状态高度，
   把管理页、侵权词库、API 设置、类目模版和系统检测做成紧凑居中的模块。 */
body.erp-app .management-page-heading,
body.erp-app .system-check-header h2,
body.infringement-app .library-meta,
body.templates-app .toolbar-meta,
body.api-app .sidebar-head > div:first-child,
body.api-app .sidebar-head h1,
body.api-app .sidebar-head .library-kicker {
  display: none !important;
}

body.erp-app .view-accounts.active,
body.erp-app .view-system-check.active {
  
  
}

body.erp-app .view-accounts .accounts-page-minimal {
  width: min(880px, 100%) !important;
  max-width: 880px !important;
}

body.erp-app .accounts-shell-minimal {
  
  
}

body.erp-app .accounts-primary-action {
  
  
}

body.erp-app .accounts-list-panel {
  
  
  
}

body.erp-app .system-check-page {
  width: min(820px, 100%) !important;
  max-width: 820px !important;
  gap: 10px !important;
}

body.erp-app .view-system-check .system-check-page {
  width: min(820px, 100%) !important;
  max-width: 820px !important;
}

body.erp-app .system-check-header {
  display: flex !important;
  
  
  
  
  
  
  
  
  
  
  
}

body.erp-app .system-check-header > div:first-child {
  display: none !important;
}

body.erp-app .system-check-header p {
  
  
  
  
  
  
}

body.erp-app .system-check-actions {
  flex: 0 0 auto !important;
  
}

body.erp-app .system-check-list {
  width: 100% !important;
  
  
  
}

body.erp-app .system-check-row {
  
  
  overflow: visible !important;
}

body.erp-app .system-check-row-main {
  overflow: visible !important;
}

body.erp-app .system-check-row-main strong {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  min-width: 0 !important;
  overflow: visible !important;
  color: var(--wb-text) !important;
  
  
  
}

body.erp-app .system-check-row-main strong::before {
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
}

body.erp-app .system-check-row-main span,
body.erp-app .system-check-row-main small {
  overflow: visible !important;
  white-space: normal !important;
  text-overflow: clip !important;
  color: var(--wb-muted) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

body.infringement-app,
body.templates-app,
body.api-app {
  padding: clamp(16px, 3vh, 38px) 18px 14px !important;
}

body.infringement-app .library-page,
body.templates-app .template-page {
  
  
  
  
  
}

body.infringement-app .library-card,
body.templates-app .template-card {
  
  
}

body.infringement-app .library-toolbar,
body.templates-app .toolbar {
  
  
  
  justify-content: flex-end !important;
  gap: 8px !important;
  
}

body.infringement-app .toolbar-actions,
body.templates-app .toolbar-actions {
  margin-left: auto !important;
}

body.infringement-app .count-dashboard,
body.templates-app .count-dashboard {
  
  
  
  
}

body.infringement-app .metric-card,
body.templates-app .metric-card {
  
  
  gap: 8px !important;
}

body.infringement-app .metric-eyebrow,
body.templates-app .metric-eyebrow {
  font-size: 12px !important;
  color: var(--wb-muted) !important;
}

body.infringement-app .metric-card .metric-value,
body.templates-app .metric-card .metric-value {
  
}

body.infringement-app .metric-card .metric-value strong,
body.templates-app .metric-card .metric-value strong {
  
}

body.api-app .api-page,
body.api-app .api-page:has(.connection-form:not(.hidden)) {
  width: min(1120px, 100%) !important;
  max-width: 1120px !important;
  height: calc(100vh - clamp(42px, 6vh, 60px)) !important;
  max-height: calc(100vh - 36px) !important;
  border-radius: 16px !important;
  grid-template-columns: 212px minmax(0, 1fr) !important;
}

body.api-app .api-sidebar,
body.api-app .api-page:has(.connection-form:not(.hidden)) .api-sidebar {
  width: 212px !important;
  min-width: 0 !important;
}

body.api-app .sidebar-head {
  
  
  
  
  
}

body.api-app .sidebar-tools {
  margin-left: auto !important;
}

body.api-app .connection-list {
  
  grid-template-columns: 1fr !important;
  
}

body.api-app .connection-card {
  
  
  
}

body.api-app .editor-bar,
body.api-app .editor-actions {
  min-height: 50px !important;
  height: auto !important;
  padding: 0 14px !important;
}

body.api-app .editor-body {
  
}

body.api-app .api-workspace .panel-card,
body.api-app .api-workspace .result-card {
  
  
  
  
}

body.copywriting-app .workspaceShell {
  
  
}

body.copywriting-app .commandBar {
  
  
  
}

body.copywriting-app .contentCard:has(.previewTableWrap .centeredEmptyState),
body.copywriting-app .previewTableWrap:has(.centeredEmptyState) {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.copywriting-app .previewTableWrap:has(.centeredEmptyState) {
  height: 100% !important;
}

body.copywriting-app .previewTableWrap .centeredEmptyState td.emptyCell,
body.copywriting-app .embeddedRemovalTableWrap .embeddedRemovalEmptyState td.embeddedRemovalEmpty {
  
  
  
}

/* 2026-09-07 第三轮精细收口：老板/管理页改成居中靠上、更小的精修卡片；
   文案优化空态不再占满整屏，避免“暂无数据”沉到很低位置。 */
body.erp-app .view-accounts.active,
body.erp-app .view-system-check.active {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  justify-content: center !important;
  padding: clamp(64px, 10vh, 104px) 24px 44px !important;
  overflow: auto !important;
}

body.erp-app .view-accounts .accounts-page-minimal,
body.erp-app .view-accounts.active .accounts-page-minimal {
  
  
  
  
  
  
}

body.erp-app .accounts-shell-minimal {
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
}

body.erp-app .accounts-primary-action {
  
  
  
  
}

body.erp-app .account-add-button {
  width: auto !important;
  
  
  
  max-height: 34px !important;
  
  
  
  
}

body.erp-app .accounts-list-panel {
  
  
  
  
  
  
  
  
  
  
}

body.erp-app .account-table {
  
  
  
}

body.erp-app .account-table-header {
  
  
  
  
  
}

body.erp-app .account-table-row {
  
  
}

body.erp-app .account-table-cell {
  
  
}

body.erp-app .view-system-check .system-check-page,
body.erp-app .system-check-page {
  width: min(760px, 100%) !important;
  max-width: 760px !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(100vh - 170px) !important;
  margin: 0 !important;
  padding: 18px !important;
  gap: 10px !important;
  border: 1px solid rgba(218, 226, 221, .96) !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, .96) !important;
  box-shadow: 0 1px 2px rgba(32, 40, 36, .03), 0 20px 48px rgba(32, 40, 36, .06) !important;
}

body.erp-app .system-check-header {
  flex: 0 0 auto !important;
  
  
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  
  
  
  
  
  text-align: left !important;
}

body.erp-app .system-check-header > div:first-child {
  display: none !important;
}

body.erp-app .system-check-header p {
  
  
  
  
  text-align: left !important;
}

body.erp-app .system-check-actions {
  margin: 0 !important;
}

body.erp-app .system-check-list {
  flex: 0 1 auto !important;
  
  
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 7px !important;
  
}

body.erp-app .system-check-row {
  
  
  
  
  
  
  
}

body.infringement-app,
body.templates-app {
  padding: clamp(58px, 9vh, 92px) 20px 22px !important;
}

body.infringement-app .library-page,
body.templates-app .template-page {
  
  
  
  
  margin: 0 auto !important;
  border-radius: 18px !important;
  box-shadow: 0 1px 2px rgba(32, 40, 36, .03), 0 22px 54px rgba(32, 40, 36, .07) !important;
}

body.infringement-app .library-card,
body.templates-app .template-card {
  
  
  
  
  
}

body.infringement-app .library-toolbar,
body.templates-app .toolbar {
  
  
  
  
  
}

body.infringement-app .count-dashboard,
body.templates-app .count-dashboard {
  
  
  
  
}

body.infringement-app .metric-card,
body.templates-app .metric-card {
  
  
}

body.infringement-app .empty-state,
body.templates-app .empty {
  
  
}

body.api-app {
  
}

body.api-app .api-page,
body.api-app .api-page:has(.connection-form:not(.hidden)) {
  width: min(980px, 100%) !important;
  max-width: 980px !important;
  height: min(760px, calc(100vh - clamp(126px, 17vh, 164px))) !important;
  max-height: 760px !important;
  margin: 0 auto !important;
  border-radius: 18px !important;
  box-shadow: 0 1px 2px rgba(32, 40, 36, .03), 0 22px 54px rgba(32, 40, 36, .07) !important;
  grid-template-columns: 196px minmax(0, 1fr) !important;
}

body.api-app .api-sidebar,
body.api-app .api-page:has(.connection-form:not(.hidden)) .api-sidebar {
  width: 196px !important;
  min-width: 0 !important;
  border-radius: 18px 0 0 18px !important;
  background: #fbfcfc !important;
}

body.api-app .sidebar-head {
  
  
  
  
}

body.api-app .connection-list {
  
  
}

body.api-app .connection-card {
  
  
  
}

body.api-app .connection-empty {
  
  
  border-radius: 11px !important;
}

body.api-app .empty-editor {
  
  height: 100% !important;
  
  display: grid !important;
  place-items: center !important;
}

body.api-app .empty-panel {
  
  
  
}

body.api-app .empty-actions {
  gap: 7px !important;
}

body.api-app .api-workspace .panel-card,
body.api-app .api-workspace .result-card {
  
  
  
  
}

body.copywriting-app .contentCard:has(.previewTableWrap .centeredEmptyState),
body.copywriting-app .previewTableWrap:has(.centeredEmptyState) {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.copywriting-app .workspacePanel.active:has(.previewTableWrap .centeredEmptyState) {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

body.copywriting-app .previewTableWrap:has(.centeredEmptyState) {
  width: min(760px, calc(100% - 40px)) !important;
  height: 280px !important;
  min-height: 0 !important;
  max-height: 280px !important;
  margin: clamp(56px, 9vh, 88px) 0 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

body.copywriting-app .previewTableWrap:has(.centeredEmptyState) #dataTable {
  width: 100% !important;
  height: 100% !important;
}

body.copywriting-app .previewTableWrap .centeredEmptyState td.emptyCell,
body.copywriting-app .embeddedRemovalTableWrap .embeddedRemovalEmptyState td.embeddedRemovalEmpty {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #89958f !important;
  font-size: 13px !important;
  font-weight: 550 !important;
  letter-spacing: .04em !important;
}

body.copywriting-app .embeddedRemovalPane:has(.embeddedRemovalTableWrap .embeddedRemovalEmptyState) {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.copywriting-app .embeddedRemovalPane .embeddedRemovalTableWrap:has(.embeddedRemovalEmptyState) {
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* 2026-09-07 第四轮：空状态统一放到可用区上方居中，避免所有工作页的
   “暂无数据”沉到屏幕下半部。只保留纯文本，不再出现额外方框。 */
body.copywriting-app .workspacePanel.active:has(.previewTableWrap .centeredEmptyState) {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding: 0 !important;
}

body.copywriting-app .previewTableWrap:has(.centeredEmptyState) {
  width: min(720px, calc(100% - 36px)) !important;
  height: 190px !important;
  min-height: 0 !important;
  max-height: 190px !important;
  margin: clamp(36px, 6vh, 64px) auto 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

body.copywriting-app .previewTableWrap:has(.centeredEmptyState) #dataTable,
body.copywriting-app .previewTableWrap:has(.centeredEmptyState) tbody.centeredEmptyState,
body.copywriting-app .previewTableWrap:has(.centeredEmptyState) tbody.centeredEmptyState tr,
body.copywriting-app .previewTableWrap:has(.centeredEmptyState) #dataTable tbody.centeredEmptyState tr td.emptyCell {
  width: 100% !important;
  min-width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
}

body.copywriting-app .previewTableWrap .centeredEmptyState td.emptyCell {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #7b8a86 !important;
  font-size: 13px !important;
  font-weight: 540 !important;
  letter-spacing: .08em !important;
}

body.copywriting-app .embeddedRemovalPane:has(.embeddedRemovalTableWrap .embeddedRemovalEmptyState) {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.copywriting-app .embeddedRemovalPane .embeddedRemovalTableWrap:has(.embeddedRemovalEmptyState) {
  width: min(720px, calc(100% - 36px)) !important;
  height: 190px !important;
  min-height: 0 !important;
  margin: clamp(36px, 6vh, 64px) 0 0 !important;
}

body.erp-app .image-opt-table-wrap tbody.centered-empty-state tr td.image-empty-cell,
body.erp-app .export-listing-table-wrap tbody.centered-empty-state tr td.export-listing-empty {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  padding: clamp(76px, 13vh, 132px) 0 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #7b8a86 !important;
  font-size: 13px !important;
  font-weight: 540 !important;
  letter-spacing: .08em !important;
}

@media (max-width: 900px) {
  body.infringement-app,
  body.templates-app,
  body.api-app {
    padding: 42px 12px 16px !important;
  }

  body.api-app .api-page,
  body.api-app .api-page:has(.connection-form:not(.hidden)) {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
  }

  body.api-app .api-sidebar,
  body.api-app .api-page:has(.connection-form:not(.hidden)) .api-sidebar {
    width: 100% !important;
    height: auto !important;
    max-height: 220px !important;
    border-radius: 14px 14px 0 0 !important;
  }
}


/* YFTX visual design layer v178
   Presentation only. Business behavior and button actions stay untouched. */

:root,
body.erp-app,
body.source-inbox-app,
body.copywriting-app,
body.infringement-app,
body.api-app,
body.templates-app,
body.watermark-app {
  color-scheme: light;
  --wb-page: #f6f7f6;
  --wb-page-soft: #f7f8f8;
  --wb-surface: #ffffff;
  --wb-surface-soft: #f7f8f8;
  --wb-surface-hover: #fafbfa;
  --wb-text: #1a211e;
  --wb-muted: #6e7672;
  --wb-subtle: #98a09c;
  --wb-line: #e5e9e7;
  --wb-line-strong: #d4dad7;
  --wb-accent: #0f6f5c;
  --wb-accent-hover: #0b5c4c;
  --wb-accent-active: #084b3f;
  --wb-accent-soft: #edf5f1;
  --wb-accent-softer: #f6faf8;
  --wb-danger: #b34a42;
  --wb-danger-hover: #933830;
  --wb-danger-soft: #fbf2f1;
  --wb-success: #3f7a56;
  --wb-success-soft: #eff6f1;
  --wb-warning: #8c6a2f;
  --wb-warning-soft: #f8f4ea;
  --wb-focus: rgba(15, 111, 92, .14);
  --wb-shadow-pop: 0 10px 28px rgba(22, 32, 27, .08);
  --wb-shadow-modal: 0 24px 70px rgba(18, 28, 23, .16);
  --wb-r-control: 6px;
  --wb-r-card: 10px;
  --wb-r-panel: 14px;
  --wb-r-modal: 14px;
  --wb-control: 34px;
  --wb-control-small: 28px;
  --wb-font: "Inter", "SF Pro Text", "PingFang SC", "Microsoft YaHei UI", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --amz-bg: #f6f7f6;
  --amz-panel: #ffffff;
  --amz-border: #e5e9e7;
  --amz-border-strong: #d4dad7;
  --amz-ink: #1a211e;
  --amz-muted: #6e7672;
  --amz-accent: #0f6f5c;
  --amz-accent-dark: #0b5c4c;
  --amz-accent-soft: #edf5f1;
  --amz-danger: #b34a42;
  --amz-danger-soft: #fbf2f1;
  --amz-shadow: 0 10px 28px rgba(18, 28, 23, .06);
}

body.erp-app,
body.source-inbox-app,
body.copywriting-app,
body.infringement-app,
body.api-app,
body.templates-app,
body.watermark-app {
  background: var(--wb-page) !important;
  color: var(--wb-text) !important;
  font-family: var(--wb-font) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  text-rendering: optimizeLegibility !important;
  -webkit-font-smoothing: antialiased !important;
}

body.erp-app :is(h1, h2, h3, h4, p, span, small, strong, label, td, th),
body.source-inbox-app :is(h1, h2, h3, h4, p, span, small, strong, label, td, th),
body.copywriting-app :is(h1, h2, h3, h4, p, span, small, strong, label, td, th),
body.infringement-app :is(h1, h2, h3, h4, p, span, small, strong, label, td, th),
body.api-app :is(h1, h2, h3, h4, p, span, small, strong, label, td, th),
body.templates-app :is(h1, h2, h3, h4, p, span, small, strong, label, td, th),
body.watermark-app :is(h1, h2, h3, h4, p, span, small, strong, label, td, th) {
  font-variant-numeric: tabular-nums;
}

body.erp-app h1,
body.copywriting-app h1,
body.infringement-app h1,
body.api-app h1,
body.templates-app h1,
body.watermark-app h1 {
  font-size: 18px !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
}

body.erp-app h2,
body.copywriting-app h2,
body.infringement-app h2,
body.api-app h2,
body.templates-app h2,
body.watermark-app h2 {
  font-size: 15px !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
}

body.erp-app h3,
body.copywriting-app h3,
body.infringement-app h3,
body.api-app h3,
body.templates-app h3,
body.watermark-app h3 {
  font-size: 13px !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
}

body.erp-app :is(button, input, select, textarea),
body.source-inbox-app :is(button, input, select, textarea),
body.copywriting-app :is(button, input, select, textarea),
body.infringement-app :is(button, input, select, textarea),
body.api-app :is(button, input, select, textarea),
body.templates-app :is(button, input, select, textarea),
body.watermark-app :is(button, input, select, textarea) {
  font-family: var(--wb-font) !important;
  transition: background-color 120ms ease, border-color 120ms ease, color 120ms ease, box-shadow 120ms ease, transform 80ms ease !important;
}

body.erp-app button:active:not(:disabled),
body.source-inbox-app button:active:not(:disabled),
body.copywriting-app button:active:not(:disabled),
body.infringement-app button:active:not(:disabled),
body.api-app button:active:not(:disabled),
body.templates-app button:active:not(:disabled),
body.watermark-app button:active:not(:disabled) {
  transform: translateY(1px) !important;
}

body.erp-app button:disabled,
body.source-inbox-app button:disabled,
body.copywriting-app button:disabled,
body.infringement-app button:disabled,
body.api-app button:disabled,
body.templates-app button:disabled,
body.watermark-app button:disabled {
  opacity: 1 !important;
  color: #a6ada9 !important;
  background: #f1f3f2 !important;
  border-color: #e5e9e7 !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
  text-shadow: none !important;
}

:focus-visible {
  outline: 2px solid rgba(15, 111, 92, .42) !important;
  outline-offset: 2px !important;
}

::-webkit-scrollbar {
  width: 6px !important;
  height: 6px !important;
}

::-webkit-scrollbar-track {
  background: transparent !important;
}

::-webkit-scrollbar-thumb {
  border-radius: 999px !important;
  background: #d6dbd8 !important;
}

::-webkit-scrollbar-thumb:hover {
  background: #bcc3bf !important;
}

body.erp-app,
body.source-inbox-app,
body.copywriting-app,
body.infringement-app,
body.api-app,
body.templates-app,
body.watermark-app {
  scrollbar-width: thin;
  scrollbar-color: #d6dbd8 transparent;
}

/* Shell */
body.erp-app #appView {
  grid-template-columns: 96px minmax(0, 1fr) !important;
  gap: 10px !important;
  padding: 10px !important;
  background: transparent !important;
}

body.erp-app .sidebar {
  
  
  
  
  
  
  
}

body.erp-app .workspace {
  
  
  
  
}

body.erp-app .sidebar .brand {
  
  
  flex: 0 0 50px !important;
  margin-bottom: 2px !important;
}

body.erp-app .brand img {
  
  
  max-width: 38px !important;
}

body.erp-app .nav {
  
  
  
}

body.erp-app .nav button {
  
  
  flex: 0 0 40px !important;
  
  
  background: transparent !important;
  color: #68706c !important;
  
  
  box-shadow: none !important;
}

body.erp-app .nav button:hover {
  background: #f7f8f8 !important;
  color: #1a211e !important;
}

body.erp-app .nav button.active {
  
  
  
}

body.erp-app .nav button.active::before {
  display: block !important;
  content: "" !important;
  position: absolute !important;
  left: 2px !important;
  top: 9px !important;
  bottom: 9px !important;
  width: 2px !important;
  border-radius: 2px !important;
  background: #0f6f5c !important;
}

body.erp-app .sidebar-user {
  
  
}

body.erp-app .user-name {
  
  
  
  border: 0 !important;
  
  background: transparent !important;
  
  
  
}

body.erp-app .user-name:hover {
  background: #f7f8f8 !important;
  color: #1a211e !important;
}

body.erp-app .user-popover {
  
  
  
  
  
  
  
  
  
  
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.erp-app .user-menu-action {
  
  
  
  border: 0 !important;
  border-bottom: 1px solid #f1f3f2 !important;
  
  background: transparent !important;
  
  
  
  
}

body.erp-app .user-menu-action:last-child {
  border-bottom: 0 !important;
}

body.erp-app .user-menu-action:hover {
  background: #f7f8f8 !important;
  color: #0f6f5c !important;
}

body.erp-app .logout-action {
  margin-top: 2px !important;
  border-top: 1px solid #edf0ee !important;
  color: #b34a42 !important;
}

/* Primary/secondary/quiet button hierarchy */
body.erp-app .image-tool-button,
body.erp-app .image-open-doubao,
body.erp-app .image-inline-delete,
body.erp-app .image-transfer-export,
body.erp-app .export-mapping-button,
body.erp-app .export-complete-button,
body.erp-app .export-quiet-delete,
body.erp-app .page-clear-button,
body.erp-app .system-check-button,
body.erp-app .account-add-button,
body.erp-app .account-editor-primary,
body.erp-app .account-editor-secondary,
body.erp-app .modal-btn,
body.copywriting-app .pageClearButton,
body.copywriting-app .selectionDeleteButton,
body.copywriting-app .selectionPromptButton,
body.copywriting-app .embeddedRemovalButton,
body.copywriting-app #parseResultBtn,
body.infringement-app .button,
body.api-app .action-button,
body.api-app .quick-button,
body.api-app .icon-button,
body.templates-app .primary,
body.templates-app .secondary,
body.watermark-app .primary,
body.watermark-app .secondary,
body.watermark-app .white,
body.watermark-app .sync {
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  padding: 0 13px !important;
  border: 1px solid #d4dad7 !important;
  border-radius: var(--wb-r-control) !important;
  background: #ffffff !important;
  color: #59615d !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 32px !important;
  box-shadow: none !important;
}

body.erp-app .image-tool-button:hover:not(:disabled),
body.erp-app .image-open-doubao:hover:not(:disabled),
body.erp-app .export-mapping-button:hover:not(:disabled),
body.erp-app .export-complete-button:hover:not(:disabled),
body.erp-app .page-clear-button:hover:not(:disabled),
body.erp-app .account-editor-secondary:hover:not(:disabled),
body.erp-app .modal-btn:hover:not(:disabled),
body.copywriting-app .pageClearButton:hover:not(:disabled),
body.copywriting-app .selectionPromptButton:hover:not(:disabled),
body.copywriting-app .embeddedRemovalButton:hover:not(:disabled),
body.infringement-app .button:hover:not(:disabled),
body.api-app .action-button:hover:not(:disabled),
body.api-app .quick-button:hover:not(:disabled),
body.api-app .icon-button:hover:not(:disabled),
body.templates-app .primary:hover:not(:disabled),
body.templates-app .secondary:hover:not(:disabled),
body.watermark-app .primary:hover:not(:disabled),
body.watermark-app .secondary:hover:not(:disabled),
body.watermark-app .white:hover:not(:disabled),
body.watermark-app .sync:hover:not(:disabled) {
  border-color: #c8ceca !important;
  background: #f7f8f8 !important;
  color: #1a211e !important;
}

body.erp-app .image-open-doubao:not(:disabled),
body.erp-app .image-transfer-export:not(:disabled),
body.erp-app .export-mapping-button:not(.secondary):not(:disabled),
body.erp-app .export-complete-button:not(:disabled),
body.erp-app .system-check-button.primary:not(:disabled),
body.erp-app .account-add-button:not(:disabled),
body.erp-app .account-editor-primary:not(:disabled),
body.erp-app .modal-btn.confirm:not(.danger):not(:disabled),
body.copywriting-app .embeddedRemovalButton.primary:not(:disabled),
body.infringement-app .button.primary:not(:disabled),
body.api-app .action-button.primary:not(:disabled),
body.templates-app .primary:not(:disabled),
body.watermark-app .primary:not(:disabled),
body.watermark-app .sync:not(:disabled) {
  border-color: #0f6f5c !important;
  background: #0f6f5c !important;
  color: #ffffff !important;
}

body.erp-app .image-open-doubao:not(:disabled):hover,
body.erp-app .image-transfer-export:not(:disabled):hover,
body.erp-app .export-mapping-button:not(.secondary):not(:disabled):hover,
body.erp-app .export-complete-button:not(:disabled):hover,
body.erp-app .system-check-button.primary:not(:disabled):hover,
body.erp-app .account-add-button:not(:disabled):hover,
body.erp-app .account-editor-primary:not(:disabled):hover,
body.erp-app .modal-btn.confirm:not(.danger):not(:disabled):hover,
body.copywriting-app .embeddedRemovalButton.primary:not(:disabled):hover,
body.infringement-app .button.primary:not(:disabled):hover,
body.api-app .action-button.primary:not(:disabled):hover,
body.templates-app .primary:not(:disabled):hover,
body.watermark-app .primary:not(:disabled):hover,
body.watermark-app .sync:not(:disabled):hover {
  border-color: #0b5c4c !important;
  background: #0b5c4c !important;
  color: #ffffff !important;
}

body.erp-app .image-inline-delete:not(:disabled),
body.erp-app .export-quiet-delete:not(:disabled),
body.copywriting-app .selectionDeleteButton:not(:disabled),
body.copywriting-app .embeddedRemovalButton.danger:not(:disabled),
body.infringement-app .button.danger:not(:disabled) {
  border-color: transparent !important;
  background: transparent !important;
  color: #b34a42 !important;
}

body.erp-app .image-inline-delete:not(:disabled):hover,
body.erp-app .export-quiet-delete:not(:disabled):hover,
body.copywriting-app .selectionDeleteButton:not(:disabled):hover,
body.copywriting-app .embeddedRemovalButton.danger:not(:disabled):hover,
body.infringement-app .button.danger:not(:disabled):hover {
  border-color: transparent !important;
  background: #fbf2f1 !important;
  color: #933830 !important;
}

/* Workflow command bars */
body.copywriting-app .workspaceShell {
  grid-template-rows: 56px minmax(0, 1fr) !important;
  background: #f6f7f6 !important;
}

body.copywriting-app .commandBar,
body.erp-app .image-opt-command-bar,
body.erp-app .export-listing-header,
body.infringement-app .library-toolbar,
body.templates-app .toolbar {
  min-height: 56px !important;
  height: 56px !important;
  max-height: 56px !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--wb-line) !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

body.copywriting-app .contentCard {
  
  
  
  
}

body.copywriting-app .workflowActions {
  height: 32px !important;
  min-height: 32px !important;
  
  
  
  
  box-shadow: none !important;
}

body.copywriting-app .workflowButton {
  width: 92px !important;
  
  
  
  
  
  
}

body.copywriting-app .workflowButton[aria-pressed="true"] {
  background: #ffffff !important;
  color: #0f6f5c !important;
  box-shadow: 0 1px 4px rgba(20, 30, 25, .06) !important;
}

body.copywriting-app .parseWorkspace {
  background: #f6f7f6 !important;
}

body.copywriting-app .parseInputPane,
body.copywriting-app .embeddedRemovalPane {
  
  
}

body.copywriting-app #aiResult,
body.copywriting-app .resultEditor {
  border: 1px solid var(--wb-line) !important;
  border-radius: 8px !important;
  background: #ffffff !important;
}

/* Tables */
body.source-inbox-app .amz-table thead th,
body.copywriting-app #dataTable th,
body.copywriting-app #outputTable th,
body.copywriting-app #embeddedRemovalTable th,
body.erp-app #imageOptimizationTable th,
body.erp-app #exportListingTable th,
body.erp-app .account-table-header {
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  padding: 0 12px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--wb-line) !important;
  background: #f7f8f8 !important;
  color: #68706c !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 20px !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
}

body.source-inbox-app .amz-table tbody td,
body.copywriting-app #dataTable td,
body.copywriting-app #outputTable td,
body.copywriting-app #embeddedRemovalTable td,
body.erp-app #imageOptimizationTable td,
body.erp-app #exportListingTable td {
  padding: 8px 12px !important;
  border: 0 !important;
  border-bottom: 1px solid #edf0ee !important;
  background: #ffffff !important;
  color: #1a211e !important;
  font-size: 13px !important;
  line-height: 20px !important;
  vertical-align: middle !important;
}

body.source-inbox-app .amz-table tbody tr:last-child td,
body.copywriting-app #dataTable tbody tr:last-child td,
body.copywriting-app #embeddedRemovalTable tbody tr:last-child td,
body.erp-app #imageOptimizationTable tbody tr:last-child td,
body.erp-app #exportListingTable tbody tr:last-child td {
  border-bottom: 0 !important;
}

body.source-inbox-app .amz-table tbody tr:hover td,
body.copywriting-app #dataTable tbody tr:hover td,
body.copywriting-app #embeddedRemovalTable tbody tr:hover td,
body.erp-app #imageOptimizationTable tbody tr:hover td,
body.erp-app #exportListingTable tbody tr:hover td {
  background: #fafbfa !important;
}

body.source-inbox-app .amz-table tbody tr.selected td,
body.source-inbox-app .amz-table tbody tr.selected:hover td,
body.copywriting-app #dataTable tbody tr.selected td,
body.copywriting-app #embeddedRemovalTable tbody tr.selected td,
body.erp-app #imageOptimizationTable tbody tr.selected td,
body.erp-app #exportListingTable tbody tr.selected td {
  background: #f2f8f5 !important;
}

body.source-inbox-app .amz-table th.amz-col-title,
body.source-inbox-app .amz-table td.amz-col-title,
body.source-inbox-app .amz-table th.amz-col-asin,
body.source-inbox-app .amz-table td.amz-col-asin,
body.source-inbox-app .amz-table th.amz-col-seller,
body.source-inbox-app .amz-table td.amz-col-seller,
body.copywriting-app #dataTable th:nth-child(2),
body.copywriting-app #dataTable td:nth-child(2),
body.copywriting-app #embeddedRemovalTable th:nth-child(2),
body.copywriting-app #embeddedRemovalTable td:nth-child(2),
body.erp-app #imageOptimizationTable th:nth-child(4),
body.erp-app #imageOptimizationTable td:nth-child(4),
body.erp-app #imageOptimizationTable th:nth-child(5),
body.erp-app #imageOptimizationTable td:nth-child(5) {
  text-align: left !important;
}

body.erp-app .image-opt-thumbnail,
body.erp-app .export-listing-table-wrap img,
body.copywriting-app #dataTable img,
body.copywriting-app #embeddedRemovalTable img {
  border-radius: 6px !important;
}

/* Empty states */
body.source-inbox-app .amz-table-scroll:has(.amz-empty-row) .amz-empty,
body.copywriting-app .previewTableWrap:has(.centeredEmptyState) .emptyCell,
body.copywriting-app .embeddedRemovalPane:has(.embeddedRemovalEmptyState) .embeddedRemovalEmpty,
body.erp-app .image-opt-table-wrap td.image-empty-cell,
body.erp-app .export-listing-table-wrap td.export-listing-empty {
  color: #7c8580 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: .04em !important;
}

body.source-inbox-app .amz-table-scroll:has(.amz-empty-row) .amz-empty::before,
body.copywriting-app .emptyCell::before,
body.copywriting-app .embeddedRemovalEmpty::before,
body.erp-app .image-empty-cell::before,
body.erp-app .export-listing-empty::before {
  content: "" !important;
  display: block !important;
  width: 20px !important;
  height: 2px !important;
  margin: 0 auto 10px !important;
  border-radius: 2px !important;
  background: #0f6f5c !important;
  opacity: .55 !important;
}

/* Account and system check */
body.erp-app .view-accounts.active,
body.erp-app .view-system-check.active {
  padding: clamp(52px, 8vh, 88px) 22px 28px !important;
  background: #f6f7f6 !important;
}

body.erp-app .view-accounts .accounts-page-minimal,
body.erp-app .view-accounts.active .accounts-page-minimal,
body.erp-app .view-system-check .system-check-page {
  width: min(820px, 100%) !important;
  max-width: 820px !important;
}

body.erp-app .view-accounts.active .accounts-shell-minimal {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.erp-app .accounts-shell-minimal {
  
  
  
  
  
}

body.erp-app .accounts-primary-action {
  
}

body.erp-app .account-table {
  
  
  
}

body.erp-app .account-table-header,
body.erp-app .account-table-row {
  
}

body.erp-app .account-table-header {
  
}

body.erp-app .account-table-row {
  
}

body.erp-app .account-table-cell {
  
  
}

body.erp-app .system-check-page {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  
  box-shadow: none !important;
}

body.erp-app .system-check-header {
  
  
}

body.erp-app .system-check-header p {
  
  
}

body.erp-app .system-check-list {
  padding-top: 10px !important;
}

body.erp-app .system-check-row {
  
  
  border: 1px solid #e9ecea !important;
  
  
  box-shadow: none !important;
}

/* Module management pages */
body.infringement-app,
body.templates-app,
body.api-app {
  padding: 36px 18px 18px !important;
  background: #f6f7f6 !important;
}

body.infringement-app .library-page,
body.templates-app .template-page,
body.api-app .api-page {
  border: 1px solid var(--wb-line) !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

body.infringement-app .library-page,
body.templates-app .template-page {
  width: min(920px, 100%) !important;
  max-width: 920px !important;
  height: auto !important;
  min-height: 220px !important;
  max-height: calc(100vh - 92px) !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
}

body.infringement-app .library-card,
body.templates-app .template-card {
  
}

body.infringement-app .library-toolbar,
body.templates-app .toolbar,
body.infringement-app .count-dashboard,
body.templates-app .count-dashboard {
  border-radius: 0 !important;
  background: #ffffff !important;
}

body.infringement-app .count-dashboard,
body.templates-app .count-dashboard {
  
  
  
  
}

body.infringement-app .metric-card,
body.templates-app .metric-card {
  min-height: 0 !important;
  height: auto !important;
  width: min(520px, 100%) !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 0 12px !important;
}

body.infringement-app .metric-card .metric-value,
body.templates-app .metric-card .metric-value {
  font-size: 12px !important;
}

body.infringement-app .metric-card .metric-value strong,
body.templates-app .metric-card .metric-value strong {
  font-size: 18px !important;
  font-weight: 650 !important;
}

body.infringement-app .empty-state,
body.templates-app .empty {
  
  
  
}

/* API settings */
body.api-app .api-page {
  width: min(1000px, 100%) !important;
  max-width: 1000px !important;
  height: calc(100vh - 88px) !important;
  min-height: 0 !important;
  max-height: 800px !important;
  grid-template-columns: 204px minmax(0, 1fr) !important;
}

body.api-app .api-sidebar {
  
  
  
}

body.api-app .sidebar-head {
  
  
  
  
  
  
}

body.api-app .connection-list {
  
  
}

body.api-app .connection-card {
  
  
  
  
  
}

body.api-app .connection-card:hover {
  border-color: #c8ceca !important;
  background: #fafbfa !important;
}

body.api-app .connection-card.active {
  border-color: rgba(15, 111, 92, .4) !important;
  background: #f2f8f5 !important;
}

body.api-app .empty-editor {
  
}

body.api-app .empty-panel {
  
  
  
  
}

body.api-app .editor-body {
  
}

body.api-app .panel-card,
body.api-app .result-card {
  
  
  
  
}

body.api-app .field input,
body.api-app .field select,
body.api-app .field textarea,
body.api-app .provider-select select,
body.api-app input[type="text"],
body.api-app input[type="url"],
body.api-app input[type="password"] {
  
  
  
  
}

/* Overlays */
body.erp-app .modal-backdrop,
body.erp-app .account-editor-backdrop,
body.erp-app .product-detail-backdrop,
body.erp-app .erp-image-zoom-backdrop,
body.infringement-app .dialog-backdrop {
  background: rgba(23, 30, 26, .18) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.erp-app .system-modal,
body.erp-app .account-editor-modal,
body.erp-app .export-file-modal,
body.erp-app .watermark-tool-modal,
body.infringement-app .dialog-card {
  border: 1px solid var(--wb-line) !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  box-shadow: var(--wb-shadow-modal) !important;
}

body.erp-app .account-editor-modal {
  
}

body.erp-app .system-modal {
  
}

body.erp-app .export-file-modal {
  
}

body.erp-app .watermark-tool-modal {
  width: min(1180px, 94vw) !important;
}

body.erp-app .account-editor-header,
body.erp-app .system-modal-copy,
body.erp-app .export-file-modal-copy,
body.infringement-app .dialog-header {
  padding: 16px 18px 0 !important;
}

body.erp-app .account-editor-actions,
body.erp-app .system-modal-actions,
body.erp-app .export-file-modal-actions,
body.infringement-app .dialog-footer {
  padding: 0 18px 16px !important;
}

body.erp-app .modal-btn,
body.erp-app .account-editor-primary,
body.erp-app .account-editor-secondary,
body.infringement-app .button {
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  border-radius: var(--wb-r-control) !important;
}

body.erp-app .erp-toast,
body.source-inbox-app .amz-toast,
body.copywriting-app .moduleToast,
body.infringement-app .module-toast,
body.api-app .module-toast,
body.templates-app .toast,
body.watermark-app .toast {
  border-radius: 8px !important;
  background: #262c28 !important;
  color: #ffffff !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .16) !important;
}

body.source-inbox-app .amz-pagination button,
body.source-inbox-app .amz-page-size-label select,
body.erp-app .workflow-pagination button,
body.copywriting-app .copywritingPager button,
body.infringement-app .pagination button,
body.templates-app .pagination button {
  height: 28px !important;
  min-height: 28px !important;
  max-height: 28px !important;
  border: 1px solid #d4dad7 !important;
  border-radius: 6px !important;
  background: #ffffff !important;
  color: #68706c !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}

body.source-inbox-app .amz-page-size-label select,
body.erp-app .workflow-pagination select {
  background-color: #ffffff !important;
}

@media (max-width: 900px) {
  body.erp-app #appView {
    grid-template-columns: 84px minmax(0, 1fr) !important;
    padding: 8px !important;
  }

  body.erp-app .sidebar {
    width: 84px !important;
    min-width: 84px !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
  }

  body.infringement-app,
  body.templates-app,
  body.api-app {
    padding: 22px 10px 10px !important;
  }

  body.api-app .api-page {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
  }

  body.api-app .api-sidebar {
    width: 100% !important;
    max-height: 230px !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--wb-line) !important;
    border-radius: 12px 12px 0 0 !important;
  }
}

/* v178 final visual polish pass */

/* System check: same centered compact sheet as account management. */
body.erp-app .view-system-check.active > .system-check-page,
body.erp-app .view-system-check.active > .system-check-page.active {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  align-content: start !important;
  justify-content: stretch !important;
  width: min(820px, 100%) !important;
  max-width: 820px !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  gap: 10px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body.erp-app #systemCheckFixBtn {
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  padding: 0 14px !important;
  border-radius: var(--wb-r-control) !important;
  font-size: 12px !important;
  line-height: 32px !important;
}

body.erp-app .view-system-check.active .system-check-header {
  
  flex-direction: row !important;
  
  
  
  
  
  
  
  
  
  
}

body.erp-app .view-system-check.active .system-check-header > div:first-child {
  display: none !important;
}

body.erp-app .view-system-check.active .system-check-header p {
  margin: 0 !important;
  
  
  
  
  text-align: left !important;
  
  
  
}

body.erp-app .view-system-check.active .system-check-actions {
  
  
}

body.erp-app .view-system-check.active .system-check-list {
  
  
  
  
  
  
  
  
  
  
  
  
  
}

body.erp-app .view-system-check.active .system-check-row {
  
  
  
  
  
  
  
  
  
  
  
  
}

body.erp-app .view-system-check.active .system-check-row:last-child {
  border-bottom: 0 !important;
}

body.erp-app .view-system-check.active .system-check-row-main {
  
  
  
}

body.erp-app .view-system-check.active .system-check-row-main strong {
  
  
  
}

body.erp-app .view-system-check.active .system-check-row-main span {
  display: none !important;
}

body.erp-app .view-system-check.active .system-check-row-main small {
  display: none !important;
}

/* Module management pages: one quiet sheet, no double card. */
body.infringement-app > main.library-page,
body.templates-app > main.template-page {
  width: min(920px, 100%) !important;
  max-width: 920px !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(100vh - 92px) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: flex !important;
  align-items: stretch !important;
  justify-content: center !important;
  border: 1px solid var(--wb-line) !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

body.infringement-app .library-card,
body.templates-app .template-card {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

body.infringement-app .library-toolbar,
body.templates-app .toolbar {
  min-height: 56px !important;
  height: 56px !important;
  max-height: 56px !important;
  padding: 0 16px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--wb-line) !important;
  border-radius: 0 !important;
  background: #ffffff !important;
}

body.infringement-app .count-dashboard,
body.templates-app .count-dashboard {
  min-height: 54px !important;
  height: 54px !important;
  max-height: 54px !important;
  padding: 0 16px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--wb-line) !important;
  border-radius: 0 !important;
  background: #ffffff !important;
}

body.infringement-app #addOneButton,
body.infringement-app #addBatchButton,
body.infringement-app #importFileButton,
body.templates-app #importButton {
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  padding: 0 13px !important;
  border-radius: var(--wb-r-control) !important;
  font-size: 12px !important;
  line-height: 32px !important;
}

body.infringement-app .empty-state,
body.templates-app .empty {
  min-height: 120px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px !important;
  border: 0 !important;
  color: var(--wb-muted) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  text-align: center !important;
}

body.infringement-app .empty-state::before,
body.templates-app .empty::before {
  content: none !important;
  display: none !important;
}

/* API empty state: move the compact choose buttons toward the upper center. */
body.api-app .api-page:has(#emptyEditor:not(.hidden)) {
  height: min(540px, calc(100vh - 150px)) !important;
  min-height: 0 !important;
  max-height: 540px !important;
}

body.api-app .api-workspace:has(#emptyEditor:not(.hidden)) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  align-items: stretch !important;
}

body.api-app #emptyEditor:not(.hidden) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto !important;
  align-content: start !important;
  justify-items: center !important;
  min-height: 0 !important;
  height: 100% !important;
  padding: 74px 24px !important;
  overflow: hidden !important;
}

body.api-app #emptyEditor .empty-panel {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.api-app #emptyEditor .empty-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.api-app #emptyDeepSeekBtn,
body.api-app #emptyR2Btn,
body.api-app #emptyNewBtn,
body.api-app .quick-button {
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  padding: 0 14px !important;
  border-radius: var(--wb-r-control) !important;
  font-size: 12px !important;
  line-height: 32px !important;
}

/* Quiet empty states for the main workflow pages. */
body.erp-app .image-empty-cell::before,
body.erp-app .export-listing-empty::before,
body.source-inbox-app .amz-empty::before {
  content: none !important;
  display: none !important;
  margin: 0 !important;
}

/* Last control sizing pass for old id-specific styles. */
body.copywriting-app #parseResultBtn,
body.copywriting-app #copyPromptButton,
body.copywriting-app #selectionPromptButton,
body.copywriting-app #embeddedRemovalButton,
body.copywriting-app .selectionPromptButton,
body.copywriting-app .selectionDeleteButton,
body.copywriting-app .embeddedRemovalButton,
body.copywriting-app .pageClearButton,
body.copywriting-app .workflowButton {
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  border-radius: var(--wb-r-control) !important;
  font-size: 12px !important;
}

body.erp-app .modal-btn,
body.erp-app .account-editor-primary,
body.erp-app .account-editor-secondary,
body.erp-app .system-check-button,
body.erp-app .account-add-button,
body.erp-app .page-clear-button,
body.erp-app .image-tool-button,
body.erp-app .image-open-doubao,
body.erp-app .image-inline-delete,
body.erp-app .image-transfer-export,
body.erp-app .export-mapping-button,
body.erp-app .export-complete-button,
body.erp-app .export-quiet-delete {
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  padding: 0 13px !important;
  border-radius: var(--wb-r-control) !important;
  font-size: 12px !important;
  line-height: 32px !important;
}

@media (max-width: 1100px) {
}

/* 老板账号菜单：悬停即可展开，并让弹层与按钮之间保持连续可点击区域。 */
body.erp-app .user-menu {
  position: relative !important;
}

body.erp-app .user-menu .user-name {
  cursor: pointer !important;
}

body.erp-app .user-menu .user-popover {
  bottom: calc(100% + 8px) !important;
  z-index: 80 !important;
  pointer-events: auto !important;
}

body.erp-app .user-menu .user-popover::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: -8px !important;
  height: 8px !important;
  display: block !important;
  pointer-events: auto !important;
}

body.erp-app .user-menu:hover .user-popover,
body.erp-app .user-menu.open .user-popover,
body.erp-app .user-menu:focus-within .user-popover {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
  transition-delay: 0s !important;
}


/* YFTX visual design layer v179
   UI-only refinements. Business behavior and button actions remain untouched. */

:root,
body.erp-app,
body.source-inbox-app,
body.copywriting-app,
body.api-app,
body.templates-app,
body.watermark-app {
  --wb-page: #f2f4f3;
  --wb-page-soft: #f6f7f6;
  --wb-surface: #ffffff;
  --wb-surface-soft: #f6f7f6;
  --wb-text: #18201c;
  --wb-muted: #69716d;
  --wb-subtle: #9aa29e;
  --wb-line: #e3e7e5;
  --wb-line-strong: #cfd6d2;
  --wb-accent: #0e6b58;
  --wb-accent-hover: #0a5949;
  --wb-accent-soft: #edf5f1;
  --wb-danger: #ad453c;
  --wb-success: #3f7a56;
  --wb-warning: #87682f;
  --wb-shadow-pop: 0 8px 22px rgba(20, 30, 25, .08);
  --wb-shadow-modal: 0 22px 56px rgba(16, 26, 21, .16);
  --wb-r-control: 6px;
  --wb-r-card: 8px;
  --wb-r-panel: 10px;
  --wb-r-modal: 12px;
  --wb-control: 34px;
  --wb-control-small: 28px;
  --wb-font: "Inter", "SF Pro Text", "PingFang SC", "Microsoft YaHei UI", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.erp-app,
body.source-inbox-app,
body.copywriting-app,
body.api-app,
body.templates-app,
body.watermark-app {
  background: var(--wb-page) !important;
  color: var(--wb-text) !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
}

body.erp-app button,
body.source-inbox-app button,
body.copywriting-app button,
body.api-app button,
body.templates-app button,
body.watermark-app button {
  min-width: 0 !important;
  white-space: nowrap !important;
  box-shadow: none !important;
}

body.erp-app button,
body.source-inbox-app button,
body.copywriting-app button,
body.api-app button,
body.templates-app button,
body.watermark-app button,
body.erp-app input,
body.erp-app select,
body.erp-app textarea,
body.source-inbox-app input,
body.source-inbox-app select,
body.source-inbox-app textarea,
body.copywriting-app input,
body.copywriting-app select,
body.copywriting-app textarea,
body.api-app input,
body.api-app select,
body.api-app textarea,
body.templates-app input,
body.templates-app select,
body.templates-app textarea {
  outline-color: rgba(14, 107, 88, .32) !important;
}

body.erp-app ::selection,
body.source-inbox-app ::selection,
body.copywriting-app ::selection,
body.api-app ::selection,
body.templates-app ::selection {
  background: rgba(14, 107, 88, .16) !important;
}

/* Typography scale */
body.erp-app h1,
body.copywriting-app h1,
body.api-app h1,
body.templates-app h1 {
  font-size: 18px !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
}

body.erp-app h2,
body.copywriting-app h2,
body.api-app h2,
body.templates-app h2 {
  font-size: 15px !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
}

body.erp-app h3,
body.copywriting-app h3,
body.api-app h3,
body.templates-app h3 {
  font-size: 13px !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
}

body.erp-app td,
body.source-inbox-app td,
body.copywriting-app td,
body.api-app td,
body.templates-app td {
  font-variant-numeric: tabular-nums !important;
}

/* Shell rhythm */
body.erp-app #appView {
  grid-template-columns: 92px minmax(0, 1fr) !important;
  gap: 10px !important;
  padding: 10px !important;
}

body.erp-app .sidebar {
  
  
  
  border-color: #e3e7e5 !important;
  
}

body.erp-app .workspace {
  border-color: #e3e7e5 !important;
  
}

body.erp-app .brand {
  
  
  flex-basis: 46px !important;
  margin-bottom: 2px !important;
}

body.erp-app .brand img {
  
  
}

body.erp-app .nav {
  
}

body.erp-app .nav button {
  
  
  flex-basis: 42px !important;
  
  
  gap: 3px !important;
  
  
}

body.erp-app .nav button.active {
  position: relative !important;
  color: #0e6b58 !important;
  background: #f1f6f3 !important;
  font-weight: 650 !important;
}

body.erp-app .nav button.active::before {
  left: -7px !important;
  top: 11px !important;
  bottom: 11px !important;
  width: 2px !important;
}

body.erp-app .sidebar-user {
  
  border-color: #edf0ee !important;
}

body.erp-app .user-name {
  
  
  
  
  
}

body.erp-app .user-popover {
  
  
  
  
  border-color: #e3e7e5 !important;
  
  
}

body.erp-app .user-menu-action {
  
  
  
  border-bottom-color: #f0f2f1 !important;
  
  
  text-align: center !important;
}

body.erp-app .user-menu-action:last-child {
  border-bottom: 0 !important;
}

body.erp-app .user-popover::before {
  bottom: -6px !important;
  height: 6px !important;
}

/* Standard buttons */
body.erp-app .image-tool-button,
body.erp-app .image-open-doubao,
body.erp-app .image-inline-delete,
body.erp-app .image-transfer-export,
body.erp-app .export-mapping-button,
body.erp-app .export-complete-button,
body.erp-app .export-quiet-delete,
body.erp-app .page-clear-button,
body.erp-app .system-check-button,
body.erp-app .account-add-button,
body.erp-app .account-editor-primary,
body.erp-app .account-editor-secondary,
body.erp-app .modal-btn,
body.copywriting-app .pageClearButton,
body.copywriting-app .selectionDeleteButton,
body.copywriting-app .selectionPromptButton,
body.copywriting-app .embeddedRemovalButton,
body.api-app .action-button,
body.api-app .quick-button,
body.templates-app .primary,
body.templates-app .secondary,
body.templates-app .retry,
body.source-inbox-app .amz-action,
body.source-inbox-app .amz-new-batch-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  padding: 0 13px !important;
  border-radius: 6px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

body.copywriting-app .workflowButton {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  
  
  max-height: 28px !important;
  
  
  
}

body.source-inbox-app .amz-engine-action,
body.source-inbox-app .amz-pagination button,
body.erp-app .workflow-pagination button,
body.copywriting-app .copywritingPager button,
body.templates-app .pagination button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 11px !important;
  border-radius: 6px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

/* Command bar consistency */
body.source-inbox-app .amz-topbar,
body.copywriting-app .commandBar,
body.erp-app .image-opt-command-bar,
body.erp-app .export-listing-header,
body.api-app .sidebar-head,
body.templates-app .toolbar {
  height: 60px !important;
  min-height: 60px !important;
  max-height: 60px !important;
  padding: 0 16px !important;
  border-bottom-color: #e3e7e5 !important;
}

body.copywriting-app .workspaceShell {
  
}

body.copywriting-app .commandBar {
  
}

body.copywriting-app .contentCard {
  padding: 0 !important;
}

body.source-inbox-app .amz-result-pane,
body.copywriting-app .tableWrap,
body.erp-app .export-listing-table-wrap,
body.api-app .connection-form,
body.templates-app .template-card {
  border-color: #e3e7e5 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
}

body.source-inbox-app .amz-table thead th,
body.copywriting-app #dataTable th,
body.copywriting-app #embeddedRemovalTable th,
body.erp-app #exportListingTable th,
body.erp-app .account-table-header {
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  padding: 0 12px !important;
  background: #f6f7f6 !important;
  color: #66706b !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 20px !important;
}

body.source-inbox-app .amz-table tbody td,
body.copywriting-app #dataTable td,
body.copywriting-app #embeddedRemovalTable td,
body.erp-app #exportListingTable td {
  padding: 8px 12px !important;
  font-size: 13px !important;
  line-height: 20px !important;
}

body.source-inbox-app .amz-table tbody tr:hover td,
body.copywriting-app #dataTable tbody tr:hover td,
body.copywriting-app #embeddedRemovalTable tbody tr:hover td,
body.erp-app #exportListingTable tbody tr:hover td {
  background: #fafbfa !important;
}

body.source-inbox-app .amz-table tbody tr.selected td,
body.copywriting-app #dataTable tbody tr.selected td,
body.copywriting-app #embeddedRemovalTable tbody tr.selected td,
body.erp-app #exportListingTable tbody tr.selected td {
  background: #eff7f3 !important;
}

body.source-inbox-app .amz-thumb,
body.copywriting-app #dataTable img,
body.copywriting-app #embeddedRemovalTable img,
body.erp-app #exportListingTable img {
  border-radius: 6px !important;
}

/* Unified empty states */
body.source-inbox-app .amz-table-scroll:has(.amz-empty-row) .amz-empty,
body.source-inbox-app .amz-table-scroll:has(.amz-empty-row) .amz-empty-row,
body.source-inbox-app .amz-table-scroll:has(.amz-empty-row) .amz-empty-row td,
body.copywriting-app .emptyCell,
body.copywriting-app .embeddedRemovalEmpty,
body.erp-app .export-listing-empty,
body.api-app .connection-empty,
body.templates-app .empty {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 260px !important;
  padding: 24px !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--wb-muted) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
}

body.erp-app #accountList:empty {
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  min-height: 160px !important;
  color: var(--wb-muted) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

body.erp-app #accountList:empty::after {
  content: "暂无数据" !important;
}

/* Accounts, system check, templates and API compact centered sheets */
body.erp-app .view-accounts.active,
body.erp-app .view-system-check.active {
  padding: 56px 20px 28px !important;
}

body.erp-app .view-accounts .accounts-page-minimal,
body.erp-app .view-accounts.active .accounts-page-minimal,
body.erp-app .view-system-check.active > .system-check-page,
body.erp-app .view-system-check.active > .system-check-page.active {
  width: min(780px, 100%) !important;
  min-width: 0 !important;
  max-width: 780px !important;
}

body.erp-app .account-table {
  
  
  
}

body.erp-app .account-table-header {
  
  
}

body.erp-app .account-table-row {
  
}

body.erp-app .account-table-cell {
  
  
}

body.erp-app .system-check-page {
  
}

body.erp-app .view-system-check.active .system-check-header {
  
  
  
}

body.erp-app .view-system-check.active .system-check-header p {
  
}

body.erp-app .view-system-check.active .system-check-list {
  border-color: #e3e7e5 !important;
  
}

body.erp-app .view-system-check.active .system-check-row {
  
  
}

body.api-app {
  
}

body.api-app .api-page {
  
  
  
  
  border-color: #e3e7e5 !important;
  
}

body.api-app .api-sidebar {
  border-color: #e3e7e5 !important;
}

body.api-app .connection-card {
  border-color: #e3e7e5 !important;
  
}

body.api-app .editor-body {
  
}

body.api-app .panel-card,
body.api-app .result-card {
  border-color: #e3e7e5 !important;
  
  
}

body.api-app .field input,
body.api-app .field select,
body.api-app .field textarea,
body.api-app .provider-select select,
body.api-app input[type="text"],
body.api-app input[type="url"],
body.api-app input[type="password"] {
  
  border-color: #d7ddd9 !important;
  
  
  color: var(--wb-text) !important;
}

body.templates-app {
  padding: 34px 18px 18px !important;
}

body.templates-app > main.template-page {
  
  
  
  
  border-color: #e3e7e5 !important;
  
  align-items: stretch !important;
  justify-content: flex-start !important;
}

body.templates-app .template-card {
  
  
  
}

body.templates-app .metric-card {
  
  
}

body.templates-app .metric-card .metric-value strong {
  
}

body.erp-app .export-listing-table-wrap {
  
}

body.erp-app .export-listing-header .export-clear-toolbar,
body.erp-app .export-listing-header .export-listing-actions {
  gap: 8px !important;
}

/* Loading and busy buttons */
button[aria-busy="true"],
button[data-busy="true"] {
  position: relative !important;
  pointer-events: none !important;
  padding-left: 24px !important;
}

button[aria-busy="true"]::before,
button[data-busy="true"]::before {
  content: "" !important;
  position: absolute !important;
  left: 8px !important;
  top: 50% !important;
  width: 12px !important;
  height: 12px !important;
  margin-top: -6px !important;
  border: 1.5px solid currentColor !important;
  border-right-color: transparent !important;
  border-radius: 50% !important;
  opacity: .9 !important;
  animation: yftx-button-spin .72s linear infinite !important;
}

@keyframes yftx-button-spin {
  to { transform: rotate(360deg); }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* Modals */
body.erp-app .modal-backdrop,
body.erp-app .account-editor-backdrop,
body.erp-app .product-detail-backdrop {
  background: rgba(18, 26, 22, .22) !important;
}

body.erp-app .system-modal,
body.erp-app .account-editor-modal,
body.erp-app .export-file-modal {
  border-color: #e3e7e5 !important;
  
  
}

body.erp-app .account-editor-header h2,
body.erp-app .system-modal-copy h2,
body.erp-app .export-file-modal-copy h2 {
  font-size: 15px !important;
}

body.erp-app .account-editor-field > span,
body.erp-app .export-file-modal-copy > label {
  font-size: 12px !important;
  font-weight: 600 !important;
}

/* Toasts */
body.erp-app .erp-toast,
body.source-inbox-app .amz-toast,
body.copywriting-app .moduleToast,
body.api-app .module-toast,
body.templates-app .toast {
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  bottom: 18px !important;
  min-height: 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px 14px !important;
  border: 1px solid rgba(255, 255, 255, .08) !important;
  border-radius: 8px !important;
  background: #242a27 !important;
  box-shadow: 0 10px 26px rgba(12, 19, 15, .2) !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 550 !important;
}

/* Scrollbars */
body.erp-app ::-webkit-scrollbar,
body.source-inbox-app ::-webkit-scrollbar,
body.copywriting-app ::-webkit-scrollbar,
body.api-app ::-webkit-scrollbar,
body.templates-app ::-webkit-scrollbar {
  width: 6px !important;
  height: 6px !important;
}

body.erp-app ::-webkit-scrollbar-thumb,
body.source-inbox-app ::-webkit-scrollbar-thumb,
body.copywriting-app ::-webkit-scrollbar-thumb,
body.api-app ::-webkit-scrollbar-thumb,
body.templates-app ::-webkit-scrollbar-thumb {
  border-radius: 999px !important;
  background: #d5dbd8 !important;
}

/* Responsive command bars */
@media (max-width: 1280px) {
  body.source-inbox-app .amz-topbar {
    padding: 0 12px !important;
  }

  body.source-inbox-app .amz-compact-fields {
    gap: 8px !important;
  }

  body.copywriting-app .commandBar {
    padding: 0 12px !important;
  }
}

@media (max-width: 1050px) {

  body.copywriting-app .commandBar {
    grid-template-columns: 1fr auto !important;
    grid-template-rows: auto auto !important;
    height: auto !important;
    min-height: 94px !important;
    gap: 6px !important;
    padding: 8px 12px !important;
  }

  body.copywriting-app .workspaceShell {
    grid-template-rows: auto minmax(0, 1fr) !important;
  }
}

/* v179 final refinements: restore API toolbar, standardize empty text height,
   keep zero letter spacing and make focus/feedback states deterministic. */
body.api-app .sidebar-head > div.sidebar-tools {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 34px !important;
  height: 34px !important;
  margin: 0 !important;
}

body.api-app .sidebar-head .sidebar-tools .icon-button {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body.erp-app :is(p, span, small, strong, label, td, th, div, section, button, input, select, textarea),
body.source-inbox-app :is(p, span, small, strong, label, td, th, div, section, button, input, select, textarea),
body.copywriting-app :is(p, span, small, strong, label, td, th, div, section, button, input, select, textarea),
body.api-app :is(p, span, small, strong, label, td, th, div, section, button, input, select, textarea),
body.templates-app :is(p, span, small, strong, label, td, th, div, section, button, input, select, textarea) {
  letter-spacing: 0 !important;
}

body.copywriting-app .previewTableWrap:has(.centeredEmptyState) {
  margin-top: clamp(24px, 4vh, 38px) !important;
}

body.copywriting-app .embeddedRemovalPane .embeddedRemovalTableWrap:has(.embeddedRemovalEmptyState) {
  margin-top: clamp(24px, 4vh, 38px) !important;
}

body.erp-app .view.active {
  animation: yftx-view-in .12s ease both !important;
}

@keyframes yftx-view-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

body.erp-app :is(button, input, select, textarea, [tabindex]):focus-visible,
body.source-inbox-app :is(button, input, select, textarea, [tabindex]):focus-visible,
body.copywriting-app :is(button, input, select, textarea, [tabindex]):focus-visible,
body.api-app :is(button, input, select, textarea, [tabindex]):focus-visible,
body.templates-app :is(button, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid rgba(14, 107, 88, .38) !important;
  outline-offset: 2px !important;
}

body.erp-app :is(button, input, select, textarea, [tabindex]),
body.source-inbox-app :is(button, input, select, textarea, [tabindex]),
body.copywriting-app :is(button, input, select, textarea, [tabindex]),
body.api-app :is(button, input, select, textarea, [tabindex]),
body.templates-app :is(button, input, select, textarea, [tabindex]) {
  transition-duration: 100ms !important;
}

body.copywriting-app .commandBar .pageClearButton,
body.copywriting-app .commandBar .selectionDeleteButton,
body.copywriting-app .commandBar .selectionPromptButton,
body.copywriting-app .commandBar .embeddedRemovalButton {
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  padding: 0 12px !important;
  border-radius: 6px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

body.erp-app .export-listing-header button,
body.erp-app .export-listing-header .export-mapping-button,
body.erp-app .export-listing-header .export-complete-button,
body.erp-app .export-listing-header .page-clear-button,
body.erp-app .export-listing-header .export-quiet-delete {
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  padding: 0 12px !important;
  border-radius: 6px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

body.erp-app button[disabled]:not([aria-busy="true"]),
body.source-inbox-app button[disabled]:not([aria-busy="true"]),
body.copywriting-app button[disabled]:not([aria-busy="true"]),
body.api-app button[disabled]:not([aria-busy="true"]),
body.templates-app button[disabled]:not([aria-busy="true"]) {
  color: #a3aba7 !important;
  background: #f1f3f2 !important;
  border-color: #e6eae7 !important;
  cursor: not-allowed !important;
}

body.copywriting-app .commandBar[data-panel="preview"] #clearCopywritingPage,
body.copywriting-app .commandBar[data-panel="parse"] #clearParsePage,
body.copywriting-app .previewCommandGroup #generatePrompt,
body.copywriting-app .parseWorkflowActions #embeddedDeleteRemovalSelected,
body.copywriting-app .parseWorkflowActions #embeddedStripBrandTerms,
body.copywriting-app .parseWorkflowActions #embeddedTransferExport {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  padding: 0 12px !important;
  border-radius: 6px !important;
  line-height: 1 !important;
}

body.erp-app .export-listing-header #clearExportPage,
body.erp-app .export-listing-header #startExportMapping,
body.erp-app .export-listing-header #exportMissingTemplatePlan,
body.erp-app .export-listing-header #exportCompleteTable,
body.erp-app .export-listing-header #deleteExportSelected {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  padding: 0 12px !important;
  border-radius: 6px !important;
  line-height: 1 !important;
}

/* v179 final details: readable API toolbar, same-row template summary and
   visually grouped collector counters. */
body.api-app .sidebar-head .sidebar-tools .icon-button.has-label {
  width: auto !important;
  min-width: 0 !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  padding: 0 10px !important;
  gap: 6px !important;
  border-color: #d7ddd9 !important;
  background: #ffffff !important;
}

body.api-app .sidebar-head .sidebar-tools .icon-button.has-label svg {
  width: 15px !important;
  height: 15px !important;
  flex: 0 0 15px !important;
}

body.api-app .sidebar-head .sidebar-tools .icon-button.has-label span {
  display: inline-flex !important;
  min-width: 0 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

body.api-app .sidebar-head .sidebar-tools .icon-button.has-label:hover:not(:disabled),
body.api-app .sidebar-head .sidebar-tools .icon-button.has-label[aria-expanded="true"] {
  border-color: rgba(14, 107, 88, .26) !important;
  background: #edf5f1 !important;
  color: #0a5949 !important;
}

body.templates-app .template-card {
  
  
  
}

body.templates-app .toolbar.count-toolbar {
  
  
  
  
  
  
}

body.templates-app .count-dashboard {
  
  
  
  
  
  
  
  
  
  
  
}

body.templates-app .metric-card {
  
  
  
  
  
  
  
  
  
  
  
  
}

body.templates-app .metric-card .metric-eyebrow {
  
  
  white-space: nowrap !important;
}

body.templates-app .metric-card .metric-value {
  
  
  
  white-space: nowrap !important;
}

body.templates-app .metric-card .metric-value strong {
  
  
}

body.templates-app .metric-card .metric-value span {
  
  
}

body.templates-app .metric-card .metric-foot {
  
  flex-wrap: nowrap !important;
}

body.templates-app .metric-card .status-pill {
  
  
  
  
  
}

body.templates-app .upload-status,
body.templates-app .upload-failure {
  
  
}

@media (max-width: 720px) {
  body.templates-app .template-card {
    grid-template-columns: 1fr !important;
    grid-template-rows: 60px auto !important;
  }

  body.templates-app .toolbar.count-toolbar,
  body.templates-app .count-dashboard {
    grid-column: 1 !important;
  }

  body.templates-app .count-dashboard {
    grid-row: 2 !important;
  }
}

/* v179 management workbench: system check, category templates and API settings.
   Wider centered sheets, generous whitespace and a calm professional hierarchy.
   No business controls or event bindings are changed. */
body.erp-app .view-system-check.active {
  display: grid !important;
  grid-template-columns: minmax(0, 1160px) !important;
  align-items: start !important;
  justify-items: stretch !important;
  align-content: start !important;
  justify-content: center !important;
  padding: clamp(44px, 7vh, 78px) 20px 28px !important;
  overflow: auto !important;
  background: var(--wb-page) !important;
}

body.erp-app .view-system-check.active > .system-check-page,
body.erp-app .view-system-check.active > .system-check-page.active {
  
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  
  align-content: start !important;
  
  
  min-width: 0 !important;
  
  
  
  
  
  
  
  
  
  
}

body.erp-app .view-system-check.active .system-check-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  
  
  
  
  
  
  
  
}

body.erp-app .view-system-check.active .system-check-header p {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  
  
  
  
}

body.erp-app .view-system-check.active .system-check-actions {
  flex: 0 0 auto !important;
  margin: 0 !important;
}

body.erp-app .view-system-check.active .system-check-list {
  
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: repeat(5, minmax(58px, auto)) !important;
  
  align-content: start !important;
  
  max-height: none !important;
  margin: 0 !important;
  
  
  
  
  
  
}

body.erp-app .view-system-check.active .system-check-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 20px !important;
  
  
  
  
  
  
  box-shadow: none !important;
}

body.erp-app .view-system-check.active .system-check-row:last-child {
  border-bottom: 1px solid #e8ece9 !important;
}

body.erp-app .view-system-check.active .system-check-row-main {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  
  min-width: 0 !important;
  align-content: center !important;
}

body.erp-app .view-system-check.active .system-check-row-main strong {
  display: flex !important;
  align-items: center !important;
  
  overflow: hidden !important;
  
  
  
  
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.erp-app .view-system-check.active .system-check-row-main span,
body.erp-app .view-system-check.active .system-check-row-main small {
  
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.erp-app .view-system-check.active .system-check-row-main span {
  color: var(--wb-muted) !important;
  font-size: 13px !important;
  line-height: 19px !important;
}

body.erp-app .view-system-check.active .system-check-row-main small {
  color: var(--wb-subtle) !important;
  font-size: 12px !important;
  line-height: 18px !important;
}

body.erp-app .view-system-check.active .system-check-badge {
  
  
  
  
  
}

/* Category templates: a centered, quiet management dashboard. */
body.templates-app {
  padding: clamp(38px, 7vh, 70px) clamp(20px, 4vw, 46px) 26px !important;
}

body.templates-app > main.template-page {
  
  
  
  
  
  
  padding: 0 !important;
  display: block !important;
  
  
  
  
  
}

body.templates-app .template-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  
  width: 100% !important;
  
  
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  
  box-shadow: none !important;
  overflow: hidden !important;
}

body.templates-app .toolbar.count-toolbar {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  
  
  
  
  border-bottom: 1px solid var(--wb-line) !important;
  border-radius: 0 !important;
  background: #ffffff !important;
}

body.templates-app .toolbar.count-toolbar .toolbar-actions {
  margin-left: auto !important;
}

body.templates-app .upload-status,
body.templates-app .upload-failure {
  grid-column: 1 !important;
  grid-row: 2 !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 16px 24px 0 !important;
  border: 1px solid var(--wb-line) !important;
  border-radius: 10px !important;
  background: #fbfcfb !important;
}

body.templates-app .count-dashboard {
  grid-column: 1 !important;
  grid-row: 3 !important;
  width: 100% !important;
  min-width: 0 !important;
  
  
  max-height: none !important;
  
  
  
  
  border: 0 !important;
  
  overflow: hidden !important;
}

body.templates-app .metric-card {
  
  
  
  
  
  
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-rows: auto auto !important;
  
  
  
  
  
  
  
}

body.templates-app .metric-card .metric-eyebrow {
  grid-column: 1 !important;
  grid-row: 1 !important;
  
  
  
}

body.templates-app .metric-card .metric-value {
  grid-column: 1 !important;
  grid-row: 2 !important;
  
  
  
  
}

body.templates-app .metric-card .metric-value strong {
  
  
  color: var(--wb-text) !important;
}

body.templates-app .metric-card .metric-value span {
  
  color: var(--wb-muted) !important;
}

body.templates-app .metric-card .metric-foot {
  grid-column: 2 !important;
  grid-row: 1 / 3 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  
}

body.templates-app .metric-card .status-pill {
  min-height: 30px !important;
  height: 30px !important;
  padding: 0 12px !important;
  font-size: 12px !important;
  border-radius: 999px !important;
}

/* API settings: a spacious two-column configuration workbench. */
body.api-app {
  padding: clamp(34px, 6vh, 58px) clamp(18px, 3vw, 36px) 22px !important;
}

body.api-app .api-page {
  
  
  
  
  
  
  border: 1px solid var(--wb-line) !important;
  
  background: #ffffff !important;
  
  overflow: hidden !important;
}

body.api-app .api-sidebar {
  
  
  justify-self: stretch !important;
  
  
  
}

body.api-app .sidebar-head {
  
  
  
  
  
  
}

body.api-app .connection-list {
  
  align-content: start !important;
  
  
}

body.api-app .connection-card {
  
  
  
  
  
  
}

body.api-app .connection-card:hover,
body.api-app .connection-card.active {
  border-color: rgba(14, 107, 88, .28) !important;
  background: #f5faf8 !important;
}

body.api-app .connection-card strong {
  
  
}

body.api-app .connection-card small {
  
  line-height: 17px !important;
}

body.api-app .api-workspace {
  
}

body.api-app .empty-editor {
  
  
}

body.api-app #emptyEditor .empty-panel {
  gap: 18px !important;
}

body.api-app #emptyEditor .empty-panel::before {
  content: "" !important;
  display: block !important;
  width: 54px !important;
  height: 3px !important;
  border-radius: 999px !important;
  background: var(--wb-accent) !important;
  opacity: .72 !important;
}

body.api-app #emptyEditor .empty-actions .action-button {
  min-width: 142px !important;
}

body.api-app .editor-bar {
  
  
  max-height: 74px !important;
  
  
  background: #ffffff !important;
}

body.api-app .editor-title-group h2 {
  
}

body.api-app .editor-body {
  
  background: #f6f8f7 !important;
}

body.api-app .panel-card,
body.api-app .result-card {
  
  
  
  
  
  
  
  
}

body.api-app .card-head {
  margin-bottom: 16px !important;
}

body.api-app .card-head h3 {
  
  font-weight: 650 !important;
}

body.api-app .field-grid {
  gap: 14px !important;
}

body.api-app .field.full {
  margin-top: 14px !important;
}

body.api-app .field span,
body.api-app .provider-select span {
  margin-bottom: 7px !important;
  color: var(--wb-muted) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

body.api-app .field input,
body.api-app .field select,
body.api-app .field textarea,
body.api-app .provider-select select,
body.api-app input[type="text"],
body.api-app input[type="url"],
body.api-app input[type="password"] {
  min-height: 38px !important;
  height: 38px !important;
  border: 1px solid #d7ddd9 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  font-size: 13px !important;
}

body.api-app .field textarea {
  height: auto !important;
  min-height: 88px !important;
}

body.api-app .editor-actions {
  
  
  max-height: 70px !important;
  
  
  
}

body.api-app .advanced-card {
  padding: 0 !important;
}

body.api-app .advanced-card summary {
  height: 50px !important;
  padding: 0 22px !important;
  font-size: 13px !important;
}

body.api-app .advanced-grid {
  padding: 0 22px 22px !important;
}

body.api-app .result-card pre {
  max-height: 220px !important;
  padding: 14px !important;
  border-radius: 8px !important;
  
  
}

@media (max-width: 1180px) {
  body.templates-app .metric-card {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto auto !important;
    gap: 12px !important;
  }

  body.templates-app .metric-card .metric-foot {
    grid-column: 1 !important;
    grid-row: 3 !important;
    justify-content: flex-start !important;
  }
}

@media (max-width: 980px) {
  body.api-app .api-page {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
  }

  body.api-app .api-sidebar {
    max-height: 238px !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--wb-line) !important;
    border-radius: 14px 14px 0 0 !important;
  }
}

/* v180 module refinement: every management page is one centered module.
   Keep wording lean, increase visual weight and avoid nested card layers. */
body.erp-app .view-system-check.active {
  grid-template-columns: minmax(0, 960px) !important;
  padding: clamp(52px, 8vh, 84px) 20px 30px !important;
}

body.erp-app .view-system-check.active > .system-check-page,
body.erp-app .view-system-check.active > .system-check-page.active {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0 !important;
  
  padding: 0 !important;
  
  
  
  
  
}

body.erp-app .view-system-check.active .system-check-header {
  
  
  
  
  
  
  
  
  
}

body.erp-app .view-system-check.active .system-check-list {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 0 !important;
  
  
  
  
  
  
  
}

body.erp-app .view-system-check.active .system-check-row {
  
  
  
  
  
  
  
}

body.erp-app .view-system-check.active .system-check-row:last-child {
  border-bottom: 0 !important;
}

body.erp-app .view-system-check.active .system-check-row-main {
  
}

body.erp-app .view-system-check.active .system-check-row-main strong {
  gap: 10px !important;
  
  
}

body.erp-app .view-system-check.active .system-check-row-main span,
body.erp-app .view-system-check.active .system-check-row-main small {
  display: none !important;
}

body.erp-app .view-system-check.active .system-check-badge {
  
  
  
}

/* Category template module: one surface, one big number, no nested card. */
body.templates-app > main.template-page {
  width: min(920px, 100%) !important;
  max-width: 920px !important;
  height: min(560px, calc(100vh - 116px)) !important;
  min-height: 520px !important;
  border-radius: 16px !important;
  box-shadow: 0 14px 34px rgba(20, 30, 25, .06) !important;
}

body.templates-app .template-card {
  grid-template-rows: 78px auto minmax(0, 1fr) !important;
  
}

body.templates-app .toolbar.count-toolbar {
  min-height: 78px !important;
  height: 78px !important;
  max-height: 78px !important;
  padding: 0 24px !important;
}

body.templates-app .count-dashboard {
  
  
}

body.templates-app .metric-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  
  min-width: 0 !important;
  
  
  
  gap: 12px !important;
  
  
  
  
  
}

body.templates-app .metric-card .metric-eyebrow {
  color: var(--wb-muted) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

body.templates-app .metric-card .metric-value {
  display: flex !important;
  align-items: baseline !important;
  gap: 8px !important;
  margin: 0 !important;
}

body.templates-app .metric-card .metric-value strong {
  
  
}

body.templates-app .metric-card .metric-value span {
  
}

body.templates-app .metric-card .metric-foot {
  margin: 0 !important;
}

/* API module: same centered card language, sized for real configuration work. */
body.api-app .api-page {
  width: min(1100px, 100%) !important;
  max-width: 1100px !important;
  height: min(780px, calc(100vh - 92px)) !important;
  border-radius: 16px !important;
  box-shadow: 0 14px 34px rgba(20, 30, 25, .06) !important;
}

body.api-app .api-sidebar {
  
}

body.api-app .panel-card,
body.api-app .result-card {
  
  
  
}

/* Keep the API module dimensions stable when the editor or empty state opens. */
body.api-app .api-page:has(.connection-form:not(.hidden)),
body.api-app .api-page:has(.connection-form:not(.hidden)).provider-deepseek,
body.api-app .api-page:has(.connection-form:not(.hidden)).provider-r2 {
  width: min(1100px, 100%) !important;
  max-width: 1100px !important;
  height: min(780px, calc(100vh - 92px)) !important;
  max-height: none !important;
  grid-template-columns: 248px minmax(0, 1fr) !important;
  border-radius: 16px !important;
  box-shadow: 0 14px 34px rgba(20, 30, 25, .06) !important;
}

body.api-app .api-page:has(.connection-form:not(.hidden)) .api-sidebar {
  width: 100% !important;
  min-width: 0 !important;
  justify-self: stretch !important;
  border-radius: 16px 0 0 16px !important;
  background: #ffffff !important;
}

body.api-app .api-page:has(.connection-form:not(.hidden)) .api-workspace {
  min-width: 0 !important;
}

body.api-app .api-workspace .panel-card,
body.api-app .api-workspace .result-card {
  width: min(840px, 100%) !important;
  max-width: 840px !important;
  padding: 20px 22px !important;
  border-radius: 12px !important;
}

body.api-app .api-page:has(#emptyEditor:not(.hidden)) {
  width: min(980px, 100%) !important;
  max-width: 980px !important;
  height: min(560px, calc(100vh - 110px)) !important;
  max-height: 560px !important;
  grid-template-columns: 220px minmax(0, 1fr) !important;
  border-radius: 16px !important;
  box-shadow: 0 14px 34px rgba(20, 30, 25, .06) !important;
}

body.api-app .api-page:has(#emptyEditor:not(.hidden)) .api-sidebar {
  width: 100% !important;
  min-width: 0 !important;
  border-radius: 16px 0 0 16px !important;
  background: #ffffff !important;
}

/* v181 management module refinement
   System check, account management and API use the same centered one-module language. */
body.erp-app .view-system-check.active {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
  justify-items: center !important;
  align-content: start !important;
  padding: clamp(58px, 7.5vh, 78px) 20px 32px !important;
}

body.erp-app .view-system-check.active > .system-check-page,
body.erp-app .view-system-check.active > .system-check-page.active {
  
  
  
  
  
  
}

body.erp-app .view-system-check.active .system-check-header {
  
  
  
}

body.erp-app .view-system-check.active .system-check-list {
  
}

body.erp-app .view-system-check.active .system-check-row {
  
}

body.erp-app .view-accounts.active {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  justify-content: center !important;
  padding: clamp(54px, 7vh, 76px) 22px 32px !important;
  overflow: auto !important;
}

body.erp-app .view-accounts .accounts-page-minimal,
body.erp-app .view-accounts.active .accounts-page-minimal {
  
  
  
  
  
  
  
  
  
  
  
}

body.erp-app .accounts-shell-minimal {
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
}

body.erp-app .accounts-primary-action {
  
  
  
  
  
  
  
  
  
  
}

body.erp-app .accounts-primary-action .account-add-button {
  
  
  
  
  
  
  
}

body.erp-app .accounts-feedback {
  
  
}

body.erp-app .accounts-list-panel {
  
  
  
  
  
  
  
  
  
  
  
}

body.erp-app .account-table {
  
  
  
  
  
  grid-template-rows: 44px minmax(0, 1fr) !important;
  border-color: var(--wb-line) !important;
  
  
}

body.erp-app .account-table-header {
  
  
  
  
}

body.erp-app .account-list {
  
  
  
}

body.erp-app .account-list:has(.account-list-empty) {
  display: grid !important;
  place-items: center !important;
}

body.erp-app .account-list-empty {
  
}

body.api-app {
  
}

body.api-app .api-page {
  width: min(900px, 100%) !important;
  max-width: 900px !important;
  
  min-height: 540px !important;
  
  margin: 0 auto !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  border-radius: 16px !important;
  box-shadow: 0 14px 34px rgba(20, 30, 25, .06) !important;
}

body.api-app .api-page:has(.connection-form:not(.hidden)),
body.api-app .api-page:has(.connection-form:not(.hidden)).provider-deepseek,
body.api-app .api-page:has(.connection-form:not(.hidden)).provider-r2,
body.api-app .api-page:has(#emptyEditor:not(.hidden)) {
  width: min(900px, 100%) !important;
  max-width: 900px !important;
  height: min(660px, calc(100vh - 116px)) !important;
  min-height: 540px !important;
  max-height: none !important;
  margin: 0 auto !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  border-radius: 16px !important;
  box-shadow: 0 14px 34px rgba(20, 30, 25, .06) !important;
}

body.api-app .api-sidebar {
  
  
  
  
  
  
  
  
  
  border-right: 0 !important;
  
  
  
  
}

body.api-app .sidebar-head {
  
  
  
  
  
  
  
  
  
  
  
  
  
}

body.api-app .connection-list {
  
  
  
  
  
  
  
  
  
  
  
  
  overflow-x: auto !important;
  overflow-y: hidden !important;
}

body.api-app .connection-card {
  
  
  
  
  
  
  
  
  
}

body.api-app .connection-empty {
  width: auto !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 10px 18px !important;
}

body.api-app .api-workspace {
  
  
  
  max-width: none !important;
  
  
  
  
  
  
}

body.api-app .connection-form,
body.api-app .connection-form.provider-deepseek {
  
  
}

body.api-app .connection-form.provider-deepseek .editor-title-group {
  display: flex !important;
}

body.api-app .connection-form.provider-deepseek .editor-bar {
  min-height: 70px !important;
  height: 70px !important;
  max-height: 70px !important;
  padding: 0 24px !important;
  border-bottom: 1px solid var(--wb-line) !important;
  justify-content: space-between !important;
}

body.api-app .connection-form.provider-deepseek .editor-title-group h2 {
  
  
}

body.api-app .connection-form.provider-deepseek .editor-body {
  
  
  
  
  
}

body.api-app .connection-form.provider-deepseek .provider-card {
  
  
  
  
  
  
  
  
}

body.api-app .connection-form.provider-deepseek .provider-card .card-head {
  display: none !important;
}

body.api-app .connection-form.provider-deepseek .field span {
  
  
  
}

body.api-app .connection-form.provider-deepseek .field input {
  
  
  
}

/* v182 centered management modules
   Account, system check and API use one quiet centered module with fewer nested boxes. */
body.erp-app .view-accounts.active {
  align-items: flex-start !important;
  justify-content: center !important;
  padding: clamp(36px, 6vh, 62px) 18px 28px !important;
  overflow: auto !important;
}

body.erp-app .view-accounts .accounts-page-minimal,
body.erp-app .view-accounts.active .accounts-page-minimal {
  
  
  
  
  
  
  
  
  
  
  
  
}

body.erp-app .accounts-shell-minimal {
  
  
  
  
  
  
  
  grid-template-rows: 64px auto minmax(0, 1fr) !important;
  
  
  
  
  
  
  
  
}

body.erp-app .accounts-primary-action {
  
  
  
  
  
  
  
  
  
  
  
  
}

body.erp-app .accounts-primary-action .account-add-button {
  
  
  
  
  
  
  
  
  
}

body.erp-app .accounts-feedback {
  
  
  
  
  
  
}

body.erp-app .accounts-list-panel {
  
  
  
  
  
  
  
  
  
  
  
  
}

body.erp-app .account-table {
  
  
  
  
  
  
  
  
  
  
}

body.erp-app .account-table-header {
  
}

body.erp-app .account-list {
  
  
}

body.erp-app .account-list:has(.account-list-empty) {
  display: grid !important;
  place-items: center !important;
  min-height: 240px !important;
}

body.erp-app .account-table-row {
  
  grid-template-areas: "name account status edit" !important;
  
  
  
  
  
  
  
  
  
  
  border-top: 1px solid #edf0ef !important;
  
  
  
  
}

body.erp-app .account-table-row:last-child {
  border-bottom: 0 !important;
}

body.erp-app .account-table-row:hover {
  background: #fafcfb !important;
}

body.erp-app .account-table-cell {
  
  
  
  
  
  
  
  
  
}

body.erp-app .account-table-cell-name {
  
}

body.erp-app .account-table-cell-account {
  
}

body.erp-app .account-table-cell-status {
  
  
}

body.erp-app .account-table-cell-edit {
  
  
  
}

body.erp-app .account-table-cell-name > span {
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  
  
  
  
}

body.erp-app .account-table-cell-account {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace !important;
  
  line-height: 20px !important;
}

body.erp-app .account-more-button {
  
  
  
  max-width: 28px !important;
  
  max-height: 28px !important;
  
  
  
  background: transparent !important;
  color: #818986 !important;
  
  
  
}

body.erp-app .account-more-button:hover {
  background: #f2f5f4 !important;
  color: #39413e !important;
}

body.erp-app .account-list-empty {
  grid-template-areas: "empty" !important;
  
  
  
  
  
  
}

body.erp-app .account-list-empty .account-table-cell {
  grid-area: empty !important;
  
  
  
  
  
}

/* System check: smaller module, quieter list. */
body.erp-app .view-system-check.active {
  align-content: start !important;
  align-items: start !important;
  justify-items: center !important;
  padding: clamp(38px, 6vh, 60px) 20px 28px !important;
  overflow: auto !important;
}

body.erp-app .view-system-check.active > .system-check-page,
body.erp-app .view-system-check.active > .system-check-page.active {
  width: min(720px, 100%) !important;
  max-width: 720px !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  justify-self: center !important;
  border: 1px solid rgba(29, 29, 31, .08) !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  box-shadow: 0 14px 34px rgba(20, 30, 25, .06) !important;
  overflow: hidden !important;
}

body.erp-app .view-system-check.active .system-check-header {
  min-height: 64px !important;
  height: 64px !important;
  max-height: 64px !important;
  padding: 0 22px !important;
  border: 0 !important;
  border-bottom: 1px solid #edf0ef !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

body.erp-app .view-system-check.active .system-check-header p {
  color: #3f4744 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 20px !important;
}

body.erp-app .view-system-check.active .system-check-list {
  
  
  
  
  
  box-shadow: none !important;
  overflow: hidden !important;
}

body.erp-app .view-system-check.active .system-check-row {
  
  
  
  
  
  
  
  border-radius: 0 !important;
  
}

body.erp-app .view-system-check.active .system-check-row:last-child {
  border-bottom: 0 !important;
}

body.erp-app .view-system-check.active .system-check-row-main {
  gap: 0 !important;
}

body.erp-app .view-system-check.active .system-check-row-main strong {
  color: #252a28 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 20px !important;
}

body.erp-app .view-system-check.active .system-check-badge {
  min-width: 62px !important;
  height: 26px !important;
  min-height: 26px !important;
  padding: 0 11px !important;
  font-size: 12px !important;
  border-radius: 999px !important;
}

/* API settings: compact top summary, centered DeepSeek editor. */
body.api-app {
  padding: clamp(34px, 5.5vh, 54px) 18px 22px !important;
}

body.api-app .api-page,
body.api-app .api-page:has(.connection-form:not(.hidden)),
body.api-app .api-page:has(.connection-form:not(.hidden)).provider-deepseek,
body.api-app .api-page:has(.connection-form:not(.hidden)).provider-r2,
body.api-app .api-page:has(#emptyEditor:not(.hidden)) {
  width: min(860px, 100%) !important;
  max-width: 860px !important;
  height: min(540px, calc(100vh - 116px)) !important;
  min-height: 500px !important;
  max-height: none !important;
  margin: 0 auto !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: 52px minmax(0, 1fr) !important;
  border: 1px solid rgba(29, 29, 31, .08) !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  box-shadow: 0 14px 34px rgba(20, 30, 25, .06) !important;
  overflow: hidden !important;
}

body.api-app .api-sidebar {
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
}

body.api-app .sidebar-head {
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  border-right: 1px solid #edf0ef !important;
  
}

body.api-app .sidebar-tools {
  
  
  
  
  
}

body.api-app .sidebar-tools .icon-button {
  
  
  
  
  
  
  
  
  
}

body.api-app .sidebar-tools .icon-button:hover:not(:disabled) {
  border-color: #c8d0cc !important;
  background: #f5f7f6 !important;
  color: #2f3834 !important;
}

body.api-app .connection-list {
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
}

body.api-app .connection-card {
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
}

body.api-app .connection-card:hover,
body.api-app .connection-card.active {
  border: 0 !important;
  background: #f3f6f5 !important;
}

body.api-app .connection-card .provider-dot,
body.api-app .connection-card > small:not(.connection-state):not(.last-saved) {
  display: none !important;
}

body.api-app .connection-card .connection-meta {
  
  
  
  
}

body.api-app .connection-card strong {
  
  
  
  
  
  
  
}

body.api-app .connection-card .connection-state {
  
  
  
  
}

body.api-app .connection-empty {
  
}

body.api-app .api-workspace {
  
  
  
  
  
  
  
  
  
  
}

body.api-app .empty-editor {
  
  
}

body.api-app .empty-panel {
  
  
  
  
  
}

body.api-app .connection-form,
body.api-app .connection-form.provider-deepseek {
  
  
  
}

body.api-app .connection-form.provider-deepseek {
  
  
  
}

body.api-app .connection-form.provider-deepseek .editor-bar {
  
}

body.api-app .connection-form.provider-deepseek .editor-body {
  
  
  
  
  
  
  
  
}

body.api-app .connection-form.provider-deepseek .provider-card {
  
  
  
  
  
  
  
  
}

body.api-app .connection-form.provider-deepseek .provider-card .card-head,
body.api-app .connection-form.provider-deepseek .core-card,
body.api-app .connection-form.provider-deepseek .auth-card,
body.api-app .connection-form.provider-deepseek .advanced-card {
  
}

body.api-app .connection-form.provider-deepseek .field-grid,
body.api-app .connection-form.provider-deepseek .field-grid.two {
  
  
  
}

body.api-app .connection-form.provider-deepseek .field {
  
  
  
  
}

body.api-app .connection-form.provider-deepseek .field span {
  
  
  
  
}

body.api-app .connection-form.provider-deepseek .field input {
  
  
  
  
  
  
  
  
  
  
  
}

body.api-app .connection-form.provider-deepseek .field input:focus {
  border-color: rgba(47, 107, 87, .42) !important;
  box-shadow: 0 0 0 3px rgba(47, 107, 87, .08) !important;
}

body.api-app .connection-form.provider-deepseek .editor-actions {
  
  
  
  
  
  
  
  
}

body.api-app .connection-form.provider-deepseek .result-card {
  
  
  
}

body.api-app .connection-form:not(.provider-deepseek) .editor-body {
  overflow: auto !important;
  background: #ffffff !important;
}

body.api-app .connection-form:not(.provider-deepseek) .editor-bar {
  min-height: 58px !important;
  height: 58px !important;
  max-height: 58px !important;
}

/* v183 account/API quiet refinements: one centered sheet, readable account
   columns, fewer nested borders, and a narrower API workspace. */
body.erp-app .view-accounts.active {
  align-items: flex-start !important;
  justify-content: center !important;
  padding: clamp(34px, 6vh, 62px) 18px 26px !important;
}

body.erp-app .view-accounts .accounts-page-minimal,
body.erp-app .view-accounts.active .accounts-page-minimal {
  width: min(720px, 100%) !important;
  max-width: 720px !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(29, 29, 31, .08) !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  box-shadow: 0 14px 34px rgba(20, 30, 25, .06) !important;
  overflow: hidden !important;
}

body.erp-app .accounts-shell-minimal {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  
  border: 0 !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

body.erp-app .accounts-primary-action {
  flex: 0 0 58px !important;
  grid-row: auto !important;
  min-height: 58px !important;
  height: 58px !important;
  max-height: 58px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  
  border: 0 !important;
  border-bottom: 1px solid #edf0ef !important;
  background: transparent !important;
}

body.erp-app .accounts-primary-action .account-add-button {
  width: 104px !important;
  min-width: 104px !important;
  max-width: 104px !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  padding: 0 14px !important;
  border-radius: 8px !important;
  font-size: 12px !important;
}

body.erp-app .accounts-feedback {
  grid-row: auto !important;
  flex: 0 0 auto !important;
  align-self: center !important;
  justify-self: center !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

body.erp-app .accounts-feedback:not(:empty) {
  padding: 8px 24px 0 !important;
}

body.erp-app .accounts-list-panel {
  flex: 0 0 auto !important;
  grid-row: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body.erp-app .account-table {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  display: block !important;
  
  
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body.erp-app .account-table-header {
  display: grid !important;
  grid-template-columns: minmax(0, 1.2fr) minmax(150px, 1fr) 86px 44px !important;
  align-items: center !important;
  gap: 0 !important;
  
  
  max-height: 38px !important;
  margin: 0 !important;
  padding: 0 24px !important;
  border: 0 !important;
  
  
  
  
  
  
  line-height: 20px !important;
}

body.erp-app .account-table-header > span {
  
  
  
  height: 100% !important;
  
  
  
}

body.erp-app .account-table-header > span:nth-child(-n + 2) {
  justify-content: flex-start !important;
}

body.erp-app .account-table-header > span:nth-child(n + 3) {
  justify-content: center !important;
}

body.erp-app .account-list {
  display: block !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  padding: 0 !important;
}

body.erp-app .account-list:has(.account-list-empty) {
  display: grid !important;
  place-items: center !important;
  min-height: 170px !important;
}

body.erp-app .account-table-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1.2fr) minmax(150px, 1fr) 86px 44px !important;
  align-items: center !important;
  align-content: center !important;
  column-gap: 10px !important;
  min-height: 48px !important;
  height: 48px !important;
  max-height: 48px !important;
  margin: 0 !important;
  padding: 0 24px !important;
  border: 0 !important;
  
  border-radius: 0 !important;
  
  box-shadow: none !important;
}

body.erp-app .account-table-row:last-child {
  border-bottom: 0 !important;
}

body.erp-app .account-table-row:hover {
  background: #fafcfb !important;
}

body.erp-app .account-table-cell {
  
  
  
  align-content: center !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  
  text-align: left !important;
}

body.erp-app .account-table-cell-name {
  grid-area: auto !important;
}

body.erp-app .account-table-cell-account {
  grid-area: auto !important;
}

body.erp-app .account-table-cell-status {
  grid-area: auto !important;
  justify-content: center !important;
}

body.erp-app .account-table-cell-edit {
  grid-area: auto !important;
  justify-content: center !important;
  overflow: visible !important;
}

body.erp-app .account-list-empty {
  
  
  height: auto !important;
  max-height: none !important;
  border: 0 !important;
  background: transparent !important;
}

body.erp-app .account-list-empty .account-table-cell {
  justify-content: center !important;
  
  
  
  
}

body.api-app .api-page,
body.api-app .api-page:has(.connection-form:not(.hidden)),
body.api-app .api-page:has(.connection-form:not(.hidden)).provider-deepseek,
body.api-app .api-page:has(.connection-form:not(.hidden)).provider-r2,
body.api-app .api-page:has(#emptyEditor:not(.hidden)) {
  width: min(760px, 100%) !important;
  max-width: 760px !important;
  height: min(500px, calc(100vh - 116px)) !important;
  min-height: 470px !important;
  max-height: none !important;
}

/* v184 system check: smaller header and single-line list, matching account. */
body.erp-app .view-system-check.active .system-check-header {
  min-height: 58px !important;
  height: 58px !important;
  max-height: 58px !important;
  padding: 0 22px !important;
}

body.erp-app .view-system-check.active .system-check-list {
  min-height: 0 !important;
  padding: 0 22px 8px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #ffffff !important;
}

body.erp-app .view-system-check.active .system-check-row {
  min-height: 44px !important;
  height: 44px !important;
  max-height: 44px !important;
  padding: 0 10px !important;
  border: 0 !important;
  border-top: 0 !important;
  border-bottom: 1px solid #eef1ef !important;
  background: transparent !important;
}

body.erp-app .view-system-check.active .system-check-row:last-child {
  border-bottom: 0 !important;
}
/* v185 API micro card: one compact centered card, no saved timestamp. */
body.api-app {
  padding: clamp(38px, 6vh, 62px) 18px 24px !important;
}

body.api-app .api-page,
body.api-app .api-page:has(.connection-form:not(.hidden)),
body.api-app .api-page:has(.connection-form:not(.hidden)).provider-deepseek,
body.api-app .api-page:has(.connection-form:not(.hidden)).provider-r2,
body.api-app .api-page:has(#emptyEditor:not(.hidden)) {
  width: min(600px, 100%) !important;
  max-width: 600px !important;
  height: min(360px, calc(100vh - 116px)) !important;
  min-height: 340px !important;
  max-height: none !important;
  margin: 0 auto !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: 44px minmax(0, 1fr) !important;
  border: 1px solid rgba(29, 29, 31, .08) !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  box-shadow: 0 14px 34px rgba(20, 30, 25, .06) !important;
  overflow: hidden !important;
}

body.api-app .api-sidebar {
  grid-row: 1 !important;
  grid-column: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  
  
  
  
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 0 12px !important;
  
  
  border-radius: 14px 14px 0 0 !important;
  
  box-shadow: none !important;
  
}

body.api-app .sidebar-head {
  
  
  flex: 0 0 auto !important;
  
  
  max-width: none !important;
  
  
  
  
  
  
  
  
  
  
}

body.api-app .sidebar-tools {
  
  
  
  
  
}

body.api-app .sidebar-tools .icon-button {
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  max-width: 30px !important;
  border: 1px solid #e3e7e5 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #5f6763 !important;
  box-shadow: none !important;
}

body.api-app .connection-list {
  
  
  flex: 0 1 auto !important;
  
  
  
  
  
  
  
  max-width: none !important;
  
  
  
  
}

body.api-app .connection-card {
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
}

body.api-app .connection-card:hover,
body.api-app .connection-card.active {
  border: 0 !important;
  background: #f3f6f5 !important;
}

body.api-app .connection-card .provider-dot,
body.api-app .connection-card > small,
body.api-app .connection-card .last-saved {
  
}

body.api-app .connection-card .connection-meta {
  
  
  
  
}

body.api-app .connection-card strong {
  
  
  
  
  
  
  
}

body.api-app .connection-card .connection-state {
  
  
  
  
}

body.api-app .connection-empty {
  
}

body.api-app .api-workspace {
  
  
  
  
  
  
  
  
  box-shadow: none !important;
  
}

body.api-app .empty-editor {
  padding: 26px 24px !important;
  background: #ffffff !important;
}

body.api-app .empty-panel {
  width: min(420px, 100%) !important;
  padding: 20px !important;
  
  border-radius: 12px !important;
  
  
}

body.api-app .connection-form,
body.api-app .connection-form.provider-deepseek {
  height: 100% !important;
  
  
}

body.api-app .connection-form.provider-deepseek {
  
  
  
}

body.api-app .connection-form.provider-deepseek .editor-bar {
  display: none !important;
}

body.api-app .connection-form.provider-deepseek .editor-body {
  
  
  
  
  
  
  
  
}

body.api-app .connection-form.provider-deepseek .provider-card {
  
  
  
  
  
  
  
  
}

body.api-app .connection-form.provider-deepseek .provider-card .card-head,
body.api-app .connection-form.provider-deepseek .core-card,
body.api-app .connection-form.provider-deepseek .auth-card,
body.api-app .connection-form.provider-deepseek .advanced-card {
  display: none !important;
}

body.api-app .connection-form.provider-deepseek .field-grid,
body.api-app .connection-form.provider-deepseek .field-grid.two {
  
  
  
}

body.api-app .connection-form.provider-deepseek .field {
  
  
  
  
}

body.api-app .connection-form.provider-deepseek .field span {
  
  
  
  
}

body.api-app .connection-form.provider-deepseek .field input {
  
  
  
  
  
  
  
  
  
  
  
}

body.api-app .connection-form.provider-deepseek .field input:focus {
  border-color: rgba(47, 107, 87, .42) !important;
  box-shadow: 0 0 0 3px rgba(47, 107, 87, .08) !important;
}

body.api-app .connection-form.provider-deepseek .editor-actions {
  
  
  
  
  
  
  
  
}

body.api-app .connection-form.provider-deepseek .result-card {
  width: min(420px, 100%) !important;
  max-width: 420px !important;
  margin: 16px auto 0 !important;
}

body.api-app .connection-form:not(.provider-deepseek) .editor-body {
  overflow: auto !important;
  background: #ffffff !important;
}

body.api-app .connection-form:not(.provider-deepseek) .editor-bar {
  min-height: 52px !important;
  height: 52px !important;
  max-height: 52px !important;
}

/* v186 account modal buttons stay inside the footer, and the API page uses
   a compact toolbar/provider/content stack instead of mixing controls. */
body.erp-app .account-editor-modal {
  display: flex !important;
  flex-direction: column !important;
  width: min(430px, calc(100vw - 28px)) !important;
  max-width: none !important;
  max-height: min(620px, calc(100vh - 24px)) !important;
  overflow: hidden !important;
}

body.erp-app .account-editor-header,
body.erp-app .account-editor-body,
body.erp-app .account-editor-actions {
  flex: 0 0 auto !important;
}

body.erp-app .account-editor-body {
  flex: 0 1 auto !important;
  min-height: 0 !important;
  overflow: auto !important;
}

body.erp-app .account-editor-actions {
  flex: 0 0 54px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-top: 1px solid #edf0ef !important;
  background: #ffffff !important;
  overflow: hidden !important;
}

body.erp-app #accountEditorCancel,
body.erp-app #accountEditorSubmit {
  width: auto !important;
  min-width: 88px !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  flex: 0 0 auto !important;
  padding: 0 14px !important;
  white-space: nowrap !important;
}

body.api-app {
  padding: clamp(34px, 5.5vh, 56px) 16px 18px !important;
}

body.api-app .api-page,
body.api-app .api-page:has(.connection-form:not(.hidden)),
body.api-app .api-page:has(.connection-form:not(.hidden)).provider-deepseek,
body.api-app .api-page:has(.connection-form:not(.hidden)).provider-r2,
body.api-app .api-page:has(#emptyEditor:not(.hidden)) {
  width: min(540px, 100%) !important;
  max-width: 540px !important;
  height: min(322px, calc(100vh - 88px)) !important;
  min-height: 300px !important;
  max-height: none !important;
  margin: 0 auto !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: 102px minmax(0, 1fr) !important;
  border: 1px solid rgba(29, 29, 31, .08) !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  box-shadow: 0 14px 34px rgba(20, 30, 25, .06) !important;
  overflow: hidden !important;
}

body.api-app .api-sidebar,
body.api-app .api-page:has(.connection-form:not(.hidden)) .api-sidebar,
body.api-app .api-page:has(#emptyEditor:not(.hidden)) .api-sidebar {
  grid-row: 1 !important;
  grid-column: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 102px !important;
  height: 102px !important;
  max-height: 102px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: 44px 58px !important;
  padding: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #edf0ef !important;
  border-radius: 12px 12px 0 0 !important;
  background: #ffffff !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

body.api-app .sidebar-head {
  grid-row: 1 !important;
  grid-column: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  
  
  max-height: 44px !important;
  margin: 0 !important;
  
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  
  
  
}

body.api-app .sidebar-tools {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  min-width: 0 !important;
  margin: 0 0 0 auto !important;
  padding: 0 !important;
}

body.api-app .sidebar-tools .icon-button,
body.api-app .sidebar-tools .icon-button.has-label {
  width: auto !important;
  min-width: 68px !important;
  max-width: none !important;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  margin: 0 !important;
  padding: 0 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  border: 1px solid #e3e7e5 !important;
  border-radius: 7px !important;
  background: #ffffff !important;
  color: #5f6763 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

body.api-app .sidebar-tools .icon-button span {
  display: inline !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

body.api-app .connection-list {
  grid-row: 2 !important;
  grid-column: 1 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  
  height: 58px !important;
  
  padding: 0 14px !important;
  
}

body.api-app .connection-card {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  
  
  max-height: 32px !important;
  margin: 0 !important;
  
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  border: 1px solid #edf0ef !important;
  border-radius: 7px !important;
  background: #f6f8f7 !important;
  box-shadow: none !important;
}

body.api-app .connection-card .connection-meta {
  min-width: 0 !important;
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 6px !important;
}

body.api-app .connection-card strong {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: #252a28 !important;
  
  
  
}

body.api-app .connection-card .connection-state {
  color: #79827e !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 20px !important;
}

body.api-app .connection-card .provider-dot,
body.api-app .connection-card > small,
body.api-app .connection-card .last-saved {
  display: none !important;
}

body.api-app .connection-empty {
  display: flex !important;
  align-items: center !important;
  color: #9aa29e !important;
  font-size: 12px !important;
}

body.api-app .api-workspace {
  grid-row: 2 !important;
  grid-column: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  
  border: 0 !important;
  border-radius: 0 0 12px 12px !important;
  
  
}

body.api-app .connection-form.provider-deepseek {
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) 48px !important;
  overflow: hidden !important;
}

body.api-app .connection-form.provider-deepseek .editor-body {
  grid-row: 1 !important;
  min-height: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12px 22px !important;
  background: #ffffff !important;
  overflow: auto !important;
}

body.api-app .connection-form.provider-deepseek .provider-card {
  width: min(340px, 100%) !important;
  max-width: 340px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.api-app .connection-form.provider-deepseek .field-grid,
body.api-app .connection-form.provider-deepseek .field-grid.two {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  margin: 0 !important;
}

body.api-app .connection-form.provider-deepseek .field {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.api-app .connection-form.provider-deepseek .field span {
  margin: 0 0 5px !important;
  color: #66706c !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

body.api-app .connection-form.provider-deepseek .field input {
  width: 100% !important;
  min-height: 38px !important;
  height: 38px !important;
  max-height: 38px !important;
  padding: 0 12px !important;
  border: 1px solid #dde2df !important;
  border-radius: 7px !important;
  background: #ffffff !important;
  box-shadow: none !important;
  color: #252a28 !important;
  font-size: 13px !important;
}

body.api-app .connection-form.provider-deepseek .editor-actions {
  grid-row: 2 !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  padding: 0 14px !important;
  border: 0 !important;
  border-top: 1px solid #edf0ef !important;
  background: #ffffff !important;
}

body.api-app .api-sidebar,
body.api-app .api-page:has(.connection-form:not(.hidden)) .api-sidebar,
body.api-app .api-page:has(#emptyEditor:not(.hidden)) .api-sidebar {
  align-items: stretch !important;
  justify-content: stretch !important;
}

body.api-app .sidebar-head,
body.api-app .api-page:has(.connection-form:not(.hidden)) .sidebar-head,
body.api-app .api-page:has(#emptyEditor:not(.hidden)) .sidebar-head {
  align-self: stretch !important;
  justify-self: stretch !important;
  justify-content: flex-start !important;
  margin: 0 !important;
  padding: 0 14px !important;
}

body.api-app .sidebar-tools,
body.api-app .sidebar-head > div.sidebar-tools,
body.api-app .api-page:has(.connection-form:not(.hidden)) .sidebar-tools,
body.api-app .api-page:has(#emptyEditor:not(.hidden)) .sidebar-tools {
  align-self: center !important;
  justify-self: end !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.api-app .sidebar-tools .icon-button.has-label,
body.api-app .sidebar-head .sidebar-tools .icon-button.has-label,
body.api-app .api-page:has(.connection-form:not(.hidden)) .sidebar-head .sidebar-tools .icon-button.has-label {
  width: auto !important;
  min-width: 68px !important;
  max-width: none !important;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  padding: 0 10px !important;
  line-height: 1 !important;
}

body.api-app .connection-list,
body.api-app .api-page:has(.connection-form:not(.hidden)) .connection-list,
body.api-app .api-page:has(#emptyEditor:not(.hidden)) .connection-list {
  align-self: stretch !important;
  justify-self: stretch !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 58px !important;
  max-height: 58px !important;
  padding: 0 14px !important;
  overflow: auto !important;
}

body.api-app .quick-actions {
  
  
  z-index: 30 !important;
}

body.api-app .api-sidebar:has(.quick-actions:not(.hidden)),
body.api-app .api-page:has(.connection-form:not(.hidden)) .api-sidebar:has(.quick-actions:not(.hidden)),
body.api-app .api-page:has(#emptyEditor:not(.hidden)) .api-sidebar:has(.quick-actions:not(.hidden)) {
  overflow: visible !important;
  z-index: 30 !important;
}

/* 2026-09-08: “暂无数据”统一落在各工作页可用区域的正中位置。 */
body.copywriting-app .workspacePanel.active:has(.previewTableWrap .centeredEmptyState) {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
}

body.copywriting-app .previewTableWrap:has(.centeredEmptyState) {
  flex: 1 1 100% !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
}

body.copywriting-app .previewTableWrap:has(.centeredEmptyState) #dataTable,
body.copywriting-app .previewTableWrap:has(.centeredEmptyState) #dataTable tbody.centeredEmptyState,
body.copywriting-app .previewTableWrap:has(.centeredEmptyState) #dataTable tbody.centeredEmptyState tr {
  width: 100% !important;
  min-width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
}

body.copywriting-app .previewTableWrap:has(.centeredEmptyState) #dataTable tbody.centeredEmptyState tr td.emptyCell {
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.copywriting-app .previewTableWrap:has(.centeredEmptyState) .emptyCell::before,
body.erp-app .export-listing-shell:has(#exportListingTable .centered-empty-state) .export-listing-empty::before {
  content: none !important;
  display: none !important;
}

/* 2026-09-08: copywriting headers and cell text stay centered. */
body.copywriting-app #dataTable th,
body.copywriting-app #dataTable td,
body.copywriting-app #embeddedRemovalTable th,
body.copywriting-app #embeddedRemovalTable td {
  text-align: center !important;
}

body.copywriting-app .copyableCell,
body.copywriting-app td.col-name .copyableCell,
body.copywriting-app td.col-long .copyableCell {
  justify-content: center !important;
}

body.copywriting-app .cellClamp,
body.copywriting-app td.col-name .cellClamp,
body.copywriting-app td.col-long .cellClamp {
  justify-content: center !important;
  text-align: center !important;
}

/* 2026-09-08: copywriting rows stay compact and aligned instead of growing into a vertical wall. */
body.copywriting-app #dataTable tbody:not(.centeredEmptyState) td,
body.copywriting-app #outputTable td,
body.copywriting-app #embeddedRemovalTable tbody:not(.embeddedRemovalEmptyState) td {
  height: 64px !important;
  min-height: 64px !important;
  max-height: 64px !important;
  padding: 5px 8px !important;
  overflow: hidden !important;
  line-height: 15px !important;
  vertical-align: middle !important;
}

body.copywriting-app #dataTable tbody:not(.centeredEmptyState) tr,
body.copywriting-app #outputTable tbody tr,
body.copywriting-app #embeddedRemovalTable tbody:not(.embeddedRemovalEmptyState) tr {
  height: 64px !important;
  min-height: 64px !important;
  max-height: 64px !important;
}

body.copywriting-app #dataTable .cellClamp,
body.copywriting-app #outputTable .cellClamp,
body.copywriting-app #embeddedRemovalTable .cellClamp {
  display: -webkit-box !important;
  max-height: 30px !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  white-space: normal !important;
  word-break: break-word !important;
  text-overflow: ellipsis !important;
}

body.copywriting-app #dataTable td.col-sku .cellClamp,
body.copywriting-app #outputTable td.col-sku .cellClamp,
body.copywriting-app #embeddedRemovalTable td.col-sku .cellClamp {
  
  
  
  
  
  
  
}

body.copywriting-app .embeddedRemovalTableWrap {
  overflow-y: auto !important;
  overflow-x: auto !important;
}

/* 2026-09-08: force the copywriting text back into the content column. */
body.copywriting-app #dataTable .copyableCell,
body.copywriting-app #outputTable .copyableCell,
body.copywriting-app #embeddedRemovalTable .copyableCell {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 24px !important;
  grid-template-rows: minmax(0, 1fr) !important;
  align-items: center !important;
  justify-items: center !important;
  gap: 4px !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
}

body.copywriting-app #dataTable .copyableCell::before,
body.copywriting-app #outputTable .copyableCell::before,
body.copywriting-app #embeddedRemovalTable .copyableCell::before {
  display: none !important;
  content: none !important;
}

body.copywriting-app #dataTable .copyableCell > .cellClamp,
body.copywriting-app #outputTable .copyableCell > .cellClamp,
body.copywriting-app #embeddedRemovalTable .copyableCell > .cellClamp {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  max-height: 30px !important;
  margin: 0 !important;
  text-align: center !important;
  text-align-last: center !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
}

body.copywriting-app #dataTable td.col-sku .cellClamp,
body.copywriting-app #outputTable td.col-sku .cellClamp,
body.copywriting-app #embeddedRemovalTable td.col-sku .cellClamp {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 18px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
  text-align: center !important;
  text-align-last: center !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
  font-size: 12px !important;
}

body.copywriting-app #dataTable .copyableCell .cellCopyButton,
body.copywriting-app #outputTable .copyableCell .cellCopyButton,
body.copywriting-app #embeddedRemovalTable .copyableCell .cellCopyButton {
  grid-column: 2 !important;
  grid-row: 1 !important;
  position: static !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  max-width: 22px !important;
  transform: none !important;
}

body.copywriting-app #dataTable th:nth-child(2),
body.copywriting-app #dataTable td:nth-child(2),
body.copywriting-app #outputTable th:first-child,
body.copywriting-app #outputTable td:first-child,
body.copywriting-app #embeddedRemovalTable th:nth-child(2),
body.copywriting-app #embeddedRemovalTable td:nth-child(2) {
  text-align: center !important;
  text-align-last: center !important;
}

/* 2026-09-08: keep the export listing header/table/pagination in explicit rows.
   Older shell CSS forced the table into grid row 3, so non-empty export pages
   placed the table at the bottom of the work area. */
body.erp-app .export-listing-shell:not(:has(#exportListingTable .centered-empty-state)) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: 60px minmax(0, 1fr) auto !important;
  align-content: stretch !important;
}

/* 2026-09-09: export listing final compact layout.
   Data rows match the collector/copywriting row height, copy buttons sit at
   the right edge on hover, and text-heavy columns get predictable widths. */
body.erp-app .export-listing-header {
  overflow: visible !important;
}

body.erp-app .export-listing-header .export-clear-toolbar,
body.erp-app .export-listing-header .export-mapping-center,
body.erp-app .export-listing-header .export-listing-actions {
  flex: 0 1 auto !important;
  min-width: 0 !important;
  overflow: visible !important;
}

body.erp-app .export-mapping-center {
  justify-content: center !important;
}

body.erp-app .export-listing-header #startExportMapping,
body.erp-app .export-listing-header #exportMissingTemplatePlan {
  width: auto !important;
  min-width: max-content !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  overflow: visible !important;
  white-space: nowrap !important;
  text-overflow: clip !important;
}

body.erp-app #exportListingTable:not(:has(.centered-empty-state)) {
  width: max(100%, 2360px) !important;
  min-width: max(100%, 2360px) !important;
  table-layout: fixed !important;
}

body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > colgroup > col:nth-child(1),
body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > thead > tr > th:nth-child(1),
body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > tbody:not(.centered-empty-state) > tr > td:nth-child(1) {
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
}

body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > colgroup > col:nth-child(2),
body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > thead > tr > th:nth-child(2),
body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > tbody:not(.centered-empty-state) > tr > td:nth-child(2) {
  width: 150px !important;
  min-width: 150px !important;
  max-width: 150px !important;
}

body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > colgroup > col:nth-child(3),
body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > thead > tr > th:nth-child(3),
body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > tbody:not(.centered-empty-state) > tr > td:nth-child(3) {
  width: 96px !important;
  min-width: 96px !important;
  max-width: 96px !important;
}

body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > colgroup > col:nth-child(4),
body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > thead > tr > th:nth-child(4),
body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > tbody:not(.centered-empty-state) > tr > td:nth-child(4) {
  width: 124px !important;
  min-width: 124px !important;
  max-width: 124px !important;
}

body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > colgroup > col:nth-child(5),
body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > thead > tr > th:nth-child(5),
body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > tbody:not(.centered-empty-state) > tr > td:nth-child(5) {
  width: 96px !important;
  min-width: 96px !important;
  max-width: 96px !important;
}

body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > colgroup > col:nth-child(6),
body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > thead > tr > th:nth-child(6),
body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > tbody:not(.centered-empty-state) > tr > td:nth-child(6) {
  width: 270px !important;
  min-width: 270px !important;
  max-width: 270px !important;
}

body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > colgroup > col:nth-child(7),
body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > thead > tr > th:nth-child(7),
body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > tbody:not(.centered-empty-state) > tr > td:nth-child(7),
body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > colgroup > col:nth-child(8),
body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > thead > tr > th:nth-child(8),
body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > tbody:not(.centered-empty-state) > tr > td:nth-child(8),
body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > colgroup > col:nth-child(9),
body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > thead > tr > th:nth-child(9),
body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > tbody:not(.centered-empty-state) > tr > td:nth-child(9),
body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > colgroup > col:nth-child(10),
body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > thead > tr > th:nth-child(10),
body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > tbody:not(.centered-empty-state) > tr > td:nth-child(10),
body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > colgroup > col:nth-child(11),
body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > thead > tr > th:nth-child(11),
body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > tbody:not(.centered-empty-state) > tr > td:nth-child(11) {
  width: 158px !important;
  min-width: 158px !important;
  max-width: 158px !important;
}

body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > colgroup > col:nth-child(12),
body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > thead > tr > th:nth-child(12),
body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > tbody:not(.centered-empty-state) > tr > td:nth-child(12) {
  width: 260px !important;
  min-width: 260px !important;
  max-width: 260px !important;
}

body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > colgroup > col:nth-child(13),
body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > thead > tr > th:nth-child(13),
body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > tbody:not(.centered-empty-state) > tr > td:nth-child(13) {
  width: 112px !important;
  min-width: 112px !important;
  max-width: 112px !important;
}

body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > colgroup > col:nth-child(14),
body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > thead > tr > th:nth-child(14),
body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > tbody:not(.centered-empty-state) > tr > td:nth-child(14) {
  width: 178px !important;
  min-width: 178px !important;
  max-width: 178px !important;
}

body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > colgroup > col:nth-child(15),
body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > thead > tr > th:nth-child(15),
body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > tbody:not(.centered-empty-state) > tr > td:nth-child(15) {
  width: 160px !important;
  min-width: 160px !important;
  max-width: 160px !important;
}

body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > colgroup > col:nth-child(16),
body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > thead > tr > th:nth-child(16),
body.erp-app #exportListingTable:not(:has(.centered-empty-state)) > tbody:not(.centered-empty-state) > tr > td:nth-child(16) {
  width: 226px !important;
  min-width: 226px !important;
  max-width: 226px !important;
}

body.erp-app #exportListingTable tbody:not(.centered-empty-state) tr {
  height: 64px !important;
  min-height: 64px !important;
  max-height: 64px !important;
}

body.erp-app #exportListingTable tbody:not(.centered-empty-state) td {
  height: 64px !important;
  min-height: 64px !important;
  max-height: 64px !important;
  padding: 4px 6px !important;
  overflow: hidden !important;
  line-height: 16px !important;
}

body.erp-app #exportListingTable thead tr th {
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
}

body.erp-app #exportListingTable td:not(.image-col-image):not(.image-col-mapping-status) > .erp-copyable-cell {
  position: static !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 24px !important;
  grid-template-rows: minmax(0, 1fr) !important;
  align-items: center !important;
  justify-content: center !important;
  justify-items: center !important;
  gap: 4px !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
}

body.erp-app #exportListingTable .erp-copyable-cell::before {
  display: none !important;
  content: none !important;
}

body.erp-app #exportListingTable td:not(.image-col-image):not(.image-col-mapping-status) > .erp-copyable-cell > .image-cell-clamp {
  grid-column: 1 !important;
  grid-row: 1 !important;
  display: -webkit-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  max-height: 32px !important;
  margin: 0 !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  line-height: 16px !important;
  white-space: normal !important;
  text-align: center !important;
  text-align-last: center !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

body.erp-app #exportListingTable tbody:not(.centered-empty-state) tr td.image-col-name > .erp-copyable-cell > .image-cell-clamp {
  text-align: left !important;
  text-align-last: left !important;
}

body.erp-app #exportListingTable td:not(.image-col-image):not(.image-col-mapping-status) > .erp-copyable-cell .erp-cell-copy-button {
  position: static !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: 22px !important;
  min-width: 22px !important;
  max-width: 22px !important;
  height: 22px !important;
  min-height: 22px !important;
  max-height: 22px !important;
  opacity: 0 !important;
  transform: none !important;
}

body.erp-app #exportListingTable td:not(.image-col-image):not(.image-col-mapping-status) .erp-copyable-cell:hover .erp-cell-copy-button,
body.erp-app #exportListingTable td.image-col-image .image-thumb-actions:hover .erp-cell-copy-button,
body.erp-app #exportListingTable td.image-col-image .image-thumb-wrap:hover .erp-cell-copy-button {
  opacity: 1 !important;
  transform: none !important;
}

body.erp-app #exportListingTable td.image-col-image .image-thumb-wrap {
  position: relative !important;
  
  
  
  
  
  
}

body.erp-app #exportListingTable td.image-col-image .image-opt-thumbnail,
body.erp-app #exportListingTable td.image-col-image .image-opt-placeholder {
  width: 50px !important;
  min-width: 50px !important;
  max-width: 50px !important;
  height: 50px !important;
  min-height: 50px !important;
  max-height: 50px !important;
}

body.erp-app #exportListingTable td.image-col-image .image-thumb-actions {
  
  
  
  
  
  
  gap: 2px !important;
  min-height: 0 !important;
}

body.erp-app #exportListingTable td.image-col-image .image-thumb-actions .image-original-link {
  
}

body.erp-app #exportListingTable td.image-col-image .image-thumb-actions .erp-cell-copy-button {
  width: 20px !important;
  min-width: 20px !important;
  max-width: 20px !important;
  height: 20px !important;
  min-height: 20px !important;
  max-height: 20px !important;
  opacity: 0 !important;
}


/* ===== css/copy-buttons-unified-v180.css ===== */
/* Unified copy button presentation for every workflow table. */
:is(
  body.erp-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app,
  body.source-inbox-frame-page
)
:is(.erp-copyable-cell, .copyableCell, .collector-copyable-cell) {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 24px !important;
  grid-template-rows: minmax(0, 1fr) !important;
  align-items: center !important;
  justify-content: stretch !important;
  justify-items: center !important;
  gap: 4px !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

:is(
  body.erp-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app,
  body.source-inbox-frame-page
)
:is(.erp-copyable-cell, .copyableCell, .collector-copyable-cell)::before {
  display: none !important;
  content: none !important;
}

:is(
  body.erp-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app,
  body.source-inbox-frame-page
)
:is(.erp-copyable-cell, .copyableCell, .collector-copyable-cell)
  > :not(:is(.erp-cell-copy-button, .cellCopyButton, .collector-copy-button)) {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
}

:is(
  body.erp-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app,
  body.source-inbox-frame-page
)
:is(.erp-cell-copy-button, .cellCopyButton, .collector-copy-button) {
  grid-column: 2 !important;
  grid-row: 1 !important;
  position: static !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  bottom: auto !important;
  z-index: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  min-width: 22px !important;
  max-width: 22px !important;
  height: 22px !important;
  min-height: 22px !important;
  max-height: 22px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: #737a75 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform: none !important;
  transition:
    opacity 0.12s ease,
    background-color 0.12s ease,
    color 0.12s ease !important;
}

:is(
  body.erp-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app,
  body.source-inbox-frame-page
)
:is(.erp-cell-copy-button, .cellCopyButton, .collector-copy-button) svg {
  width: 13px !important;
  height: 13px !important;
}

:is(
  body.erp-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app,
  body.source-inbox-frame-page
)
:is(
  .erp-copyable-cell:hover,
  .copyableCell:hover,
  .collector-copyable-cell:hover,
  .image-thumb-wrap:hover,
  .image-thumb-actions:hover,
  .optimized-thumb-wrap:hover,
  .optimized-thumb-actions:hover
)
:is(.erp-cell-copy-button, .cellCopyButton, .collector-copy-button),
:is(
  body.erp-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app,
  body.source-inbox-frame-page
)
:is(.erp-cell-copy-button, .cellCopyButton, .collector-copy-button):hover,
:is(
  body.erp-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app,
  body.source-inbox-frame-page
)
:is(.erp-cell-copy-button, .cellCopyButton, .collector-copy-button):focus-visible {
  opacity: 1 !important;
  pointer-events: auto !important;
  background: rgba(63, 107, 87, 0.1) !important;
  color: #355a49 !important;
}

:is(
  body.erp-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app,
  body.source-inbox-frame-page
)
:is(.erp-cell-copy-button, .cellCopyButton, .collector-copy-button):focus-visible {
  outline: 2px solid rgba(63, 107, 87, 0.22) !important;
  outline-offset: 1px !important;
}

/* Keep the source-inbox collector table aligned with every other workflow. */
body.source-inbox-frame-page #collectorResultTable
  td > .collector-copyable-cell
  > .collector-copy-button {
  width: 22px !important;
  min-width: 22px !important;
  max-width: 22px !important;
  height: 22px !important;
  min-height: 22px !important;
  max-height: 22px !important;
  right: auto !important;
  opacity: 0 !important;
  transform: none !important;
}

body.source-inbox-frame-page #collectorResultTable
  td:hover
  > .collector-copyable-cell
  > .collector-copy-button,
body.source-inbox-frame-page #collectorResultTable
  td
  .collector-copyable-cell:hover
  .collector-copy-button {
  opacity: 1 !important;
  transform: none !important;
}

/* ===== css/layout-unified-v187.css ===== */
/* Layout unified v187: read-only visual layer. No behavior changes. */

:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.copywriting-app,
  body.api-app,
  body.templates-app
) {
  --yftx-layout-page: #f3f5f4;
  --yftx-layout-surface: #ffffff;
  --yftx-layout-surface-soft: #f7f9f8;
  --yftx-layout-line: #e3e7e4;
  --yftx-layout-line-strong: #ccd3cf;
  --yftx-layout-text: #202622;
  --yftx-layout-muted: #68736c;
  --yftx-layout-subtle: #8e9792;
  --yftx-layout-accent: #2f6b4f;
  --yftx-layout-accent-soft: #eaf3ed;
  --yftx-layout-danger: #a6514c;
  --yftx-layout-danger-soft: #fbf0ee;
  --yftx-layout-warning: #9a7537;
  --yftx-layout-warning-soft: #fbf4e8;
  background-color: var(--yftx-layout-page);
  color: var(--yftx-layout-text);
  font-family: "SF Pro Text", "PingFang SC", "Microsoft YaHei UI", system-ui, "Segoe UI", Arial, sans-serif;
}

:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.copywriting-app,
  body.api-app,
  body.templates-app
)
:is(button, input, select, textarea, th, td, p, span, small, strong, label, div, section) {
  letter-spacing: 0 !important;
}

/* Keep every module inside a single viewport surface. */
body.erp-app {
  overflow: hidden !important;
  background: var(--yftx-layout-page) !important;
}

body.erp-app #appView {
  
  
  
  
  
}

body.erp-app .sidebar {
  
  
  
  
  
  
  
}

body.erp-app .brand {
  min-height: 58px !important;
  height: 58px !important;
  margin: 0 0 4px !important;
  justify-content: center !important;
}

body.erp-app .brand img {
  width: 62px !important;
  height: auto !important;
  max-height: 44px !important;
}

body.erp-app .nav {
  justify-content: center !important;
  gap: 6px !important;
  padding: 4px 0 !important;
  overflow-y: auto !important;
  scrollbar-width: none !important;
}

body.erp-app .nav::-webkit-scrollbar {
  display: none !important;
}

body.erp-app .nav button {
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 8px !important;
  border-radius: 8px !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  justify-content: center !important;
  text-align: center !important;
  line-height: 1.15 !important;
}

body.erp-app .sidebar-user {
  
}

body.erp-app .user-name {
  
  
  padding: 0 8px !important;
  
  
  
}

body.erp-app .user-popover {
  
  
  
  
  
  
  
  
}

body.erp-app .user-menu-action {
  
  
  
  
  
  
}

body.erp-app .workspace {
  height: 100% !important;
  
  
  
  
  
  
}

body.erp-app .content,
body.erp-app .view,
body.erp-app .view.active {
  
  
  
}

body.erp-app .content {
  overflow: hidden !important;
  background: transparent !important;
}

body.erp-app .view.active {
  overflow: hidden !important;
}

body.erp-app .view-accounts.active,
body.erp-app .view-system-check.active {
  overflow: auto !important;
  padding: clamp(20px, 4vh, 42px) 16px 20px !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  background: var(--yftx-layout-page) !important;
}

body.erp-app .copywriting-frame,
body.erp-app .api-frame,
body.erp-app .templates-frame,
body.erp-app .source-inbox-frame {
  
  
  
  
  
  
}

/* Management pages use one compact centered module language. */
body.erp-app .accounts-page-minimal,
body.erp-app .accounts-shell-minimal,
body.erp-app .system-check-page {
  width: min(720px, 100%) !important;
  max-width: 720px !important;
  margin: 0 !important;
}

body.erp-app .accounts-shell-minimal {
  
}

body.erp-app .accounts-primary-action {
  
}

body.erp-app .account-add-button {
  
  
  
  
  
  
  
}

body.erp-app .accounts-table-panel,
body.erp-app .system-check-list {
  
  
  
  
}

body.erp-app .account-table {
  
  
}

body.erp-app .account-table-header {
  
  
  
  
  
  
}

body.erp-app .account-table-row,
body.erp-app .account-table-cell {
  
  
}

body.erp-app .account-list-empty {
  
}

body.erp-app .system-check-page {
  
}

body.erp-app .system-check-header {
  
  
  
  
  
  
  
  
}

body.erp-app .system-check-list {
  
  
}

body.erp-app .system-check-row {
  
  
  
}

body.erp-app .permission-empty-view {
  
}

body.erp-app .permission-empty-card {
  
  
  
  
  
  
  display: grid !important;
  place-items: center !important;
  
  
}

/* Shared toolbar rhythm for all workflow shells. */
body.source-inbox-frame-page .collector-commandbar,
body.copywriting-app .commandBar,
body.erp-app .export-listing-header {
  border: 1px solid var(--yftx-layout-line) !important;
  background: var(--yftx-layout-surface) !important;
  box-shadow: none !important;
}

body.source-inbox-frame-page .collector-shell {
  gap: 6px !important;
  padding: 6px !important;
  background: var(--yftx-layout-page) !important;
}

body.source-inbox-frame-page .collector-commandbar {
  
  
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 8px 10px !important;
  
  background: var(--yftx-layout-surface) !important;
}

body.source-inbox-frame-page .collector-links-input {
  
  
  
  
  
  
  
  
  
  
  
  
  
}

body.source-inbox-frame-page .collector-campaign {
  flex: 1 0 220px !important;
  min-width: 0 !important;
  max-width: 360px !important;
  gap: 6px !important;
  padding: 0 6px !important;
  overflow: hidden !important;
}

body.source-inbox-frame-page .collector-campaign-progress,
body.source-inbox-frame-page .collector-campaign-summary {
  gap: 7px !important;
  min-width: 0 !important;
}

body.source-inbox-frame-page .collector-commandbar-side {
  flex: 0 0 auto !important;
  
  margin-left: 0 !important;
  gap: 6px !important;
}


body.source-inbox-frame-page .collector-selection-meta {
  min-width: 0 !important;
  max-width: 160px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
  font-size: 12px !important;
}

body.source-inbox-frame-page .collector-button {
  height: 32px !important;
  min-height: 32px !important;
  min-width: 66px !important;
  padding: 0 11px !important;
  border-radius: 8px !important;
  font-size: 12px !important;
}

body.source-inbox-frame-page .collector-content {
  min-height: 0 !important;
  border: 1px solid var(--yftx-layout-line) !important;
  border-radius: 10px !important;
  background: var(--yftx-layout-surface) !important;
  box-shadow: none !important;
}

body.source-inbox-frame-page .collector-empty-state {
  
  
  
  
  margin: 0 !important;
  
  
  
  
  color: var(--yftx-layout-subtle) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

body.source-inbox-frame-page .collector-table-frame {
  height: 100% !important;
  min-height: 0 !important;
}

body.source-inbox-frame-page .collector-table-wrap {
  
  
}

body.source-inbox-frame-page #collectorResultTable {
  
  
}

body.source-inbox-frame-page #collectorResultTable th {
  
  
  
  
  
  
  text-align: center !important;
  
}

body.source-inbox-frame-page #collectorResultTable td {
  
  
  
  
  
  
}

body.source-inbox-frame-page #collectorResultTable th,
body.source-inbox-frame-page #collectorResultTable td {
  text-align: center !important;
  text-align-last: center !important;
}

body.source-inbox-frame-page #collectorResultTable td.title-cell {
  text-align: left !important;
  text-align-last: left !important;
}

body.source-inbox-frame-page #collectorResultTable td.title-cell .cell-title,
body.source-inbox-frame-page #collectorResultTable td.title-cell .collector-copyable-cell > .cell-title {
  text-align: left !important;
  text-align-last: left !important;
}

body.source-inbox-frame-page #collectorResultTable .thumb-cell {
  
  
  
}

body.source-inbox-frame-page .collector-thumb,
body.source-inbox-frame-page .collector-thumb-placeholder {
  
  
}

body.source-inbox-frame-page #collectorResultTable .asin-cell {
  
  
  
}

body.source-inbox-frame-page #collectorResultTable .title-cell {
  
  
  
}

body.source-inbox-frame-page #collectorResultTable .link-cell {
  
  
  
}

body.source-inbox-frame-page #collectorResultTable .brand-cell {
  
  
  
}

body.source-inbox-frame-page #collectorResultTable .rank-number-cell {
  
  
  
}

body.source-inbox-frame-page #collectorResultTable .delivery-cell {
  
  
  
}

body.source-inbox-frame-page #collectorResultTable .number-cell {
  
  
  
}

body.source-inbox-frame-page .cell-title {
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

body.source-inbox-frame-page .collector-footer {
  
  
}

body.source-inbox-frame-page .collector-page-size,
body.source-inbox-frame-page .collector-pager {
  min-height: 26px !important;
}

body.source-inbox-frame-page .collector-page-size select,
body.source-inbox-frame-page .collector-pager button {
  height: 26px !important;
  min-height: 26px !important;
  border-radius: 7px !important;
  font-size: 12px !important;
}

/* Collector detail drawer keeps a fixed scaffold and stable image cells. */
body.source-inbox-frame-page .collector-detail {
  width: min(720px, 94vw) !important;
  border-left: 1px solid var(--yftx-layout-line) !important;
  background: #fff !important;
}

body.source-inbox-frame-page .collector-detail-head {
  
  
}

body.source-inbox-frame-page .collector-detail-body {
  
  
  
}

body.source-inbox-frame-page .collector-detail-actions {
  
  
}

body.source-inbox-frame-page .collector-detail-section {
  
}

body.source-inbox-frame-page .collector-detail-image-grid {
  
}

body.source-inbox-frame-page .collector-detail-image {
  
  
}

body.source-inbox-frame-page .collector-detail-image img {
  
}

/* Copywriting workflow. */
body.copywriting-app {
  background: var(--yftx-layout-page) !important;
}

body.copywriting-app .workspaceShell {
  
  gap: 6px !important;
  padding: 6px !important;
  
}

body.copywriting-app .commandBar {
  
  
  
  
  
  
}

body.copywriting-app .commandSide,
body.copywriting-app .previewDangerZone,
body.copywriting-app .parseDangerZone,
body.copywriting-app .commandMeta {
  min-width: 0 !important;
  gap: 6px !important;
}

body.copywriting-app .workflowButton,
body.copywriting-app .pageClearButton,
body.copywriting-app .selectionDeleteButton,
body.copywriting-app .selectionPromptButton,
body.copywriting-app .embeddedRemovalButton {
  height: 32px !important;
  min-height: 32px !important;
  border-radius: 8px !important;
  font-size: 12px !important;
}

body.copywriting-app .contentCard {
  
  
  
  
  
}

body.copywriting-app .workspacePanel {
  min-height: 0 !important;
}

body.copywriting-app .workspacePanel.active {
  display: flex !important;
  flex-direction: column !important;
  padding: 0 !important;
}

body.copywriting-app .previewTableWrap {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: auto !important;
}

body.copywriting-app .tableFootnote,
body.copywriting-app #previewNote {
  
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  
  
  
}

body.copywriting-app .copywritingPager {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  
  color: var(--yftx-layout-muted) !important;
  
}

body.copywriting-app .copywritingPager button {
  height: 26px !important;
  min-height: 26px !important;
  min-width: 60px !important;
  padding: 0 10px !important;
  border: 1px solid var(--yftx-layout-line) !important;
  border-radius: 7px !important;
  background: #fff !important;
  
}

body.copywriting-app .parseWorkspace {
  
  
  
  
  
}

body.copywriting-app .parseInputPane,
body.copywriting-app .embeddedRemovalPane {
  
  
  
  
}

body.copywriting-app .parseInputPane {
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  padding: 10px !important;
}

body.copywriting-app .parseInputPane .editor,
body.copywriting-app .parseInputPane textarea {
  flex: 1 1 auto !important;
  width: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  border: 1px solid var(--yftx-layout-line) !important;
  border-radius: 8px !important;
  resize: none !important;
}

body.copywriting-app .parseInputPane .message {
  
  
  
  
  
}

body.copywriting-app .embeddedRemovalPane,
body.copywriting-app .embeddedRemovalTableWrap {
  min-height: 0 !important;
  overflow: auto !important;
}

body.copywriting-app .embeddedRemovalTableWrap {
  
  
  
}

body.copywriting-app #dataTable,
body.copywriting-app #embeddedRemovalTable {
  width: 100% !important;
  min-width: 100% !important;
  table-layout: fixed !important;
}

body.copywriting-app #dataTable th,
body.copywriting-app #embeddedRemovalTable th {
  
  
  
  
  
  
}

body.copywriting-app #dataTable tbody:not(.centeredEmptyState) tr,
body.copywriting-app #embeddedRemovalTable tbody:not(.embeddedRemovalEmptyState) tr {
  height: 64px !important;
  min-height: 64px !important;
  max-height: 64px !important;
}

body.copywriting-app #dataTable tbody:not(.centeredEmptyState) td,
body.copywriting-app #embeddedRemovalTable tbody:not(.embeddedRemovalEmptyState) td {
  height: 64px !important;
  max-height: 64px !important;
  padding: 5px 6px !important;
  overflow: hidden !important;
  vertical-align: middle !important;
  line-height: 16px !important;
}

body.copywriting-app #dataTable .cellClamp,
body.copywriting-app #embeddedRemovalTable .cellClamp {
  
  
  
  
}

body.copywriting-app #dataTable td.col-name .cellClamp,
body.copywriting-app #embeddedRemovalTable td.col-name .cellClamp {
  text-align: left !important;
  text-align-last: left !important;
}

body.copywriting-app #dataTable td.col-sku .cellClamp,
body.copywriting-app #embeddedRemovalTable td.col-sku .cellClamp {
  text-align: center !important;
  text-align-last: center !important;
}

body.copywriting-app #dataTable th,
body.copywriting-app #dataTable td,
body.copywriting-app #embeddedRemovalTable th,
body.copywriting-app #embeddedRemovalTable td {
  text-align: center !important;
  text-align-last: center !important;
}

/* Freeze the selection column when wide tables scroll sideways. */
body.source-inbox-frame-page #collectorResultTable thead th:first-child,
body.source-inbox-frame-page #collectorResultTable tbody tr td:first-child,
body.copywriting-app #dataTable thead th:first-child,
body.copywriting-app #dataTable tbody:not(.centeredEmptyState) tr td:first-child,
body.copywriting-app #embeddedRemovalTable thead th:first-child,
body.copywriting-app #embeddedRemovalTable tbody:not(.embeddedRemovalEmptyState) tr td:first-child,
body.erp-app #exportListingTable thead th:first-child,
body.erp-app #exportListingTable tbody tr:not(.centered-empty-state) td:first-child {
  position: sticky !important;
  left: 0 !important;
  z-index: 3 !important;
  background: var(--yftx-layout-surface-soft) !important;
  box-shadow: 1px 0 0 var(--yftx-layout-line) !important;
}

body.erp-app #exportListingTable thead th:first-child,
body.source-inbox-frame-page #collectorResultTable thead th:first-child,
body.copywriting-app #dataTable thead th:first-child,
body.copywriting-app #embeddedRemovalTable thead th:first-child {
  z-index: 4 !important;
  background: var(--yftx-layout-surface-soft) !important;
}

body.erp-app #exportListingTable tbody tr:not(.centered-empty-state) td:first-child,
body.source-inbox-frame-page #collectorResultTable tbody tr td:first-child,
body.copywriting-app #dataTable tbody:not(.centeredEmptyState) tr td:first-child,
body.copywriting-app #embeddedRemovalTable tbody:not(.embeddedRemovalEmptyState) tr td:first-child {
  background: #fff !important;
}

/* Export listing shell. */
body.erp-app .export-listing-shell:not(:has(#exportListingTable .centered-empty-state)) {
  grid-template-rows: 56px minmax(0, 1fr) 40px !important;
  gap: 0 !important;
  padding: 0 !important;
}

body.erp-app .export-listing-shell:has(#exportListingTable .centered-empty-state) {
  grid-template-rows: 56px minmax(0, 1fr) 40px !important;
}

body.erp-app .export-listing-header {
  
  
  
  
  
  
  background: var(--yftx-layout-surface) !important;
}

body.erp-app .export-listing-header .export-mapping-center {
  gap: 7px !important;
}

body.erp-app .export-listing-header #startExportMapping,
body.erp-app .export-listing-header #exportMissingTemplatePlan,
body.erp-app .export-listing-header #exportCompleteTable {
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  border-radius: 8px !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

body.erp-app .export-listing-table-wrap {
  
  
}

body.erp-app #exportListingTable:not(:has(.centered-empty-state)) {
  table-layout: fixed !important;
}

body.erp-app #exportListingTable tbody:not(.centered-empty-state) tr,
body.erp-app #exportListingTable tbody:not(.centered-empty-state) td {
  height: 64px !important;
  min-height: 64px !important;
  max-height: 64px !important;
  padding: 5px 6px !important;
  overflow: hidden !important;
  vertical-align: middle !important;
  line-height: 16px !important;
}

body.erp-app #exportPagination {
  min-height: 40px !important;
  height: 40px !important;
  border-top: 1px solid var(--yftx-layout-line) !important;
  background: var(--yftx-layout-surface) !important;
}

body.erp-app #exportPagination button {
  height: 28px !important;
  min-height: 28px !important;
  border-radius: 7px !important;
  font-size: 12px !important;
}

/* API page uses a compact centered module card. */
body.api-app {
  background: var(--yftx-layout-page) !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  padding: clamp(22px, 5vh, 56px) 16px 24px !important;
}

body.api-app .api-page,
body.api-app .api-page:has(.connection-form:not(.hidden)),
body.api-app .api-page:has(.connection-form:not(.hidden)).provider-deepseek,
body.api-app .api-page:has(#emptyEditor:not(.hidden)) {
  width: min(620px, 100%) !important;
  max-width: 620px !important;
  min-height: 360px !important;
  height: auto !important;
  max-height: calc(100vh - 48px) !important;
  margin: 0 auto !important;
  border: 1px solid var(--yftx-layout-line) !important;
  border-radius: 12px !important;
  background: var(--yftx-layout-surface) !important;
  box-shadow: 0 10px 26px rgba(20, 28, 24, .06) !important;
  overflow: auto !important;
}

body.api-app .api-sidebar {
  
  
  
  
  
  
}

body.api-app .api-workspace {
  
  
  background: #fff !important;
}

body.api-app .connection-form,
body.api-app .connection-form.provider-deepseek {
  
  
  background: #fff !important;
}

body.api-app .panel-card,
body.api-app .result-card {
  
  
  
}

body.api-app .editor-actions {
  
  
  
  
  
}

body.api-app .action-button,
body.api-app .quick-button {
  height: 32px !important;
  min-height: 32px !important;
  border-radius: 8px !important;
  font-size: 12px !important;
}

/* Templates page. */
body.templates-app {
  background: var(--yftx-layout-page) !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  padding: clamp(22px, 5vh, 56px) 16px 24px !important;
}

body.templates-app > main.template-page {
  
  
  
  
  
  
  
  
  
  
  
}

body.templates-app .template-card {
  
  
  
}

body.templates-app .toolbar {
  
  
  
  
  
}

body.templates-app .toolbar-actions .primary,
body.templates-app .toolbar-actions .secondary {
  height: 32px !important;
  min-height: 32px !important;
  border-radius: 8px !important;
  font-size: 12px !important;
}

body.templates-app .count-dashboard {
  
  
}

body.templates-app .metric-card {
  
  
}

/* Shared empty state: centered in the available body area, no extra frame. */
body.copywriting-app .previewTableWrap:has(.centeredEmptyState),
body.copywriting-app .embeddedRemovalTableWrap:has(.embeddedRemovalEmptyState) {
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

body.copywriting-app #dataTable:has(.centeredEmptyState),
body.copywriting-app #dataTable:has(.centeredEmptyState) tbody.centeredEmptyState,
body.copywriting-app #dataTable:has(.centeredEmptyState) tbody.centeredEmptyState tr,
body.copywriting-app #dataTable:has(.centeredEmptyState) tbody.centeredEmptyState tr td.emptyCell,
body.copywriting-app #embeddedRemovalTable:has(.embeddedRemovalEmptyState),
body.copywriting-app #embeddedRemovalTable:has(.embeddedRemovalEmptyState) tbody.embeddedRemovalEmptyState,
body.copywriting-app #embeddedRemovalTable:has(.embeddedRemovalEmptyState) tbody.embeddedRemovalEmptyState tr,
body.copywriting-app #embeddedRemovalTable:has(.embeddedRemovalEmptyState) tbody.embeddedRemovalEmptyState tr td.embeddedRemovalEmpty {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
}

body.copywriting-app #dataTable .centeredEmptyState tr td.emptyCell,
body.copywriting-app #embeddedRemovalTable .embeddedRemovalEmptyState tr td.embeddedRemovalEmpty {
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--yftx-layout-subtle) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

body.erp-app .export-listing-shell:has(#exportListingTable .centered-empty-state) #exportListingTable,
body.erp-app .export-listing-shell:has(#exportListingTable .centered-empty-state) #exportListingTable tbody.centered-empty-state,
body.erp-app .export-listing-shell:has(#exportListingTable .centered-empty-state) #exportListingTable tbody.centered-empty-state tr,
body.erp-app .export-listing-shell:has(#exportListingTable .centered-empty-state) #exportListingTable tbody.centered-empty-state tr td.export-listing-empty {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
}

body.erp-app .export-listing-shell:has(#exportListingTable .centered-empty-state) #exportListingTable tbody.centered-empty-state tr td.export-listing-empty {
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--yftx-layout-subtle) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

/* Stable scrollbars and modal/drawer rhythm. */
:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.copywriting-app,
  body.api-app,
  body.templates-app
) ::-webkit-scrollbar {
  width: 6px !important;
  height: 6px !important;
}

:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.copywriting-app,
  body.api-app,
  body.templates-app
) ::-webkit-scrollbar-thumb {
  border-radius: 999px !important;
  background: #d5dbd8 !important;
}

body.erp-app .system-modal,
body.erp-app .account-editor-modal,
body.erp-app .export-file-modal {
  width: min(440px, calc(100vw - 28px)) !important;
  max-height: min(620px, calc(100vh - 28px)) !important;
  border-radius: 12px !important;
  box-shadow: 0 16px 40px rgba(20, 28, 24, .16) !important;
  overflow: hidden !important;
}

body.erp-app .account-editor-body,
body.erp-app .export-file-modal-copy {
  overflow: auto !important;
}

body.erp-app .account-editor-actions,
body.erp-app .export-file-modal .modal-actions,
body.erp-app .export-file-modal footer {
  flex: 0 0 auto !important;
  min-height: 54px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  padding: 0 16px !important;
  border-top: 1px solid var(--yftx-layout-line) !important;
}

body.erp-app .modal-btn,
body.erp-app .account-editor-primary,
body.erp-app .account-editor-secondary,
body.erp-app .export-file-modal button {
  height: 32px !important;
  min-height: 32px !important;
  border-radius: 8px !important;
  font-size: 12px !important;
}

/* Responsive fallback: wrap only below normal desktop work width. */
@media (max-width: 1180px) {
  body.erp-app #appView {
    grid-template-columns: 96px minmax(0, 1fr) !important;
    gap: 8px !important;
    padding: 8px !important;
  }

  body.erp-app .sidebar {
    width: 96px !important;
    min-width: 96px !important;
    padding: 8px 6px !important;
  }

  body.source-inbox-frame-page .collector-commandbar {
    flex-wrap: wrap !important;
    height: auto !important;
    min-height: 96px !important;
    align-items: stretch !important;
  }

  body.source-inbox-frame-page .collector-links-input,
  body.source-inbox-frame-page .collector-campaign {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }

  body.source-inbox-frame-page .collector-commandbar-side {
    flex: 1 1 auto !important;
    justify-content: flex-end !important;
    flex-wrap: wrap !important;
  }

  body.copywriting-app .commandBar {
    height: auto !important;
    min-height: 94px !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto !important;
    gap: 6px !important;
    padding: 8px 10px !important;
  }

  body.copywriting-app .commandSide,
  body.copywriting-app .commandMeta {
    justify-self: center !important;
  }

  body.copywriting-app .workflowActions {
    order: -1 !important;
  }

  body.erp-app .export-listing-header {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto !important;
    height: auto !important;
    min-height: 120px !important;
    padding: 8px 10px !important;
    gap: 6px !important;
  }

  body.erp-app .export-listing-header .export-clear-toolbar,
  body.erp-app .export-listing-header .export-mapping-center,
  body.erp-app .export-listing-header .export-listing-actions {
    justify-self: center !important;
  }

  body.erp-app .export-listing-shell:not(:has(#exportListingTable .centered-empty-state)),
  body.erp-app .export-listing-shell:has(#exportListingTable .centered-empty-state) {
    grid-template-rows: auto minmax(0, 1fr) 40px !important;
  }

  body.api-app .api-page,
  body.templates-app > main.template-page {
    width: min(92vw, 620px) !important;
  }
}

/* ===== css/layout-unified-v188.css ===== */
/* Layout unified v188: read-only visual convergence layer.
   It only normalizes layout, spacing, typography and visual states.
   No business behavior, navigation or workflow logic is changed. */

:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.copywriting-app,
  body.api-app,
  body.templates-app
) {
  --m2-page: #f3f5f4;
  --m2-surface: #ffffff;
  --m2-surface-soft: #f7f9f8;
  --m2-surface-hover: #f0f4f1;
  --m2-line: #e3e7e4;
  --m2-line-strong: #ccd3cf;
  --m2-text: #202622;
  --m2-muted: #68736c;
  --m2-subtle: #8e9792;
  --m2-accent: #2f6b4f;
  --m2-accent-hover: #275a42;
  --m2-accent-soft: #eaf3ed;
  --m2-danger: #a6514c;
  --m2-danger-soft: #fbf0ee;
  --m2-warning: #9a7537;
  --m2-warning-soft: #fbf4e8;
  --m2-sidebar: 108px;
  --m2-sidebar-narrow: 96px;
  --m2-gap: 10px;
  --m2-frame-radius: 10px;
  --m2-card-radius: 8px;
  --m2-control-radius: 8px;
  --m2-type-title: 14px;
  --m2-type-body: 13px;
  --m2-type-table: 12px;
  --m2-type-label: 11px;
  background: var(--m2-page) !important;
  color: var(--m2-text) !important;
}

:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.copywriting-app,
  body.api-app,
  body.templates-app
) {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.copywriting-app,
  body.api-app,
  body.templates-app
)
:is(h1, h2, h3, h4, p, th, td, span, small, strong, label, button, input, select, textarea) {
  letter-spacing: 0 !important;
}

/* ------------------------------------------------------------------ */
/* Main shell and sidebar rhythm                                       */
/* ------------------------------------------------------------------ */
body.erp-app {
  overflow: hidden !important;
}

body.erp-app #appView {
  grid-template-columns: var(--m2-sidebar) minmax(0, 1fr) !important;
  gap: var(--m2-gap) !important;
  padding: var(--m2-gap) !important;
  height: 100vh !important;
  background: var(--m2-page) !important;
}

body.erp-app .sidebar {
  width: var(--m2-sidebar) !important;
  min-width: var(--m2-sidebar) !important;
  max-width: var(--m2-sidebar) !important;
  gap: 6px !important;
  padding: 10px 8px 8px !important;
  border: 1px solid var(--m2-line) !important;
  border-radius: var(--m2-frame-radius) !important;
  background: var(--m2-surface) !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

body.erp-app .sidebar .brand {
  width: 100% !important;
  height: 56px !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid var(--m2-line) !important;
  border-radius: 0 !important;
}

body.erp-app .sidebar .brand img {
  width: 58px !important;
  max-height: 40px !important;
}

body.erp-app .sidebar .nav {
  width: 100% !important;
  min-height: 0 !important;
  flex: 1 1 auto !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 8px 0 !important;
}

body.erp-app .sidebar .nav button {
  width: 100% !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  padding: 0 5px !important;
  border-radius: var(--m2-control-radius) !important;
  
  
}

body.erp-app .sidebar-user {
  width: 100% !important;
  flex: 0 0 auto !important;
  padding-top: 8px !important;
  border-top: 1px solid var(--m2-line) !important;
}

body.erp-app .user-name {
  height:40px !important;
  min-height:40px !important;
  border-radius: var(--m2-control-radius) !important;
  
}

body.erp-app .user-popover {
  width: calc(100% + 16px) !important;
  min-width: 158px !important;
  left: 50% !important;
  right: auto !important;
  bottom: calc(100% + 6px) !important;
  padding: 6px !important;
  border: 1px solid var(--m2-line) !important;
  border-radius: 9px !important;
  background: var(--m2-surface) !important;
  box-shadow: 0 12px 28px rgba(20, 28, 24, .12) !important;
  transform: translateX(-50%) translateY(5px) !important;
}

body.erp-app .user-menu:hover .user-popover,
body.erp-app .user-menu.open .user-popover,
body.erp-app .user-menu:focus-within .user-popover {
  transform: translateX(-50%) translateY(0) !important;
}

body.erp-app .user-menu-action {
  
  min-height: 32px !important;
  padding: 0 10px !important;
  
  
  
}

body.erp-app .workspace {
  min-width: 0 !important;
  min-height: 0 !important;
  border: 1px solid var(--m2-line) !important;
  border-radius: var(--m2-frame-radius) !important;
  background: var(--m2-surface) !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

body.erp-app .content,
body.erp-app .view,
body.erp-app .view.active {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
}

body.erp-app .content,
body.erp-app .view.active {
  overflow: hidden !important;
}

body.erp-app .copywriting-frame,
body.erp-app .api-frame,
body.erp-app .templates-frame,
body.erp-app .source-inbox-frame {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  display: block !important;
  border: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
}

@media (max-width: 1280px) {
  body.erp-app #appView {
    grid-template-columns: var(--m2-sidebar-narrow) minmax(0, 1fr) !important;
    gap: 8px !important;
    padding: 8px !important;
  }

  body.erp-app .sidebar {
    width: var(--m2-sidebar-narrow) !important;
    min-width: var(--m2-sidebar-narrow) !important;
    max-width: var(--m2-sidebar-narrow) !important;
    padding: 8px 6px 6px !important;
  }

  body.erp-app .sidebar .brand img {
    width: 52px !important;
  }
}

/* ------------------------------------------------------------------ */
/* Compact centered management modules                                  */
/* ------------------------------------------------------------------ */
body.erp-app .view-accounts.active,
body.erp-app .view-system-check.active {
  overflow: auto !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  padding: clamp(20px, 4vh, 42px) 14px 20px !important;
  background: var(--m2-page) !important;
}

body.erp-app .accounts-page-minimal,
body.erp-app .accounts-shell-minimal,
body.erp-app .system-check-page {
  width: min(680px, 100%) !important;
  max-width: 680px !important;
  margin: 0 !important;
}

body.erp-app .accounts-shell-minimal {
  gap: 10px !important;
}

body.erp-app .accounts-primary-action {
  width: 100% !important;
  justify-content: center !important;
}

body.erp-app .account-add-button {
  height: 32px !important;
  min-height: 32px !important;
  min-width: 112px !important;
  padding: 0 18px !important;
  border-radius: var(--m2-control-radius) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
}

body.erp-app .accounts-table-panel,
body.erp-app .system-check-list {
  border: 1px solid var(--m2-line) !important;
  border-radius: var(--m2-frame-radius) !important;
  background: var(--m2-surface) !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

body.erp-app .account-table {
  border: 0 !important;
  border-radius: 0 !important;
}

body.erp-app .account-table-header,
body.erp-app .account-table-row {
  display: grid !important;
  grid-template-columns: minmax(140px, 1.35fr) minmax(112px, 1fr) 88px 54px !important;
  gap: 8px !important;
  padding: 0 12px !important;
}

body.erp-app .account-table-header {
  height: 36px !important;
  min-height: 36px !important;
  border-bottom: 1px solid var(--m2-line) !important;
  border-radius: 0 !important;
  background: var(--m2-surface-soft) !important;
  color: var(--m2-muted) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
}

body.erp-app .account-table-header > span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.erp-app .account-table-row,
body.erp-app .account-table-cell {
  min-height: 46px !important;
  height: 46px !important;
}

body.erp-app .account-table-row {
  border-bottom: 1px solid var(--m2-line) !important;
  background: var(--m2-surface) !important;
}

body.erp-app .account-table-row:last-child {
  border-bottom: 0 !important;
}

body.erp-app .account-table-cell {
  min-width: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

body.erp-app .account-table-cell-name,
body.erp-app .account-table-cell-account,
body.erp-app .account-table-cell-status,
body.erp-app .account-table-cell-edit {
  grid-area: auto !important;
}

body.erp-app .account-table-cell-name > span,
body.erp-app .account-table-cell-account {
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.erp-app .account-table-cell-name > span {
  color: var(--m2-text) !important;
  
  
}

body.erp-app .account-table-cell-account {
  color: var(--m2-muted) !important;
  font-size: 12px !important;
}

body.erp-app .account-more-button {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  padding: 0 !important;
  border: 1px solid var(--m2-line) !important;
  border-radius: 7px !important;
  
  
}

body.erp-app .account-table:has(.account-list-empty) .account-table-header {
  display: none !important;
}

body.erp-app .account-table:has(.account-list-empty) {
  display: flex !important;
  min-height: 180px !important;
  align-items: center !important;
  justify-content: center !important;
}

body.erp-app .account-list-empty {
  width: 100% !important;
  min-height: 180px !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  place-items: center !important;
}

body.erp-app .account-list-empty .account-table-cell {
  grid-column: 1 / -1 !important;
  color: var(--m2-subtle) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-align: center !important;
}

body.erp-app .system-check-page {
  background: transparent !important;
}

body.erp-app .system-check-header {
  width: 100% !important;
  height: 52px !important;
  min-height: 52px !important;
  padding: 0 14px !important;
  border: 1px solid var(--m2-line) !important;
  border-bottom: 0 !important;
  border-radius: var(--m2-frame-radius) var(--m2-frame-radius) 0 0 !important;
  background: var(--m2-surface) !important;
  box-shadow: none !important;
}

body.erp-app .system-check-header p {
  margin: 0 !important;
  color: var(--m2-muted) !important;
  
  
}

body.erp-app .system-check-list {
  min-height: 260px !important;
  max-height: min(52vh, 420px) !important;
  overflow: auto !important;
  border-radius: 0 0 var(--m2-frame-radius) var(--m2-frame-radius) !important;
}

body.erp-app .system-check-row {
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 14px !important;
  border-bottom: 1px solid var(--m2-line) !important;
  border-radius: 0 !important;
  background: var(--m2-surface) !important;
}

body.erp-app .system-check-row:last-child {
  border-bottom: 0 !important;
}

/* ------------------------------------------------------------------ */
/* Unified empty states                                                 */
/* ------------------------------------------------------------------ */
:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.copywriting-app,
  body.api-app,
  body.templates-app
) :is(
  .collector-empty-state,
  .account-list-empty .account-table-cell,
  .export-listing-empty,
  .image-empty-cell,
  .emptyCell,
  .embeddedRemovalEmpty,
  .connection-empty,
  .template-page .empty,
  .permission-empty-card
) {
  color: var(--m2-subtle) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  text-align: center !important;
  text-align-last: center !important;
}

/* 2026-09-15（极简 12）：空状态统一成「暂无数据 + 一行下一步提示」。
   主文案用正文灰、提示用弱灰 12px，都比 12px 大，不出现「0 条」「没有数据」这类写法。 */
body.erp-app :is(.collector-empty-state, .export-listing-empty, .account-list-empty .account-table-cell, .connection-empty) > strong,
body.source-inbox-frame-page .collector-empty-state > strong,
body.api-app .connection-empty > strong {
  color: var(--m2-text, #424245) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}
body.erp-app .empty-hint,
body.source-inbox-frame-page .empty-hint,
body.api-app .empty-hint,
body.templates-app .empty-hint,
body.copywriting-app .empty-hint {
  display: block !important;
  margin-top: 6px !important;
  color: var(--m2-subtle, #86868b) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
}

body.source-inbox-frame-page .collector-empty-state {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
}

body.source-inbox-frame-page .collector-shell [hidden],
body.source-inbox-frame-page .collector-table-frame[hidden],
body.source-inbox-frame-page .collector-empty-state[hidden] {
  display: none !important;
}

body.copywriting-app #dataTable:has(.centeredEmptyState),
body.copywriting-app #dataTable:has(.centeredEmptyState) tbody.centeredEmptyState,
body.copywriting-app #dataTable:has(.centeredEmptyState) tbody.centeredEmptyState tr,
body.copywriting-app #dataTable:has(.centeredEmptyState) tbody.centeredEmptyState td,
body.copywriting-app #embeddedRemovalTable:has(.embeddedRemovalEmptyState),
body.copywriting-app #embeddedRemovalTable:has(.embeddedRemovalEmptyState) tbody.embeddedRemovalEmptyState,
body.copywriting-app #embeddedRemovalTable:has(.embeddedRemovalEmptyState) tbody.embeddedRemovalEmptyState tr,
body.copywriting-app #embeddedRemovalTable:has(.embeddedRemovalEmptyState) tbody.embeddedRemovalEmptyState td,
body.erp-app #exportListingTable:has(.centered-empty-state),
body.erp-app #exportListingTable:has(.centered-empty-state) tbody.centered-empty-state,
body.erp-app #exportListingTable:has(.centered-empty-state) tbody.centered-empty-state tr,
body.erp-app #exportListingTable:has(.centered-empty-state) tbody.centered-empty-state td {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
}

body.copywriting-app #dataTable:has(.centeredEmptyState) .emptyCell,
body.copywriting-app #embeddedRemovalTable:has(.embeddedRemovalEmptyState) .embeddedRemovalEmpty,
body.erp-app #exportListingTable:has(.centered-empty-state) .export-listing-empty {
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.api-app .connection-empty,
body.templates-app .empty {
  min-height: 140px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 16px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

body.erp-app .permission-empty-view {
  padding: 0 !important;
}

body.erp-app .permission-empty-card {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* ------------------------------------------------------------------ */
/* Shared toolbar / footer / shell rhythm                              */
/* ------------------------------------------------------------------ */
body.source-inbox-frame-page .collector-shell,
body.copywriting-app .workspaceShell {
  gap: 6px !important;
  padding: 6px !important;
}

body.source-inbox-frame-page .collector-shell {
  grid-template-rows: 52px minmax(0, 1fr) 30px !important;
}

body.source-inbox-frame-page .collector-commandbar,
body.copywriting-app .commandBar,
body.erp-app .export-listing-header {
  border: 1px solid var(--m2-line) !important;
  background: var(--m2-surface) !important;
  box-shadow: none !important;
}

body.source-inbox-frame-page .collector-commandbar {
  min-height: 52px !important;
  height: 52px !important;
  max-height: 52px !important;
  border-radius: var(--m2-frame-radius) !important;
}

body.source-inbox-frame-page .collector-links-input {
  width: min(720px, 44vw) !important;
  max-width: none !important;
  min-width: 260px !important;
  flex: 1 0 320px !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  padding: 7px 10px !important;
  border: 1px solid var(--m2-line-strong) !important;
  border-radius: var(--m2-control-radius) !important;
  background: #fff !important;
  color: var(--m2-text) !important;
  font-size: 12px !important;
  line-height: 18px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  resize: none !important;
}

body.source-inbox-frame-page .collector-links-input:focus {
  border-color: rgba(47, 107, 79, .48) !important;
  box-shadow: 0 0 0 3px rgba(47, 107, 79, .10) !important;
  outline: 0 !important;
}

body.source-inbox-frame-page .collector-campaign[hidden] {
  display: flex !important;
  visibility: hidden !important;
  flex: 1 1 260px !important;
  min-width: 260px !important;
  min-height: 34px !important;
  pointer-events: none !important;
}


body.source-inbox-frame-page #collectorInlineStatus[hidden] {
  display: inline-flex !important;
  visibility: hidden !important;
  width: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  padding: 0 !important;
}

body.source-inbox-frame-page .collector-commandbar-side {
  min-width: 0 !important;
  
}

body.source-inbox-frame-page .collector-commandbar-side .collector-button {
  flex: 0 0 auto !important;
}

body.source-inbox-frame-page .collector-commandbar-side #collectorStartButton {
  margin-left: 6px !important;
  padding-left: 13px !important;
  box-shadow: -1px 0 0 var(--m2-line) !important;
}

body.source-inbox-frame-page .collector-footer {
  min-height: 30px !important;
  height: 30px !important;
  padding: 2px 4px 0 !important;
}

body.copywriting-app .workspaceShell {
  grid-template-rows: 50px minmax(0, 1fr) !important;
  background: var(--m2-page) !important;
}

body.copywriting-app .commandBar {
  height: 50px !important;
  min-height: 50px !important;
  max-height: 50px !important;
  grid-template-columns: minmax(130px, 1fr) auto minmax(130px, 1fr) !important;
  gap: 8px !important;
  padding: 0 10px !important;
  border-radius: var(--m2-frame-radius) !important;
  position: relative !important;
  z-index: 20 !important;
}

body.copywriting-app .workflowActions {
  justify-self: center !important;
  align-items: center !important;
  gap: 3px !important;
  padding: 3px !important;
  border: 1px solid var(--m2-line) !important;
  border-radius: 9px !important;
  background: var(--m2-surface-soft) !important;
}

body.copywriting-app .workflowButton {
  height: 30px !important;
  min-height: 30px !important;
  min-width: 92px !important;
  padding: 0 12px !important;
  border: 0 !important;
  border-radius: 7px !important;
  background: transparent !important;
  color: var(--m2-muted) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  box-shadow: none !important;
}

body.copywriting-app .workflowButton.active,
body.copywriting-app .workflowButton[aria-pressed="true"] {
  
  
  
}

body.copywriting-app .commandSide,
body.copywriting-app .commandMeta {
  min-width: 0 !important;
  gap: 6px !important;
}

body.copywriting-app .commandMeta {
  justify-self: end !important;
  justify-content: flex-end !important;
}

body.copywriting-app .commandMeta .previewCommandGroup,
body.copywriting-app .commandMeta .parseWorkflowActions {
  min-width: 0 !important;
}

body.copywriting-app .commandBar[data-panel="parse"] .previewCommandGroup,
body.copywriting-app .commandBar[data-panel="preview"] .parseWorkflowActions {
  visibility: hidden !important;
  pointer-events: none !important;
}

body.copywriting-app .commandSide[data-command-panel] {
  min-width: 118px !important;
}

body.copywriting-app .commandBar[data-panel="preview"] .parseDangerZone,
body.copywriting-app .commandBar[data-panel="parse"] .previewDangerZone {
  display: none !important;
}

body.copywriting-app .contentCard {
  min-height: 0 !important;
  border: 1px solid var(--m2-line) !important;
  border-radius: var(--m2-frame-radius) !important;
  background: var(--m2-surface) !important;
  box-shadow: none !important;
}

body.copywriting-app .tableFootnote,
body.copywriting-app #previewNote {
  flex: 0 0 34px !important;
  min-height: 34px !important;
  height: 34px !important;
  padding: 0 !important;
  border-top: 1px solid var(--m2-line) !important;
  background: var(--m2-surface) !important;
}

body.copywriting-app .copywritingPager {
  height: 34px !important;
  min-height: 34px !important;
  gap: 8px !important;
  font-size: 12px !important;
}

body.copywriting-app .parseWorkspace {
  display: grid !important;
  grid-template-columns: minmax(320px, 42%) minmax(0, 58%) !important;
  gap: 6px !important;
  min-height: 0 !important;
  height: 100% !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body.copywriting-app .parseInputPane,
body.copywriting-app .embeddedRemovalPane {
  min-width: 0 !important;
  min-height: 0 !important;
  border: 1px solid var(--m2-line) !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

body.copywriting-app .parseInputPane .resultEditor,
body.copywriting-app .parseInputPane textarea {
  width: 100% !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 12px !important;
  resize: none !important;
}

body.copywriting-app .parseInputPane .message {
  flex: 0 0 24px !important;
  min-height: 24px !important;
  max-height: 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 12px !important;
  border-top: 1px solid var(--m2-line) !important;
  background: var(--m2-surface-soft) !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}

body.copywriting-app .embeddedRemovalPane {
  display: flex !important;
  flex-direction: column !important;
}

body.copywriting-app .embeddedRemovalTableWrap {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
}

body.copywriting-app .embeddedRemovalPager {
  flex: 0 0 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 12px !important;
  border-top: 1px solid var(--m2-line) !important;
  background: var(--m2-surface) !important;
}

@media (max-width: 900px) {
  body.copywriting-app .parseWorkspace {
    grid-template-columns: 1fr !important;
    grid-template-rows: minmax(150px, 42%) minmax(0, 58%) !important;
    overflow: auto !important;
  }

  body.copywriting-app .parseInputPane,
  body.copywriting-app .embeddedRemovalPane {
    min-height: 0 !important;
  }
}

/* ------------------------------------------------------------------ */
/* Buttons, inputs and helper typography                               */
/* ------------------------------------------------------------------ */
:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.copywriting-app,
  body.api-app,
  body.templates-app
)
:is(
  .collector-button,
  .workflowButton,
  .pageClearButton,
  .selectionDeleteButton,
  .selectionPromptButton,
  .embeddedRemovalButton,
  .page-clear-button,
  .export-mapping-button,
  .export-complete-button,
  .export-quiet-delete,
  .system-check-button,
  .account-add-button,
  .account-editor-primary,
  .account-editor-secondary,
  .modal-btn,
  .action-button,
  .quick-button,
  .primary,
  .secondary,
  .template-load-more
) {
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  padding: 0 12px !important;
  border-radius: var(--m2-control-radius) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 30px !important;
  white-space: nowrap !important;
  box-shadow: none !important;
}

body.erp-app .account-editor-primary,
body.erp-app .system-check-button.primary,
body.erp-app .account-add-button,
body.erp-app .export-mapping-button:not(.secondary),
body.erp-app .export-complete-button,
body.erp-app .modal-btn.confirm:not(.danger),
body.source-inbox-frame-page .collector-button.primary,
body.copywriting-app .selectionPromptButton,
body.copywriting-app .embeddedRemovalButton.primary,
body.api-app .action-button.primary,
body.templates-app .primary {
  border-color: var(--m2-accent) !important;
  background: var(--m2-accent) !important;
  color: #fff !important;
}

body.erp-app .account-editor-primary:hover:not(:disabled),
body.erp-app .system-check-button.primary:hover:not(:disabled),
body.erp-app .account-add-button:hover:not(:disabled),
body.erp-app .export-mapping-button:not(.secondary):hover:not(:disabled),
body.erp-app .export-complete-button:hover:not(:disabled),
body.erp-app .modal-btn.confirm:not(.danger):hover:not(:disabled),
body.source-inbox-frame-page .collector-button.primary:hover:not(:disabled),
body.copywriting-app .selectionPromptButton:hover:not(:disabled),
body.copywriting-app .embeddedRemovalButton.primary:hover:not(:disabled),
body.api-app .action-button.primary:hover:not(:disabled),
body.templates-app .primary:hover:not(:disabled) {
  border-color: var(--m2-accent-hover) !important;
  background: var(--m2-accent-hover) !important;
  color: #fff !important;
}

body.erp-app .export-quiet-delete,
body.erp-app .account-editor-secondary,
body.erp-app .modal-btn:not(.confirm),
body.source-inbox-frame-page .collector-button.secondary,
body.copywriting-app .selectionDeleteButton,
body.copywriting-app .embeddedRemovalButton.danger,
body.api-app .action-button.danger {
  border-color: rgba(166, 81, 76, .18) !important;
  background: var(--m2-danger-soft) !important;
  color: var(--m2-danger) !important;
}

:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.copywriting-app,
  body.api-app,
  body.templates-app
)
button:focus-visible,
:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.copywriting-app,
  body.api-app,
  body.templates-app
)
input:focus-visible,
:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.copywriting-app,
  body.api-app,
  body.templates-app
)
select:focus-visible,
:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.copywriting-app,
  body.api-app,
  body.templates-app
)
textarea:focus-visible {
  outline: 0 !important;
  box-shadow: 0 0 0 3px rgba(47, 107, 79, .12) !important;
}

:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.copywriting-app,
  body.api-app,
  body.templates-app
)
:is(input:not([type="checkbox"]):not([type="radio"]), select) {
  min-height: 34px !important;
  height: 34px !important;
  border-radius: var(--m2-control-radius) !important;
  font-size: 12px !important;
}

body.api-app .icon-button.has-label {
  width: auto !important;
  height: 32px !important;
  min-width: 72px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  padding: 0 10px !important;
  border-radius: var(--m2-control-radius) !important;
  font-size: 12px !important;
}

body.api-app .icon-button.has-label svg {
  
  
}

/* ------------------------------------------------------------------ */
/* Collector table                                                      */
/* ------------------------------------------------------------------ */
body.source-inbox-frame-page .collector-content {
  min-height: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--m2-line) !important;
  border-radius: var(--m2-frame-radius) !important;
  background: var(--m2-surface) !important;
}

body.source-inbox-frame-page .collector-table-wrap {
  min-height: 0 !important;
  overflow: auto !important;
  scrollbar-gutter: stable !important;
}

body.source-inbox-frame-page .collector-table-wrap.is-ten-grid {
  overflow-x: auto !important;
  overflow-y: hidden !important;
}

body.source-inbox-frame-page #collectorResultTable {
  min-width: 1380px !important;
  table-layout: fixed !important;
}

body.source-inbox-frame-page #collectorResultTable th {
  height: 34px !important;
  padding: 4px 6px !important;
  background: var(--m2-surface-soft) !important;
  color: #59665e !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
}

body.source-inbox-frame-page #collectorResultTable td {
  height: var(--collector-data-row-height, 64px) !important;
  min-height: var(--collector-data-row-height, 58px) !important;
  max-height: min(var(--collector-data-row-height, 72px), 72px) !important;
  padding: 4px 6px !important;
  overflow: hidden !important;
  vertical-align: middle !important;
  line-height: 1.4 !important;
}

body.source-inbox-frame-page #collectorResultTable tbody tr {
  height: var(--collector-data-row-height, 64px) !important;
  min-height: var(--collector-data-row-height, 58px) !important;
  max-height: min(var(--collector-data-row-height, 72px), 72px) !important;
  overflow: hidden !important;
}

/* 2026-09-14：这里原来是 position: relative，会把「可排序」的表头（大类排名之后的 8 列）
   从吸顶状态里踢出去 —— 结果向下滚动时，前 6 列显示表头名、后 8 列却透出数据，看着像乱码。
   sticky 一样能给排序箭头当定位父级，所以直接换成 sticky + top: 0。 */
body.source-inbox-frame-page #collectorResultTable th.sortable {
  position: sticky !important;
  top: 0 !important;
  padding-right: 16px !important;
}

body.source-inbox-frame-page .collector-sort-indicator {
  position: absolute !important;
  top: 50% !important;
  right: 3px !important;
  width: 12px !important;
  height: 12px !important;
  line-height: 12px !important;
  text-align: center !important;
  transform: translateY(-50%) !important;
  font-size: 12px !important;
}

body.source-inbox-frame-page .collector-sort-indicator.is-placeholder {
  visibility: hidden !important;
}

body.source-inbox-frame-page #collectorResultTable th .collector-currency {
  margin-left: 3px !important;
  color: var(--m2-subtle) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  vertical-align: middle !important;
}

body.source-inbox-frame-page #collectorResultTable .select-cell {
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
}

body.source-inbox-frame-page #collectorResultTable .thumb-cell {
  width: 72px !important;
  min-width: 72px !important;
  max-width: 72px !important;
}

body.source-inbox-frame-page #collectorResultTable .asin-cell {
  width: 134px !important;
  min-width: 134px !important;
  max-width: 134px !important;
}

body.source-inbox-frame-page #collectorResultTable .title-cell {
  width: 224px !important;
  min-width: 224px !important;
  max-width: 224px !important;
}

body.source-inbox-frame-page #collectorResultTable .link-cell {
  width: 154px !important;
  min-width: 154px !important;
  max-width: 154px !important;
}

body.source-inbox-frame-page #collectorResultTable .brand-cell {
  width: 106px !important;
  min-width: 106px !important;
  max-width: 106px !important;
}

body.source-inbox-frame-page #collectorResultTable .rank-number-cell {
  width: 82px !important;
  min-width: 82px !important;
  max-width: 82px !important;
}

body.source-inbox-frame-page #collectorResultTable .delivery-cell {
  width: 128px !important;
  min-width: 128px !important;
  max-width: 128px !important;
}

body.source-inbox-frame-page #collectorResultTable .number-cell {
  width: 72px !important;
  min-width: 72px !important;
  max-width: 72px !important;
}

body.source-inbox-frame-page .collector-thumb,
body.source-inbox-frame-page .collector-thumb-placeholder {
  width: 52px !important;
  height: 52px !important;
  min-width: 52px !important;
  min-height: 52px !important;
  max-width: 52px !important;
  max-height: 52px !important;
  border-radius: 7px !important;
  object-fit: cover !important;
}

body.source-inbox-frame-page .collector-thumb-placeholder {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--m2-subtle) !important;
  background: var(--m2-surface-soft) !important;
  font-size: 12px !important;
}

/* Copy / clipboard presentation stays in-cell on hover. */
:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.copywriting-app,
  body.api-app,
  body.templates-app
)
:is(.erp-copyable-cell, .copyableCell, .collector-copyable-cell) {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 24px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 3px !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.copywriting-app,
  body.api-app,
  body.templates-app
)
:is(.erp-copyable-cell, .copyableCell, .collector-copyable-cell)
> :not(:is(.erp-cell-copy-button, .cellCopyButton, .collector-copy-button)) {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.copywriting-app,
  body.api-app,
  body.templates-app
)
:is(.erp-cell-copy-button, .cellCopyButton, .collector-copy-button) {
  grid-column: 2 !important;
  grid-row: 1 !important;
  position: static !important;
  right: auto !important;
  top: auto !important;
  width: 22px !important;
  min-width: 22px !important;
  max-width: 22px !important;
  height: 22px !important;
  min-height: 22px !important;
  max-height: 22px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 6px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform: none !important;
}

:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.copywriting-app,
  body.api-app,
  body.templates-app
)
:is(.erp-copyable-cell:hover, .copyableCell:hover, .collector-copyable-cell:hover)
:is(.erp-cell-copy-button, .cellCopyButton, .collector-copy-button) {
  opacity: 1 !important;
  pointer-events: auto !important;
  background: var(--m2-accent-soft) !important;
  color: var(--m2-accent) !important;
}

body.source-inbox-frame-page #collectorResultTable .cell-link,
body.source-inbox-frame-page #collectorResultTable .cell-asin,
body.source-inbox-frame-page #collectorResultTable .cell-line,
body.source-inbox-frame-page #collectorResultTable .cell-number,
body.source-inbox-frame-page #collectorResultTable .cell-price,
body.source-inbox-frame-page #collectorResultTable .cell-delivery,
body.source-inbox-frame-page #collectorResultTable .cell-secondary {
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.source-inbox-frame-page #collectorResultTable .cell-title,
body.source-inbox-frame-page #collectorResultTable .cell-line {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

/* ------------------------------------------------------------------ */
/* Collector detail drawer                                              */
/* ------------------------------------------------------------------ */
body.source-inbox-frame-page .collector-detail {
  width: min(720px, 94vw) !important;
  max-width: 720px !important;
  grid-template-rows: 56px minmax(0, 1fr) 58px !important;
  overflow: hidden !important;
  border: 1px solid var(--m2-line) !important;
  border-radius: 0 !important;
  background: #fff !important;
}

body.source-inbox-frame-page .collector-detail-head {
  min-height: 56px !important;
  height: 56px !important;
  padding: 0 16px !important;
  border-bottom: 1px solid var(--m2-line) !important;
  background: #fff !important;
}

body.source-inbox-frame-page .collector-detail-head h2 {
  
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
}

body.source-inbox-frame-page .collector-detail-body {
  padding: 14px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

body.source-inbox-frame-page .collector-detail-actions {
  min-height: 58px !important;
  height: 58px !important;
  padding: 0 16px !important;
  border-top: 1px solid var(--m2-line) !important;
  background: var(--m2-surface-soft) !important;
}

body.source-inbox-frame-page .collector-detail-section {
  margin-bottom: 14px !important;
}

body.source-inbox-frame-page .collector-detail-section h3 {
  color: var(--m2-text) !important;
  
  
}

body.source-inbox-frame-page .collector-detail-image-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(108px, 1fr)) !important;
  gap: 8px !important;
}

body.source-inbox-frame-page .collector-detail-image {
  aspect-ratio: 1 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}

body.source-inbox-frame-page .collector-detail-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

body.source-inbox-frame-page .collector-detail-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

body.source-inbox-frame-page .collector-field textarea {
  min-height: 54px !important;
  resize: vertical !important;
}

body.source-inbox-frame-page .collector-detail-meta-row {
  grid-template-columns: 112px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: start !important;
  line-height: 1.5 !important;
}

body.source-inbox-frame-page .collector-detail-meta-row dd {
  overflow-wrap: anywhere !important;
  white-space: normal !important;
}

/* Stable image hover: fixed near the source cell without following the pointer. */
body.source-inbox-frame-page .collector-image-hover-preview,
body.erp-app .erp-image-hover-preview {
  width: min(360px, 56vw) !important;
  height: min(360px, 56vh) !important;
  max-width: 360px !important;
  max-height: 360px !important;
  padding: 4px !important;
  border: 1px solid var(--m2-line) !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: 0 16px 44px rgba(20, 28, 24, .16) !important;
  pointer-events: none !important;
}

body.source-inbox-frame-page .collector-image-hover-preview img,
body.erp-app .erp-image-hover-preview img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  border-radius: 7px !important;
}

/* ------------------------------------------------------------------ */
/* Copywriting tables                                                  */
/* ------------------------------------------------------------------ */
body.copywriting-app #dataTable,
body.copywriting-app #embeddedRemovalTable {
  table-layout: fixed !important;
  width: 100% !important;
  min-width: 1280px !important;
}

body.copywriting-app #dataTable > colgroup > col:nth-child(1),
body.copywriting-app #embeddedRemovalTable > colgroup > col:nth-child(1) {
  width: 44px !important;
  min-width: 44px !important;
}

body.copywriting-app #dataTable > colgroup > col:nth-child(2),
body.copywriting-app #embeddedRemovalTable > colgroup > col:nth-child(2) {
  width: 140px !important;
  min-width: 140px !important;
}

body.copywriting-app #dataTable > colgroup > col:nth-child(3),
body.copywriting-app #embeddedRemovalTable > colgroup > col:nth-child(3) {
  width: 250px !important;
  min-width: 250px !important;
}

body.copywriting-app #dataTable > colgroup > col:nth-child(4),
body.copywriting-app #dataTable > colgroup > col:nth-child(5),
body.copywriting-app #dataTable > colgroup > col:nth-child(6),
body.copywriting-app #dataTable > colgroup > col:nth-child(7),
body.copywriting-app #dataTable > colgroup > col:nth-child(8),
body.copywriting-app #embeddedRemovalTable > colgroup > col:nth-child(4),
body.copywriting-app #embeddedRemovalTable > colgroup > col:nth-child(5),
body.copywriting-app #embeddedRemovalTable > colgroup > col:nth-child(6),
body.copywriting-app #embeddedRemovalTable > colgroup > col:nth-child(7),
body.copywriting-app #embeddedRemovalTable > colgroup > col:nth-child(8) {
  width: 126px !important;
  min-width: 126px !important;
}

body.copywriting-app #dataTable > colgroup > col:nth-child(9),
body.copywriting-app #embeddedRemovalTable > colgroup > col:nth-child(9) {
  width: 290px !important;
  min-width: 290px !important;
}

body.copywriting-app #dataTable th,
body.copywriting-app #embeddedRemovalTable th {
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  padding: 0 6px !important;
  background: var(--m2-surface-soft) !important;
  color: #59665e !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

body.copywriting-app #dataTable tbody:not(.centeredEmptyState) tr,
body.copywriting-app #embeddedRemovalTable tbody:not(.embeddedRemovalEmptyState) tr,
body.copywriting-app #dataTable tbody:not(.centeredEmptyState) td,
body.copywriting-app #embeddedRemovalTable tbody:not(.embeddedRemovalEmptyState) td {
  height: 64px !important;
  min-height: 64px !important;
  max-height: 64px !important;
  padding: 4px 6px !important;
  overflow: hidden !important;
  vertical-align: middle !important;
  text-align: center !important;
  text-align-last: center !important;
  line-height: 16px !important;
}

body.copywriting-app #dataTable .cellClamp,
body.copywriting-app #embeddedRemovalTable .cellClamp {
  display: -webkit-box !important;
  max-height: 32px !important;
  min-height: 0 !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  line-height: 16px !important;
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}

body.copywriting-app #dataTable td.col-sku .cellClamp,
body.copywriting-app #embeddedRemovalTable td.col-sku .cellClamp {
  display: block !important;
  max-height: 18px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
}

body.copywriting-app #dataTable td.col-name .cellClamp,
body.copywriting-app #embeddedRemovalTable td.col-name .cellClamp,
body.copywriting-app #dataTable td.col-long .cellClamp,
body.copywriting-app #embeddedRemovalTable td.col-long .cellClamp {
  text-align: left !important;
  text-align-last: left !important;
}

body.copywriting-app #dataTable thead th:first-child,
body.copywriting-app #dataTable tbody:not(.centeredEmptyState) tr td:first-child,
body.copywriting-app #embeddedRemovalTable thead th:first-child,
body.copywriting-app #embeddedRemovalTable tbody:not(.embeddedRemovalEmptyState) tr td:first-child {
  position: sticky !important;
  left: 0 !important;
  z-index: 3 !important;
  background: #fff !important;
  box-shadow: 1px 0 0 var(--m2-line) !important;
}

body.copywriting-app #dataTable thead th:first-child,
body.copywriting-app #embeddedRemovalTable thead th:first-child {
  z-index: 5 !important;
  background: var(--m2-surface-soft) !important;
}

/* ------------------------------------------------------------------ */
/* Export listing                                                      */
/* ------------------------------------------------------------------ */
body.erp-app .export-listing-shell {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: 56px minmax(0, 1fr) 40px !important;
  gap: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--m2-line) !important;
  border-radius: var(--m2-frame-radius) !important;
  background: var(--m2-surface) !important;
  overflow: hidden !important;
}

body.erp-app .export-listing-header {
  grid-row: 1 !important;
  grid-column: 1 !important;
  display: grid !important;
  grid-template-columns: minmax(150px, 1fr) minmax(300px, auto) minmax(160px, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  height: 56px !important;
  min-height: 56px !important;
  max-height: 56px !important;
  padding: 0 12px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--m2-line) !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}

body.erp-app .export-clear-toolbar {
  
  min-width: 0 !important;
}

body.erp-app .export-mapping-center {
  
  min-width: 0 !important;
  max-width: 100% !important;
}

body.erp-app .export-mapping-center > button,
body.erp-app .export-mapping-center > span {
  max-width: 100% !important;
}

body.erp-app .export-mapping-center #exportMappingStatus {
  display: inline-block !important;
  max-width: 260px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: var(--m2-muted) !important;
  font-size: 12px !important;
  line-height: 30px !important;
  vertical-align: middle !important;
}

body.erp-app .export-listing-actions {
  
  min-width: 0 !important;
}

body.erp-app .export-selection-meta {
  max-width: 180px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.erp-app .export-listing-table-wrap {
  grid-row: 2 !important;
  grid-column: 1 !important;
  min-height: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: auto !important;
  scrollbar-gutter: stable !important;
  background: #fff !important;
}

body.erp-app .export-listing-shell #exportPagination {
  grid-row: 3 !important;
  grid-column: 1 !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  border-top: 1px solid var(--m2-line) !important;
  background: var(--m2-surface) !important;
}

body.erp-app #exportListingTable:not(:has(.centered-empty-state)) {
  width: max(100%, 2360px) !important;
  min-width: max(100%, 2360px) !important;
  table-layout: fixed !important;
}

body.erp-app #exportListingTable thead th,
body.erp-app #exportListingTable tbody:not(.centered-empty-state) td {
  height: 64px !important;
  max-height: 64px !important;
  min-height: 64px !important;
  padding: 4px 6px !important;
  vertical-align: middle !important;
  line-height: 16px !important;
}

body.erp-app #exportListingTable thead th {
  height: 34px !important;
  max-height: 34px !important;
  min-height: 34px !important;
  background: var(--m2-surface-soft) !important;
  color: #59665e !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

body.erp-app #exportListingTable tbody:not(.centered-empty-state) tr {
  height: 64px !important;
}

body.erp-app #exportListingTable td.image-col-name .image-cell-clamp,
body.erp-app #exportListingTable td.image-col-long .image-cell-clamp {
  text-align: left !important;
  text-align-last: left !important;
}

body.erp-app #exportListingTable col.export-col-select,
body.erp-app #exportListingTable thead th.export-select-cell,
body.erp-app #exportListingTable tbody:not(.centered-empty-state) td.export-select-cell {
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
}

body.erp-app #exportListingTable col.image-col-mapping-status,
body.erp-app #exportListingTable thead th.image-col-mapping-status,
body.erp-app #exportListingTable tbody:not(.centered-empty-state) td.image-col-mapping-status {
  width: 150px !important;
  min-width: 150px !important;
  max-width: 150px !important;
}

body.erp-app #exportListingTable col.image-col-image,
body.erp-app #exportListingTable thead th.image-col-image,
body.erp-app #exportListingTable tbody:not(.centered-empty-state) td.image-col-image {
  width: 96px !important;
  min-width: 96px !important;
  max-width: 96px !important;
}

body.erp-app #exportListingTable col.image-col-sku,
body.erp-app #exportListingTable thead th.image-col-sku,
body.erp-app #exportListingTable tbody:not(.centered-empty-state) td.image-col-sku {
  width: 124px !important;
  min-width: 124px !important;
  max-width: 124px !important;
}

body.erp-app #exportListingTable col.image-col-brand,
body.erp-app #exportListingTable thead th.image-col-brand,
body.erp-app #exportListingTable tbody:not(.centered-empty-state) td.image-col-brand {
  width: 96px !important;
  min-width: 96px !important;
  max-width: 96px !important;
}

body.erp-app #exportListingTable col.image-col-name,
body.erp-app #exportListingTable thead th.image-col-name,
body.erp-app #exportListingTable tbody:not(.centered-empty-state) td.image-col-name {
  width: 270px !important;
  min-width: 270px !important;
  max-width: 270px !important;
}

body.erp-app #exportListingTable col.image-col-short,
body.erp-app #exportListingTable thead th.image-col-short,
body.erp-app #exportListingTable tbody:not(.centered-empty-state) td.image-col-short {
  width: 158px !important;
  min-width: 158px !important;
  max-width: 158px !important;
}

body.erp-app #exportListingTable col.image-col-long,
body.erp-app #exportListingTable thead th.image-col-long,
body.erp-app #exportListingTable tbody:not(.centered-empty-state) td.image-col-long {
  width: 260px !important;
  min-width: 260px !important;
  max-width: 260px !important;
}

body.erp-app #exportListingTable col.image-col-final-price,
body.erp-app #exportListingTable thead th.image-col-final-price,
body.erp-app #exportListingTable tbody:not(.centered-empty-state) td.image-col-final-price {
  width: 112px !important;
  min-width: 112px !important;
  max-width: 112px !important;
}

body.erp-app #exportListingTable col.image-col-default,
body.erp-app #exportListingTable thead th.image-col-default,
body.erp-app #exportListingTable tbody:not(.centered-empty-state) td.image-col-default {
  width: 178px !important;
  min-width: 178px !important;
  max-width: 178px !important;
}

body.erp-app #exportListingTable col.image-col-url,
body.erp-app #exportListingTable thead th.image-col-url,
body.erp-app #exportListingTable tbody:not(.centered-empty-state) td.image-col-url {
  width: 226px !important;
  min-width: 226px !important;
  max-width: 226px !important;
}

body.erp-app #exportListingTable tbody:not(.centered-empty-state) tr td:first-child,
body.erp-app #exportListingTable thead th:first-child {
  position: sticky !important;
  left: 0 !important;
  z-index: 5 !important;
  background: #fff !important;
  box-shadow: 1px 0 0 var(--m2-line) !important;
}

body.erp-app #exportListingTable tbody:not(.centered-empty-state) tr td:nth-child(2),
body.erp-app #exportListingTable thead th:nth-child(2) {
  position: sticky !important;
  left: 44px !important;
  z-index: 4 !important;
  background: #fff !important;
  box-shadow: 1px 0 0 var(--m2-line) !important;
}

body.erp-app #exportListingTable thead th:first-child,
body.erp-app #exportListingTable thead th:nth-child(2) {
  background: var(--m2-surface-soft) !important;
}

body.erp-app #exportListingTable tbody tr.selected td:nth-child(1),
body.erp-app #exportListingTable tbody tr.selected td:nth-child(2) {
  background: var(--m2-accent-soft) !important;
}

body.erp-app #exportListingTable td.image-col-image .image-thumb-wrap {
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  max-width: 56px !important;
  max-height: 56px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

body.erp-app #exportListingTable td.image-col-image .image-opt-thumbnail,
body.erp-app #exportListingTable td.image-col-image .image-opt-placeholder,
body.erp-app #exportListingTable td.image-col-image img {
  width: 54px !important;
  height: 54px !important;
  min-width: 54px !important;
  min-height: 54px !important;
  max-width: 54px !important;
  max-height: 54px !important;
  object-fit: cover !important;
  border-radius: 7px !important;
}

body.erp-app #exportListingTable td.image-col-image .image-thumb-actions {
  position: absolute !important;
  right: 0 !important;
  bottom: 0 !important;
  left: auto !important;
  width: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.erp-app #exportListingTable td.image-col-image .image-thumb-actions .image-original-link {
  display: none !important;
}

/* Slim full-width mapping issue strip, not an independent floating card. */
body.erp-app .export-mapping-issue-bar {
  position: absolute !important;
  top: 56px !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 7 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 30px !important;
  padding: 4px 12px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--m2-line) !important;
  border-radius: 0 !important;
  background: #fffdf8 !important;
  box-shadow: none !important;
}

body.erp-app .export-listing-shell:has(#exportMappingIssueBar:not(.hidden)) .export-listing-table-wrap {
  padding-top: 31px !important;
}

body.erp-app .export-mapping-issue-title {
  color: var(--m2-muted) !important;
  
  
  white-space: nowrap !important;
}

body.erp-app .export-mapping-issue-list {
  min-width: 0 !important;
  overflow: hidden !important;
}

body.erp-app .export-mapping-issue-item,
body.erp-app .export-mapping-issue-more {
  font-size: 12px !important;
}

body.erp-app .export-listing-shell:has(#exportListingTable .centered-empty-state) .export-listing-header {
  border-bottom: 1px solid var(--m2-line) !important;
}

/* ------------------------------------------------------------------ */
/* API page                                                             */
/* ------------------------------------------------------------------ */
body.api-app {
  min-height: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  padding: clamp(20px, 4vh, 42px) 14px 20px !important;
  overflow: hidden !important;
}

body.api-app .api-page,
body.api-app .api-page:has(.connection-form:not(.hidden)),
body.api-app .api-page:has(.connection-form:not(.hidden)).provider-deepseek,
body.api-app .api-page:has(#emptyEditor:not(.hidden)) {
  width: min(680px, 100%) !important;
  max-width: 680px !important;
  min-height: 420px !important;
  height: auto !important;
  max-height: calc(100vh - 48px) !important;
  margin: 0 !important;
  border: 1px solid var(--m2-line) !important;
  border-radius: var(--m2-frame-radius) !important;
  background: var(--m2-surface) !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

body.api-app .api-sidebar {
  min-height: 92px !important;
  height: 92px !important;
  max-height: 92px !important;
  display: grid !important;
  grid-template-rows: 44px 48px !important;
  grid-template-columns: 1fr !important;
  border: 0 !important;
  border-bottom: 1px solid var(--m2-line) !important;
  background: #fff !important;
  overflow: hidden !important;
}

body.api-app .sidebar-head {
  min-height: 44px !important;
  height: 44px !important;
  padding: 0 14px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--m2-line) !important;
  background: var(--m2-surface) !important;
}

body.api-app .quick-actions {
  top: 52px !important;
  right: 12px !important;
}

body.api-app .connection-list {
  min-height: 0 !important;
  max-height: 48px !important;
  overflow: hidden !important;
}

body.api-app .connection-card {
  min-height: 44px !important;
  height: 44px !important;
  padding: 4px 10px !important;
}

body.api-app .connection-card small {
  font-size: 12px !important;
}

body.api-app .api-workspace {
  min-height: 0 !important;
  overflow: hidden !important;
}

body.api-app .connection-form,
body.api-app .connection-form.provider-deepseek {
  min-height: 0 !important;
  overflow: hidden !important;
}

body.api-app .editor-bar {
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 14px !important;
  border-bottom: 1px solid var(--m2-line) !important;
}

body.api-app .editor-title-group h2 {
  
}

body.api-app .editor-badge {
  font-size: 12px !important;
}

body.api-app .editor-body {
  overflow: auto !important;
  padding: 12px 14px !important;
}

body.api-app .panel-card,
body.api-app .result-card {
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--m2-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.api-app .card-head,
body.api-app .advanced-card summary {
  min-height: 34px !important;
  padding: 7px 10px !important;
  margin: 0 !important;
  border: 0 !important;
}

body.api-app .panel-card > .field,
body.api-app .panel-card > .field-grid,
body.api-app .panel-card > .auth-fields,
body.api-app .panel-card > .advanced-grid {
  padding-left: 10px !important;
  padding-right: 10px !important;
}

body.api-app .card-head h3 {
  font-size: 12px !important;
}

body.api-app .editor-actions {
  min-height: 50px !important;
  height: 50px !important;
  padding: 0 14px !important;
  border-top: 1px solid var(--m2-line) !important;
  background: var(--m2-surface) !important;
}

body.api-app .empty-editor {
  min-height: 0 !important;
}

body.api-app .empty-panel {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.api-app .api-denied {
  min-height: 100vh !important;
  display: grid !important;
  place-items: center !important;
  align-content: center !important;
  padding: 24px !important;
  background: var(--m2-page) !important;
  color: var(--m2-muted) !important;
  text-align: center !important;
}

/* ------------------------------------------------------------------ */
/* Templates page                                                      */
/* ------------------------------------------------------------------ */
body.templates-app {
  min-height: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  padding: clamp(20px, 4vh, 42px) 14px 20px !important;
  overflow: hidden !important;
}

body.templates-app > main.template-page {
  width: min(680px, 100%) !important;
  max-width: 680px !important;
  min-height: 360px !important;
  height: auto !important;
  max-height: calc(100vh - 48px) !important;
  margin: 0 !important;
  border: 1px solid var(--m2-line) !important;
  border-radius: var(--m2-frame-radius) !important;
  background: var(--m2-surface) !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

body.templates-app .template-card {
  height: 100% !important;
  min-height: 0 !important;
  background: var(--m2-surface) !important;
}

body.templates-app .toolbar {
  min-height: 54px !important;
  height: 54px !important;
  max-height: 54px !important;
  padding: 0 14px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--m2-line) !important;
  background: var(--m2-surface) !important;
}

body.templates-app .toolbar-actions {
  justify-self: end !important;
}

body.templates-app .count-dashboard {
  height: 100% !important;
  min-height: 260px !important;
  padding: 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
}

body.templates-app .metric-card {
  width: 100% !important;
  max-width: 460px !important;
  min-height: 180px !important;
  height: auto !important;
  padding: 24px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.templates-app .metric-eyebrow {
  color: var(--m2-accent) !important;
  
  
}

body.templates-app .metric-value strong {
  font-size: 44px !important;
  line-height: 1 !important;
}

body.templates-app .metric-value span {
  font-size: 13px !important;
}

body.templates-app .status-pill {
  font-size: 12px !important;
}

body.templates-app .upload-status,
body.templates-app .upload-failure {
  padding: 8px 14px !important;
  border-bottom: 1px solid var(--m2-line) !important;
}

/* ------------------------------------------------------------------ */
/* Modals and drawers                                                  */
/* ------------------------------------------------------------------ */
:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.copywriting-app
) :is(
  .system-modal,
  .account-editor-modal,
  .export-file-modal,
  .product-detail-drawer
) {
  width: min(440px, calc(100vw - 28px)) !important;
  max-height: min(620px, calc(100vh - 28px)) !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  border: 1px solid var(--m2-line) !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 16px 40px rgba(20, 28, 24, .16) !important;
  overflow: hidden !important;
}

body.erp-app .system-modal-copy,
body.erp-app .account-editor-body,
body.erp-app .export-file-modal-copy,
body.erp-app .product-detail-body,
body.source-inbox-frame-page .collector-detail-body {
  min-height: 0 !important;
  overflow: auto !important;
  padding: 16px !important;
}

body.erp-app .system-modal-copy {
  
  
  
  
}

body.erp-app .system-modal-copy h2 {
  font-size: 15px !important;
}

body.erp-app .system-modal-copy p {
  color: var(--m2-muted) !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
}

body.erp-app .account-editor-header,
body.erp-app .product-detail-header,
body.source-inbox-frame-page .collector-detail-head {
  flex: 0 0 auto !important;
  min-height: 56px !important;
  height: 56px !important;
  padding: 0 16px !important;
  border-bottom: 1px solid var(--m2-line) !important;
  border-radius: 0 !important;
}

body.erp-app .account-editor-header h2,
body.erp-app .product-detail-header h2 {
  font-size: 15px !important;
}

body.erp-app .account-editor-close,
body.erp-app .product-detail-close {
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  min-height: 30px !important;
  padding: 0 !important;
  border-radius: 8px !important;
}

body.erp-app .account-editor-body {
  
  overflow-y: auto !important;
}

body.erp-app .account-editor-fields {
  margin-bottom: 12px !important;
}

body.erp-app .account-editor-field {
  margin-bottom: 10px !important;
}

body.erp-app .account-editor-field > span,
body.erp-app .account-editor-field label > span {
  font-size: 12px !important;
  font-weight: 650 !important;
  color: var(--m2-muted) !important;
}

body.erp-app .account-editor-actions,
body.erp-app .export-file-modal .modal-actions,
body.erp-app .export-file-modal footer,
body.source-inbox-frame-page .collector-detail-actions {
  flex: 0 0 auto !important;
  min-height: 54px !important;
  height: 54px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  padding: 0 16px !important;
  border-top: 1px solid var(--m2-line) !important;
  border-radius: 0 !important;
  background: var(--m2-surface-soft) !important;
}

body.erp-app #systemModal .system-modal-actions {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  padding: 0 16px !important;
  border-top: 1px solid var(--m2-line) !important;
}

body.erp-app .product-detail-drawer {
  width: min(680px, calc(100vw - 20px)) !important;
  height: 100% !important;
  max-height: 100% !important;
  border: 0 !important;
  border-left: 1px solid var(--m2-line) !important;
  border-radius: 0 !important;
  box-shadow: -24px 0 70px rgba(25, 33, 29, .14) !important;
}

body.erp-app .product-detail-body {
  padding: 14px !important;
}

/* ------------------------------------------------------------------ */
/* Login and permission fallback                                       */
/* ------------------------------------------------------------------ */
body.erp-app #loginView {
  background: var(--m2-page) !important;
}

body.erp-app .login-card {
  width: min(380px, calc(100vw - 32px)) !important;
  min-height: 340px !important;
  padding: 28px 30px !important;
  border: 1px solid var(--m2-line) !important;
  border-radius: 14px !important;
  background: var(--m2-surface) !important;
  box-shadow: none !important;
}

body.erp-app .login-card input {
  height: 40px !important;
  min-height: 40px !important;
  border-radius: var(--m2-control-radius) !important;
}

body.erp-app .login-card #loginSubmitBtn {
  height: 40px !important;
  min-height: 40px !important;
  border-radius: var(--m2-control-radius) !important;
}

/* ------------------------------------------------------------------ */
/* Scrollbars                                                          */
/* ------------------------------------------------------------------ */
:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.copywriting-app,
  body.api-app,
  body.templates-app
) ::-webkit-scrollbar {
  width: 6px !important;
  height: 6px !important;
}

:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.copywriting-app,
  body.api-app,
  body.templates-app
) ::-webkit-scrollbar-thumb {
  border-radius: 999px !important;
  background: #d5dbd8 !important;
}

/* ------------------------------------------------------------------ */
/* Final responsive fallback                                           */
/* ------------------------------------------------------------------ */
@media (max-width: 1180px) {
  body.source-inbox-frame-page .collector-commandbar {
    flex-wrap: wrap !important;
    height: auto !important;
    min-height: 96px !important;
    align-items: stretch !important;
  }

  body.source-inbox-frame-page .collector-links-input {
    flex-basis: 100% !important;
    min-width: 100% !important;
  }

  body.source-inbox-frame-page .collector-campaign,
  body.source-inbox-frame-page .collector-campaign[hidden] {
    flex-basis: 100% !important;
    min-width: 100% !important;
  }

  body.source-inbox-frame-page .collector-commandbar-side {
    flex: 1 1 auto !important;
    justify-content: flex-end !important;
    flex-wrap: wrap !important;
  }

  body.copywriting-app .commandBar {
    height: auto !important;
    min-height: 92px !important;
    max-height: none !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto !important;
    gap: 6px !important;
    padding: 8px 10px !important;
  }

  /* 窄窗口下操作栏变两行，外壳必须按实际高度让位，否则按钮会被表头压住点不动。 */
  body.copywriting-app .workspaceShell {
    grid-template-rows: auto minmax(0, 1fr) !important;
  }

  body.copywriting-app .commandSide,
  body.copywriting-app .commandMeta {
    justify-self: center !important;
  }

  body.copywriting-app .workflowActions {
    order: -1 !important;
  }

  body.erp-app .export-listing-header {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto !important;
    height: auto !important;
    min-height: 118px !important;
    max-height: none !important;
    padding: 8px 10px !important;
    gap: 6px !important;
  }

  body.erp-app .export-clear-toolbar,
  body.erp-app .export-mapping-center,
  body.erp-app .export-listing-actions {
    justify-self: center !important;
  }

  body.erp-app .export-listing-shell {
    grid-template-rows: auto minmax(0, 1fr) 40px !important;
  }

  body.api-app .api-page,
  body.templates-app > main.template-page {
    width: min(92vw, 620px) !important;
  }
}

/* ------------------------------------------------------------------ */
/* 2026-09-15（极简 12）：空状态容器统一「两行居中」                     */
/* 主文案在上、下一步提示在下，整体在容器正中；容器本身不是 flex 的会被   */
/* 上面的旧规则摆成一行或上下撑开，所以这条必须放在文件最后。             */
/* ------------------------------------------------------------------ */
:is(body.erp-app, body.source-inbox-frame-page, body.api-app, body.templates-app, body.copywriting-app) :is(
  .collector-empty-state,
  .export-listing-empty,
  .account-list-empty .account-table-cell,
  .connection-empty
):not([hidden]) {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  text-align-last: center !important;
}

/* 上架准备那张表是 <table>，td 被旧规则钉成 grid + place-items:center：
   两个直属子节点会被撑到两行、一上一下。所以把主文案和提示包进一个 stack，
   让 grid 只摆一个子节点，stack 内部自己竖排。 */
.empty-stack {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

/* ===== css/layout-typography-v189.css ===== */
/* Layout typography v189: visual-only font-size/line-height convergence.
   This layer changes typography only. It does not change business behavior,
   navigation, buttons, menus, workflows, storage or API logic. */

:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.copywriting-app,
  body.api-app,
  body.templates-app
) {
  --m2-font-ui: "Segoe UI Variable Text", "PingFang SC", "Microsoft YaHei UI",
    "Microsoft YaHei", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  --m2-font-mono: "Cascadia Mono", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
  --m2-type-display: 20px;
  --m2-type-section: 15px;
  --m2-type-title: 14px;
  --m2-type-body: 13px;
  --m2-type-table: 12px;
  --m2-type-label: 11px;
  --m2-type-meta: 10.5px;
  font-family: var(--m2-font-ui) !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  -webkit-font-smoothing: antialiased !important;
  text-rendering: optimizeLegibility !important;
}

:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.copywriting-app,
  body.api-app,
  body.templates-app
)
:is(h1, h2, h3, h4, h5, p, th, td, span, small, strong, label, button, input, select, textarea) {
  letter-spacing: 0 !important;
}

/* ------------------------------------------------------------------ */
/* Shell, login and user menu                                          */
/* ------------------------------------------------------------------ */
body.erp-app .sidebar .brand {
  font-size: 15px !important;
  line-height: 1.2 !important;
}

body.erp-app .sidebar .brand::after {
  font-size: 15px !important;
  font-weight: 650 !important;
  line-height: 1 !important;
}

body.erp-app .sidebar .nav button {
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 18px !important;
}

body.erp-app .user-name {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
}

body.erp-app .user-menu-action {
  
  
  line-height: 1 !important;
}

body.erp-app .login-brand-copy h1 {
  font-size: 20px !important;
  font-weight: 650 !important;
  line-height: 1.3 !important;
}

body.erp-app .login-brand-copy p {
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
}

body.erp-app .login-field span {
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 18px !important;
}

body.erp-app .login-card input,
body.erp-app .login-card #loginSubmitBtn {
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 20px !important;
}

body.erp-app .login-error {
  font-size: 12px !important;
  line-height: 18px !important;
}

body.erp-app .permission-empty-card p,
body.erp-app .permission-empty-view p {
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
}

/* ------------------------------------------------------------------ */
/* Shared buttons                                                      */
/* ------------------------------------------------------------------ */
body.source-inbox-frame-page .collector-button,
body.copywriting-app :is(
  .pageClearButton,
  .selectionDeleteButton,
  .selectionPromptButton,
  .workflowButton,
  .embeddedRemovalButton,
  .textLink
),
body.api-app :is(
  .action-button,
  .quick-button,
  .icon-button.has-label span
),
body.templates-app :is(
  .primary,
  .secondary,
  .retry,
  .template-load-more
),
body.erp-app :is(
  .system-check-button,
  .export-mapping-button,
  .export-complete-button,
  .page-clear-button,
  .account-add-button,
  .modal-btn,
  .account-editor-secondary,
  .account-editor-primary,
  .export-quiet-delete,
  .erp-primary-button,
  .erp-secondary-button
) {
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

body.erp-app .account-more-button {
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

body.erp-app .password-control button {
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1 !important;
}

/* ------------------------------------------------------------------ */
/* Empty states, statuses and form labels                              */
/* ------------------------------------------------------------------ */
:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.copywriting-app,
  body.api-app,
  body.templates-app
) :is(
  .collector-empty-state,
  .account-list-empty .account-table-cell,
  .export-listing-empty,
  .image-empty-cell,
  .emptyCell,
  .embeddedRemovalEmpty,
  .connection-empty,
  .template-page .empty,
  .permission-empty-card
) {
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
}

body.erp-app :is(
  .account-form-feedback,
  .account-editor-feedback,
  .export-file-message,
  .system-modal-copy p
) {
  font-size: 13px !important;
  line-height: 1.6 !important;
}

body.erp-app :is(
  .system-modal-copy h2,
  .account-editor-header h2,
  .product-detail-header h2,
  .export-file-modal-copy h2,
  #exportFileTitle
) {
  font-size: 15px !important;
  font-weight: 650 !important;
  line-height: 1.4 !important;
}

body.erp-app :is(
  .account-editor-field > span,
  .account-editor-field label > span,
  .export-file-modal-copy > label
) {
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 18px !important;
}

body.erp-app :is(
  .account-editor-field input,
  .account-editor-field select,
  .account-editor-field textarea,
  .export-file-modal-copy input,
  .export-file-modal-copy select
) {
  font-size: 13px !important;
  line-height: 20px !important;
}

body.erp-app :is(
  .account-status-badge,
  .status-badge,
  .connection-state
) {
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

/* ------------------------------------------------------------------ */
/* Accounts and system check                                           */
/* ------------------------------------------------------------------ */
body.erp-app .account-table-header {
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 18px !important;
}

body.erp-app .account-table-cell,
body.erp-app .account-table-cell-account {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 18px !important;
}

body.erp-app .account-table-cell-name > span {
  font-size: 13px !important;
  font-weight: 650 !important;
  line-height: 18px !important;
}

body.erp-app .account-row-meta {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 16px !important;
}

body.erp-app .system-check-header p {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 18px !important;
}

body.erp-app .system-check-row-main strong {
  font-size: 13px !important;
  font-weight: 650 !important;
  line-height: 20px !important;
}

body.erp-app .system-check-row-main span {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 18px !important;
}

body.erp-app .system-check-row-main small {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 17px !important;
}

body.erp-app .system-check-badge {
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1 !important;
}

/* ------------------------------------------------------------------ */
/* Collector toolbar, progress and footer                              */
/* ------------------------------------------------------------------ */
body.source-inbox-frame-page .collector-links-input {
  font-size: 13px !important;
  line-height: 18px !important;
}

body.source-inbox-frame-page .collector-progress-label {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 18px !important;
}

body.source-inbox-frame-page .collector-progress-figure,
body.source-inbox-frame-page .collector-progress-total {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 18px !important;
}

body.source-inbox-frame-page .collector-progress-figure > span:not(.collector-progress-total) {
  font-size: 15px !important;
  font-weight: 650 !important;
  line-height: 18px !important;
}

body.source-inbox-frame-page .collector-progress-figure.is-waiting span {
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 18px !important;
}

body.source-inbox-frame-page .collector-campaign-done {
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 18px !important;
}

body.source-inbox-frame-page .collector-campaign-result {
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 18px !important;
}

body.source-inbox-frame-page .collector-campaign-result b {
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 18px !important;
  font-variant-numeric: tabular-nums !important;
}

body.source-inbox-frame-page .collector-selection-meta {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 18px !important;
}

body.source-inbox-frame-page .collector-inline-status {
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 18px !important;
}

body.source-inbox-frame-page .collector-page-size,
body.source-inbox-frame-page .collector-page-size select,
body.source-inbox-frame-page .collector-pager {
  font-size: 12px !important;
  line-height: 18px !important;
}

body.source-inbox-frame-page .collector-pager button {
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 18px !important;
}

/* ------------------------------------------------------------------ */
/* Collector table and details                                         */
/* ------------------------------------------------------------------ */
body.source-inbox-frame-page #collectorResultTable th,
body.copywriting-app :is(#dataTable th, #embeddedRemovalTable th, #outputTable th),
body.erp-app #exportListingTable thead th {
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 18px !important;
  white-space: nowrap !important;
}

body.source-inbox-frame-page #collectorResultTable td,
body.copywriting-app :is(#dataTable td, #embeddedRemovalTable td, #outputTable td),
body.erp-app #exportListingTable tbody td {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 18px !important;
}

body.source-inbox-frame-page #collectorResultTable :is(.cell-title, .cell-line),
body.copywriting-app :is(#dataTable .cellClamp, #embeddedRemovalTable .cellClamp, #outputTable .cellClamp),
body.erp-app #exportListingTable :is(.image-cell-clamp, .removal-cell-clamp, .erp-cell-clamp) {
  line-height: 18px !important;
  max-height: 36px !important;
}

body.copywriting-app :is(
  #dataTable td.col-sku .cellClamp,
  #embeddedRemovalTable td.col-sku .cellClamp,
  #outputTable td.col-sku .cellClamp
) {
  max-height: 18px !important;
  line-height: 18px !important;
}

body.source-inbox-frame-page #collectorResultTable .cell-link,
body.source-inbox-frame-page #collectorResultTable .cell-asin,
body.copywriting-app :is(#dataTable td.col-sku .cellClamp, #embeddedRemovalTable td.col-sku .cellClamp),
body.erp-app #exportListingTable td.image-col-sku .image-cell-clamp {
  font-family: var(--m2-font-mono) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 18px !important;
}

body.source-inbox-frame-page #collectorResultTable :is(.cell-price, .cell-rating) {
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 18px !important;
  font-variant-numeric: tabular-nums !important;
}

body.source-inbox-frame-page #collectorResultTable :is(.cell-number, .cell-delivery) {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 18px !important;
  font-variant-numeric: tabular-nums !important;
}

body.source-inbox-frame-page #collectorResultTable .cell-secondary {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 18px !important;
}

body.source-inbox-frame-page #collectorResultTable .collector-badge,
body.source-inbox-frame-page #collectorResultTable .collector-currency,
body.source-inbox-frame-page .collector-sort-indicator {
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1 !important;
}

body.source-inbox-frame-page .collector-detail-head h2 {
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 21px !important;
}

body.source-inbox-frame-page .collector-detail-head strong {
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 18px !important;
}

body.source-inbox-frame-page .collector-detail-section h3 {
  font-size: 13px !important;
  font-weight: 650 !important;
  line-height: 18px !important;
}

body.source-inbox-frame-page .collector-field label {
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 18px !important;
}

body.source-inbox-frame-page .collector-field input,
body.source-inbox-frame-page .collector-field textarea {
  font-size: 12px !important;
  line-height: 18px !important;
}

body.source-inbox-frame-page .collector-detail-meta-row,
body.source-inbox-frame-page .collector-detail-meta-row dd,
body.source-inbox-frame-page .collector-detail-meta-row dt {
  font-size: 12px !important;
  line-height: 1.5 !important;
}

body.source-inbox-frame-page .collector-detail-recollect,
body.source-inbox-frame-page .collector-detail-image-error,
body.source-inbox-frame-page .collector-detail-section-head {
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1 !important;
}

/* ------------------------------------------------------------------ */
/* Copywriting                                                         */
/* ------------------------------------------------------------------ */
body.copywriting-app .commandIdentity strong {
  font-size: 13px !important;
  font-weight: 650 !important;
  line-height: 20px !important;
}

body.copywriting-app .commandIdentity span,
body.copywriting-app .commandMeta {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 18px !important;
}

body.copywriting-app .panelHeader h1,
body.copywriting-app .compactHeader h1,
body.copywriting-app .embeddedRemovalTitle h2 {
  font-size: 15px !important;
  font-weight: 650 !important;
  line-height: 20px !important;
}

body.copywriting-app .panelHeader p,
body.copywriting-app .compactHeader p {
  font-size: 12px !important;
  line-height: 1.5 !important;
}

body.copywriting-app .parseInstruction p,
body.copywriting-app .message,
body.copywriting-app .embeddedRemovalNotice {
  font-size: 12px !important;
  line-height: 1.5 !important;
}

body.copywriting-app .parseInputTitle strong {
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 18px !important;
}

body.copywriting-app .parseInputTitle span,
body.copywriting-app .parseInputMeta,
body.copywriting-app .embeddedRemovalMeta,
body.copywriting-app .selectionStats {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 18px !important;
}

body.copywriting-app .selectionStats strong,
body.copywriting-app .parseInputMeta strong,
body.copywriting-app .embeddedRemovalMeta strong {
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 18px !important;
}

body.copywriting-app .resultPreviewHeader {
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 18px !important;
}

body.copywriting-app .editor,
body.copywriting-app .parseInputPane textarea {
  font-family: var(--m2-font-mono) !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
}

body.copywriting-app .embeddedRemovalEyebrow {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 18px !important;
}

body.copywriting-app .embeddedActionStatus {
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

body.copywriting-app .tableFootnote,
body.copywriting-app #previewNote,
body.copywriting-app .copywritingPager {
  font-size: 12px !important;
  line-height: 18px !important;
}

body.copywriting-app .copywritingPager button {
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 18px !important;
}

body.copywriting-app .moduleToast {
  font-size: 12px !important;
  line-height: 1.45 !important;
}

/* ------------------------------------------------------------------ */
/* Export listing                                                      */
/* ------------------------------------------------------------------ */
body.erp-app .export-listing-header,
body.erp-app .export-mapping-center,
body.erp-app .export-mapping-center button,
body.erp-app .export-mapping-center span {
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 18px !important;
}

body.erp-app #exportMappingStatus {
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 30px !important;
}

body.erp-app .export-selection-meta,
body.erp-app #exportSelectionMeta {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 18px !important;
}

body.erp-app #exportSelectedMeta strong,
body.erp-app #exportListingCount,
body.erp-app #exportSelectedCount {
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 18px !important;
  font-variant-numeric: tabular-nums !important;
}

body.erp-app .export-mapping-issue-title {
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 18px !important;
}

body.erp-app .export-mapping-issue-item,
body.erp-app .export-mapping-issue-more,
body.erp-app .workflow-pagination,
body.erp-app .workflow-pagination button,
body.erp-app [data-workflow-page-summary] {
  font-size: 12px !important;
  line-height: 18px !important;
}

body.erp-app #exportListingTable tbody td {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 18px !important;
}

body.erp-app #exportListingTable td.image-col-sku .image-cell-clamp,
body.erp-app #exportListingTable td.image-col-url .image-cell-clamp,
body.erp-app #exportListingTable td.image-col-asin .image-cell-clamp {
  font-family: var(--m2-font-mono) !important;
  font-size: 12px !important;
  line-height: 18px !important;
}

body.erp-app #exportListingTable :is(
  td.image-col-final-price,
  td.image-col-price,
  td.image-col-rating,
  td.image-col-review-count
) {
  font-weight: 650 !important;
  font-variant-numeric: tabular-nums !important;
}

body.erp-app #exportListingTable :is(.image-opt-placeholder, .optimized-placeholder) {
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

/* ------------------------------------------------------------------ */
/* API settings                                                        */
/* ------------------------------------------------------------------ */
body.api-app .sidebar-head h1 {
  font-size: 15px !important;
  font-weight: 650 !important;
  line-height: 20px !important;
}

body.api-app .connection-card strong {
  font-size: 13px !important;
  font-weight: 650 !important;
  line-height: 18px !important;
}

body.api-app .connection-card small,
body.api-app .connection-card .connection-state {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 16px !important;
}

body.api-app .provider-dot {
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1 !important;
}

body.api-app .editor-title-group h2 {
  font-size: 15px !important;
  font-weight: 650 !important;
  line-height: 20px !important;
}

body.api-app .connection-form.provider-deepseek .editor-title-group h2 {
  font-size: 15px !important;
  font-weight: 650 !important;
  line-height: 20px !important;
}

body.api-app .editor-badge,
body.api-app .status-pill {
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1 !important;
}

body.api-app .switch-control,
body.api-app .provider-select span {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 18px !important;
}

body.api-app .card-head h3,
body.api-app .advanced-card summary,
body.api-app .result-head strong {
  font-size: 13px !important;
  font-weight: 650 !important;
  line-height: 18px !important;
}

body.api-app .field span {
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 18px !important;
}

body.api-app .field input,
body.api-app .field select,
body.api-app .field textarea,
body.api-app .provider-select select {
  font-size: 13px !important;
  line-height: 20px !important;
}

body.api-app .result-head span,
body.api-app .save-state {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 18px !important;
}

body.api-app .result-card pre {
  font-family: var(--m2-font-mono) !important;
  font-size: 12px !important;
  line-height: 1.65 !important;
}

body.api-app .module-toast {
  font-size: 12px !important;
  line-height: 1.45 !important;
}

/* ------------------------------------------------------------------ */
/* Templates                                                           */
/* ------------------------------------------------------------------ */
body.templates-app .toolbar-actions button,
body.templates-app .upload-failure-actions button,
body.templates-app .search-box input {
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 18px !important;
}

body.templates-app .library-kicker,
body.templates-app .source-badge,
body.templates-app .status-pill,
body.templates-app .cloud-status {
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1 !important;
}

body.templates-app .template-title strong {
  font-size: 13px !important;
  font-weight: 650 !important;
  line-height: 18px !important;
}

body.templates-app .template-title small,
body.templates-app .template-meta,
body.templates-app .browse-path,
body.templates-app .upload-status-row.secondary,
body.templates-app .upload-failure-item {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
}

body.templates-app .upload-status-row,
body.templates-app .upload-failure-head,
body.templates-app .upload-failure-head strong,
body.templates-app .upload-failure-count {
  font-size: 12px !important;
  line-height: 18px !important;
}

body.templates-app .template-actions button {
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1 !important;
}

body.templates-app .metric-eyebrow {
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 18px !important;
}

body.templates-app .metric-card .metric-value strong {
  font-size: 32px !important;
  font-weight: 700 !important;
  font-variant-numeric: tabular-nums !important;
  line-height: 1 !important;
}

body.templates-app .metric-card .metric-value span {
  font-size: 13px !important;
  font-weight: 650 !important;
  line-height: 1.2 !important;
}

body.templates-app .toast {
  font-size: 12px !important;
  line-height: 1.45 !important;
}

/* ------------------------------------------------------------------ */
/* Drawers, image zoom and copy buttons                                */
/* ------------------------------------------------------------------ */
body.erp-app .product-detail-header h2,
body.erp-app .product-detail-header p,
body.erp-app .product-detail-body :is(label, .field-label) {
  font-size: 13px !important;
  line-height: 1.5 !important;
}

body.erp-app .erp-image-zoom-dialog img,
body.source-inbox-frame-page .collector-image-hover-preview img,
body.erp-app .erp-image-hover-preview img {
  font-size: 0 !important;
}

body.erp-app .erp-cell-copy-button,
body.source-inbox-frame-page .collector-copy-button,
body.copywriting-app .cellCopyButton {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  font-size: 12px !important;
  line-height: 1 !important;
}

/* ------------------------------------------------------------------ */
/* Stable responsive safety                                            */
/* ------------------------------------------------------------------ */
@media (max-width: 1280px) {
  body.source-inbox-frame-page .collector-commandbar,
  body.copywriting-app .commandBar,
  body.erp-app .export-listing-header {
    font-size: 12px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.erp-app *,
  body.source-inbox-frame-page *,
  body.copywriting-app *,
  body.api-app *,
  body.templates-app * {
    transition: none !important;
  }
}

/* ===== css/layout-buttons-v190.css ===== */
/* Layout buttons v190: visual-only size and color convergence.
   This layer changes presentation only. It does not alter navigation,
   handlers, forms, workflows, storage, API logic or any behavior. */

:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.copywriting-app,
  body.api-app,
  body.templates-app
) {
  --m2-btn-height: 32px;
  --m2-btn-compact: 28px;
  --m2-btn-icon: 30px;
  --m2-btn-radius: 8px;
  --m2-btn-accent: #2f6b4f;
  --m2-btn-accent-hover: #275a42;
  --m2-btn-accent-soft: #eaf3ed;
  --m2-btn-danger: #a6514c;
  --m2-btn-danger-soft: #fbf0ee;
  --m2-btn-warning: #9a7537;
  --m2-btn-warning-soft: #fbf4e8;
  --m2-btn-neutral: #ffffff;
  --m2-btn-neutral-hover: #f0f4f1;
  --m2-btn-border: #ccd3cf;
  --m2-btn-border-soft: #e3e7e4;
  --m2-btn-text: #303b36;
  --m2-btn-muted: #68736c;
  --m2-btn-disabled-bg: #f3f5f4;
  --m2-btn-disabled-border: #e0e5e2;
  --m2-btn-disabled-text: #a2aba6;
}

:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.copywriting-app,
  body.api-app,
  body.templates-app
) button {
  box-sizing: border-box !important;
  -webkit-tap-highlight-color: transparent !important;
}

/* Standard command controls
   ------------------------------------------------------------------ */
:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.copywriting-app,
  body.api-app,
  body.templates-app
)
:is(
  .collector-button,
  .collector-detail-recollect,
  .pageClearButton,
  .selectionDeleteButton,
  .selectionPromptButton,
  .workflowButton,
  .embeddedRemovalButton,
  .page-clear-button,
  .export-mapping-button,
  .export-complete-button,
  .export-quiet-delete,
  .system-check-button,
  .account-add-button,
  .account-editor-primary,
  .account-editor-secondary,
  .modal-btn,
  .action-button,
  .quick-button,
  .icon-button.has-label,
  .template-load-more,
  .primary,
  .secondary,
  .retry
) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: var(--m2-btn-height) !important;
  min-height: var(--m2-btn-height) !important;
  max-height: var(--m2-btn-height) !important;
  min-width: 0 !important;
  padding: 0 12px !important;
  border-radius: var(--m2-btn-radius) !important;
  border-style: solid !important;
  border-width: 1px !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
  transition:
    color .14s ease,
    background-color .14s ease,
    border-color .14s ease,
    opacity .14s ease !important;
}

/* Small top controls that sit inside toolbars or beside inputs. */
body.source-inbox-frame-page .collector-button {
  min-width: 70px !important;
}

body.source-inbox-frame-page #collectorStartButton,
body.source-inbox-frame-page #collectorDetailSaveButton {
  min-width: 84px !important;
}

body.source-inbox-frame-page #collectorTransferButton {
  
}

/* Segmented workflow switch: no outer border. */
body.copywriting-app .workflowButton {
  min-width: 92px !important;
  border-color: transparent !important;
  background: transparent !important;
  color: var(--m2-btn-muted) !important;
}

body.copywriting-app .workflowButton:hover:not(:disabled),
body.copywriting-app .workflowButton:focus-visible {
  background: var(--m2-btn-neutral-hover) !important;
  color: var(--m2-btn-text) !important;
}

body.copywriting-app .workflowButton.active,
body.copywriting-app .workflowButton[aria-pressed="true"] {
  border-color: transparent !important;
  background: var(--m2-btn-neutral) !important;
  color: var(--m2-btn-accent) !important;
  box-shadow: inset 0 0 0 1px rgba(47, 107, 79, .16) !important;
}

/* Compact pagination and quiet in-cell controls. */
:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.copywriting-app
)
:is(
  .collector-pager button,
  .collector-page-size select,
  .copywritingPager button,
  .embeddedRemovalPager button,
  .workflow-pagination button,
  .template-actions button,
  .export-mapping-issue-item,
  .mapping-locate-action
) {
  height: var(--m2-btn-compact) !important;
  min-height: var(--m2-btn-compact) !important;
  max-height: var(--m2-btn-compact) !important;
  padding: 0 10px !important;
  border-radius: 7px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

/* Icon-only controls: 30px square, centered, quiet neutral. */
:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.api-app
)
:is(
  .account-editor-close,
  .product-detail-close,
  .collector-icon-button,
  .erp-image-zoom-close,
  .account-more-button,
  .icon-button:not(.has-label)
) {
  width: var(--m2-btn-icon) !important;
  min-width: var(--m2-btn-icon) !important;
  max-width: var(--m2-btn-icon) !important;
  height: var(--m2-btn-icon) !important;
  min-height: var(--m2-btn-icon) !important;
  max-height: var(--m2-btn-icon) !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid var(--m2-btn-border-soft) !important;
  border-radius: var(--m2-btn-radius) !important;
  background: var(--m2-btn-neutral) !important;
  color: var(--m2-btn-muted) !important;
  box-shadow: none !important;
}

/* Small text action nested in password/input fields. */
body.erp-app .password-control button {
  width: auto !important;
  min-width: 38px !important;
  height: 26px !important;
  min-height: 26px !important;
  max-height: 26px !important;
  padding: 0 7px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: #68736c !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1 !important;
}

/* User popover menu rows should stay compact but legible. */
body.erp-app .user-menu-action {
  width: 100% !important;
  min-width: 0 !important;
  height: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 10px !important;
  border: 0 !important;
  border-radius: 7px !important;
  background: transparent !important;
  color: var(--m2-btn-text) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  text-align: center !important;
}

body.erp-app .user-menu-action:hover,
body.erp-app .user-menu-action:focus-visible {
  background: var(--m2-btn-accent-soft) !important;
  color: var(--m2-btn-accent) !important;
}

body.erp-app .user-menu-action.logout-action {
  margin-top: 4px !important;
  color: var(--m2-btn-danger) !important;
  border-top: 0 !important;
  
}

body.erp-app .user-menu-action.logout-action:hover,
body.erp-app .user-menu-action.logout-action:focus-visible {
  background: var(--m2-btn-danger-soft) !important;
  color: var(--m2-btn-danger) !important;
}

/* Sidebar active state: remove stale blue-gray treatment. */
body.erp-app .sidebar .nav button {
  border: 1px solid transparent !important;
  background: transparent !important;
  color: var(--m2-btn-muted) !important;
}

body.erp-app .sidebar .nav button:hover:not(.active) {
  border-color: transparent !important;
  background: var(--m2-btn-neutral-hover) !important;
  color: var(--m2-btn-text) !important;
}

body.erp-app .sidebar .nav button.active,
body.erp-app .sidebar .nav button[aria-current="true"] {
  
  
  
  box-shadow: none !important;
}

body.erp-app .sidebar .nav button.active::before {
  background: var(--m2-btn-accent) !important;
}

/* Primary CTA
   ------------------------------------------------------------------ */
body.erp-app :is(
  .account-editor-primary,
  .account-add-button,
  .system-check-button.primary,
  .export-mapping-button:not(.secondary),
  .export-complete-button,
  .modal-btn.confirm:not(.danger),
  .modal-btn.confirm:not(.confirm.danger),
  .erp-primary-button
),
body.source-inbox-frame-page :is(
  .collector-button.primary,
  .collector-button.action
),
body.copywriting-app :is(
  .selectionPromptButton:not(:disabled),
  .embeddedRemovalButton.primary
),
body.api-app .action-button.primary,
body.templates-app .primary {
  border-color: var(--m2-btn-accent) !important;
  background: var(--m2-btn-accent) !important;
  color: #ffffff !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .16) inset !important;
}

body.erp-app :is(
  .account-editor-primary:hover:not(:disabled),
  .account-add-button:hover:not(:disabled),
  .system-check-button.primary:hover:not(:disabled),
  .export-mapping-button:not(.secondary):hover:not(:disabled),
  .export-complete-button:hover:not(:disabled),
  .modal-btn.confirm:not(.danger):hover:not(:disabled),
  .erp-primary-button:hover:not(:disabled)
),
body.source-inbox-frame-page :is(
  .collector-button.primary:hover:not(:disabled),
  .collector-button.action:hover:not(:disabled)
),
body.copywriting-app :is(
  .selectionPromptButton:hover:not(:disabled),
  .embeddedRemovalButton.primary:hover:not(:disabled)
),
body.api-app .action-button.primary:hover:not(:disabled),
body.templates-app .primary:hover:not(:disabled) {
  border-color: var(--m2-btn-accent-hover) !important;
  background: var(--m2-btn-accent-hover) !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

/* Neutral / secondary
   ------------------------------------------------------------------ */
body.source-inbox-frame-page .collector-button.secondary,
body.source-inbox-frame-page .collector-button.paused,
body.source-inbox-frame-page .page-clear-button,
body.erp-app :is(
  .account-editor-secondary,
  .page-clear-button,
  .export-mapping-button.secondary,
  .modal-btn:not(.confirm),
  .erp-secondary-button
),
body.copywriting-app :is(
  .pageClearButton,
  .embeddedRemovalButton:not(.primary):not(.danger):not([hidden])
),
body.api-app :is(
  .action-button:not(.primary):not(.danger),
  .action-button.secondary,
  .action-button.ghost,
  .action-button.deepseek,
  .quick-button,
  .icon-button.has-label
),
body.templates-app :is(
  .secondary,
  #downloadFailedTemplates,
  #retryFailedUpload
) {
  border-color: var(--m2-btn-border) !important;
  background: var(--m2-btn-neutral) !important;
  color: var(--m2-btn-text) !important;
  box-shadow: none !important;
}

body.source-inbox-frame-page .collector-button.secondary:hover:not(:disabled),
body.source-inbox-frame-page .collector-button.paused:hover:not(:disabled),
body.source-inbox-frame-page .page-clear-button:hover:not(:disabled),
body.erp-app :is(
  .account-editor-secondary:hover:not(:disabled),
  .page-clear-button:hover:not(:disabled),
  .export-mapping-button.secondary:hover:not(:disabled),
  .modal-btn:not(.confirm):hover:not(:disabled),
  .erp-secondary-button:hover:not(:disabled)
),
body.copywriting-app :is(
  .pageClearButton:hover:not(:disabled),
  .embeddedRemovalButton:not(.primary):not(.danger):hover:not(:disabled)
),
body.api-app :is(
  .action-button:not(.primary):not(.danger):hover:not(:disabled),
  .action-button.secondary:hover:not(:disabled),
  .action-button.ghost:hover:not(:disabled),
  .quick-button:hover:not(:disabled),
  .icon-button.has-label:hover:not(:disabled)
),
body.templates-app :is(
  .secondary:hover:not(:disabled),
  #downloadFailedTemplates:hover:not(:disabled),
  #retryFailedUpload:hover:not(:disabled)
) {
  border-color: #b9c4bd !important;
  background: var(--m2-btn-neutral-hover) !important;
  color: #233129 !important;
  box-shadow: none !important;
}

/* Warning state for pause / active scan. */
body.source-inbox-frame-page .collector-button.paused {
  border-color: rgba(154, 117, 55, .28) !important;
  background: var(--m2-btn-warning-soft) !important;
  color: var(--m2-btn-warning) !important;
}

/* Danger / destructive
   ------------------------------------------------------------------ */
body.source-inbox-frame-page .collector-button.danger,
body.copywriting-app :is(
  .selectionDeleteButton,
  .embeddedRemovalButton.danger
),
body.api-app .action-button.danger,
body.erp-app :is(
  .export-quiet-delete,
  .account-action-menu button.danger,
  .modal-btn.confirm.danger,
  .account-delete-button
) {
  border-color: rgba(166, 81, 76, .20) !important;
  background: var(--m2-btn-danger-soft) !important;
  color: var(--m2-btn-danger) !important;
  box-shadow: none !important;
}

body.source-inbox-frame-page .collector-button.danger:hover:not(:disabled),
body.copywriting-app :is(
  .selectionDeleteButton:hover:not(:disabled),
  .embeddedRemovalButton.danger:hover:not(:disabled)
),
body.api-app .action-button.danger:hover:not(:disabled),
body.erp-app :is(
  .export-quiet-delete:hover:not(:disabled),
  .account-action-menu button.danger:hover:not(:disabled),
  .modal-btn.confirm.danger:hover:not(:disabled),
  .account-delete-button:hover:not(:disabled)
) {
  border-color: rgba(166, 81, 76, .34) !important;
  background: #faece9 !important;
  color: #8d3d39 !important;
  box-shadow: none !important;
}

/* Action buttons such as "转入文案优化" stay quiet green-soft. */
body.source-inbox-frame-page .collector-button.action {
  border-color: rgba(47, 107, 79, .24) !important;
  background: var(--m2-btn-accent-soft) !important;
  color: var(--m2-btn-accent) !important;
}

/* Provider-specific controls should not carry provider colors. */
body.api-app .action-button.deepseek,
body.api-app .action-button.r2,
body.api-app .quick-button.deepseek,
body.api-app .quick-button.r2 {
  border-color: var(--m2-btn-border) !important;
  background: var(--m2-btn-neutral) !important;
  color: var(--m2-btn-text) !important;
}

/* API sidebar compact controls: keep one primary action per operation. */
body.api-app .icon-button.has-label {
  width: auto !important;
  min-width: 72px !important;
  gap: 5px !important;
  padding: 0 10px !important;
  font-size: 12px !important;
  font-weight: 650 !important;
}

body.api-app .icon-button.has-label svg {
  width: 14px !important;
  height: 14px !important;
}

/* Restore copywriting hidden parse actions to the same semantics. */
body.copywriting-app .parseWorkflowActions .embeddedRemovalButton {
  height: var(--m2-btn-height) !important;
  min-height: var(--m2-btn-height) !important;
  max-height: var(--m2-btn-height) !important;
  min-width: auto !important;
  padding: 0 12px !important;
  border-color: var(--m2-btn-border) !important;
  border-radius: var(--m2-btn-radius) !important;
  background: var(--m2-btn-neutral) !important;
  color: var(--m2-btn-text) !important;
}

body.copywriting-app .parseWorkflowActions #embeddedTransferExport {
  border-color: var(--m2-btn-accent) !important;
  background: var(--m2-btn-accent) !important;
  color: #ffffff !important;
}

body.copywriting-app .parseWorkflowActions #embeddedStripBrandTerms {
  border-color: rgba(47, 107, 79, .26) !important;
  background: var(--m2-btn-accent-soft) !important;
  color: var(--m2-btn-accent) !important;
}

body.copywriting-app .parseWorkflowActions .embeddedRemovalButton.danger {
  border-color: rgba(166, 81, 76, .20) !important;
  background: var(--m2-btn-danger-soft) !important;
  color: var(--m2-btn-danger) !important;
}

/* Account row action menu. */
body.erp-app .account-action-menu button {
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  border: 0 !important;
  border-radius: 7px !important;
  background: transparent !important;
  color: var(--m2-btn-text) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

body.erp-app .account-action-menu button:hover:not(:disabled) {
  background: var(--m2-btn-neutral-hover) !important;
  color: var(--m2-btn-text) !important;
}

/* Modal semantic split. */
body.erp-app .system-modal-actions button,
body.erp-app .export-file-modal-actions button,
body.erp-app .account-editor-actions button {
  min-width: 88px !important;
  padding: 0 16px !important;
}

/* Lightbox close should remain a quiet translucent overlay button. */
body.source-inbox-frame-page .collector-image-lightbox-close,
body.erp-app .erp-image-zoom-close {
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
}

/* Disabled state: neutral gray instead of faded colored button. */
:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.copywriting-app,
  body.api-app,
  body.templates-app
)
:is(
  button:disabled,
  button[disabled],
  button[aria-disabled="true"]
),
:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.copywriting-app,
  body.api-app,
  body.templates-app
)
button:disabled:is(
  .collector-button,
  .pageClearButton,
  .selectionDeleteButton,
  .selectionPromptButton,
  .workflowButton,
  .embeddedRemovalButton,
  .page-clear-button,
  .export-mapping-button,
  .export-complete-button,
  .system-check-button,
  .account-add-button,
  .account-editor-primary,
  .account-editor-secondary,
  .modal-btn,
  .action-button,
  .quick-button,
  .primary,
  .secondary
) {
  cursor: not-allowed !important;
  border-color: var(--m2-btn-disabled-border) !important;
  background: var(--m2-btn-disabled-bg) !important;
  color: var(--m2-btn-disabled-text) !important;
  opacity: 1 !important;
  box-shadow: none !important;
  pointer-events: auto !important;
}

/* Focus and hover consistency. */
:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.copywriting-app,
  body.api-app,
  body.templates-app
)
button:focus-visible {
  outline: 0 !important;
  box-shadow: 0 0 0 3px rgba(47, 107, 79, .14) !important;
}

/* Prevent tiny visual shift during async states. */
:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.copywriting-app,
  body.api-app,
  body.templates-app
)
:is(
  .collector-button,
  .pageClearButton,
  .selectionDeleteButton,
  .selectionPromptButton,
  .embeddedRemovalButton,
  .page-clear-button,
  .export-mapping-button,
  .export-complete-button,
  .system-check-button,
  .account-add-button,
  .account-editor-primary,
  .account-editor-secondary,
  .modal-btn,
  .action-button,
  .quick-button,
  .primary,
  .secondary
):active:not(:disabled) {
  transform: none !important;
  filter: brightness(.985) !important;
}

/* Normalize button text scale inside nested svg icons. */
:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.copywriting-app,
  body.api-app,
  body.templates-app
)
button svg {
  flex: 0 0 auto !important;
}

/* ------------------------------------------------------------------ */
/* High-specificity overrides for legacy descendant rules             */
/* ------------------------------------------------------------------ */

/* Copywriting command bar. */
body.copywriting-app .commandBar button:is(
  .pageClearButton,
  .selectionDeleteButton,
  .selectionPromptButton,
  .workflowButton,
  .embeddedRemovalButton
) {
  height: var(--m2-btn-height) !important;
  min-height: var(--m2-btn-height) !important;
  max-height: var(--m2-btn-height) !important;
  min-width: auto !important;
  padding: 0 12px !important;
  border-radius: var(--m2-btn-radius) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

body.copywriting-app .commandBar .pageClearButton:not(:disabled),
body.copywriting-app .commandBar .embeddedRemovalButton:not(.primary):not(.danger):not(:disabled) {
  border-color: var(--m2-btn-border) !important;
  background: var(--m2-btn-neutral) !important;
  color: var(--m2-btn-text) !important;
}

body.copywriting-app .commandBar .pageClearButton:hover:not(:disabled),
body.copywriting-app .commandBar .embeddedRemovalButton:not(.primary):not(.danger):hover:not(:disabled) {
  border-color: #b9c4bd !important;
  background: var(--m2-btn-neutral-hover) !important;
  color: #233129 !important;
}

body.copywriting-app .commandBar .selectionDeleteButton:not(:disabled),
body.copywriting-app .commandBar .embeddedRemovalButton.danger:not(:disabled) {
  border-color: rgba(166, 81, 76, .20) !important;
  background: var(--m2-btn-danger-soft) !important;
  color: var(--m2-btn-danger) !important;
}

body.copywriting-app .commandBar .selectionDeleteButton:hover:not(:disabled),
body.copywriting-app .commandBar .embeddedRemovalButton.danger:hover:not(:disabled) {
  border-color: rgba(166, 81, 76, .34) !important;
  background: #faece9 !important;
  color: #8d3d39 !important;
}

body.copywriting-app .commandBar .selectionPromptButton:not(:disabled),
body.copywriting-app .commandBar #embeddedTransferExport:not(:disabled) {
  border-color: var(--m2-btn-accent) !important;
  background: var(--m2-btn-accent) !important;
  color: #ffffff !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .16) inset !important;
}

body.copywriting-app .commandBar .selectionPromptButton:hover:not(:disabled),
body.copywriting-app .commandBar #embeddedTransferExport:hover:not(:disabled) {
  border-color: var(--m2-btn-accent-hover) !important;
  background: var(--m2-btn-accent-hover) !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

body.copywriting-app .commandBar #embeddedStripBrandTerms:not(:disabled) {
  border-color: rgba(47, 107, 79, .26) !important;
  background: var(--m2-btn-accent-soft) !important;
  color: var(--m2-btn-accent) !important;
}

body.copywriting-app .commandBar .workflowButton.active,
body.copywriting-app .commandBar .workflowButton[aria-pressed="true"] {
  border-color: transparent !important;
  background: var(--m2-btn-neutral) !important;
  color: var(--m2-btn-accent) !important;
  box-shadow: inset 0 0 0 1px rgba(47, 107, 79, .16) !important;
}

body.copywriting-app .commandBar[data-panel] button#clearCopywritingPage,
body.copywriting-app .commandBar[data-panel] button#clearParsePage,
body.copywriting-app .commandBar button#generatePrompt,
body.copywriting-app .commandBar button#embeddedDeleteRemovalSelected,
body.copywriting-app .commandBar button#embeddedStripBrandTerms,
body.copywriting-app .commandBar button#embeddedTransferExport {
  height: var(--m2-btn-height) !important;
  min-height: var(--m2-btn-height) !important;
  max-height: var(--m2-btn-height) !important;
  min-width: auto !important;
  padding: 0 12px !important;
  border-radius: var(--m2-btn-radius) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

/* API workspace. */
body.api-app .sidebar-tools .icon-button.has-label,
body.api-app .empty-actions .action-button,
body.api-app .editor-actions .action-button {
  height: var(--m2-btn-height) !important;
  min-height: var(--m2-btn-height) !important;
  max-height: var(--m2-btn-height) !important;
  min-width: 0 !important;
  padding: 0 12px !important;
  border-radius: var(--m2-btn-radius) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

body.api-app .sidebar-tools .icon-button.has-label {
  width: auto !important;
  min-width: 72px !important;
  gap: 5px !important;
}

body.api-app .sidebar-head .sidebar-tools button#newConnectionMenuBtn,
body.api-app .sidebar-head .sidebar-tools button#refreshConnectionsBtn {
  height: var(--m2-btn-height) !important;
  min-height: var(--m2-btn-height) !important;
  max-height: var(--m2-btn-height) !important;
  min-width: 72px !important;
  padding: 0 12px !important;
  border-radius: var(--m2-btn-radius) !important;
  box-shadow: none !important;
}

body.api-app .editor-actions .action-button.primary:not(:disabled),
body.api-app .empty-actions .action-button.deepseek:not(:disabled),
body.api-app .empty-actions .action-button.primary:not(:disabled) {
  border-color: var(--m2-btn-accent) !important;
  background: var(--m2-btn-accent) !important;
  color: #ffffff !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .16) inset !important;
}

body.api-app .editor-actions .action-button.primary:hover:not(:disabled),
body.api-app .empty-actions .action-button.deepseek:hover:not(:disabled),
body.api-app .empty-actions .action-button.primary:hover:not(:disabled) {
  border-color: var(--m2-btn-accent-hover) !important;
  background: var(--m2-btn-accent-hover) !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

body.api-app .editor-actions .action-button:not(.primary):not(.danger):not(:disabled),
body.api-app .empty-actions .action-button.secondary:not(:disabled),
body.api-app .quick-actions .quick-button:not(:disabled) {
  border-color: var(--m2-btn-border) !important;
  background: var(--m2-btn-neutral) !important;
  color: var(--m2-btn-text) !important;
}

body.api-app .editor-actions .action-button:not(.primary):not(.danger):hover:not(:disabled),
body.api-app .empty-actions .action-button.secondary:hover:not(:disabled),
body.api-app .quick-actions .quick-button:hover:not(:disabled) {
  border-color: #b9c4bd !important;
  background: var(--m2-btn-neutral-hover) !important;
  color: #233129 !important;
}

body.api-app .editor-actions .action-button.danger:not(.hidden):not(:disabled) {
  border-color: rgba(166, 81, 76, .20) !important;
  background: var(--m2-btn-danger-soft) !important;
  color: var(--m2-btn-danger) !important;
}

body.api-app .editor-actions .action-button.danger:hover:not(.hidden):not(:disabled) {
  border-color: rgba(166, 81, 76, .34) !important;
  background: #faece9 !important;
  color: #8d3d39 !important;
}

/* Templates toolbar. */
body.templates-app .toolbar-actions button,
body.templates-app .upload-failure-actions button {
  height: var(--m2-btn-height) !important;
  min-height: var(--m2-btn-height) !important;
  max-height: var(--m2-btn-height) !important;
  min-width: 0 !important;
  padding: 0 12px !important;
  border-radius: var(--m2-btn-radius) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

body.templates-app .toolbar-actions .primary:not(:disabled),
body.templates-app .upload-failure-actions .primary:not(:disabled) {
  border-color: var(--m2-btn-accent) !important;
  background: var(--m2-btn-accent) !important;
  color: #ffffff !important;
}

body.templates-app .toolbar-actions .primary:hover:not(:disabled),
body.templates-app .upload-failure-actions .primary:hover:not(:disabled) {
  border-color: var(--m2-btn-accent-hover) !important;
  background: var(--m2-btn-accent-hover) !important;
  color: #ffffff !important;
}

body.templates-app .toolbar-actions .secondary:not(:disabled),
body.templates-app .upload-failure-actions .secondary:not(:disabled) {
  border-color: var(--m2-btn-border) !important;
  background: var(--m2-btn-neutral) !important;
  color: var(--m2-btn-text) !important;
}

body.templates-app .toolbar-actions .secondary:hover:not(:disabled),
body.templates-app .upload-failure-actions .secondary:hover:not(:disabled) {
  border-color: #b9c4bd !important;
  background: var(--m2-btn-neutral-hover) !important;
  color: #233129 !important;
}

body.templates-app .toolbar-actions button#importButton,
body.templates-app .upload-failure-actions button#downloadFailedTemplates,
body.templates-app .upload-failure-actions button#retryFailedUpload {
  height: var(--m2-btn-height) !important;
  min-height: var(--m2-btn-height) !important;
  max-height: var(--m2-btn-height) !important;
  min-width: 0 !important;
  padding: 0 12px !important;
  border-radius: var(--m2-btn-radius) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

/* Main ERP header, account and system views. */
body.erp-app .accounts-primary-action .account-add-button:not(:disabled),
body.erp-app .system-check-header .system-check-button.primary:not(:disabled),
body.erp-app .export-listing-header .export-mapping-button:not(.secondary):not(:disabled),
body.erp-app .export-listing-header .export-complete-button:not(:disabled),
body.erp-app .account-editor-actions .account-editor-primary:not(:disabled),
body.erp-app #systemModal .system-modal-actions .modal-btn.confirm:not(.danger):not(:disabled),
body.erp-app #exportFileModal .export-file-modal-actions .modal-btn.confirm:not(.danger):not(:disabled) {
  border-color: var(--m2-btn-accent) !important;
  background: var(--m2-btn-accent) !important;
  color: #ffffff !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .16) inset !important;
}

body.erp-app .accounts-primary-action .account-add-button:hover:not(:disabled),
body.erp-app .system-check-header .system-check-button.primary:hover:not(:disabled),
body.erp-app .export-listing-header .export-mapping-button:not(.secondary):hover:not(:disabled),
body.erp-app .export-listing-header .export-complete-button:hover:not(:disabled),
body.erp-app .account-editor-actions .account-editor-primary:hover:not(:disabled),
body.erp-app #systemModal .system-modal-actions .modal-btn.confirm:not(.danger):hover:not(:disabled),
body.erp-app #exportFileModal .export-file-modal-actions .modal-btn.confirm:not(.danger):hover:not(:disabled) {
  border-color: var(--m2-btn-accent-hover) !important;
  background: var(--m2-btn-accent-hover) !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

body.erp-app .export-listing-header .page-clear-button:not(:disabled),
body.erp-app .account-editor-actions .account-editor-secondary:not(:disabled),
body.erp-app #systemModal .system-modal-actions .modal-btn:not(.confirm):not(:disabled),
body.erp-app #exportFileModal .export-file-modal-actions .modal-btn:not(.confirm):not(:disabled) {
  border-color: var(--m2-btn-border) !important;
  background: var(--m2-btn-neutral) !important;
  color: var(--m2-btn-text) !important;
}

body.erp-app .export-listing-header .page-clear-button:hover:not(:disabled),
body.erp-app .account-editor-actions .account-editor-secondary:hover:not(:disabled),
body.erp-app #systemModal .system-modal-actions .modal-btn:not(.confirm):hover:not(:disabled),
body.erp-app #exportFileModal .export-file-modal-actions .modal-btn:not(.confirm):hover:not(:disabled) {
  border-color: #b9c4bd !important;
  background: var(--m2-btn-neutral-hover) !important;
  color: #233129 !important;
}

body.erp-app .export-listing-header .export-quiet-delete:not(:disabled) {
  border-color: rgba(166, 81, 76, .20) !important;
  background: var(--m2-btn-danger-soft) !important;
  color: var(--m2-btn-danger) !important;
}

body.erp-app .sidebar .nav button.active,
body.erp-app .sidebar .nav button[aria-current="true"] {
  border-color: transparent !important;
  background: var(--m2-btn-accent-soft) !important;
  color: var(--m2-btn-accent) !important;
}

/* Strong per-control state overrides for disabled/empty workflow states. */
body.erp-app #clearExportPage,
body.erp-app #systemCheckFixBtn,
body.erp-app #startExportMapping,
body.erp-app #exportMissingTemplatePlan,
body.erp-app #exportCompleteTable,
body.source-inbox-frame-page #collectorPauseButton,
body.source-inbox-frame-page #collectorStopButton,
body.source-inbox-frame-page #collectorDeleteButton,
body.source-inbox-frame-page #collectorTransferButton {
  height: var(--m2-btn-height) !important;
  min-height: var(--m2-btn-height) !important;
  max-height: var(--m2-btn-height) !important;
  min-width: 72px !important;
  padding: 0 12px !important;
  border-radius: var(--m2-btn-radius) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 18px !important;
  box-shadow: none !important;
}

body.erp-app .export-listing-header #clearExportPage,
body.erp-app .export-clear-toolbar #clearExportPage {
  height: var(--m2-btn-height) !important;
  min-height: var(--m2-btn-height) !important;
  max-height: var(--m2-btn-height) !important;
  min-width: 96px !important;
  padding: 0 12px !important;
  border-radius: var(--m2-btn-radius) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

body.erp-app #clearExportPage {
  min-width: 96px !important;
}

body.erp-app #systemCheckFixBtn,
body.erp-app #startExportMapping,
body.erp-app #exportCompleteTable,
body.erp-app #exportMissingTemplatePlan {
  min-width: 96px !important;
}

body.source-inbox-frame-page #collectorTransferButton {
  min-width: 96px !important;
}

/* Final legacy override for visible modal actions. */
body.erp-app #accountEditorSubmit,
body.erp-app #accountEditorCancel,
body.erp-app #modalCancelBtn,
body.erp-app #modalConfirmBtn,
body.erp-app #exportFileCancel,
body.erp-app #exportFileConfirm {
  height: var(--m2-btn-height) !important;
  min-height: var(--m2-btn-height) !important;
  max-height: var(--m2-btn-height) !important;
  min-width: 88px !important;
  padding: 0 16px !important;
  border-radius: var(--m2-btn-radius) !important;
  border-style: solid !important;
  border-width: 1px !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 18px !important;
  box-shadow: none !important;
}

body.erp-app #accountEditorSubmit:not(:disabled),
body.erp-app #modalConfirmBtn:not(.danger):not(:disabled),
body.erp-app #exportFileConfirm:not(.danger):not(:disabled) {
  border-color: var(--m2-btn-accent) !important;
  background: var(--m2-btn-accent) !important;
  color: #ffffff !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .16) inset !important;
}

body.erp-app #accountEditorSubmit:hover:not(:disabled),
body.erp-app #modalConfirmBtn:not(.danger):hover:not(:disabled),
body.erp-app #exportFileConfirm:not(.danger):hover:not(:disabled) {
  border-color: var(--m2-btn-accent-hover) !important;
  background: var(--m2-btn-accent-hover) !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

body.erp-app #accountEditorCancel:not(:disabled),
body.erp-app #modalCancelBtn:not(:disabled),
body.erp-app #exportFileCancel:not(:disabled) {
  border-color: var(--m2-btn-border) !important;
  background: var(--m2-btn-neutral) !important;
  color: var(--m2-btn-text) !important;
}

body.erp-app #accountEditorCancel:hover:not(:disabled),
body.erp-app #modalCancelBtn:hover:not(:disabled),
body.erp-app #exportFileCancel:hover:not(:disabled) {
  border-color: #b9c4bd !important;
  background: var(--m2-btn-neutral-hover) !important;
  color: #233129 !important;
}

body.api-app #emptyDeepSeekBtn,
body.api-app #emptyNewBtn {
  height: var(--m2-btn-height) !important;
  min-height: var(--m2-btn-height) !important;
  max-height: var(--m2-btn-height) !important;
  min-width: 0 !important;
  padding: 0 12px !important;
  border-style: solid !important;
  border-width: 1px !important;
  border-radius: var(--m2-btn-radius) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

body.api-app #emptyDeepSeekBtn:not(:disabled) {
  border-color: var(--m2-btn-accent) !important;
  background: var(--m2-btn-accent) !important;
  color: #ffffff !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .16) inset !important;
}

body.api-app #emptyDeepSeekBtn:hover:not(:disabled) {
  border-color: var(--m2-btn-accent-hover) !important;
  background: var(--m2-btn-accent-hover) !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

body.api-app #emptyNewBtn:not(:disabled) {
  border-color: var(--m2-btn-border) !important;
  background: var(--m2-btn-neutral) !important;
  color: var(--m2-btn-text) !important;
}

body.api-app #emptyNewBtn:hover:not(:disabled) {
  border-color: #b9c4bd !important;
  background: var(--m2-btn-neutral-hover) !important;
  color: #233129 !important;
}

body.erp-app #clearExportPage:not(:disabled) {
  border-color: var(--m2-btn-border) !important;
  background: var(--m2-btn-neutral) !important;
  color: var(--m2-btn-text) !important;
}

body.erp-app #clearExportPage:hover:not(:disabled),
body.erp-app .export-listing-header #clearExportPage:hover:not(:disabled),
body.erp-app .export-clear-toolbar #clearExportPage:hover:not(:disabled) {
  border-color: #b9c4bd !important;
  background: var(--m2-btn-neutral-hover) !important;
  color: #233129 !important;
}

body.erp-app #systemCheckFixBtn:disabled,
body.erp-app #startExportMapping:disabled,
body.erp-app #exportMissingTemplatePlan:disabled,
body.erp-app #exportCompleteTable:disabled,
body.source-inbox-frame-page #collectorPauseButton:disabled,
body.source-inbox-frame-page #collectorStopButton:disabled,
body.source-inbox-frame-page #collectorDeleteButton:disabled,
body.source-inbox-frame-page #collectorTransferButton:disabled {
  cursor: not-allowed !important;
  border-color: var(--m2-btn-disabled-border) !important;
  background: var(--m2-btn-disabled-bg) !important;
  color: var(--m2-btn-disabled-text) !important;
  opacity: 1 !important;
  box-shadow: none !important;
}

/* Fast-response layer: keep feedback crisp without changing behavior. */
:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.copywriting-app,
  body.api-app,
  body.templates-app
) :is(
  button,
  a,
  input,
  select,
  textarea,
  [role="button"],
  .view.active,
  .user-popover,
  .modal-backdrop,
  .collector-detail-panel,
  .collector-image-lightbox,
  .erp-toast,
  .module-toast,
  .moduleToast
) {
  transition-duration: .06s !important;
  transition-delay: 0s !important;
  animation-duration: .08s !important;
  animation-delay: 0s !important;
}

:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.copywriting-app,
  body.api-app,
  body.templates-app
) {
  scroll-behavior: auto !important;
}

/* ===== css/layout-dialogs-v191.css ===== */
/* Layout dialogs v191: visual-only dialog, drawer, popover and toast convergence.
   This layer does not change handlers, workflows, storage, API logic or any
   business behavior. It exists to remove remaining legacy color/radius/
   spacing conflicts from dialogs and floating feedback surfaces. */

:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.source-inbox-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app
) {
  --m2-dialog-surface: #ffffff;
  --m2-dialog-surface-soft: #f7f9f8;
  --m2-dialog-surface-hover: #f0f4f1;
  --m2-dialog-line: #e3e7e4;
  --m2-dialog-line-strong: #ccd3cf;
  --m2-dialog-text: #202622;
  --m2-dialog-muted: #68736c;
  --m2-dialog-accent: #2f6b4f;
  --m2-dialog-accent-hover: #275a42;
  --m2-dialog-accent-soft: #eaf3ed;
  --m2-dialog-danger: #a6514c;
  --m2-dialog-danger-soft: #fbf0ee;
  --m2-dialog-warning: #9a7537;
  --m2-dialog-warning-soft: #fbf4e8;
  --m2-dialog-radius: 10px;
  --m2-dialog-control-radius: 8px;
  --m2-dialog-overlay: rgba(15, 24, 19, .46);
  --m2-dialog-shadow: 0 18px 48px rgba(20, 28, 24, .16);
  --m2-dialog-menu-shadow: 0 12px 28px rgba(20, 28, 24, .14);
}

/* ------------------------------------------------------------------ */
/* Backdrops and floating surfaces                                     */
/* ------------------------------------------------------------------ */
:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.source-inbox-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app
) :is(
  .modal-backdrop,
  .account-editor-backdrop,
  .dialog-backdrop,
  .product-detail-backdrop,
  .erp-image-zoom-backdrop,
  .runtime-dialog-backdrop,
  .collector-detail-backdrop
) {
  background: var(--m2-dialog-overlay) !important;
  -webkit-backdrop-filter: blur(6px) saturate(.94) !important;
  backdrop-filter: blur(6px) saturate(.94) !important;
}

:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.source-inbox-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app
) :is(
  .modal-backdrop,
  .account-editor-backdrop,
  .dialog-backdrop,
  .erp-image-zoom-backdrop,
  .runtime-dialog-backdrop
) {
  padding: 18px !important;
}

/* Source-inbox drawer keeps its own overlay child because it also hosts a
   right-side drawer rather than a centered dialog. */
body.source-inbox-frame-page .collector-detail-backdrop,
body.source-inbox-app .collector-detail-backdrop {
  background: rgba(15, 24, 19, .36) !important;
  -webkit-backdrop-filter: blur(3px) !important;
  backdrop-filter: blur(3px) !important;
}

body.erp-app .product-detail-backdrop {
  background: rgba(15, 24, 19, .30) !important;
  -webkit-backdrop-filter: blur(2px) !important;
  backdrop-filter: blur(2px) !important;
}

/* ------------------------------------------------------------------ */
/* Centered modal geometry                                             */
/* ------------------------------------------------------------------ */
body.erp-app :is(
  .system-modal,
  .account-editor-modal,
  .export-file-modal
),
body.source-inbox-frame-page :is(
  .runtime-dialog
),
body.source-inbox-app :is(
  .runtime-dialog
),
body.copywriting-app .runtime-dialog,
body.api-app .runtime-dialog,
body.templates-app .runtime-dialog {
  width: min(400px, calc(100vw - 28px)) !important;
  max-width: 400px !important;
  max-height: min(640px, calc(100vh - 28px)) !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  overflow: hidden !important;
  border: 1px solid var(--m2-dialog-line) !important;
  border-radius: var(--m2-dialog-radius) !important;
  background: var(--m2-dialog-surface) !important;
  box-shadow: var(--m2-dialog-shadow) !important;
}

body.erp-app .system-modal {
  width: min(380px, calc(100vw - 28px)) !important;
  max-width: 380px !important;
  max-height: min(460px, calc(100vh - 28px)) !important;
}

body.erp-app .account-editor-modal {
  width: min(440px, calc(100vw - 28px)) !important;
  max-width: 440px !important;
  max-height: min(620px, calc(100vh - 28px)) !important;
}

body.erp-app .export-file-modal {
  width: min(420px, calc(100vw - 28px)) !important;
  max-width: 420px !important;
  max-height: min(600px, calc(100vh - 28px)) !important;
}

/* Runtime confirmation and input dialogs can grow slightly when they carry
   an editable field, but remain content-adaptive on short viewports. */
body.copywriting-app .runtime-dialog,
body.api-app .runtime-dialog,
body.templates-app .runtime-dialog,
body.source-inbox-frame-page .runtime-dialog {
  width: min(380px, calc(100vw - 28px)) !important;
  max-width: 380px !important;
  max-height: min(600px, calc(100vh - 28px)) !important;
}

:is(
  body.copywriting-app,
  body.api-app,
  body.templates-app,
  body.source-inbox-frame-page
) .runtime-dialog:has(.runtime-dialog-input) {
  width: min(430px, calc(100vw - 28px)) !important;
  max-width: 430px !important;
}

body.erp-app .runtime-dialog {
  width: min(380px, calc(100vw - 28px)) !important;
  max-width: 380px !important;
  max-height: min(600px, calc(100vh - 28px)) !important;
}

body.erp-app .runtime-dialog:has(.runtime-dialog-input) {
  width: min(430px, calc(100vw - 28px)) !important;
  max-width: 430px !important;
}

/* ------------------------------------------------------------------ */
/* Dialog copy and header/body spacing                                 */
/* ------------------------------------------------------------------ */
body.erp-app :is(
  .system-modal-copy,
  .account-editor-body,
  .export-file-modal-copy,
  .product-detail-body
),
body.source-inbox-frame-page .collector-detail-body,
body.source-inbox-app .collector-detail-body {
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 16px 18px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(32, 38, 34, .24) transparent !important;
}

body.erp-app .system-modal-copy {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  padding: 20px 20px 16px !important;
  text-align: center !important;
}

body.erp-app .system-modal-copy h2,
body.erp-app .account-editor-header h2,
body.erp-app .product-detail-header h2,
body.erp-app .export-file-modal-copy h2,
body.source-inbox-frame-page .collector-detail-head h2,
body.source-inbox-app .collector-detail-head h2,
:is(
  body.erp-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app,
  body.source-inbox-frame-page
) .runtime-dialog-copy h2 {
  margin: 0 !important;
  color: var(--m2-dialog-text) !important;
  font-size: 15px !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
}

body.erp-app :is(
  .system-modal-copy p,
  .export-file-modal-copy p,
  .account-editor-header p,
  .product-detail-header p
),
:is(
  body.erp-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app,
  body.source-inbox-frame-page
) .runtime-dialog-copy p {
  margin: 7px 0 0 !important;
  color: var(--m2-dialog-muted) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

body.erp-app .account-editor-header,
body.erp-app .product-detail-header,
body.source-inbox-frame-page .collector-detail-head,
body.source-inbox-app .collector-detail-head {
  min-height: 52px !important;
  height: 52px !important;
  max-height: 52px !important;
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 0 16px !important;
  border-bottom: 1px solid var(--m2-dialog-line) !important;
  border-radius: 0 !important;
  background: var(--m2-dialog-surface) !important;
}

body.erp-app .account-editor-header > div,
body.erp-app .product-detail-header > div,
body.source-inbox-frame-page .collector-detail-head-copy {
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

body.erp-app .product-detail-header p,
body.erp-app .account-editor-header p {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.erp-app .account-editor-body {
  display: block !important;
}

body.erp-app .account-editor-fields {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px 12px !important;
  margin: 0 0 12px !important;
}

body.erp-app .account-editor-field {
  min-width: 0 !important;
  margin: 0 !important;
}

body.erp-app .account-editor-field.span-2,
body.erp-app .account-editor-field:has(input[type="checkbox"]) {
  grid-column: 1 / -1 !important;
}

body.erp-app .account-editor-field > span,
body.erp-app .account-editor-field label > span,
body.erp-app .export-file-modal-copy > label {
  display: block !important;
  margin: 0 0 5px !important;
  color: var(--m2-dialog-muted) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 18px !important;
}

body.erp-app :is(
  .account-editor-field input,
  .account-editor-field select,
  .account-editor-field textarea,
  .export-file-modal-copy input,
  .export-file-modal-copy select,
  .export-file-modal-copy textarea
) {
  width: 100% !important;
  min-width: 0 !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 10px !important;
  border: 1px solid var(--m2-dialog-line-strong) !important;
  border-radius: var(--m2-dialog-control-radius) !important;
  outline: 0 !important;
  background: var(--m2-dialog-surface) !important;
  color: var(--m2-dialog-text) !important;
  font-size: 13px !important;
  line-height: 20px !important;
  box-shadow: none !important;
}

body.erp-app :is(
  .account-editor-field textarea,
  .export-file-modal-copy textarea
) {
  height: auto !important;
  min-height: 76px !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  resize: vertical !important;
}

body.erp-app :is(
  .account-editor-field input:focus,
  .account-editor-field select:focus,
  .account-editor-field textarea:focus,
  .export-file-modal-copy input:focus,
  .export-file-modal-copy select:focus,
  .export-file-modal-copy textarea:focus
),
:is(
  body.erp-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app,
  body.source-inbox-frame-page
) .runtime-dialog-input:focus {
  border-color: rgba(47, 107, 79, .68) !important;
  box-shadow: 0 0 0 3px rgba(47, 107, 79, .12) !important;
}

body.erp-app .account-editor-field .password-control button {
  min-width: 40px !important;
  height: 26px !important;
  min-height: 26px !important;
  padding: 0 8px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: var(--m2-dialog-muted) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
}

/* Runtime prompt input follows the same quiet form language. */
:is(
  body.erp-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app,
  body.source-inbox-frame-page
) .runtime-dialog-body {
  padding: 0 18px 14px !important;
}

:is(
  body.erp-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app,
  body.source-inbox-frame-page
) .runtime-dialog-input {
  width: 100% !important;
  min-width: 0 !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 10px !important;
  border: 1px solid var(--m2-dialog-line-strong) !important;
  border-radius: var(--m2-dialog-control-radius) !important;
  outline: 0 !important;
  background: var(--m2-dialog-surface) !important;
  color: var(--m2-dialog-text) !important;
  font-family: var(--m2-font-ui, inherit) !important;
  font-size: 13px !important;
  line-height: 20px !important;
  box-shadow: none !important;
}

:is(
  body.erp-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app,
  body.source-inbox-frame-page
) textarea.runtime-dialog-input {
  height: auto !important;
  min-height: 88px !important;
  padding: 8px 10px !important;
  resize: vertical !important;
}

/* ------------------------------------------------------------------ */
/* Dialog action rows                                                  */
/* ------------------------------------------------------------------ */
body.erp-app :is(
  .system-modal-actions,
  .account-editor-actions,
  .export-file-modal-actions
),
body.source-inbox-frame-page .collector-detail-actions,
body.source-inbox-app .collector-detail-actions,
:is(
  body.erp-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app,
  body.source-inbox-frame-page
) .runtime-dialog-actions {
  flex: 0 0 auto !important;
  min-height: 54px !important;
  height: auto !important;
  max-height: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  padding: 10px 18px !important;
  border-top: 1px solid var(--m2-dialog-line) !important;
  border-radius: 0 !important;
  background: var(--m2-dialog-surface-soft) !important;
}

/* Root static modal footer was previously split in half. */
body.erp-app #systemModal .system-modal-actions,
body.erp-app #exportFileModal .export-file-modal-actions {
  display: flex !important;
  justify-content: flex-end !important;
}

body.erp-app :is(
  .system-modal-actions button,
  .export-file-modal-actions button,
  .account-editor-actions button
),
body.source-inbox-frame-page .collector-detail-actions button,
body.source-inbox-app .collector-detail-actions button,
:is(
  body.erp-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app,
  body.source-inbox-frame-page
) .runtime-dialog-actions button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 86px !important;
  width: auto !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  padding: 0 14px !important;
  border-style: solid !important;
  border-width: 1px !important;
  border-radius: var(--m2-dialog-control-radius) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  box-shadow: none !important;
}

/* Primary actions: the system's quiet green, not legacy blue. */
body.erp-app :is(
  #accountEditorSubmit,
  #modalConfirmBtn:not(.danger),
  #exportFileConfirm:not(.danger),
  .account-editor-primary:not(:disabled)
),
body.source-inbox-frame-page .collector-detail-actions .collector-button.primary,
body.source-inbox-app .collector-detail-actions .collector-button.primary,
:is(
  body.erp-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app,
  body.source-inbox-frame-page
) .runtime-dialog-button.primary:not(.danger):not(:disabled) {
  border-color: var(--m2-dialog-accent) !important;
  background: var(--m2-dialog-accent) !important;
  color: #ffffff !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16) !important;
}

body.erp-app :is(
  #accountEditorSubmit:hover:not(:disabled),
  #modalConfirmBtn:not(.danger):hover:not(:disabled),
  #exportFileConfirm:not(.danger):hover:not(:disabled),
  .account-editor-primary:hover:not(:disabled)
),
:is(
  body.erp-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app,
  body.source-inbox-frame-page
) .runtime-dialog-button.primary:not(.danger):hover:not(:disabled) {
  border-color: var(--m2-dialog-accent-hover) !important;
  background: var(--m2-dialog-accent-hover) !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

/* Destructive actions stay clearly red but restrained. */
body.erp-app #modalConfirmBtn.danger,
body.erp-app #exportFileConfirm.danger,
:is(
  body.erp-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app,
  body.source-inbox-frame-page
) .runtime-dialog-button.danger:not(:disabled) {
  border-color: var(--m2-dialog-danger) !important;
  background: var(--m2-dialog-danger) !important;
  color: #ffffff !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12) !important;
}

body.erp-app #modalConfirmBtn.danger:hover:not(:disabled),
body.erp-app #exportFileConfirm.danger:hover:not(:disabled),
:is(
  body.erp-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app,
  body.source-inbox-frame-page
) .runtime-dialog-button.danger:hover:not(:disabled) {
  border-color: #8d3d39 !important;
  background: #8d3d39 !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

/* Secondary actions use a neutral white control. */
body.erp-app :is(
  #accountEditorCancel,
  #modalCancelBtn,
  #exportFileCancel,
  .account-editor-secondary:not(:disabled)
),
:is(
  body.erp-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app,
  body.source-inbox-frame-page
) .runtime-dialog-button.secondary:not(:disabled) {
  border-color: var(--m2-dialog-line-strong) !important;
  background: var(--m2-dialog-surface) !important;
  color: var(--m2-dialog-text) !important;
  box-shadow: none !important;
}

body.erp-app :is(
  #accountEditorCancel:hover:not(:disabled),
  #modalCancelBtn:hover:not(:disabled),
  #exportFileCancel:hover:not(:disabled),
  .account-editor-secondary:hover:not(:disabled)
),
:is(
  body.erp-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app,
  body.source-inbox-frame-page
) .runtime-dialog-button.secondary:hover:not(:disabled) {
  border-color: #b9c4bd !important;
  background: var(--m2-dialog-surface-hover) !important;
  color: #233129 !important;
}

/* Disabled modal controls stay visibly unavailable but not broken. */
body.erp-app :is(
  #accountEditorSubmit,
  #accountEditorCancel,
  #modalCancelBtn,
  #modalConfirmBtn,
  #exportFileCancel,
  #exportFileConfirm
):disabled,
:is(
  body.erp-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app,
  body.source-inbox-frame-page
) .runtime-dialog-button:disabled {
  cursor: not-allowed !important;
  border-color: #e0e5e2 !important;
  background: #f3f5f4 !important;
  color: #a2aba6 !important;
  opacity: 1 !important;
  box-shadow: none !important;
}

/* ------------------------------------------------------------------ */
/* Close and icon controls                                             */
/* ------------------------------------------------------------------ */
body.erp-app :is(
  .account-editor-close,
  .product-detail-close
),
body.source-inbox-frame-page .collector-icon-button,
body.source-inbox-app .collector-icon-button {
  width: 30px !important;
  min-width: 30px !important;
  max-width: 30px !important;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid var(--m2-dialog-line) !important;
  border-radius: var(--m2-dialog-control-radius) !important;
  background: var(--m2-dialog-surface) !important;
  color: var(--m2-dialog-muted) !important;
  box-shadow: none !important;
  transition:
    background-color .14s ease,
    color .14s ease,
    border-color .14s ease !important;
}

body.erp-app :is(
  .account-editor-close:hover,
  .product-detail-close:hover
),
body.source-inbox-frame-page .collector-icon-button:hover,
body.source-inbox-app .collector-icon-button:hover {
  border-color: var(--m2-dialog-line-strong) !important;
  background: var(--m2-dialog-surface-hover) !important;
  color: var(--m2-dialog-text) !important;
}

body.erp-app :is(
  .account-editor-close svg,
  .product-detail-close svg,
  .erp-image-zoom-close svg
) {
  width: 15px !important;
  height: 15px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
}

/* ------------------------------------------------------------------ */
/* Product and collector drawers                                      */
/* ------------------------------------------------------------------ */
body.erp-app .product-detail-drawer {
  width: min(680px, calc(100vw - 20px)) !important;
  max-width: 680px !important;
  height: 100% !important;
  max-height: 100% !important;
  border: 0 !important;
  border-left: 1px solid var(--m2-dialog-line) !important;
  border-radius: 0 !important;
  box-shadow: -24px 0 70px rgba(20, 28, 24, .18) !important;
  overflow: hidden !important;
}

body.source-inbox-frame-page .collector-detail,
body.source-inbox-app .collector-detail {
  width: min(640px, 94vw) !important;
  max-width: 640px !important;
  border-radius: 0 !important;
  box-shadow: -20px 0 64px rgba(20, 28, 24, .18) !important;
}

body.source-inbox-frame-page .collector-detail-head,
body.source-inbox-app .collector-detail-head {
  min-height: 52px !important;
  height: 52px !important;
  max-height: 52px !important;
  padding: 0 16px !important;
  background: var(--m2-dialog-surface) !important;
}

body.source-inbox-frame-page .collector-detail-head strong,
body.source-inbox-app .collector-detail-head strong {
  color: var(--m2-dialog-accent) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 16px !important;
}

body.source-inbox-frame-page .collector-detail-head h2,
body.source-inbox-app .collector-detail-head h2 {
  margin: 2px 0 0 !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
}

body.source-inbox-frame-page .collector-detail-actions,
body.source-inbox-app .collector-detail-actions {
  min-height: 54px !important;
  height: 54px !important;
  max-height: 54px !important;
  padding: 0 16px !important;
  background: var(--m2-dialog-surface-soft) !important;
}

body.source-inbox-frame-page .collector-detail-section,
body.source-inbox-app .collector-detail-section {
  margin-bottom: 14px !important;
  color: var(--m2-dialog-text) !important;
  background: transparent !important;
}

body.source-inbox-frame-page .collector-detail-section h3,
body.source-inbox-app .collector-detail-section h3 {
  color: var(--m2-dialog-text) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 20px !important;
}

body.source-inbox-frame-page .collector-detail-image-grid,
body.source-inbox-app .collector-detail-image-grid {
  grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)) !important;
  gap: 8px !important;
}

body.source-inbox-frame-page .collector-detail-image,
body.source-inbox-app .collector-detail-image {
  position: relative !important;
  aspect-ratio: 1 !important;
  overflow: hidden !important;
  border: 1px solid rgba(47, 107, 79, .10) !important;
  border-radius: 8px !important;
  background: var(--m2-dialog-surface-soft) !important;
  box-shadow: none !important;
}

body.source-inbox-frame-page .collector-detail-image img,
body.source-inbox-app .collector-detail-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

body.source-inbox-frame-page .collector-field label,
body.source-inbox-app .collector-field label,
body.erp-app .product-detail-body label {
  color: var(--m2-dialog-muted) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 18px !important;
}

body.source-inbox-frame-page .collector-field textarea,
body.source-inbox-app .collector-field textarea {
  border-color: var(--m2-dialog-line-strong) !important;
  border-radius: var(--m2-dialog-control-radius) !important;
  background: var(--m2-dialog-surface) !important;
  color: var(--m2-dialog-text) !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}

body.source-inbox-frame-page .collector-detail-meta-row,
body.source-inbox-app .collector-detail-meta-row {
  grid-template-columns: 108px minmax(0, 1fr) !important;
  gap: 10px !important;
  padding: 7px 0 !important;
  border-bottom: 1px solid rgba(227, 231, 228, .72) !important;
}

body.source-inbox-frame-page .collector-detail-meta-row dt,
body.source-inbox-app .collector-detail-meta-row dt {
  color: var(--m2-dialog-muted) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

body.source-inbox-frame-page .collector-detail-meta-row dd,
body.source-inbox-app .collector-detail-meta-row dd {
  color: var(--m2-dialog-text) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}

/* ------------------------------------------------------------------ */
/* Image zoom, lightbox and hover preview                              */
/* ------------------------------------------------------------------ */
body.source-inbox-frame-page .collector-image-lightbox,
body.source-inbox-app .collector-image-lightbox {
  padding: 22px !important;
  background: rgba(9, 14, 12, .84) !important;
}

body.source-inbox-frame-page .collector-image-lightbox img,
body.source-inbox-app .collector-image-lightbox img {
  max-width: min(88vw, 1500px) !important;
  max-height: 92vh !important;
  border-radius: 6px !important;
  background: #ffffff !important;
  box-shadow: 0 22px 70px rgba(0, 0, 0, .30) !important;
}

body.source-inbox-frame-page .collector-image-lightbox-close,
body.source-inbox-app .collector-image-lightbox-close {
  position: fixed !important;
  top: 18px !important;
  right: 18px !important;
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(255, 255, 255, .16) !important;
  border-radius: 50% !important;
  color: #ffffff !important;
  background: rgba(18, 26, 22, .62) !important;
  box-shadow: none !important;
  font-size: 20px !important;
  line-height: 1 !important;
}

body.source-inbox-frame-page .collector-image-lightbox-close:hover,
body.source-inbox-app .collector-image-lightbox-close:hover {
  background: rgba(18, 26, 22, .84) !important;
  color: #ffffff !important;
}

body.erp-app .erp-image-zoom-backdrop {
  padding: 18px !important;
  background: rgba(9, 14, 12, .72) !important;
}

body.erp-app .erp-image-zoom-dialog {
  position: relative !important;
  width: auto !important;
  max-width: min(920px, calc(100vw - 36px)) !important;
  max-height: calc(100vh - 36px) !important;
  display: grid !important;
  place-items: center !important;
  padding: 14px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 255, 255, .12) !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .34) !important;
}

body.erp-app .erp-image-zoom-dialog img {
  display: block !important;
  max-width: calc(100vw - 64px) !important;
  max-height: calc(100vh - 64px) !important;
  border-radius: 5px !important;
  object-fit: contain !important;
  background: #ffffff !important;
}

body.erp-app .erp-image-zoom-close {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 50% !important;
  color: #ffffff !important;
  background: rgba(18, 26, 22, .60) !important;
  box-shadow: none !important;
}

body.erp-app .erp-image-zoom-close:hover {
  background: rgba(18, 26, 22, .82) !important;
  color: #ffffff !important;
}

/* ------------------------------------------------------------------ */
/* Toasts and floating feedback                                        */
/* ------------------------------------------------------------------ */
:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.source-inbox-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app
) :is(
  .erp-toast,
  .collector-toast,
  .moduleToast,
  .module-toast,
  .toast
) {
  left: 50% !important;
  right: auto !important;
  bottom: 18px !important;
  z-index: 3000 !important;
  width: auto !important;
  max-width: min(460px, calc(100vw - 32px)) !important;
  min-width: 220px !important;
  min-height: 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px 14px !important;
  border: 1px solid rgba(255, 255, 255, .10) !important;
  border-radius: 8px !important;
  background: rgba(32, 38, 34, .96) !important;
  color: #ffffff !important;
  box-shadow: 0 12px 30px rgba(16, 23, 19, .18) !important;
  font-size: 12px !important;
  font-weight: 550 !important;
  line-height: 18px !important;
  text-align: center !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  pointer-events: none !important;
}

:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.source-inbox-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app
) :is(
  .erp-toast,
  .collector-toast,
  .moduleToast,
  .module-toast,
  .toast
).show {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translate(-50%, 0) !important;
}

:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.source-inbox-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app
) :is(
  .erp-toast.success,
  .collector-toast.success,
  .moduleToast.success,
  .module-toast.success,
  .toast.success
) {
  border-color: rgba(255, 255, 255, .10) !important;
  background: rgba(47, 107, 79, .96) !important;
}

:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.source-inbox-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app
) :is(
  .erp-toast.warning,
  .collector-toast.warning,
  .moduleToast.warning,
  .module-toast.warning,
  .toast.warning
) {
  border-color: rgba(255, 255, 255, .10) !important;
  background: rgba(154, 117, 55, .96) !important;
}

:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.source-inbox-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app
) :is(
  .erp-toast.error,
  .collector-toast.error,
  .moduleToast.error,
  .module-toast.error,
  .toast.error
) {
  border-color: rgba(255, 255, 255, .10) !important;
  background: rgba(166, 81, 76, .97) !important;
}

body.erp-app :is(
  .account-editor-feedback,
  .export-file-message
) {
  min-height: 0 !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--m2-dialog-muted) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 18px !important;
}

body.erp-app .account-editor-feedback.error,
body.erp-app .export-file-message.error {
  color: var(--m2-dialog-danger) !important;
}

body.erp-app .account-editor-feedback.success,
body.erp-app .export-file-message.success {
  color: var(--m2-dialog-accent) !important;
}

/* ------------------------------------------------------------------ */
/* Popover menus                                                       */
/* ------------------------------------------------------------------ */
body.erp-app :is(
  .user-popover,
  .account-action-menu
) {
  border: 1px solid var(--m2-dialog-line) !important;
  border-radius: 9px !important;
  background: var(--m2-dialog-surface) !important;
  box-shadow: var(--m2-dialog-menu-shadow) !important;
}

body.erp-app .account-action-menu {
  width: 168px !important;
  min-width: 168px !important;
  padding: 5px !important;
  overflow: hidden !important;
}

body.erp-app .account-action-menu button {
  width: 100% !important;
  min-width: 0 !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  margin: 0 !important;
  padding: 0 9px !important;
  border: 0 !important;
  border-radius: 7px !important;
  background: transparent !important;
  color: var(--m2-dialog-text) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-align: left !important;
}

body.erp-app .account-action-menu button:hover {
  background: var(--m2-dialog-surface-hover) !important;
  color: var(--m2-dialog-text) !important;
}

body.erp-app .account-action-menu button.danger {
  color: var(--m2-dialog-danger) !important;
}

body.erp-app .account-action-menu button.danger:hover {
  background: var(--m2-dialog-danger-soft) !important;
  color: var(--m2-dialog-danger) !important;
}

/* ------------------------------------------------------------------ */
/* Small responsive refinements                                        */
/* ------------------------------------------------------------------ */
@media (max-width: 720px) {
  :is(
    body.erp-app,
    body.copywriting-app,
    body.api-app,
    body.templates-app,
    body.source-inbox-frame-page
  ) :is(
    .modal-backdrop,
    .account-editor-backdrop,
    .dialog-backdrop,
    .runtime-dialog-backdrop
  ) {
    padding: 12px !important;
    align-items: center !important;
  }

  body.erp-app .account-editor-fields {
    grid-template-columns: 1fr !important;
  }

  body.source-inbox-frame-page .collector-detail,
  body.source-inbox-app .collector-detail,
  body.erp-app .product-detail-drawer {
    width: min(100vw, 100%) !important;
    max-width: 100vw !important;
  }

  body.erp-app :is(
    .system-modal,
    .account-editor-modal,
    .export-file-modal
  ),
  :is(
    body.erp-app,
    body.copywriting-app,
    body.api-app,
    body.templates-app,
    body.source-inbox-frame-page
  ) .runtime-dialog {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(
    body.erp-app,
    body.source-inbox-frame-page,
    body.source-inbox-app,
    body.copywriting-app,
    body.api-app,
    body.templates-app
  ) :is(
    .modal-backdrop,
    .account-editor-backdrop,
    .product-detail-backdrop,
    .erp-image-zoom-backdrop,
    .runtime-dialog-backdrop,
    .collector-detail-backdrop
  ) {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
}

body.erp-app .export-product-mode-fixed {
  width: 100% !important;
  height: 38px !important;
  display: flex !important;
  align-items: center !important;
  margin: 0 0 12px !important;
  padding: 0 12px !important;
  border: 1px solid var(--yftx-line-strong) !important;
  border-radius: var(--yftx-radius-control) !important;
  background: var(--yftx-surface-soft) !important;
  color: var(--yftx-muted) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

/* ===== css/layout-account-v192.css ===== */
/* Account management table alignment: enforced as the final stylesheet layer. */
body.erp-app .account-table-header,
body.erp-app .account-table-header > span,
body.erp-app .account-table-cell,
body.erp-app .account-table-cell-name,
body.erp-app .account-table-cell-account,
body.erp-app .account-table-cell-status,
body.erp-app .account-table-cell-edit,
body.erp-app .account-list-empty .account-table-cell {
  justify-content: center !important;
  text-align: center !important;
  text-align-last: center !important;
}

body.erp-app .account-table-header > span,
body.erp-app .account-table-cell {
  display: flex !important;
  align-items: center !important;
}

body.erp-app .account-table-header > span:nth-child(-n + 2),
body.erp-app .account-table-header > span:nth-child(n + 3) {
  justify-content: center !important;
  text-align: center !important;
  text-align-last: center !important;
}

body.erp-app .account-table-cell-name > span,
body.erp-app .account-table-cell-account {
  text-align: center !important;
  text-align-last: center !important;
}

body.erp-app .account-status-badge,
body.erp-app .account-more-button {
  margin-inline: auto !important;
}

/* 2026-09-14：账号管理页收尾（老板要求）：
   1) 整个模块水平居中，不要贴左边；
   2) 「新增账号」按钮居中（原来靠左）；
   3) 「总账号」分组行、名字后面的「老板」徽章、侧边栏底部的「老板」两个字都已经删掉。 */
body.erp-app .accounts-shell-minimal {
  width: min(680px, 100%) !important;
  max-width: 680px !important;
  margin: 0 auto !important;
}

body.erp-app .accounts-list-head {
  justify-content: center !important;
  padding: 14px 0 12px !important;
}

body.erp-app .accounts-list-title {
  display: none !important;
}

/* 四列改成等宽：原来「姓名」占 1.35fr、「编辑」只有 54px，左边松右边挤。 */
body.erp-app .account-table-header,
body.erp-app .account-table-row {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  padding: 0 14px !important;
}

/* ===== css/system-polish.css ===== */
/* 与飞同行 · 统一视觉收口层
 * 加载顺序：所有页面最后一个样式表。
 * 只做视觉、排版、文案与交互时长的统一，不改变任何功能与流程。
 * 设计令牌冻结：字号 12/13/15/18（正文最小 12px）、按钮高度 3 档、圆角 4 档、危险色 1 种、主色 1 种。
 */
:root {
  /* 字号（唯一允许的 4 档；正文与状态文字不得小于 12px） */
  --yf-font-min: 12px;
  --yf-font-xs: 12px;
  --yf-font-sm: 12px;
  --yf-font-md: 13px;
  --yf-font-base: 13px;
  --yf-font-lg: 15px;
  --yf-font-xl: 18px;

  /* 控件高度（唯一允许的 3 档） */
  --yf-control-sm: 32px;
  --yf-control-md: 36px;
  --yf-control-lg: 40px;

  /* 圆角（唯一允许的 4 档） */
  --yf-radius-control: 8px;
  --yf-radius-card: 10px;
  --yf-radius-dialog: 12px;
  --yf-radius-panel: 14px;

  /* 主色与语义色 */
  --yf-primary: #2f6b4f;
  --yf-primary-hover: #275c43;
  --yf-primary-soft: #eaf3ed;
  --yf-primary-text: #2f6b4f;
  --yf-danger: #9c4a44;
  --yf-danger-soft: #fbf0ee;
  --yf-danger-line: rgba(156, 74, 68, 0.22);
  --yf-info: #2b6cb0;
  --yf-info-soft: #eef4fb;
  --yf-warn: #8a6a2f;
  --yf-warn-soft: #fdf6e7;

  /* 中性色 */
  --yf-text: #1f2621;
  --yf-text-soft: #55605a;
  --yf-text-muted: #78827c;
  --yf-disabled-bg: #f1f3f2;
  --yf-disabled-text: #8d9691;
  --yf-line: rgba(23, 24, 28, 0.12);
  --yf-line-soft: rgba(23, 24, 28, 0.08);
  --yf-backdrop: rgba(17, 24, 28, 0.45);
  --yf-shadow-dialog: 0 18px 48px rgba(17, 24, 28, 0.16);

  /* 交互时长 */
  --yf-dur-fast: 80ms;
  --yf-dur-base: 120ms;

}

/* 弹窗令牌收口：这套变量由 layout-dialogs 在 body 上声明并被全量引用，
   必须声明在同一层级才能真正覆盖；改这里等于全站弹窗统一。 */
:is(
  body.erp-app,
  body.source-inbox-frame-page,
  body.source-inbox-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app
) {
  --m2-dialog-overlay: rgba(17, 24, 28, 0.45) !important;
  --m2-dialog-danger: #9c4a44 !important;
  --m2-dialog-danger-soft: #fbf0ee !important;
  --m2-dialog-accent: #2f6b4f !important;
  --m2-dialog-accent-hover: #275c43 !important;
  --m2-dialog-radius: 12px !important;
  --m2-dialog-control-radius: 8px !important;
  --m2-dialog-muted: #55605a !important;
  --m2-dialog-shadow: 0 18px 48px rgba(17, 24, 28, 0.16) !important;
}

/* ---------- 1. 交互时长与按压反馈 ---------- */
button,
.workflowButton,
.pageClearButton,
.selectionDeleteButton,
.selectionPromptButton,
.embeddedRemovalButton,
.collector-button,
.export-mapping-button,
.export-complete-button,
.export-quiet-delete,
.user-menu-action,
.modal-btn,
.runtime-dialog-button {
  transition:
    background-color var(--yf-dur-fast) ease,
    border-color var(--yf-dur-fast) ease,
    color var(--yf-dur-fast) ease,
    box-shadow var(--yf-dur-fast) ease !important;
}

button:active:not(:disabled) {
  transform: none !important;
}

/* ---------- 2. 字号收敛 ---------- */
table th {
  font-size: var(--yf-font-xs) !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
}

table td {
  font-size: var(--yf-font-sm) !important;
}

body.erp-app .sidebar .nav button,
body.erp-app .nav button {
  font-size: var(--yf-font-md) !important;
}

body.erp-app .sidebar .user-name,
body.erp-app .user-name {
  font-size: var(--yf-font-sm) !important;
}

.commandBar button,
.collector-commandbar button,
.export-listing-header button {
  font-size: var(--yf-font-sm) !important;
}

.mapping-status-badge,
.copy-status,
.collector-inline-status,
.tableFootnote {
  font-size: var(--yf-font-xs) !important;
}

/* 2026-09-17（C 方案）：上架准备页的"类目 + 置信度 + 手动改类目"单元格。 */
body.erp-app .mapping-category-cell {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  margin-right: 4px !important;
  vertical-align: middle !important;
}
body.erp-app .mapping-category-cell select {
  max-width: 132px !important;
  height: 24px !important;
  padding: 0 4px !important;
  border: 1px solid var(--yftx-line-strong) !important;
  border-radius: 6px !important;
  background: var(--yftx-surface) !important;
  color: var(--yftx-text) !important;
  font-size: 11px !important;
}
body.erp-app .mapping-category-cell small {
  color: var(--yftx-subtle) !important;
  font-size: 10px !important;
  white-space: nowrap !important;
}

/* 历史遗留的 10 / 10.5px 小字统一抬到 11px（18 处规则分散在多层样式里） */
:is(
  body.erp-app,
  body.api-app,
  body.templates-app,
  body.copywriting-app,
  body.source-inbox-frame-page
) :is(
  .mapping-status-badge,
  .export-mapping-issue-item,
  .export-mapping-issue-more,
  .system-check-badge,
  .template-meta,
  .browse-path,
  .template-title small,
  .provider-dot,
  .status-pill,
  .connection-card small,
  .result-head span
) {
  font-size: var(--yf-font-min) !important;
}

.mapping-status-badge {
  min-height: 22px !important;
  padding: 2px 8px !important;
  border-radius: var(--yf-radius-control) !important;
  line-height: 16px !important;
}

/* ---------- 3. 按钮高度、圆角与语义色 ---------- */
.pageClearButton,
.selectionDeleteButton,
.selectionPromptButton,
.embeddedRemovalButton,
.workflowButton,
.collector-button,
.export-listing-header button,
.erp-toast ~ * button,
.image-tool-button,
.image-open-doubao,
.export-mapping-button,
.export-complete-button,
.export-quiet-delete {
  height: var(--yf-control-sm) !important;
  min-height: var(--yf-control-sm) !important;
  max-height: var(--yf-control-sm) !important;
  border-radius: var(--yf-radius-control) !important;
}

.modal-btn,
.account-modal-button,
.runtime-dialog-button,
.collector-detail-actions button {
  height: var(--yf-control-sm) !important;
  min-height: var(--yf-control-sm) !important;
  border-radius: var(--yf-radius-control) !important;
}

.system-check-button.primary,
#loginSubmitBtn {
  height: var(--yf-control-md) !important;
  border-radius: var(--yf-radius-control) !important;
}

/* 主色统一为绿；蓝色只保留给链接与信息提示 */
#loginSubmitBtn,
.modal-btn.confirm:not(.danger),
.system-check-button.primary,
.account-add-button,
#collectorStartButton,
#startExportMapping,
#embeddedTransferExport,
.export-mapping-button:not(.secondary),
.export-complete-button,
.image-open-doubao,
.transferRemovalButton {
  border-color: var(--yf-primary) !important;
  background: var(--yf-primary) !important;
  color: #fff !important;
  box-shadow: none !important;
}

#loginSubmitBtn:hover:not(:disabled),
.modal-btn.confirm:not(.danger):hover:not(:disabled),
.system-check-button.primary:hover:not(:disabled),
.account-add-button:hover:not(:disabled),
#collectorStartButton:hover:not(:disabled),
#startExportMapping:hover:not(:disabled),
#embeddedTransferExport:hover:not(:disabled),
.export-mapping-button:not(.secondary):hover:not(:disabled),
.export-complete-button:hover:not(:disabled),
.image-open-doubao:hover:not(:disabled),
.transferRemovalButton:hover:not(:disabled) {
  border-color: var(--yf-primary-hover) !important;
  background: var(--yf-primary-hover) !important;
  color: #fff !important;
}

/* 危险操作统一为一种红 + 一种浅底 */
.selectionDeleteButton,
.embeddedRemovalButton.danger,
#collectorStopButton,
#collectorDeleteButton,
.export-quiet-delete,
.image-inline-delete,
.removal-secondary-button.danger,
.modal-btn.confirm.danger,
.account-modal-button.danger,
.logout-action {
  border-color: var(--yf-danger-line) !important;
  background: var(--yf-danger-soft) !important;
  color: var(--yf-danger) !important;
  box-shadow: none !important;
}

.selectionDeleteButton:hover:not(:disabled),
.embeddedRemovalButton.danger:hover:not(:disabled),
#collectorStopButton:hover:not(:disabled),
#collectorDeleteButton:hover:not(:disabled),
.export-quiet-delete:hover:not(:disabled),
.image-inline-delete:hover:not(:disabled),
.removal-secondary-button.danger:hover:not(:disabled),
.logout-action:hover:not(:disabled) {
  border-color: rgba(156, 74, 68, 0.34) !important;
  background: #f7e7e4 !important;
  color: #8d413c !important;
}

.runtime-dialog-button.danger,
.runtime-dialog-button.primary.danger {
  border-color: var(--yf-danger) !important;
  background: var(--yf-danger) !important;
  color: #fff !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.14) !important;
}

.runtime-dialog-button.danger:hover {
  border-color: #8d413c !important;
  background: #8d413c !important;
}

/* 禁用态：降低视觉权重但保持可辨识 */
button:disabled,
button[disabled],
.collector-button:disabled,
.export-mapping-button:disabled,
.export-complete-button:disabled {
  border-color: transparent !important;
  background: var(--yf-disabled-bg) !important;
  color: var(--yf-disabled-text) !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

/* 导出类按钮改为描边样式，实心绿只留给主操作 */
#exportCompleteTable:not(:disabled) {
  border-color: var(--yf-line) !important;
  background: #fff !important;
  color: var(--yf-primary-text) !important;
}

#exportCompleteTable:hover:not(:disabled) {
  border-color: rgba(47, 107, 79, 0.34) !important;
  background: var(--yf-primary-soft) !important;
}

/* 缺模板按钮在有内容时用警示描边，避免被忽略 */
#exportMissingTemplatePlan:not([hidden]) {
  border-color: rgba(138, 106, 47, 0.34) !important;
  background: var(--yf-warn-soft) !important;
  color: var(--yf-warn) !important;
}

/* ---------- 4. 工具栏排版 ---------- */
/* 文案优化工具条同样按状态显示：清空要有内容，删除/祛除/转入要有勾选 */
body.copywriting-app .commandBar #clearCopywritingPage[hidden],
body.copywriting-app .commandBar #clearParsePage[hidden],
body.copywriting-app .commandBar #deleteSelected[hidden],
body.copywriting-app .commandBar #embeddedDeleteRemovalSelected[hidden],
body.copywriting-app .commandBar #embeddedStripBrandTerms[hidden],
body.copywriting-app .commandBar #embeddedTransferExport[hidden] {
  display: none !important;
}

/* 上架准备头部同样按状态显示：有商品才出现生成/清空，可导出才出现导出 */
body.erp-app .export-listing-header #clearExportPage[hidden],
body.erp-app .export-listing-header #startExportMapping[hidden],
body.erp-app .export-listing-header #exportMissingTemplatePlan[hidden],
body.erp-app .export-listing-header #exportCompleteTable[hidden],
body.erp-app .export-listing-header #deleteExportSelected[hidden] {
  display: none !important;
}

/* 失败恢复入口与文案 */
body.erp-app .export-listing-header .export-mapping-status.is-error {
  color: var(--yf-danger) !important;
}

body.erp-app .export-listing-header .export-mapping-recovery {
  height: 24px;
  margin-left: 6px;
  padding: 0 8px;
  border: 1px solid rgba(47, 107, 79, 0.28);
  border-radius: 6px;
  background: #fff;
  color: var(--yf-primary-text);
  font-size: var(--yf-font-min);
  font-weight: 650;
  cursor: pointer;
}

body.erp-app .export-listing-header .export-mapping-recovery:hover {
  background: var(--yf-primary-soft);
}

/* 缺模板按钮移到右侧操作组后，保持与导出按钮同高同距 */
body.erp-app .export-listing-actions #exportMissingTemplatePlan {
  height: var(--yf-control-sm) !important;
  min-height: var(--yf-control-sm) !important;
  max-height: var(--yf-control-sm) !important;
}

/* 弹窗按钮宽度统一：次要 64px、主操作/危险 88px */
.export-file-modal .account-modal-button,
.watermark-tool-modal .account-modal-button,
.account-modal .account-modal-button,
body.erp-app .modal-btn {
  min-width: 64px;
}

.export-file-modal .account-modal-button.primary,
.watermark-tool-modal .account-modal-button.primary,
.account-modal .account-modal-button.primary,
body.erp-app .modal-btn.confirm {
  min-width: 88px;
}

/* 导出按钮第一次可用时轻微呼吸一次，避免突然出现被忽略 */
body.erp-app .export-listing-header #exportCompleteTable.attention {
  animation: yf-export-attention 1.6s ease !important;
}

@keyframes yf-export-attention {
  0% {
    box-shadow: 0 0 0 0 rgba(47, 107, 79, 0);
  }
  20% {
    box-shadow: 0 0 0 5px rgba(47, 107, 79, 0.18);
  }
  50% {
    box-shadow: 0 0 0 8px rgba(47, 107, 79, 0.09);
  }
  75% {
    box-shadow: 0 0 0 4px rgba(47, 107, 79, 0.13);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(47, 107, 79, 0);
  }
}

/* 生成中：按钮保持实心绿 + 缓慢呼吸，配合“正在匹配类目模板… 12s”文案 */
body.erp-app .export-listing-header #startExportMapping[aria-busy="true"] {
  border-color: var(--yf-primary) !important;
  background: var(--yf-primary) !important;
  color: #fff !important;
  cursor: progress !important;
  box-shadow: none !important;
  animation: yf-mapping-pulse 1.5s ease-in-out infinite !important;
}

@keyframes yf-mapping-pulse {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.84;
  }
}

.previewDangerZone {
  gap: 8px !important;
}

/* 采集筛选：开始采集固定为操作组第一位，按钮按语义分组留白 */
.collector-commandbar {
  gap: 16px !important;
}

.collector-commandbar-side {
  gap: 8px !important;
}

/* 2026-09-24（老板反馈「按钮被挡住」）：这里原来是 nowrap + overflow-x:auto ——
   注释写着「换到第二行」，实际却是横向滚动，窄屏时靠后的按钮被滚出视野。
   现在真正允许换行：装不下就整体落到第二行，工具栏所在网格行是 auto，高度会自适应。
   注意：不要改回 nowrap，也不要再用 overflow-x:auto。 */
body.source-inbox-frame-page .collector-commandbar {
  flex-wrap: wrap !important;
  row-gap: 8px !important;
  overflow: visible !important;
}

body.source-inbox-frame-page .collector-commandbar :is(.collector-button, .page-clear-button) {
  flex: 0 0 auto !important;
}

/* 2026-09-18（老板要求）：输入框右端要停在表头「链接」那一列的右侧竖线上，并且定死不跳。
   原来这里是 flex:1 1 260px，输入框会占满整行 —— 很长，而且采集开始后右侧多了
   「暂停/停止/状态」就把它挤窄（老板 09-16 提的「开始后突然变短」就是这个）。
   实测（无头 Chrome + 老板截图同一批商品数据）：「链接」列右竖线到输入框左边的距离
   ≈ 0.452 × 工具栏内容宽 − 88px（百分比是按工具栏内容宽算的，不是外框宽）；
   在老板的 1920 窗口里内容宽 1750px → 703px，
   正好等于截图里那条竖线的位置。这个公式在别的窗口宽度下也贴着那条线走。
   数据是表格列宽的函数（表格是 auto 布局），所以这里用比例而不是写死像素。 */
body.source-inbox-frame-page .collector-commandbar .collector-links-input {
  flex: 0 0 auto !important;
  width: 240px !important;
  min-width: 220px !important;
  max-width: 240px !important;
}

/* 窄屏（≤1180px）工具栏本来就要换行，输入框占满整行，别再按 75% 算。 */
@media (max-width: 1180px) {
  body.source-inbox-frame-page .collector-commandbar .collector-links-input {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
  }
}

body.source-inbox-frame-page .collector-commandbar-side {
  /* 2026-09-24：按钮组内部也允许换行，按钮多时不会互相挤扁或被裁掉。 */
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  row-gap: 8px !important;
}

#collectorStartButton {
  order: -1;
}

/* 上架准备头部固定三列，不做换行导致的高度跳动 */
body.erp-app .export-listing-header {
  grid-template-columns: minmax(140px, 1fr) minmax(300px, auto) minmax(180px, 1fr) !important;
  align-items: center !important;
  overflow-x: auto !important;
}

body.erp-app .export-clear-toolbar,
body.erp-app .export-mapping-center,
body.erp-app .export-listing-actions {
  justify-self: auto !important;
}

body.erp-app .export-clear-toolbar {
  justify-self: start !important;
}

body.erp-app .export-mapping-center {
  justify-self: center !important;
}

body.erp-app .export-listing-actions {
  justify-self: end !important;
}

/* 侧栏与账号区层次 */
.erp-app .nav button {
  min-height: var(--yf-control-lg) !important;
}

body.erp-app .user-name {
  color: #5b655f !important;
}

/* ---------- 5. 表格与空状态 ---------- */
/* 采集结果行：明确“整行可点”，并给标题单元格一个显式详情入口 */
body.source-inbox-frame-page #collectorResultTable tbody tr {
  cursor: pointer;
}

body.source-inbox-frame-page #collectorResultTable tbody tr:hover td {
  background: #f7fbf8;
}

body.source-inbox-frame-page #collectorResultTable tbody tr.selected td {
  background: #eef3ed;
}

#dataTable td,
#outputTable td,
.collector-table-wrap td,
.export-listing-table-wrap td,
.removal-table-wrap td,
.image-opt-table-wrap td {
  height: 60px !important;
  max-height: 60px !important;
}

#dataTable th,
#outputTable th,
.collector-table-wrap th,
.export-listing-table-wrap th {
  height: 34px !important;
}

.export-listing-table-wrap th {
  height: 38px !important;
}

/* SKU 列保持可读宽度，长 SKU 走省略号而不是被压成两行 */
#dataTable col.col-sku,
#outputTable col.col-sku,
.collector-table-wrap col.col-sku,
.export-listing-table-wrap col.col-sku {
  width: 120px !important;
}

.collector-table-wrap img,
.image-cell img,
.removal-table-wrap img {
  max-height: 48px !important;
}

.collector-empty-state,
.emptyCell,
.embeddedRemovalEmpty,
.embeddedRemovalEmptyState td,
.export-empty-state,
.image-opt-empty-state {
  color: #8e9792 !important;
  font-size: var(--yf-font-base) !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  text-align: center !important;
}

/* 三处「暂无数据」与上架准备完全对齐：同字号、同颜色、同居中方式 */
:is(body.erp-app, body.copywriting-app, body.source-inbox-frame-page) :is(
  #dataTable .emptyCell,
  #dataTable tbody.centeredEmptyState td,
  .embeddedRemovalEmpty,
  .embeddedRemovalEmptyState td,
  .export-listing-empty,
  .centered-empty-state td,
  .collector-empty-state
) {
  color: #8e9792 !important;
  font-size: var(--yf-font-base) !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  text-align: center !important;
  vertical-align: middle !important;
}

body.copywriting-app #dataTable .emptyCell,
body.copywriting-app #dataTable tbody.centeredEmptyState td,
body.copywriting-app .embeddedRemovalEmpty {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* 采集工具栏按状态显示：空闲只留开始，采集中换成暂停+停止，选中行才出现转入/删除。
   这些按钮的 hidden 属性曾被历史样式表的 display!important 覆盖，这里统一兜住。 */
body.source-inbox-frame-page .collector-commandbar #collectorStartButton[hidden],
body.source-inbox-frame-page .collector-commandbar #collectorPauseButton[hidden],
body.source-inbox-frame-page .collector-commandbar #collectorStopButton[hidden],
body.source-inbox-frame-page .collector-commandbar #collectorTransferButton[hidden],
body.source-inbox-frame-page .collector-commandbar #collectorDeleteButton[hidden],
/* 2026-09-13：新「查看已跳过」+ 三枚按状态显示的工具按钮（品牌词替换 / 顺序替换 / 撤销替换）同样兜住 hidden。 */
body.source-inbox-frame-page .collector-commandbar #collectorSkippedButton[hidden],
body.source-inbox-frame-page .collector-commandbar #collectorBrandReplaceButton[hidden],
body.source-inbox-frame-page .collector-commandbar #collectorOrderButton[hidden],
body.source-inbox-frame-page .collector-commandbar #collectorBrandUndoButton[hidden] {
  display: none !important;
}

/* 2026-09-15：下载采集器从店铺库存搬到采集筛选页之后，它是个 <a>，
   老样式表把 .collector-button 的 display 定死了，结果 [hidden] 藏不住 ——
   扩展已经装好、JS 把 hidden 设上了，页面上还是显示「下载采集器」。
   这里把这条兜住（命令栏里所有 <a> 的 hidden 一起兜）。 */
body.source-inbox-frame-page .collector-commandbar a[hidden],
body.source-inbox-frame-page .collector-commandbar #collectorExtensionLink[hidden] {
  display: none !important;
}

/* 2026-09-15（重大）：采集筛选页的空状态块被 layout-unified-v188 里的
   `body.source-inbox-frame-page .collector-empty-state { display:flex !important; height:100% }`
   顶掉了 [hidden]，于是「有数据」时它照样占满整块内容区（高 736px），
   把真正的结果表整张挤到可视区外面 —— 表现就是「上面说合格 3 个，下面一个都不显示」。
   这里用更高权重把 hidden 抢回来：只有没数据的时才铺满。 */
body.source-inbox-frame-page #collectorEmptyState[hidden] {
  display: none !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* 2026-09-15（总兜底）：这类事故的本质是「历史样式表用 display!important 压掉了 hidden」，
   从下载采集器到空状态已经踩了两次。这里把「hidden 就是隐藏」这条平台默认规则，
   在采集筛选页和 ERP 外壳里整体抢回来 —— 以后新加的元素用 hidden 一定藏得住，
   不需要再逐个 id 打补丁。要显示某元素就用「去掉 hidden」，不要用 display 硬压。 */
/* 类名重复两次是为了把权重抬到 (0,3,2)：历史上那批「按钮统一 inline-flex !important」的规则
   里有 :is(.icon-button.has-label, …) 这种 (0,3,1) 的选择器，普通写法压不过它。 */
html body.source-inbox-frame-page.source-inbox-frame-page [hidden],
html body.erp-app.erp-app [hidden] {
  display: none !important;
}

/* ---------- 7. 图标按钮 ---------- */
/* 单元格长文本悬停提示：替代浏览器原生 title 弹层（原生长文本会撑成大黑框） */
.yf-hover-tip {
  position: fixed;
  z-index: 9999;
  max-width: min(420px, calc(100vw - 24px));
  max-height: 200px;
  overflow: auto;
  padding: 8px 10px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: var(--yf-radius-control);
  background: rgba(20, 26, 30, 0.96);
  color: #fff;
  font-size: var(--yf-font-sm);
  line-height: 1.55;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  pointer-events: none;
  box-shadow: 0 10px 28px rgba(17, 24, 28, 0.28);
}

.yf-hover-tip[hidden] {
  display: none !important;
}

@media (hover: none) {
  .cellCopyButton,
  #dataTable td .cellCopyButton,
  #outputTable td .cellCopyButton {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* ---------- 8. 弹窗统一 ---------- */
.runtime-dialog-backdrop,
.modal-backdrop,
.collector-detail-backdrop,
.erp-image-zoom-backdrop {
  background: var(--yf-backdrop) !important;
  transition: opacity var(--yf-dur-base) ease !important;
}

:is(
  body.erp-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app,
  body.source-inbox-frame-page
) .runtime-dialog,
:is(body.erp-app, body.copywriting-app, body.api-app, body.templates-app) :is(.system-modal, .export-file-modal, .watermark-tool-modal) {
  width: min(380px, calc(100vw - 28px)) !important;
  max-width: 380px !important;
  border-radius: var(--yf-radius-dialog) !important;
  box-shadow: var(--yf-shadow-dialog) !important;
}

:is(body.erp-app, body.copywriting-app, body.api-app, body.templates-app) .account-modal,
:is(body.erp-app, body.copywriting-app, body.api-app, body.templates-app) .product-detail-drawer,
:is(body.erp-app, body.copywriting-app, body.api-app, body.templates-app) .collector-detail {
  width: min(560px, calc(100vw - 28px)) !important;
  max-width: 560px !important;
  border-radius: var(--yf-radius-dialog) !important;
  box-shadow: var(--yf-shadow-dialog) !important;
}

:is(
  body.erp-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app,
  body.source-inbox-frame-page
) .runtime-dialog:has(.runtime-dialog-input) {
  width: min(560px, calc(100vw - 28px)) !important;
  max-width: 560px !important;
}

:is(
  body.erp-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app,
  body.source-inbox-frame-page
) .runtime-dialog-copy h2 {
  font-size: var(--yf-font-lg) !important;
  line-height: 22px !important;
}

:is(
  body.erp-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app,
  body.source-inbox-frame-page
) .runtime-dialog-copy p {
  color: var(--yf-text-soft) !important;
  font-size: var(--yf-font-base) !important;
  line-height: 1.62 !important;
}

:is(
  body.erp-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app,
  body.source-inbox-frame-page
) .runtime-dialog-actions {
  gap: 10px !important;
}

:is(
  body.erp-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app,
  body.source-inbox-frame-page
) .runtime-dialog-button.secondary:not(:disabled) {
  min-width: 64px !important;
}

:is(
  body.erp-app,
  body.copywriting-app,
  body.api-app,
  body.templates-app,
  body.source-inbox-frame-page
) .runtime-dialog-button.primary:not(:disabled) {
  min-width: 88px !important;
}

/* 结果类提示不再抢占焦点：toast 可点击关闭 */
.moduleToast,
.collector-toast,
.erp-toast,
.watermark-toast {
  cursor: pointer !important;
  font-size: var(--yf-font-sm) !important;
  transition-duration: var(--yf-dur-fast) !important;
}

/* ---------- 9. 文案与分隔符统一 ---------- */
.collector-campaign-dot,
.commandMeta span + span,
.collector-selection-meta span + span {
  margin: 0 6px !important;
  padding-left: 0 !important;
  border-left: 0 !important;
  color: #9aa39d !important;
}

.collector-campaign-result b,
.collector-selection-meta strong,
.export-selection-meta strong {
  color: var(--yf-text) !important;
  font-weight: 650 !important;
}

/* ---------- 10. 组件圆角统一 ---------- */
.contentCard,
.collector-shell,
.tableWrap,
.collector-table-frame,
.parseInputPane,
.embeddedRemovalPane,
.removal-table-card,
.image-opt-table-card,
.accounts-table-panel {
  border-radius: var(--yf-radius-panel) !important;
}

.collector-button,
.workflowButton,
.pageClearButton,
.embeddedRemovalButton,
.user-name,
.collector-page-size select,
.collector-links-input {
  border-radius: var(--yf-radius-control) !important;
}

/* ---------- 11. 窄屏：工具栏允许两行但外壳必须让位 ---------- */
@media (max-width: 1180px) {
  body.copywriting-app .workspaceShell,
  body.source-inbox-frame-page .collector-shell {
    grid-template-rows: auto minmax(0, 1fr) !important;
  }

  .commandBar,
  .collector-commandbar {
    position: relative !important;
    z-index: 20 !important;
  }

  body.copywriting-app .previewDangerZone {
    justify-self: start !important;
  }

  body.copywriting-app .commandMeta {
    justify-self: end !important;
  }
}

/* 已选条数常驻脚注，勾选后不再需要猜按钮为何可用 */

/* ---------- 12. 三页同构外壳：工具条卡片 / 内容卡片 / 底部轨道 ---------- */
/* 采集筛选、文案优化、上架准备统一成同一种骨架：
   一条工具条卡片 → 一片内容卡片 → 一条底部轨道（左「每页 N 条」、右「上一页/下一页」）。
   轨道高度固定 39px，加上 6px 外边距正好与左栏「老板」上方的分隔线齐平，
   三页来回切换时不再出现「有的是卡片、有的是上下黏连」的观感差异。 */
:is(body.source-inbox-frame-page, body.copywriting-app, body.erp-app) {
  --yf-shell-pad: 6px;
  --yf-shell-gap: 6px;
  --yf-toolbar-h: 52px;
  --yf-shell-rail: 41px;
  --yf-shell-line: rgba(60, 60, 67, 0.08);
}

:is(body.source-inbox-frame-page .collector-shell, body.copywriting-app .workspaceShell, body.erp-app #view-导出上架 .yf-export-shell) {
  height: 100% !important;
  min-height: 0 !important;
  /* 上架准备的历史规则给 .view 加了 justify-items:center，
     空数据时外壳会被压成内容宽度（约 710px）居中显示，这里强制铺满。 */
  width: 100% !important;
  max-width: none !important;
  justify-self: stretch !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: var(--yf-shell-gap) !important;
  padding: var(--yf-shell-pad) !important;
  overflow: hidden !important;
  background: transparent !important;
}

:is(body.source-inbox-frame-page .collector-shell, body.copywriting-app .workspaceShell) {
  grid-template-rows: auto minmax(0, 1fr) var(--yf-shell-rail) !important;
}
/* 上架准备多一行「缺模板商品」提示条，行数固定，出现与否都不影响底部轨道位置。
   外壳用独立类名 yf-export-shell，避开历史 .export-listing-shell 的 :has() 高权重规则。 */
body.erp-app #view-导出上架 .yf-export-shell {
  grid-template-rows: auto auto minmax(0, 1fr) var(--yf-shell-rail) !important;
}

body.erp-app #view-导出上架 .export-listing-header {
  grid-row: 1 !important;
}

body.erp-app #view-导出上架 #exportMappingIssueBar {
  grid-row: 2 !important;
}

body.erp-app #view-导出上架 .export-listing-table-wrap {
  grid-row: 3 !important;
}

body.erp-app #view-导出上架 .export-listing-footer {
  grid-row: 4 !important;
}

/* 三种工具条一律做成同一张卡片：同高、同圆角、同边框、同底色 */
:is(body.source-inbox-frame-page .collector-commandbar, body.copywriting-app .commandBar, body.erp-app #view-导出上架 .export-listing-header) {
  height: var(--yf-toolbar-h) !important;
  min-height: 52px !important;
  max-height: none !important;
  padding: 6px 8px !important;
}

/* 2026-09-26 补：这里原来漏了一个右大括号（全文 276 开 / 275 闭）。后果是：
   从这一行往后的所有规则都被浏览器当成上面这个 :is(...) 块的嵌套内容，
   等于整份文件 940 行之后的样式全部不生效（浏览器不报错，只是静默失效）。
   补上之后每条规则回到顶层，与作者当初写这份文件时的预期一致。 */

/* 采集筛选工具条：内容换行时允许自然增高，避免第二行按钮/状态被裁切重叠（不影响采集逻辑） */
body.source-inbox-frame-page .collector-commandbar {
  height: auto !important;
  min-height: 52px !important;
}
:is(body.source-inbox-frame-page .collector-commandbar, body.copywriting-app .commandBar, body.erp-app #view-导出上架 .export-listing-header) {
  border: 1px solid var(--yf-shell-line) !important;
  border-radius: var(--yf-radius-card) !important;
  background: rgba(255, 255, 255, 0.76) !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

/* 三种内容区一律做成独立卡片，不再与工具条/分页条黏成一体 */
:is(body.source-inbox-frame-page .collector-content, body.copywriting-app .contentCard, body.erp-app #view-导出上架 .export-listing-table-wrap) {
  min-height: 0 !important;
  border: 1px solid var(--yf-shell-line) !important;
  border-radius: var(--yf-radius-card) !important;
  background: #fff !important;
  box-shadow: none !important;
}

:is(body.source-inbox-frame-page .collector-content, body.copywriting-app .contentCard) {
  overflow: hidden !important;
}

body.erp-app #view-导出上架 .export-listing-table-wrap {
  overflow: auto !important;
}

/* 底部轨道：只放分页控件，不加边框不加底，视觉上让位给内容卡片 */
:is(body.source-inbox-frame-page .collector-footer, body.copywriting-app .workspaceFooter, body.erp-app #view-导出上架 .export-listing-footer) {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  height: var(--yf-shell-rail) !important;
  min-height: var(--yf-shell-rail) !important;
  padding: 0 var(--yf-shell-pad) !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

:is(body.source-inbox-frame-page .collector-page-size, body.copywriting-app .workflow-page-size, body.erp-app #view-导出上架 .workflow-page-size,
  body.source-inbox-frame-page .collector-pager, body.copywriting-app .workflow-pagination, body.erp-app #view-导出上架 .workflow-pagination) {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--yf-text-muted) !important;
  font-size: var(--yf-font-xs) !important;
  white-space: nowrap !important;
}

/* 分页条只有「数据多到需要翻页」时才出现：
   采集筛选/文案优化用 [hidden] 属性，上架准备用 .hidden 类，两种都要压住 display:flex。 */
:is(body.source-inbox-frame-page .collector-pager, body.copywriting-app .workflow-pagination, body.erp-app #view-导出上架 .workflow-pagination):is([hidden], .hidden) {
  display: none !important;
}

:is(body.source-inbox-frame-page .collector-page-size select, body.copywriting-app .workflow-page-size select, body.erp-app #view-导出上架 .workflow-page-size select) {
  height: 26px !important;
  min-height: 26px !important;
  padding: 0 8px !important;
  border: 1px solid var(--yf-line) !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: var(--yf-text) !important;
  font-size: var(--yf-font-xs) !important;
  line-height: 1 !important;
}

:is(body.source-inbox-frame-page .collector-pager button, body.copywriting-app .workflow-pagination button, body.erp-app #view-导出上架 .workflow-pagination button) {
  height: 26px !important;
  min-height: 26px !important;
  min-width: 64px !important;
  padding: 0 10px !important;
  border: 1px solid var(--yf-line) !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: #3f4a44 !important;
  font-size: var(--yf-font-xs) !important;
  font-weight: 650 !important;
  box-shadow: none !important;
}

:is(body.source-inbox-frame-page .collector-pager button, body.copywriting-app .workflow-pagination button, body.erp-app #view-导出上架 .workflow-pagination button):disabled {
  cursor: not-allowed !important;
  opacity: 0.45 !important;
  background: #fff !important;
}

/* 窄屏：工具条允许换到第二行，外壳行数不变，底部轨道始终贴在分隔线上 */
/* AI 结果回填：左右两块也拆成独立卡片，避免「一块大卡里嵌两条」的割裂感 */
body.copywriting-app .contentCard:has(#panel-parse.active) {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow: hidden !important;
}

body.copywriting-app #panel-parse.active :is(.parseInputPane, .embeddedRemovalPane) {
  min-height: 0 !important;
  border: 1px solid var(--yf-shell-line) !important;
  border-radius: var(--yf-radius-card) !important;
  background: #fff !important;
  overflow: hidden !important;
}

/* iframe 宽度 ≈ 视口 - 138px，断点按主文档的外层内边距切换点（视口 1280px）换算，
   这样三种页面在同一视口宽度下同时切换，分隔线始终对齐。 */
@media (max-width: 1142px) {
  :is(body.source-inbox-frame-page, body.copywriting-app) {
    --yf-shell-pad: 4px;
    --yf-shell-rail: 39px;
  }

  :is(body.source-inbox-frame-page .collector-commandbar, body.copywriting-app .commandBar) {
    height: auto !important;
    min-height: 52px !important;
    flex-wrap: wrap !important;
  }
}

/* 上架准备在主文档里，视口比 iframe 宽一个侧栏，断点同步右移，三种宽度下分隔线保持一致 */
@media (max-width: 1280px) {
  body.erp-app {
    --yf-shell-pad: 4px;
    --yf-shell-rail: 39px;
  }

  body.erp-app #view-导出上架 .export-listing-header {
    height: auto !important;
    min-height: 52px !important;
  }
}

/* 主文档统一广播窄屏标记：优先级高于上面的媒体查询，
   避免父页面与 iframe 各自按自身宽度判断、在边界宽度上错开几像素。 */
:is(body.erp-app, body.copywriting-app, body.source-inbox-frame-page)[data-yf-shell-narrow="1"] {
  --yf-shell-pad: 4px;
  --yf-shell-rail: 39px;
}

:is(body.erp-app, body.copywriting-app, body.source-inbox-frame-page)[data-yf-shell-narrow="0"] {
  --yf-shell-pad: 6px;
  --yf-shell-rail: 41px;
}

/* ---------- 13. 圆角收敛：控件 8px、卡片 10px，全站只用两档 ---------- */
/* 左侧菜单是 8px，账号菜单里的功能按钮却各不相同（7 / 9 / 6px），
   统一之后视觉上是一套东西。 */
body.erp-app .user-menu .user-popover,
body.erp-app .user-menu.open .user-popover,
body.erp-app .user-menu:hover .user-popover,
body.erp-app .user-menu:focus-within .user-popover {
  /* 原来面板固定 158px 宽、靠 right:0 定位，侧栏只有 108px，
     整个面板被推到屏幕左边外面，悬停高亮被视口裁成直角——这才是"直棱直角"的真因。 */
  left: 0 !important;
  right: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  transform: none !important;
  border-radius: var(--yf-radius-card) !important;
  padding: 6px !important;
  border: 1px solid var(--yf-line-soft) !important;
  box-shadow: 0 14px 34px rgba(17, 24, 28, 0.12) !important;
}

body.erp-app .user-menu-action {
  height: var(--yf-control-sm) !important;
  border-radius: var(--yf-radius-control) !important;
  color: var(--yf-text-soft) !important;
  font-size: var(--yf-font-md) !important;
  font-weight: 600 !important;
}

body.erp-app .user-menu-action:hover,
body.erp-app .user-menu-action:focus-visible {
  background: var(--yf-primary-soft) !important;
  color: var(--yf-text) !important;
}

body.erp-app .user-menu-action.logout-action {
  border-radius: var(--yf-radius-control) !important;
}

body.erp-app .user-name,
body.erp-app .account-modal-close,
body.erp-app .account-modal-button,
body.erp-app .account-editor-primary,
body.erp-app .account-editor-secondary {
  border-radius: var(--yf-radius-control) !important;
}

/* 分页条上的下拉与按钮此前是 6px，和按钮的 8px 并排看会“半圆半方” */
:is(body.source-inbox-frame-page .collector-page-size select, body.copywriting-app .workflow-page-size select, body.erp-app #view-导出上架 .workflow-page-size select) {
  border-radius: var(--yf-radius-control) !important;
}

:is(body.source-inbox-frame-page .collector-pager button, body.copywriting-app .workflow-pagination button, body.erp-app #view-导出上架 .workflow-pagination button) {
  border-radius: var(--yf-radius-control) !important;
}

body.erp-app #view-导出上架 .export-quiet-delete {
  border-radius: var(--yf-radius-control) !important;
}

/* ---------- 14. 全站细节收敛：控件高度 / 滚动条 / 表头 / 徽章 / 焦点 / 空状态 ---------- */
/* 14.1 控件高度收到三档：32（工具条）/ 36（表单、菜单）/ 40（主操作） */
:is(
  body.erp-app .account-form-feedback,
  body.erp-app .account-editor-primary,
  body.erp-app .account-editor-secondary,
  body.erp-app .modal-btn,
  body.erp-app .system-check-button,
  body.erp-app .account-add-button
) {
  border-radius: var(--yf-radius-control) !important;
}

:is(body.erp-app .account-add-button, body.erp-app .system-check-button, body.erp-app .account-editor-primary, body.erp-app .account-editor-secondary) {
  min-height: var(--yf-control-md) !important;
  height: var(--yf-control-md) !important;
  border-radius: var(--yf-radius-control) !important;
  font-size: var(--yf-font-md) !important;
}

:is(body.erp-app .modal-btn, body.erp-app .account-modal-button) {
  min-height: var(--yf-control-md) !important;
  font-size: var(--yf-font-md) !important;
}

/* 14.2 滚动条全站一种：细、无轨道底色、颜色统一（原来三页三种灰） */
:is(body.erp-app, body.copywriting-app, body.source-inbox-frame-page, body.templates-app, body.api-app) {
  scrollbar-width: thin !important;
  scrollbar-color: #c7cdd4 transparent !important;
}

:is(body.erp-app, body.copywriting-app, body.source-inbox-frame-page, body.templates-app, body.api-app) *::-webkit-scrollbar {
  width: 10px !important;
  height: 10px !important;
}

:is(body.erp-app, body.copywriting-app, body.source-inbox-frame-page, body.templates-app, body.api-app) *::-webkit-scrollbar-track {
  background: transparent !important;
}

:is(body.erp-app, body.copywriting-app, body.source-inbox-frame-page, body.templates-app, body.api-app) *::-webkit-scrollbar-thumb {
  border: 3px solid transparent !important;
  border-radius: 999px !important;
  background: #c7cdd4 !important;
  background-clip: content-box !important;
}

:is(body.erp-app, body.copywriting-app, body.source-inbox-frame-page, body.templates-app, body.api-app) *::-webkit-scrollbar-thumb:hover {
  background: #aeb6bf !important;
  background-clip: content-box !important;
}

:is(body.erp-app, body.copywriting-app, body.source-inbox-frame-page, body.templates-app, body.api-app) *::-webkit-scrollbar-corner {
  background: transparent !important;
}

/* 14.3 表头高度统一 34px（原来上架准备 42px、文案优化 34px） */
:is(body.erp-app #view-导出上架 .export-listing-table-wrap, body.copywriting-app .previewTableWrap, body.copywriting-app .embeddedRemovalTableWrap) thead th {
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  font-size: var(--yf-font-sm) !important;
  font-weight: 650 !important;
}

/* 14.4 徽章统一成一种胶囊：同高、同圆角、同字号 */
:is(body.erp-app .mapping-status-badge, body.erp-app .image-status-badge, body.erp-app .system-check-badge) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 22px !important;
  padding: 2px 10px !important;
  border-radius: 999px !important;
  font-size: var(--yf-font-xs) !important;
  font-weight: 650 !important;
  line-height: 18px !important;
}

/* 14.5 焦点态统一：一圈主色描边，不再有 2px/3px/无 三种 */
:is(body.erp-app, body.copywriting-app, body.source-inbox-frame-page) :is(button, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid rgba(47, 107, 79, 0.45) !important;
  outline-offset: 1px !important;
  box-shadow: none !important;
}

/* 14.6 空状态统一：整卡居中、同字号同色（上架准备与另两页此前靠上） */
:is(body.erp-app #view-导出上架 .export-listing-table-wrap, body.copywriting-app .previewTableWrap, body.copywriting-app .embeddedRemovalTableWrap) :is(.centered-empty-state, .centeredEmptyState, .embeddedRemovalEmptyState) {
  height: 100% !important;
}

/* 14.7 登录卡圆角并入全站卡片档位（原来 24px，和应用内 10px 割裂） */
body:not(.erp-app) .login-card,
body.erp-app .login-card {
  border-radius: var(--yf-radius-panel) !important;
}

/* 14.8 快照卡片 / 侧栏用户按钮高度对齐到控件档位 */
body.erp-app .user-name {
  height: var(--yf-control-md) !important;
  font-size: var(--yf-font-md) !important;
}

/* 14.9 按钮最小宽度收到三档，避免同排按钮宽窄乱跳 */
body.erp-app .account-add-button,
body.erp-app .system-check-button {
  min-width: 96px !important;
}

/* ---------- 15. 类目模板 / API设置：从「窄居中卡片」改为铺满 ---------- */
/* 这两页此前被历史规则限制成 min(920~1120px) 居中，和三大页「铺满卡片」
   不是同一套语言；这里统一成整宽，内部栅格保持原样。 */
/* 历史规则把这两页锁在 680px（module-tail / layout-unified-v188 里都有），
   用元素级 + 双类权重压过去，改成和三大页一样铺满。 */
body.templates-app main.template-page,
body.api-app main.api-page,
body.templates-app .template-page,
body.api-app .api-page {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  justify-self: stretch !important;
}

/* 再加一层权重：历史补丁层里有多条 .template-page/.api-page 限宽规则 */
body.templates-app.templates-app main.template-page,
body.api-app.api-app main.api-page {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

/* API 设置页还有 :has() 高权重限宽，这里把类名写两遍压到 (0,4,2) */
body.api-app.api-app main.api-page.api-page,
body.templates-app.templates-app main.template-page.template-page {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

body.templates-app .template-page {
  height: 100% !important;
  max-height: none !important;
}

body.api-app .api-page {
  height: 100% !important;
  max-height: none !important;
}

/* ---------- 16. 设计令牌收敛：12 套并行变量统一到同一套圆角档位 ---------- */
/* 现状：--yftx- / --ds- / --wb- / --m2- / --quiet- / --ref- / --sys- / --radius- 各自
   声明圆角，同一档在不同作用域是 6/8/10/14/16px。这里不改 8000+ 处引用，
   直接把变量本身重指向统一档位：控件 8 / 卡片 10 / 弹窗 12 / 胶囊 999。 */
:root,
body.erp-app,
body.copywriting-app,
body.source-inbox-frame-page,
body.templates-app,
body.api-app,
body.infrastructure-app,
body.infringement-app,
body.source-inbox-app {
  --yftx-radius-small: 8px !important;
  --yftx-radius-control: 8px !important;
  --yftx-radius-card: 10px !important;
  --yftx-radius-frame: 12px !important;
  --yftx-radius-panel: 12px !important;
  --yftx-radius-modal: 12px !important;

  --ds-radius-sm: 8px !important;
  --ds-radius: 8px !important;
  --ds-radius-lg: 12px !important;
  --ds-radius-frame: 12px !important;
  --ds-radius-pill: 999px !important;

  --quiet-radius: 8px !important;
  --quiet-radius-lg: 12px !important;

  --wb-radius-sm: 8px !important;
  --wb-radius: 10px !important;
  --wb-radius-lg: 12px !important;

  --m2-radius: 10px !important;
  --m2-frame-radius: 10px !important;

  --ref-radius-sm: 8px !important;
  --ref-radius: 10px !important;
  --sys-radius: 10px !important;

  --radius-control: 8px !important;
  --radius-card: 10px !important;
  --radius-frame: 12px !important;
  --radius-small: 8px !important;
}

/* ---------- 17. 表格平铺：按卡片宽度自适应，不再出现横向滚动条 ---------- */
/* 上架准备：16 列固定 px 宽度（合计 2504px）塞进 1448px 容器，只能左右拖。
   历史规则用 :nth-child / :not(:has()) 把权重抬到 (1,3,3)，还会同时锁 th/td 宽度，
   所以这里用双 id 权重整段覆盖，列宽改由 colgroup 的百分比决定。 */
body.erp-app #view-导出上架 #exportListingTable {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  table-layout: fixed !important;
}

/* 列宽已经算好，纵向照旧滚动，横向不再出现滚动条（含 1px 舍入溢出） */
body.erp-app #view-导出上架 .export-listing-table-wrap {
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

body.erp-app #view-导出上架 #exportListingTable > colgroup > col,
body.erp-app #view-导出上架 #exportListingTable > thead > tr > th,
body.erp-app #view-导出上架 #exportListingTable > tbody > tr > td {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
}

/* 单元格内容自己收口，避免长 URL / 长文本把表格撑出横向溢出 */
body.erp-app #view-导出上架 #exportListingTable > tbody > tr > td {
  overflow: hidden !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}

body.erp-app #view-导出上架 #exportListingTable > colgroup > col.export-col-select,
body.erp-app #view-导出上架 #exportListingTable > thead > tr > th.export-select-cell,
body.erp-app #view-导出上架 #exportListingTable > tbody > tr > td.export-select-cell {
  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
}

body.erp-app #view-导出上架 #exportListingTable > colgroup > col.image-col-image,
body.erp-app #view-导出上架 #exportListingTable > colgroup > col.export-optimized-image-column {
  width: 7% !important;
  min-width: 78px !important;
  max-width: 110px !important;
}

body.erp-app #view-导出上架 #exportListingTable > colgroup > col.image-col-sku {
  width: 8% !important;
}

body.erp-app #view-导出上架 #exportListingTable > colgroup > col.image-col-name {
  width: 15% !important;
}

body.erp-app #view-导出上架 #exportListingTable > colgroup > col.image-col-brand {
  width: 7% !important;
}

body.erp-app #view-导出上架 #exportListingTable > colgroup > col.image-col-short {
  width: 8.5% !important;
}

body.erp-app #view-导出上架 #exportListingTable > colgroup > col.image-col-long {
  width: 12% !important;
}

body.erp-app #view-导出上架 #exportListingTable > colgroup > col.image-col-mapping-status {
  width: 8% !important;
}
/* 文案优化两张表同样平铺：AI 结果表原本 min-width 1280px，右侧永远挂着横向滚动条 */
body.copywriting-app #panel-parse .embeddedRemovalTableWrap > table,
body.copywriting-app #panel-preview .previewTableWrap > table {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  table-layout: fixed !important;
}

body.copywriting-app #panel-parse .embeddedRemovalTableWrap > table > colgroup > col,
body.copywriting-app #panel-preview .previewTableWrap > table > colgroup > col {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
}

body.copywriting-app #panel-parse .embeddedRemovalTableWrap > table > colgroup > col.selectionColumn,
body.copywriting-app #panel-preview .previewTableWrap > table > colgroup > col.selectionColumn {
  width: 28px !important;
  min-width: 28px !important;
  max-width: 28px !important;
}

/* 勾选列收窄后，表头/单元格的内边距同步收紧，多出来的宽度让给内容列 */
body.copywriting-app :is(#panel-preview .previewTableWrap, #panel-parse .embeddedRemovalTableWrap) :is(th.selectCell, td.selectCell, th.embeddedRemovalSelect, td.embeddedRemovalSelect) {
  width: 28px !important;
  min-width: 28px !important;
  max-width: 28px !important;
  padding-left: 2px !important;
  padding-right: 2px !important;
}

body.copywriting-app #panel-parse .embeddedRemovalTableWrap > table > colgroup > col.col-sku,
body.copywriting-app #panel-preview .previewTableWrap > table > colgroup > col.col-sku {
  width: 11% !important;
}

body.copywriting-app #panel-parse .embeddedRemovalTableWrap > table > colgroup > col.col-name,
body.copywriting-app #panel-preview .previewTableWrap > table > colgroup > col.col-name {
  width: 20% !important;
}

body.copywriting-app #panel-parse .embeddedRemovalTableWrap > table > colgroup > col.col-short,
body.copywriting-app #panel-preview .previewTableWrap > table > colgroup > col.col-short {
  width: 10% !important;
}

body.copywriting-app #panel-parse .embeddedRemovalTableWrap > table > colgroup > col.col-long,
body.copywriting-app #panel-preview .previewTableWrap > table > colgroup > col.col-long {
  width: 17% !important;
}

/* 粘贴 AI 结果的输入框占满整张卡片：状态提示浮在右下角，不再单独占一行 */
body.copywriting-app #panel-parse.active .parseInputPane {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-height: 0 !important;
}

body.copywriting-app #panel-parse.active .parseInputPane #aiResult {
  flex: 1 1 auto !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  white-space: pre-wrap !important;
  word-break: break-word !important;
}

body.copywriting-app #panel-parse.active .parseInputPane .message {
  position: absolute !important;
  right: 12px !important;
  bottom: 10px !important;
  z-index: 2 !important;
  max-width: calc(100% - 24px) !important;
  margin: 0 !important;
  padding: 3px 8px !important;
  border-radius: 6px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  color: var(--yf-text-muted) !important;
  font-size: var(--yf-font-xs) !important;
  line-height: 18px !important;
  pointer-events: none !important;
}


/* 文案优化两张表：最左侧勾选列固定 28px（fixed 布局下必须同时锁 col 与 th/td，
   否则剩余空间会被均分给该列，反而变宽）。 */
body.copywriting-app .previewTableWrap col.selectionColumn,
body.copywriting-app .embeddedRemovalTableWrap col.selectionColumn {
  width: 28px !important;
  min-width: 28px !important;
  max-width: 28px !important;
}

body.copywriting-app .previewTableWrap th.selectCell,
body.copywriting-app .previewTableWrap td.selectCell,
body.copywriting-app .embeddedRemovalTableWrap th.embeddedRemovalSelect,
body.copywriting-app .embeddedRemovalTableWrap td.embeddedRemovalSelect {
  width: 28px !important;
  min-width: 28px !important;
  max-width: 28px !important;
  padding-left: 2px !important;
  padding-right: 2px !important;
}

/* 勾选列：历史补丁里有多条 .selectCell 定宽规则，这里把类名写两遍抬到 (0,4,x) 压住。 */
body.copywriting-app.copywriting-app .previewTableWrap.previewTableWrap col.selectionColumn,
body.copywriting-app.copywriting-app .embeddedRemovalTableWrap.embeddedRemovalTableWrap col.selectionColumn {
  width: 28px !important;
  min-width: 28px !important;
  max-width: 28px !important;
}

body.copywriting-app.copywriting-app .previewTableWrap.previewTableWrap th.selectCell,
body.copywriting-app.copywriting-app .previewTableWrap.previewTableWrap td.selectCell,
body.copywriting-app.copywriting-app .embeddedRemovalTableWrap.embeddedRemovalTableWrap th.embeddedRemovalSelect,
body.copywriting-app.copywriting-app .embeddedRemovalTableWrap.embeddedRemovalTableWrap td.embeddedRemovalSelect {
  width: 28px !important;
  min-width: 28px !important;
  max-width: 28px !important;
  padding-left: 2px !important;
  padding-right: 2px !important;
}

/* 勾选列最终定宽：必须比本文件里那条 col{width:auto} 的通用重置更精确，
   否则该列会变成 auto 并吞掉表格剩余宽度（实测被撑到 188px）。 */
body.copywriting-app #panel-preview .previewTableWrap > table > colgroup > col.selectionColumn,
body.copywriting-app #panel-parse .embeddedRemovalTableWrap > table > colgroup > col.selectionColumn {
  width: 28px !important;
  min-width: 28px !important;
  max-width: 28px !important;
}

body.copywriting-app #panel-preview .previewTableWrap > table > thead > tr > th.selectCell,
body.copywriting-app #panel-preview .previewTableWrap > table > tbody > tr > td.selectCell,
body.copywriting-app #panel-parse .embeddedRemovalTableWrap > table > thead > tr > th.embeddedRemovalSelect,
body.copywriting-app #panel-parse .embeddedRemovalTableWrap > table > tbody > tr > td.embeddedRemovalSelect {
  width: 28px !important;
  min-width: 28px !important;
  max-width: 28px !important;
  padding-left: 2px !important;
  padding-right: 2px !important;
}

/* ---------- 17. 响应观感收口：主色 / 弹窗 / 控件高度（只改表现，不改功能） ---------- */
/* 17.1 主色收敛：登录主按钮此前落到历史 accent（#0e6b58），与其它主操作的
   --yf-primary（#2f6b4f）不是同一个绿。历史层里有大量更高权重的 accent 覆盖，
   这里用双类 + 双类把登录按钮并回唯一主色。 */
body.erp-app.erp-app .login-card #loginSubmitBtn {
  border-color: var(--yf-primary) !important;
  background: var(--yf-primary) !important;
  color: #fff !important;
}

body.erp-app.erp-app .login-card #loginSubmitBtn:hover:not(:disabled) {
  border-color: var(--yf-primary-hover) !important;
  background: var(--yf-primary-hover) !important;
}

/* 17.2 弹窗宽度收到三档：确认 360 / 表单 440 / 抽屉 560（抽屉已是 560）。
   .system-modal 在历史层里有 22 条 width 声明，最近生效的是 300px，
   比设计档位窄一档，中文确认文案换行过多。 */
body.erp-app.erp-app #systemModal .system-modal {
  width: min(360px, calc(100vw - 28px)) !important;
  max-width: 360px !important;
}

body.erp-app.erp-app #exportFileModal .export-file-modal {
  width: min(440px, calc(100vw - 28px)) !important;
  max-width: 440px !important;
}

/* 17.3 弹窗动作行不再被裁：导出弹窗有四个按钮（取消 / 保存到桌面 /
   上传到亚马逊后台 / 导出），一行需要 508px，而弹窗只有 340px 且
   overflow:hidden，最后一个按钮会被裁掉。允许换行后任意按钮数都完整可见。 */
body.erp-app :is(.system-modal-actions, .export-file-modal-actions, .account-editor-actions, .runtime-dialog-actions) {
  flex-wrap: wrap !important;
  row-gap: 8px !important;
}

/* 17.4 弹窗正文 12px → 13px：确认文案与提示是最需要读清楚的一段。 */
body.erp-app.erp-app #systemModal #modalMessage,
body.erp-app.erp-app #exportFileModal #exportFileMessage,
body.erp-app.erp-app #systemModal .system-modal-copy p,
body.erp-app.erp-app #exportFileModal .export-file-modal-copy p {
  font-size: var(--yf-font-base) !important;
  line-height: 1.6 !important;
}

/* 17.5 圆角收敛：大图预览是唯一 10px 的浮层，并入弹窗档位 12px。 */
body.erp-app.erp-app .erp-image-zoom-dialog {
  border-radius: var(--yf-radius-dialog) !important;
}

/* 17.6 控件高度收到三档（32 / 36 / 40）：分页按钮与每页下拉此前是 26px，
   低于可舒适点击的下限；删除按钮 34px、弹窗关闭 30px 也各是一档。 */
:is(
  body.erp-app #view-导出上架 .workflow-pagination button,
  body.erp-app #view-导出上架 .workflow-page-size select,
  body.source-inbox-frame-page .collector-pager button,
  body.source-inbox-frame-page .collector-page-size select,
  body.copywriting-app .workflow-pagination button,
  body.copywriting-app .workflow-page-size select
) {
  height: var(--yf-control-sm) !important;
  min-height: var(--yf-control-sm) !important;
  max-height: var(--yf-control-sm) !important;
  font-size: var(--yf-font-sm) !important;
}

body.erp-app.erp-app #deleteExportSelected {
  height: var(--yf-control-sm) !important;
  min-height: var(--yf-control-sm) !important;
  max-height: var(--yf-control-sm) !important;
}

body.erp-app.erp-app :is(.account-editor-close, .product-detail-close, .erp-image-zoom-close) {
  height: var(--yf-control-sm) !important;
  min-height: var(--yf-control-sm) !important;
  max-height: var(--yf-control-sm) !important;
}

/* ---------- 18. 外壳显隐：恢复 .hidden 语义（首屏 CLS 与半屏多余布局的根因） ---------- */
/* #appView / #loginView 在历史层里有多条 `display:grid !important` 的 id 级规则，
   权重都高于 `.hidden`，于是 `.hidden` 对这两个外壳完全失效：
   1) 未登录时整个 ERP 外壳仍参与布局并绘制在登录卡下方（body 高度 905 → 1810）；
   2) 外壳消失时整屏塌陷，实测 CLS 0.571。
   ui.js 的 openApp/closeApp 本来就是靠 .hidden 切换两个外壳，这里把语义补回来。 */
body.erp-app.erp-app #appView.hidden,
body.erp-app.erp-app #loginView.hidden {
  display: none !important;
}

/* ---------- 19. 点击即时反馈（第三方动作不可能毫秒，但"我按到了"必须同帧可见） ---------- */
/* 历史规则里 button:active 被写成 transform:none，按下去只有颜色过渡（有几帧延迟），
   长耗时动作（生成模板 / 上传亚马逊 / 甄选）点完容易以为没反应。
   这里让按下态不走过渡、当帧变暗并加内阴影；不改变任何按钮的行为。 */
:is(
  body.erp-app,
  body.copywriting-app,
  body.source-inbox-frame-page,
  body.templates-app,
  body.api-app
) :is(button, .collector-button, [role="button"]):active:not(:disabled) {
  transition: none !important;
  filter: brightness(0.93) !important;
  box-shadow: inset 0 1px 2px rgba(16, 24, 20, 0.18) !important;
}

/* 触摸端去掉 300ms 点击延迟与高亮闪烁（桌面端无影响）。 */
:is(
  body.erp-app,
  body.copywriting-app,
  body.source-inbox-frame-page,
  body.templates-app,
  body.api-app
) :is(button, .collector-button, [role="button"], select, input[type="checkbox"], input[type="radio"]) {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

/* 17.7 危险动作同一种长相：清空上架准备此前是中性白按钮，
   与同页的「删除」危险色不一致；两者都属于"会丢数据"的动作。 */
body.erp-app.erp-app #clearExportPage {
  border-color: var(--yf-danger-line) !important;
  background: var(--yf-danger-soft) !important;
  color: var(--yf-danger) !important;
}

body.erp-app.erp-app #clearExportPage:hover:not(:disabled) {
  border-color: rgba(156, 74, 68, 0.36) !important;
  background: #f7e5e2 !important;
  color: #8d3f3a !important;
}
/* 系统检测「复制诊断信息」的隐藏兜底输入框（CSP 下不能用内联 style）。 */
.yftx-hidden-copy {
  position: fixed;
  left: -9999px;
  top: 0;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

/* 自动模式：把「需要人工点」的按钮收起来，避免和自动流程打架。
   随时可以在自动化控制台或右下角的小条上切回手动模式。 */
body.erp-app.auto-mode #startExportMapping,
body.erp-app.auto-mode #exportCompleteTable,
body.erp-app.auto-mode #exportMissingTemplatePlan,
body.erp-app.auto-mode #clearExportPage {
  display: none !important;
}

body.erp-app.auto-mode .export-clear-toolbar,
body.erp-app.auto-mode .export-listing-actions {
  pointer-events: none;
}

.auto-mode-chip {
  position: fixed;
  right: 18px;
  bottom: 16px;
  z-index: 40;
  height: 30px;
  padding: 0 12px;
  border: 1px solid rgba(47, 107, 79, .28);
  border-radius: 999px;
  background: #eaf3ed;
  color: #2f6b4f;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(34, 43, 38, .10);
}

.auto-mode-chip:hover {
  background: #dfeee5;
}

.auto-mode-chip[hidden] {
  display: none !important;
}

/* ---------- 自动化：看得见的执行 + 随时接管 ---------- */

@keyframes yftx-auto-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(43, 108, 176, .45); }
  50% { box-shadow: 0 0 0 8px rgba(43, 108, 176, 0); }
}

.auto-action-chip[hidden] {
  display: none !important;
}

.auto-action-chip.show {
  animation: yftx-chip-in .16s ease both;
}

@keyframes yftx-chip-in {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: none; }
}

.auto-action-takeover:hover {
  background: #e6effa;
}

/* 2026-09-12 上架准备：次要信息弱化。
   只降视觉权重（颜色变浅、去掉加粗感），不动字号、不动功能、不动导出字段名。
   入选依据：全站文字清单里这些是 A 级（有用但不必抢眼）。 */
body.erp-app #exportListingTable thead th[data-export-field="\56FE\7247"],
body.erp-app #exportListingTable thead th[data-export-field="\6700\7EC8\4EF7\683C"],
body.erp-app #exportListingTable thead th[data-export-field="Product Type"],
body.erp-app #exportListingTable thead th[data-export-field="\5206\7C7B\8DEF\5F84"] {
  color: var(--quiet-subtle) !important;
  font-weight: 600 !important;
}

body.erp-app #exportSelectedMeta,
body.erp-app .export-listing-header .export-mapping-center #exportMappingStatus,
body.erp-app .export-product-mode-fixed {
  color: var(--quiet-subtle) !important;
  font-weight: 500 !important;
}

/* 2026-09-12 系统检测：把「复制诊断信息」收成图标按钮（低频动作，页头只留一个主按钮 + 一个图标）。
   图标按钮不再靠改文字反馈：复制成功/失败只换图标和悬停说明。 */
body.erp-app .system-check-header .system-check-icon-button {
  width: 34px;
  min-width: 34px;
  padding: 0 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

body.erp-app .system-check-header .system-check-icon-button svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.erp-app .system-check-header .system-check-icon-button .system-check-icon-done {
  display: none;
}

body.erp-app .system-check-header .system-check-icon-button[data-state="done"] .system-check-icon-copy {
  display: none;
}

body.erp-app .system-check-header .system-check-icon-button[data-state="done"] .system-check-icon-done {
  display: block;
}

body.erp-app .system-check-header .system-check-icon-button[data-state="failed"] {
  color: var(--quiet-danger) !important;
  border-color: #b33a322e !important;
}

/* 出错提示里的小「重试」按钮（配合 js/friendly-error.js） */
body.erp-app .friendly-retry-button {
  margin-left: 6px;
  height: 24px;
  padding: 0 10px;
  border: 1px solid #D2D2D7;
  border-radius: 6px;
  background: #FFFFFF;
  color: #1D1D1F;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
}
body.erp-app .friendly-retry-button:hover:not(:disabled) { background: #F5F5F7; }
body.erp-app .friendly-retry-button:disabled { opacity: .5; cursor: default; }

/* ===== 2026-09-14 动效与刻度统一（克制版）=====
   统一节奏：所有交互 180ms / ease-out；数字用等宽数字；系统开启「减少动态效果」时自动关掉。 */
:root {
  --yftx-ease: cubic-bezier(.2, .7, .2, 1);
  --yftx-dur: 180ms;
  --yftx-dur-fast: 140ms;
}
button,
.collector-button,
.page-clear-button,
.nav button,
a,
input,
select {
  transition:
    background-color var(--yftx-dur) var(--yftx-ease),
    color var(--yftx-dur) var(--yftx-ease),
    border-color var(--yftx-dur) var(--yftx-ease),
    box-shadow var(--yftx-dur) var(--yftx-ease),
    opacity var(--yftx-dur) var(--yftx-ease),
    transform var(--yftx-dur) var(--yftx-ease);
}
button:active,
.collector-button:active,
.nav button:active {
  transform: translateY(.5px);
}
#collectorResultTable tbody tr {
  transition: background-color var(--yftx-dur-fast) var(--yftx-ease);
}
#collectorResultTable td,
#collectorResultTable th,
#exportListingTable td,
#exportListingTable th {
  font-variant-numeric: tabular-nums;
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    transition-duration: 1ms !important;
    animation-duration: 1ms !important;
  }
}

/* 2026-09-14：账号菜单分组（账号 / 设置） */
body.erp-app .user-popover-group{display:block;padding:6px 8px 2px;color:var(--yftx-subtle, #8b847d);font-size:12px;font-weight:600;text-align:left}
body.erp-app .user-popover-divider{display:block;height:1px;margin:4px 6px;background:var(--line, rgba(60,60,67,.12))}
/* 2026-09-14：老板账号徽标 + 该行锁定观感 */
body.erp-app .account-owner-badge{display:inline-flex;align-items:center;margin-left:6px;padding:0 6px;border:1px solid rgba(82,112,90,.25);border-radius:999px;background:#edf4ee;color:#3d6b4a;font-size:12px;font-weight:600}
body.erp-app .account-table-row.account-row-owner{background:rgba(237,244,238,.45)}
/* 2026-09-14：缺模板入口并进「开始映射」状态提示后，那段文字可点 */
body.erp-app #exportMappingStatus.is-actionable{cursor:pointer;text-decoration:underline;text-underline-offset:3px}
/* 2026-09-14：账号列表分组标题（总账号 / 其他账号）+ 上架准备清空按钮挪到页脚 */
body.erp-app .account-list-group{background:transparent!important;border-bottom:0!important}
body.erp-app .account-list-group .account-table-cell{grid-column:1 / -1;display:flex;align-items:center;padding:10px 2px 4px;color:var(--yftx-subtle, #8b847d);font-size:12px;font-weight:600;text-align:left}
body.erp-app #view-导出上架 .export-footer-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}
/* 2026-09-14：新增账号挪到「账号列表」标题右侧，和它作用的对象在同一视线 */
body.erp-app .accounts-list-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 2px 8px}
body.erp-app .accounts-list-title{color:var(--yftx-text, #30363a);font-size:13px;font-weight:600}

/* 2026-09-14 晚 v3：API 设置页 = 账号管理那种「居中窄栏 + 模块化卡片」，小巧、表单不撑满整屏。
   注意：本文件前面有一条 body.api-app.api-app main.api-page.api-page 的 (0,4,2) 高权重限宽规则，
   这里必须用同样权重、并且放在它后面，否则压不住（上一版就是这么没生效的）。 */
body.api-app.api-app main.api-page.api-page{display:block!important;width:min(720px,100%)!important;max-width:720px!important;height:auto!important;min-height:100%!important;max-height:none!important;margin:0 auto!important;padding:18px 18px 26px!important;overflow:auto!important;background:transparent!important;border:0!important;box-shadow:none!important;grid-template-columns:none!important;gap:0!important}
body.api-app.api-app main.api-page.api-page .api-sidebar{display:block!important;position:relative!important;width:auto!important;min-height:0!important;max-height:none!important;margin:0 0 10px!important;padding:10px 12px!important;border:1px solid var(--yftx-line,var(--line))!important;border-radius:10px!important;background:#fff!important}
body.api-app.api-app main.api-page.api-page .sidebar-head{padding:0!important;border:0!important;background:transparent!important;width:auto!important}
body.api-app.api-app main.api-page.api-page .sidebar-tools{display:flex!important;gap:8px!important}
body.api-app.api-app main.api-page.api-page .connection-list{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(168px,1fr))!important;gap:6px!important;width:auto!important;max-height:126px!important;padding:8px 0 0!important;overflow:auto!important}
body.api-app.api-app main.api-page.api-page .connection-card{margin:0!important;border-radius:8px!important}
body.api-app.api-app main.api-page.api-page .connection-empty{margin:0!important}
body.api-app.api-app main.api-page.api-page .api-workspace{display:block!important;width:auto!important;height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important;border:0!important;background:transparent!important}
body.api-app.api-app main.api-page.api-page .connection-form{display:block!important;height:auto!important;border:1px solid var(--yftx-line,var(--line))!important;border-radius:10px!important;background:#fff!important;overflow:hidden!important}
body.api-app.api-app main.api-page.api-page .editor-bar{padding:10px 14px!important;border-bottom:1px solid var(--yftx-line,var(--line))!important}
body.api-app.api-app main.api-page.api-page .editor-body{display:grid!important;grid-template-columns:minmax(0,1fr)!important;justify-content:stretch!important;gap:8px!important;padding:12px!important;overflow:visible!important;justify-items:stretch!important;align-content:start!important}
body.api-app.api-app main.api-page.api-page .panel-card,body.api-app.api-app main.api-page.api-page .result-card{width:100%!important;max-width:100%!important;justify-self:stretch!important;margin:0!important;padding:12px 14px!important;border:1px solid var(--yftx-line,var(--line))!important;border-radius:8px!important;background:#fbfcfd!important}
body.api-app.api-app main.api-page.api-page .advanced-card{padding:0!important}
body.api-app.api-app main.api-page.api-page .advanced-grid{padding:0 13px 13px!important}
body.api-app.api-app main.api-page.api-page .editor-actions{position:static!important;padding:10px 12px!important;border-top:1px solid var(--yftx-line,var(--line))!important}
body.api-app.api-app main.api-page.api-page .empty-editor{display:block!important;height:auto!important;padding:0!important}
body.api-app.api-app main.api-page.api-page .empty-panel{padding:16px!important;border:1px solid var(--yftx-line,var(--line))!important;border-radius:10px!important;background:#fff!important}
body.api-app.api-app main.api-page.api-page .empty-actions{justify-content:center!important}
body.api-app.api-app main.api-page.api-page:has(.connection-form:not(.hidden)) .empty-editor{display:none!important}

/* 2026-09-16（第二刀）：映射问题条上「只重跑不合格的 N 条」的按钮样式 */
.export-mapping-issue-retry {
  flex: 0 0 auto;
  margin-left: auto;
  height: 24px;
  padding: 0 10px;
  border: 1px solid rgba(47, 107, 79, .38) !important;
  border-radius: var(--yf-radius-control, 6px);
  background: rgba(47, 107, 79, .10);
  color: #2f6b4f;
  font-size: var(--yf-font-min, 11px);
  font-weight: 650;
  line-height: 22px;
  white-space: nowrap;
  cursor: pointer;
}

.export-mapping-issue-retry:hover:not(:disabled) {
  border-color: rgba(47, 107, 79, .55) !important;
  background: rgba(47, 107, 79, .18);
}

/* ------------------------------------------------------------------ */
/* 确认弹窗的按钮：整行居中 + 收小一点                                  */
/* 2026-09-18（老板要求）：原来动作行是 flex-end 右对齐、按钮 88×32，    */
/* 两个按钮又大又偏右。现在整行居中，按钮 68×28、字号 12。              */
/* ------------------------------------------------------------------ */
body.erp-app #systemModal .system-modal-actions {
  justify-content: center !important;
  min-height: 48px !important;
  padding: 9px 16px !important;
}

body.erp-app #systemModal .system-modal-actions .modal-btn,
body.erp-app #systemModal .system-modal-actions button {
  min-width: 68px !important;
  width: auto !important;
  height: 28px !important;
  min-height: 28px !important;
  max-height: 28px !important;
  padding: 0 14px !important;
  border-radius: 8px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

/* 只有一个按钮的提示弹窗：保持同样的小尺寸，别再被拉满整行 */
body.erp-app #systemModal.single-action .system-modal-actions #modalConfirmBtn,
body.erp-app #systemModal.single-action .system-modal-actions #modalCancelBtn {
  width: auto !important;
  min-width: 88px !important;
}

/* ===== 2026-09-24：全站字号与控件高度规范（唯一口径）=====
   清点结果（脚本扫描全部 CSS 得出）：
     字号：实际只有 4 档 —— 12px 用了 385 处、13px 132 处、15px 40 处、18px 16 处；
           另有 12.5px 只存在于变量里。字号的"乱"在于硬编码多，不在于档位多。
     控件高度：30 / 32 / 34 / 36 / 38 / 40 / 44 共 7 种并存，
           这才是"按钮看着不齐"的主因。
   规范（以后新样式只用这几档，不要再引入新数值）：
     字号  12px 次要说明 · 13px 正文 · 15px 小标题 · 18px 标题
     控件  32px 工具栏紧凑 · 36px 表单标准 · 40px 主操作
   注意：本块只登记口径，不修改任何现有数值。归并按页面逐个做，
         每个页面都有改前/改后截图对照，只接受"没有可见变化"或"更整齐"。 */
:root {
  --yftx-font-scale-xs: 12px;
  --yftx-font-scale-sm: 13px;
  --yftx-font-scale-md: 15px;
  --yftx-font-scale-lg: 18px;
  --yftx-control-compact: 32px;
  --yftx-control-standard: 36px;
  --yftx-control-primary: 40px;
}

/* ===== css/apple-shell-v193.css ===== */
/* ==========================================================================
   与飞同行 · Apple shell v193（苹果风外壳视觉层）
   --------------------------------------------------------------------------
   只做视觉：圆角、字号、层级、间距、分隔线、阴影、悬停/按下状态、过渡节奏。
   不改任何 id、不改 DOM、不改事件、不改流程/存储/接口，不改采集规则，
   不改 --collector-data-row-height（采集页「10 条/页」的行高由 collector.js 现算）。

   加载位置：system-polish.css 之后（全站末位）。
   整体回退：删掉 index.html 与 modules/source-inbox/index.html 里的这一个
   <link>，全站立刻回到 v192 的观感，不需要动其它文件。

   两条铁律（本项目踩过的坑，后续维护务必遵守）：
   1) 任何可能带 hidden 属性的元素（.modal-backdrop / .collector-empty-state /
      .collector-table-frame / .collector-bar-tools / 隐藏按钮 …）
      一律不写 display —— 会盖掉 .hidden{display:none}，弹窗就关不掉了。
   2) 用 opacity/visibility 做开合的元素（.user-popover / .erp-toast / 遮罩）
      不写 opacity、visibility、transform —— 会合不上。
   3) system-polish.css 第 938 行的缺右大括号不要补（补了会复活 178 个废弃规则块）。
   ========================================================================== */

:is(body.erp-app, body.source-inbox-frame-page) {
  --apl-ease: cubic-bezier(.32, .72, 0, 1);
  --apl-dur: 200ms;
  --apl-radius-card: 14px;
  --apl-radius-menu: 12px;
  --apl-radius-control: 10px;
  --apl-hairline: rgba(60, 60, 67, .09);
  --apl-hairline-soft: rgba(60, 60, 67, .06);
  --apl-fill-hover: rgba(120, 120, 128, .08);
  --apl-fill-press: rgba(120, 120, 128, .15);
  --apl-shadow-card: 0 1px 2px rgba(16, 24, 20, .04), 0 10px 26px rgba(16, 24, 20, .05);
  --apl-shadow-menu: 0 12px 32px rgba(16, 24, 20, .16), 0 2px 6px rgba(16, 24, 20, .06);
  --apl-shadow-modal: 0 30px 72px rgba(16, 24, 20, .22), 0 2px 10px rgba(16, 24, 20, .08);
  --apl-ring: 0 0 0 3.5px rgba(47, 107, 79, .18);
}

/* 统一的键盘焦点环（鼠标点击不出现，键盘 Tab 才出现） */
:is(body.erp-app, body.source-inbox-frame-page)
  :is(.collector-button, .modal-btn, .system-check-button, .account-add-button,
      .account-editor-primary, .account-editor-secondary, .collector-pager button,
      .collector-icon-button, .account-more-button, .password-control button,
      .nav button, .user-name, .user-menu-action, .brand):focus-visible {
  outline: 0 !important;
  box-shadow: var(--apl-ring) !important;
}

/* ==========================================================================
   1. 侧边栏
   ========================================================================== */
body.erp-app .sidebar {
  padding: 12px 8px 10px !important;
  border: 1px solid var(--apl-hairline) !important;
  border-radius: var(--apl-radius-card) !important;
  background: #fff !important;
  box-shadow: var(--apl-shadow-card) !important;
}

body.erp-app .sidebar .brand {
  height: 54px !important;
  min-height: 54px !important;
  margin: 0 0 6px !important;
  border-radius: var(--apl-radius-control) !important;
  transition: background var(--apl-dur) var(--apl-ease) !important;
}

body.erp-app .sidebar .brand:hover {
  background: var(--apl-fill-hover) !important;
}

body.erp-app .sidebar .nav {
  gap: 4px !important;
  padding: 6px 0 !important;
}

body.erp-app .sidebar .nav button {
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  padding: 0 10px !important;
  border: 1px solid transparent !important;
  border-radius: var(--apl-radius-control) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  transition: background var(--apl-dur) var(--apl-ease),
              color var(--apl-dur) var(--apl-ease) !important;
}

body.erp-app .sidebar .nav button:not(.active):not([aria-current="true"]):hover {
  background: var(--apl-fill-hover) !important;
  color: var(--yftx-text) !important;
}

body.erp-app .sidebar-user {
  padding-top: 10px !important;
  border-top: 1px solid var(--apl-hairline) !important;
}

body.erp-app .sidebar .user-name {
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  padding: 0 10px !important;
  border: 1px solid transparent !important;
  border-radius: var(--apl-radius-control) !important;
  background: var(--apl-fill-hover) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  transition: background var(--apl-dur) var(--apl-ease) !important;
}

body.erp-app .sidebar .user-menu:hover .user-name,
body.erp-app .sidebar .user-menu.open .user-name,
body.erp-app .sidebar .user-menu:focus-within .user-name {
  background: var(--apl-fill-press) !important;
}

/* 菜单宽度对齐触发按钮，避免整块飘出侧栏被裁掉（侧栏只有 108px 宽，且 overflow:hidden）。
   注意 v188 还有 min-width:158px 与 translateX(-50%)，会把菜单推到侧栏左侧、被裁掉一半，
   这里连同开态的 transform 一起压掉（开态是 0,4,1，必须用 0,5,1 才压得住）。 */
body.erp-app .user-popover {
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding: 5px !important;
  border: 1px solid var(--apl-hairline) !important;
  border-radius: var(--apl-radius-menu) !important;
  background: #fff !important;
  box-shadow: var(--apl-shadow-menu) !important;
  transform: translateY(4px) !important;
}

body.erp-app .sidebar .user-menu:hover .user-popover,
body.erp-app .sidebar .user-menu:focus-within .user-popover,
body.erp-app .sidebar .user-menu.open .user-popover {
  transform: translateY(0) !important;
}

body.erp-app .user-popover .user-menu-action {
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 8px !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-align: center !important;
  transition: background var(--apl-dur) var(--apl-ease) !important;
}

body.erp-app .user-popover .user-menu-action:hover,
body.erp-app .user-popover .user-menu-action:focus-visible {
  background: var(--apl-fill-hover) !important;
}

body.erp-app .user-popover-divider {
  height: 1px !important;
  margin: 4px 6px !important;
  background: var(--apl-hairline) !important;
}

body.erp-app .user-popover .logout-action {
  margin-top: 0 !important;
  border-top: 0 !important;
  border-radius: 8px !important;
}

/* ==========================================================================
   2. 登录页
   ========================================================================== */
body.erp-app .login-card {
  width: min(360px, 100%) !important;
  padding: 34px 30px 28px !important;
  border: 1px solid var(--apl-hairline) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: var(--apl-shadow-modal) !important;
}

body.erp-app #loginView .login-card input {
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 12px !important;
  border: 1px solid var(--apl-hairline) !important;
  border-radius: var(--apl-radius-control) !important;
  background: rgba(120, 120, 128, .06) !important;
  font-size: 15px !important;
  transition: border-color var(--apl-dur) var(--apl-ease),
              background var(--apl-dur) var(--apl-ease),
              box-shadow var(--apl-dur) var(--apl-ease) !important;
}

body.erp-app #loginView .login-card input:focus {
  border-color: rgba(47, 107, 79, .45) !important;
  background: #fff !important;
  box-shadow: var(--apl-ring) !important;
}

body.erp-app #loginView .login-card #password {
  margin-top: 10px !important;
}

body.erp-app .login-card #loginSubmitBtn {
  height: 40px !important;
  min-height: 40px !important;
  margin-top: 14px !important;
  border-radius: var(--apl-radius-control) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-indent: 0 !important;
  transition: background var(--apl-dur) var(--apl-ease) !important;
}

body.erp-app .login-error {
  font-size: 13px !important;
  line-height: 18px !important;
}

/* ==========================================================================
   3. 账号管理
   ========================================================================== */
body.erp-app .accounts-shell-minimal {
  width: min(720px, 100%) !important;
  max-width: 720px !important;
  margin: 0 auto !important;
}

body.erp-app .account-add-button {
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  padding: 0 14px !important;
  border-radius: 980px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  transition: background var(--apl-dur) var(--apl-ease) !important;
}

body.erp-app .account-table {
  border: 1px solid var(--apl-hairline) !important;
  border-radius: var(--apl-radius-card) !important;
  background: #fff !important;
  overflow: hidden !important;
  box-shadow: var(--apl-shadow-card) !important;
}

body.erp-app .account-table-header {
  height: 38px !important;
  min-height: 38px !important;
  border-bottom: 1px solid var(--apl-hairline) !important;
  background: rgba(120, 120, 128, .05) !important;
  color: var(--yftx-muted) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .02em !important;
}

body.erp-app .account-table-row {
  border-bottom: 1px solid var(--apl-hairline-soft) !important;
  transition: background var(--apl-dur) var(--apl-ease) !important;
}

body.erp-app .account-table-row:hover {
  background: var(--apl-fill-hover) !important;
}

body.erp-app .account-table-row:last-child {
  border-bottom: 0 !important;
}

body.erp-app .account-table-cell-name > span,
body.erp-app .account-table-cell-account {
  font-size: 13px !important;
}

body.erp-app .account-table-cell-name > span {
  font-weight: 600 !important;
  color: var(--yftx-text) !important;
}

body.erp-app .account-table-cell-account {
  color: var(--yftx-muted) !important;
  font-variant-numeric: tabular-nums !important;
}

body.erp-app .account-status-badge {
  height: 24px !important;
  min-height: 24px !important;
  padding: 0 10px !important;
  border-radius: 980px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

body.erp-app .account-more-button {
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  border-radius: 9px !important;
  font-size: 15px !important;
  color: var(--yftx-muted) !important;
  transition: background var(--apl-dur) var(--apl-ease),
              color var(--apl-dur) var(--apl-ease) !important;
}

body.erp-app .account-more-button:hover {
  background: var(--apl-fill-press) !important;
  color: var(--yftx-text) !important;
}

body.erp-app .account-action-menu {
  padding: 5px !important;
  border: 1px solid var(--apl-hairline) !important;
  border-radius: var(--apl-radius-menu) !important;
  background: #fff !important;
  box-shadow: var(--apl-shadow-menu) !important;
}

body.erp-app .account-action-menu button {
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  padding: 0 10px !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  transition: background var(--apl-dur) var(--apl-ease) !important;
}

body.erp-app .account-list-empty .account-table-cell strong {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--yftx-text) !important;
}

body.erp-app .account-list-empty .account-table-cell .empty-hint {
  font-size: 13px !important;
  color: var(--yftx-subtle) !important;
}

/* ==========================================================================
   4. 系统检测
   ========================================================================== */
body.erp-app .system-check-page {
  width: min(720px, 100%) !important;
  max-width: 720px !important;
  border: 1px solid var(--apl-hairline) !important;
  border-radius: var(--apl-radius-card) !important;
  background: #fff !important;
  overflow: hidden !important;
  box-shadow: var(--apl-shadow-card) !important;
}

body.erp-app .system-check-header {
  height: 56px !important;
  min-height: 56px !important;
  padding: 0 18px !important;
  gap: 12px !important;
  border-bottom: 1px solid var(--apl-hairline) !important;
  background: rgba(120, 120, 128, .04) !important;
}

body.erp-app .system-check-header p {
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 20px !important;
}

body.erp-app .system-check-row {
  padding: 12px 18px !important;
  border-bottom: 1px solid var(--apl-hairline-soft) !important;
}

body.erp-app .system-check-row-main strong {
  font-size: 13px !important;
  font-weight: 600 !important;
}

body.erp-app .system-check-row-main span {
  font-size: 13px !important;
  color: var(--yftx-muted) !important;
}

body.erp-app .system-check-badge {
  padding: 0 10px !important;
  border-radius: 980px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

/* ==========================================================================
   5. 弹窗与表单（确认 / 账号编辑 / 导出 / 商品详情）
   ========================================================================== */
body.erp-app .modal-backdrop {
  padding: 20px !important;
  background: rgba(20, 24, 26, .34) !important;
  -webkit-backdrop-filter: saturate(140%) blur(3px) !important;
  backdrop-filter: saturate(140%) blur(3px) !important;
}

body.erp-app :is(.system-modal, .account-editor-modal, .export-file-modal) {
  border: 1px solid var(--apl-hairline) !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: var(--apl-shadow-modal) !important;
}

body.erp-app .system-modal-copy h2,
body.erp-app .account-editor-header h2,
body.erp-app .export-file-modal-copy h2 {
  font-size: 18px !important;
  font-weight: 600 !important;
  letter-spacing: -.01em !important;
}

body.erp-app .system-modal-copy p,
body.erp-app .export-file-message {
  font-size: 13px !important;
  line-height: 1.55 !important;
  color: var(--yftx-muted) !important;
}

body.erp-app .system-modal-actions,
body.erp-app .export-file-modal-actions,
body.erp-app .account-editor-actions {
  border-top: 1px solid var(--apl-hairline) !important;
  background: rgba(120, 120, 128, .04) !important;
}

body.erp-app .modal-btn {
  height: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  padding: 0 16px !important;
  border-radius: var(--apl-radius-control) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  transition: background var(--apl-dur) var(--apl-ease) !important;
}

/* 确认弹窗与导出弹窗的按钮被 #id 级规则压着（layout-buttons-v190 是 1,1,1，
   shell-runtime-v174 的 #systemModal .modal-btn 是 1,2,1），必须 1,3,1 才压得住 */
body.erp-app #systemModal .system-modal-actions .modal-btn,
body.erp-app #exportFileModal .export-file-modal-actions .modal-btn {
  height: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  padding: 0 16px !important;
  border-radius: var(--apl-radius-control) !important;
  font-size: 14px !important;
}

body.erp-app .modal-btn + .modal-btn {
  border-left: 1px solid var(--apl-hairline) !important;
}

body.erp-app .modal-btn.confirm {
  font-weight: 600 !important;
}

body.erp-app .modal-btn:not(.confirm):hover:not(:disabled) {
  background: var(--apl-fill-hover) !important;
}

body.erp-app .account-editor-header {
  padding: 16px 18px !important;
  border-bottom: 1px solid var(--apl-hairline) !important;
}

body.erp-app .account-editor-close,
body.erp-app .product-detail-close,
body.erp-app .erp-image-zoom-close {
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  border-radius: 980px !important;
  background: var(--apl-fill-hover) !important;
  color: var(--yftx-muted) !important;
  transition: background var(--apl-dur) var(--apl-ease) !important;
}

body.erp-app .account-editor-close:hover,
body.erp-app .product-detail-close:hover,
body.erp-app .erp-image-zoom-close:hover {
  background: var(--apl-fill-press) !important;
  color: var(--yftx-text) !important;
}

body.erp-app .account-editor-field span {
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .01em !important;
  color: var(--yftx-muted) !important;
}

body.erp-app #accountEditorBackdrop .account-editor-field input,
body.erp-app #exportFileModal .export-file-modal-copy input[type="text"] {
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 12px !important;
  border: 1px solid var(--apl-hairline) !important;
  border-radius: var(--apl-radius-control) !important;
  background: rgba(120, 120, 128, .06) !important;
  font-size: 13px !important;
  transition: border-color var(--apl-dur) var(--apl-ease),
              background var(--apl-dur) var(--apl-ease),
              box-shadow var(--apl-dur) var(--apl-ease) !important;
}

body.erp-app #accountEditorBackdrop .account-editor-field input:focus,
body.erp-app #exportFileModal .export-file-modal-copy input[type="text"]:focus {
  border-color: rgba(47, 107, 79, .45) !important;
  background: #fff !important;
  box-shadow: var(--apl-ring) !important;
}

body.erp-app .password-control button {
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

body.erp-app .account-editor-secondary,
body.erp-app .account-editor-primary {
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  padding: 0 14px !important;
  border-radius: 980px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

body.erp-app #accountEditorBackdrop .account-editor-actions .account-editor-primary,
body.erp-app #accountEditorBackdrop .account-editor-actions .account-editor-secondary {
  height: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  padding: 0 18px !important;
  border-radius: 980px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

body.erp-app .account-editor-primary {
  transition: background var(--apl-dur) var(--apl-ease) !important;
}

body.erp-app .product-detail-drawer {
  border-left: 1px solid var(--apl-hairline) !important;
  background: #fff !important;
  box-shadow: -24px 0 64px rgba(16, 24, 20, .18) !important;
}

body.erp-app .product-detail-header {
  padding: 16px 18px !important;
  border-bottom: 1px solid var(--apl-hairline) !important;
}

body.erp-app .product-detail-header h2 {
  font-size: 18px !important;
  font-weight: 600 !important;
  letter-spacing: -.01em !important;
}

body.erp-app .product-detail-header p {
  font-size: 13px !important;
  color: var(--yftx-muted) !important;
}

/* ==========================================================================
   6. 采集筛选页（iframe 独立文档：body.source-inbox-frame-page）
      只碰观感：分隔线、悬停、圆角、弹窗；不碰表格行高与列宽。
   ========================================================================== */
body.source-inbox-frame-page .collector-commandbar {
  border: 1px solid var(--apl-hairline) !important;
  border-radius: var(--apl-radius-card) !important;
  box-shadow: var(--apl-shadow-card) !important;
}

body.source-inbox-frame-page .collector-content {
  border: 1px solid var(--apl-hairline) !important;
  border-radius: var(--apl-radius-card) !important;
  background: #fff !important;
  box-shadow: var(--apl-shadow-card) !important;
}

body.source-inbox-frame-page #collectorResultTable th {
  border-bottom: 1px solid var(--apl-hairline) !important;
  border-right: 1px solid var(--apl-hairline-soft) !important;
  background: rgba(120, 120, 128, .05) !important;
  color: var(--yftx-muted) !important;
  font-weight: 600 !important;
  letter-spacing: .01em !important;
}

body.source-inbox-frame-page #collectorResultTable td {
  border-right: 1px solid var(--apl-hairline-soft) !important;
  border-bottom: 1px solid var(--apl-hairline-soft) !important;
  font-size: 12px !important;
}

body.source-inbox-frame-page #collectorResultTable tbody tr:hover td {
  background: rgba(120, 120, 128, .05) !important;
}

body.source-inbox-frame-page #collectorResultTable tbody tr.selected td {
  background: rgba(47, 107, 79, .09) !important;
}

body.source-inbox-frame-page .collector-thumb,
body.source-inbox-frame-page .collector-detail-image img {
  border-radius: 8px !important;
}

body.source-inbox-frame-page .collector-copy-button,
body.source-inbox-frame-page .collector-detail-image-remove,
body.source-inbox-frame-page .collector-detail-image-move {
  border-radius: 8px !important;
  transition: background var(--apl-dur) var(--apl-ease),
              color var(--apl-dur) var(--apl-ease) !important;
}

/* 分页控件与每页条数的高度/字号/圆角由 collector-toolbar-v192.css 拥有
   （具体度 1,3,2 与 1,4,2），这里只负责描边与悬停底色的兜底观感，不参与尺寸竞争。 */
body.source-inbox-frame-page .collector-pager button,
body.source-inbox-frame-page #collectorPageSize {
  border: 1px solid var(--apl-hairline) !important;
  background: #fff !important;
  transition: background var(--apl-dur) var(--apl-ease) !important;
}

body.source-inbox-frame-page .collector-pager button:hover:not(:disabled) {
  background: var(--apl-fill-hover) !important;
}

body.source-inbox-frame-page .collector-rules-dialog {
  border: 1px solid var(--apl-hairline) !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: var(--apl-shadow-modal) !important;
}

body.source-inbox-frame-page .collector-rules-head {
  padding: 16px 18px !important;
  border-bottom: 1px solid var(--apl-hairline) !important;
}

body.source-inbox-frame-page .collector-rules-head strong {
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

body.source-inbox-frame-page .collector-rules-foot {
  padding: 12px 18px !important;
  border-top: 1px solid var(--apl-hairline) !important;
  background: rgba(120, 120, 128, .04) !important;
}

body.source-inbox-frame-page .collector-icon-button {
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  border-radius: 980px !important;
  background: var(--apl-fill-hover) !important;
  font-size: 15px !important;
  transition: background var(--apl-dur) var(--apl-ease) !important;
}

body.source-inbox-frame-page .collector-icon-button:hover {
  background: var(--apl-fill-press) !important;
}

body.source-inbox-frame-page .collector-detail {
  border-left: 1px solid var(--apl-hairline) !important;
  background: #fff !important;
  box-shadow: -24px 0 64px rgba(16, 24, 20, .18) !important;
}

body.source-inbox-frame-page .collector-detail-head {
  padding: 16px 18px !important;
  border-bottom: 1px solid var(--apl-hairline) !important;
}

body.source-inbox-frame-page .collector-detail-actions {
  border-top: 1px solid var(--apl-hairline) !important;
  background: rgba(120, 120, 128, .04) !important;
}

body.source-inbox-frame-page .collector-rule-item {
  border-radius: var(--apl-radius-control) !important;
}

body.source-inbox-frame-page .collector-rule-index {
  border-radius: 980px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

body.source-inbox-frame-page .collector-toast {
  border-radius: var(--apl-radius-menu) !important;
  box-shadow: var(--apl-shadow-menu) !important;
}


/* ---- 6.1 结果表：数字右对齐 + 等宽数字 ----
   数字列的结构是 <span class="collector-copyable-cell"><span class="cell-*">，
   内层是行内元素，所以对齐写在块级包装上（text-align 会继承下去）；
   右侧留 20px 内边距让文字避开悬停才出现的复制按钮 —— 复制按钮是 right:0
   相对 padding box 定位的，加内边距不会把按钮挪走。 */
body.source-inbox-frame-page #collectorResultTable th.number-cell,
body.source-inbox-frame-page #collectorResultTable th.rank-number-cell {
  padding-right: 20px !important;
  text-align: right !important;
}

body.source-inbox-frame-page #collectorResultTable td.number-cell .collector-copyable-cell,
body.source-inbox-frame-page #collectorResultTable td.rank-number-cell .collector-copyable-cell {
  padding-right: 20px !important;
  text-align: right !important;
}

body.source-inbox-frame-page #collectorResultTable td.number-cell .cell-number,
body.source-inbox-frame-page #collectorResultTable td.number-cell .cell-price,
body.source-inbox-frame-page #collectorResultTable td.number-cell .cell-rating,
body.source-inbox-frame-page #collectorResultTable td.rank-number-cell .cell-number {
  font-variant-numeric: tabular-nums !important;
}

body.source-inbox-frame-page #collectorResultTable td.number-cell .cell-price {
  font-weight: 600 !important;
}

body.source-inbox-frame-page #collectorResultTable td.number-cell .cell-rating {
  color: #8a6220 !important;
  font-weight: 600 !important;
}

body.source-inbox-frame-page .collector-thumb-placeholder {
  border-radius: 8px !important;
}

/* ---- 6.2 商品详情抽屉 ---- */
body.source-inbox-frame-page .collector-detail-head {
  min-height: 64px !important;
  padding: 14px 20px !important;
  gap: 14px !important;
}

body.source-inbox-frame-page .collector-detail-head strong {
  color: var(--yftx-muted) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
}

body.source-inbox-frame-page .collector-detail-head h2 {
  margin-top: 3px !important;
  color: var(--yftx-text) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 1.4 !important;
}

body.source-inbox-frame-page .collector-detail-body {
  padding: 18px 20px 24px !important;
}

body.source-inbox-frame-page .collector-detail-section {
  margin-bottom: 22px !important;
}

body.source-inbox-frame-page .collector-detail-section h3 {
  margin: 0 0 8px !important;
  color: var(--yftx-muted) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .02em !important;
}

body.source-inbox-frame-page .collector-detail-meta-row {
  padding: 7px 0 !important;
  border-bottom: 1px solid var(--apl-hairline-soft) !important;
  font-size: 13px !important;
}

body.source-inbox-frame-page .collector-detail-meta-row:last-child {
  border-bottom: 0 !important;
}

body.source-inbox-frame-page .collector-field label {
  color: var(--yftx-muted) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

body.source-inbox-frame-page .collector-field input,
body.source-inbox-frame-page .collector-field textarea {
  padding: 9px 11px !important;
  border: 1px solid var(--apl-hairline) !important;
  border-radius: var(--apl-radius-control) !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  transition: border-color var(--apl-dur) var(--apl-ease),
              box-shadow var(--apl-dur) var(--apl-ease) !important;
}

body.source-inbox-frame-page .collector-field input:focus,
body.source-inbox-frame-page .collector-field textarea:focus {
  border-color: rgba(47, 107, 79, .42) !important;
  box-shadow: var(--apl-ring) !important;
}

body.source-inbox-frame-page .collector-detail-image {
  border: 1px solid var(--apl-hairline) !important;
  border-radius: var(--apl-radius-control) !important;
}

body.source-inbox-frame-page .collector-detail-image-remove {
  border-radius: 980px !important;
}

body.source-inbox-frame-page .collector-detail-image-count {
  font-weight: 600 !important;
}

/* 具体度陷阱：layout-buttons-v190.css 那个大 :is() 列表里含 .icon-button.has-label
   （两个 class），整个 :is() 因此是 (0,2,0)，整组选择器是 (0,3,1)。
   只写 body.source-inbox-frame-page .collector-detail-recollect 是 (0,2,1)，会整条输掉
   （height 与 border-radius 都不生效）。这里带 #collectorDetailBody 升到 (1,2,1) 才稳。
   另外 v190 同时声明了 min-height / max-height，光写 height 会被夹回 32px，必须一起写。 */
body.source-inbox-frame-page #collectorDetailBody .collector-detail-recollect {
  height: 26px !important;
  min-height: 26px !important;
  max-height: 26px !important;
  border: 1px solid var(--apl-hairline) !important;
  border-radius: 980px !important;
  background: var(--apl-fill-hover) !important;
  color: var(--yftx-text) !important;
  font-weight: 600 !important;
}

body.source-inbox-frame-page #collectorDetailBody .collector-detail-recollect:hover:not(:disabled) {
  border-color: var(--apl-hairline) !important;
  background: var(--apl-fill-press) !important;
  color: var(--yftx-text) !important;
}

/* 页脚高度由 v191 固定成 54px；这里只给横向内边距，纵向交给 flex 居中。 */
body.source-inbox-frame-page .collector-detail-actions {
  padding: 0 20px !important;
}

/* 36px = 系统自己的主控件尺寸（system-polish.css 的 --yf-control-md）。
   与 v190 的 (0,3,1) 打平只能靠加载顺序赢，这里带 #collectorDetailPanel 升到 (1,3,1)；
   同时必须补 min-height / max-height，否则 v190 的 32px 会把 height 夹住。 */
body.source-inbox-frame-page #collectorDetailPanel .collector-detail-actions .collector-button {
  height: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  min-width: 96px !important;
  border-radius: var(--apl-radius-control) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

/* 次要操作改成灰底、去掉描边；主操作保持实心（颜色沿用采集页自己的主题色）。 */
body.source-inbox-frame-page #collectorDetailPanel .collector-detail-actions .collector-button.secondary {
  border-color: transparent !important;
  background: var(--apl-fill-hover) !important;
  color: var(--yftx-text) !important;
}

body.source-inbox-frame-page #collectorDetailPanel .collector-detail-actions .collector-button.secondary:hover:not(:disabled) {
  border-color: transparent !important;
  background: var(--apl-fill-press) !important;
  color: var(--yftx-text) !important;
}

/* ---- 6.3 空状态（.collector-empty-state 靠 hidden 属性开合，这里绝不写 display） ---- */
body.source-inbox-frame-page .collector-empty-state {
  padding: 28px !important;
  color: var(--yftx-muted) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

body.source-inbox-frame-page .collector-empty-state::before {
  content: "" !important;
  display: block !important;
  width: 56px !important;
  height: 56px !important;
  margin: 0 0 14px !important;
  border-radius: 980px !important;
  background: rgba(120, 120, 128, .08)
    url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239aa39d' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M3.6 12.6h3.8l1.2 2.1h6.8l1.2-2.1h3.8'/><path d='M5.9 5.7h12.2a2 2 0 0 1 1.9 1.4l1.1 4v4.8a2 2 0 0 1-2 2H4.9a2 2 0 0 1-2-2V11.1l1.1-4a2 2 0 0 1 1.9-1.4Z'/></svg>")
    center / 26px 26px no-repeat !important;
}

body.source-inbox-frame-page .collector-empty-state strong {
  color: var(--yftx-text) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

body.source-inbox-frame-page #collectorResultTable .collector-empty-row td {
  color: var(--yftx-muted) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

/* ---- 6.4 采集页提示条（success/warning/error 沿用 v191 的语义色，不在这里抢） ---- */
body.source-inbox-frame-page .collector-toast:not(.success):not(.warning):not(.error) {
  border-color: rgba(255, 255, 255, .10) !important;
  background: rgba(28, 28, 30, .82) !important;
}

body.source-inbox-frame-page .collector-toast {
  -webkit-backdrop-filter: saturate(180%) blur(20px) !important;
  backdrop-filter: saturate(180%) blur(20px) !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}

/* ==========================================================================
   7. 全站提示条（.erp-toast）
      它的开合靠 v174 的 opacity / transform:translateX(-50%)，这一节绝不写
      opacity / visibility / transform，否则提示条会飘位或收不起来。
      success / warning / error 三个语义色归 layout-dialogs-v191.css，不抢。
   ========================================================================== */
body.erp-app .erp-toast:not(.success):not(.warning):not(.error) {
  border-color: rgba(255, 255, 255, .10) !important;
  background: rgba(28, 28, 30, .82) !important;
}

body.erp-app .erp-toast {
  border-radius: var(--apl-radius-menu) !important;
  box-shadow: var(--apl-shadow-menu) !important;
  -webkit-backdrop-filter: saturate(180%) blur(20px) !important;
  backdrop-filter: saturate(180%) blur(20px) !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}

/* ==========================================================================
   8. 响应式（只用 1280 / 1024 / 760 三档，与既有断点对齐）
   ========================================================================== */
@media (max-width: 1280px) {
  body.erp-app .accounts-shell-minimal,
  body.erp-app .system-check-page {
    width: 100% !important;
  }
}

@media (max-width: 1024px) {
  body.erp-app .sidebar .nav button {
    font-size: 12px !important;
  }
}

@media (max-width: 760px) {
  body.erp-app .login-card {
    width: 100% !important;
    padding: 26px 20px 22px !important;
    border-radius: 16px !important;
  }

  body.erp-app .sidebar .nav button {
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
  }

  body.erp-app .account-table-header,
  body.erp-app .account-table-row {
    padding: 0 10px !important;
    gap: 6px !important;
  }

  body.erp-app .modal-btn {
    font-size: 15px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(body.erp-app, body.source-inbox-frame-page) * {
    transition-duration: .01ms !important;
  }
}
