:root{--bg:#f5f7fb;--card:#fff;--ink:#1e293b;--muted:#526174;--line:#dce3ed;--blue:#245bd5;--blue-soft:#eaf1ff;--orange:#ad480d;--orange-soft:#fff3e8;--green:#13734b;--green-soft:#e9f8f0;--ring:#245bd5}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}input,textarea,select{color:var(--ink)}
:focus-visible{outline:3px solid var(--ring);outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:24px;line-height:1.3}h2{font-size:18px;line-height:1.4}
[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:absolute;left:12px;top:-80px;background:#fff;padding:10px;z-index:20}.skip:focus{top:12px}
.topbar{min-height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:12px max(24px,calc((100vw - 1440px)/2));gap:20px}.brand{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:750;white-space:nowrap}.brand small{font-size:13px;font-weight:550;color:var(--muted);margin-left:6px}.brand-mark{width:34px;height:34px;border-radius:9px;background:var(--blue);color:white;display:grid;place-items:center;font-size:17px}.topbar nav{display:flex;gap:8px;flex-wrap:wrap}.topbar nav a{text-decoration:none;padding:10px 13px;border-radius:9px;color:var(--muted);font-weight:600}.topbar nav a.active,.topbar nav a:hover{background:var(--blue-soft);color:var(--blue)}
main{max-width:1440px;margin:auto;padding:24px 24px 60px}.page-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:20px}.page-head p{margin-top:6px}.hint{font-size:13px;color:var(--muted)}
.supplier-import{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px;margin-bottom:20px}.supplier-import-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}.supplier-import-head p{margin-top:4px}
.upload-button,.button{border:1px solid var(--blue);background:var(--blue);color:#fff;border-radius:8px;min-height:44px;padding:9px 16px;display:inline-flex;align-items:center;justify-content:center;font-weight:650;text-decoration:none;white-space:nowrap}.button.secondary{background:#fff;color:var(--blue)}.button.ghost{background:#fff;color:var(--ink);border-color:var(--line)}.button.small{min-height:38px;padding:6px 11px;font-size:13px}.upload-button:hover,.button:not(:disabled):hover{filter:brightness(.95)}.text-button{border:0;background:transparent;color:var(--blue);padding:8px 4px;min-height:40px;font-size:13px;white-space:nowrap}.text-button:hover{text-decoration:underline}
.import-feedback:has(.status-line:not(:empty)){padding:0 0 20px}.file-name{color:var(--muted);word-break:break-all;font-size:13px}.status-line{color:var(--muted);margin-top:6px;font-size:13px;overflow-wrap:anywhere}.status-line.error{color:#ad2323}.file-name:empty,.status-line:empty{display:none}.preview{background:#fff;border:1px solid #d6e4ff;border-radius:11px;margin-top:12px;padding:16px}.preview-head{display:flex;justify-content:space-between;align-items:start;gap:14px;flex-wrap:wrap}.preview-metrics{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.preview-metrics span{background:var(--bg);border-radius:7px;padding:7px 11px;font-size:13px}.preview p{margin:6px 0;color:var(--muted);font-size:13px}
.management-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:20px;align-items:start}.category-sidebar,.workspace{background:var(--card);border:1px solid var(--line);border-radius:12px}.category-sidebar{padding:12px;position:sticky;top:20px}.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 8px 8px}.sidebar-head h2{font-size:14px}.category-link{width:100%;border:0;background:transparent;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;padding:10px 12px;min-height:44px;border-radius:8px;color:var(--muted);margin:2px 0}.category-link span:first-child{overflow-wrap:anywhere;min-width:0}.category-link:hover{background:var(--bg)}.category-link.active{color:var(--blue);background:var(--blue-soft);font-weight:700}.category-count{font-size:12px;background:#f0f3f8;border-radius:5px;padding:1px 6px;flex-shrink:0}.category-link.active .category-count{background:#dce8ff}.sidebar-note{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding:14px 8px 2px;margin-top:12px}
.workspace{min-width:0;overflow:hidden}.work-head{padding:20px 22px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.work-head h2{overflow-wrap:anywhere}.work-head p{margin-top:4px}.toolbar{padding:0 22px 18px;display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}.tabs{display:flex;gap:4px;background:#eef2f8;padding:4px;border-radius:9px}.tab{border:0;background:transparent;color:var(--muted);font-weight:650;border-radius:6px;padding:8px 12px;min-height:40px;white-space:nowrap;font-size:14px}.tab.active{background:white;color:var(--blue);box-shadow:0 1px 4px #d4deec}.tab span{font-size:12px;margin-left:4px}.search-label{flex:1;max-width:310px;min-width:220px}.search-label input{width:100%;height:44px;border:1px solid var(--line);border-radius:8px;padding:8px 12px;background:#fff}
.bulk-bar{background:#f1f6ff;border-top:1px solid var(--line);padding:12px 22px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bulk-bar strong{color:var(--blue);white-space:nowrap;font-size:13px}.bulk-bar select{max-width:200px;min-height:38px;border:1px solid var(--line);border-radius:7px;background:#fff;padding:6px 9px}
.table-scroll{overflow-x:auto}.owner-table{width:100%;border-collapse:collapse;text-align:left;table-layout:fixed}.owner-table th{font-size:12px;color:var(--muted);font-weight:600;background:#f8fafc;padding:12px 16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.owner-table th:nth-child(2){width:38%}.owner-table th:nth-child(3){width:30%}.owner-table th:nth-child(4){width:100px}.owner-table td{padding:13px 16px;border-bottom:1px solid #edf0f5;vertical-align:middle}.owner-table tbody tr:hover{background:#f8faff}.owner-table tr.selected{background:#edf4ff}.owner-table .check-cell{width:52px;padding-right:0}.owner-table .action-cell{width:65px;text-align:right;padding-left:0}.row-check,#selectVisible{width:20px;height:20px;accent-color:var(--blue);cursor:pointer;vertical-align:middle}.owner-main{border:0;background:transparent;text-align:left;padding:0;display:flex;align-items:center;gap:12px;width:100%;min-height:48px;color:var(--ink)}.owner-main>span:last-child{min-width:0}.owner-main strong{display:block;font-size:14px;overflow-wrap:anywhere}.owner-main small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.thumb{width:44px;height:52px;flex-shrink:0;border-radius:6px;background:#f1f4f8;object-fit:cover;border:1px solid var(--line)}.no-poster{display:grid;place-items:center;font-size:10px;color:var(--muted)}.row-categories{display:flex;flex-wrap:wrap;gap:5px}.category-tag{background:#f1f4f8;color:#44566d;border-radius:5px;font-size:12px;padding:3px 7px;overflow-wrap:anywhere}.badge{display:inline-flex;align-items:center;border-radius:99px;padding:3px 8px;font-size:12px;font-weight:600;white-space:nowrap}.badge.pending{background:var(--orange-soft);color:var(--orange)}.badge.published{background:var(--green-soft);color:var(--green)}.badge.draft{background:#edf0f5;color:#526174}.empty{padding:64px 24px!important;text-align:center;color:var(--muted)}.list-footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 22px;color:var(--muted);font-size:12px}
dialog{color:var(--ink);border:0;box-shadow:0 16px 64px #14243b33;padding:0;background:#fff}dialog::backdrop{background:#17294366}.editor-dialog{width:760px;max-width:100vw;max-height:100dvh;height:100dvh;margin:0 0 0 auto;border-radius:14px 0 0 14px;overflow:auto}.drawer-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 24px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:2}.detail-pane{padding:24px;min-width:0}.detail-top{display:flex;justify-content:space-between;gap:18px;align-items:start}.detail-top h3{font-size:22px;margin:0 0 5px;line-height:1.3;overflow-wrap:anywhere}.subline{font-size:12px;color:var(--muted);word-break:break-all}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:22px;margin-top:23px}.field{margin-bottom:20px}.field label,.field-label{display:block;font-weight:650;margin-bottom:8px;font-size:13px}.field-note{font-size:12px;color:var(--muted);margin:6px 0 0}.field input:not([type=checkbox]),.field textarea,.new-category input,.category-edit input{display:block;width:100%;min-width:0;border:1px solid var(--line);background:white;border-radius:8px;padding:10px 12px;min-height:44px}.field textarea{height:112px;resize:vertical}.chip-grid{display:flex;flex-wrap:wrap;gap:7px}.chip{border:1px solid #c7d6eb;border-radius:99px;padding:8px 11px;min-height:42px;background:#fff;color:#344b69;font-weight:600;font-size:13px;overflow-wrap:anywhere;max-width:100%}.chip[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:#fff}.chip:hover{border-color:var(--blue)}.new-category{display:flex;gap:8px;margin-top:10px}.poster-box{background:#f7f8fb;border:1px solid var(--line);border-radius:11px;padding:10px;height:max-content}.poster-box img{display:block;width:100%;aspect-ratio:3/4;object-fit:contain;background:#fff;border-radius:6px}.poster-box a{font-size:12px;color:var(--blue);display:block;text-align:center;margin-top:8px}.detail-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center;border-top:1px solid var(--line);padding-top:18px}.detail-actions .save-next{margin-left:auto}.category-dialog{width:580px;max-width:calc(100vw - 24px);max-height:85dvh;border-radius:12px;padding:0 20px 20px}.category-dialog .drawer-head{padding:16px 0;margin-bottom:16px}.category-dialog>.hint{margin-bottom:14px}.category-dialog>.new-category{margin-bottom:20px}.category-edit{display:flex;gap:6px;padding:9px 0;border-bottom:1px solid #edf0f5;align-items:center}.category-edit input{flex:1}.category-edit .button{min-width:38px}.toast{position:fixed;right:22px;bottom:22px;max-width:min(600px,calc(100vw - 44px));background:#1f334d;color:#fff;border-radius:9px;padding:12px 16px;box-shadow:0 12px 30px #22354c33;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s;z-index:30}.toast.show{opacity:1;transform:translateY(0)}
@media(max-width:1000px){.management-layout{grid-template-columns:180px minmax(0,1fr);gap:14px}.toolbar{align-items:stretch}.search-label{max-width:none}.owner-table th:nth-child(2){width:auto}.owner-table th:nth-child(3){width:27%}.owner-table td,.owner-table th{padding-left:12px;padding-right:12px}.owner-main{gap:8px}}
@media(max-width:700px){main{padding:20px 13px 40px}.topbar{padding:12px 13px;flex-wrap:wrap;gap:8px}.brand small{display:none}.topbar nav{width:100%;justify-content:space-between;gap:0}.topbar nav a{padding:9px 7px;font-size:13px}.page-head{gap:10px}.page-head h1{font-size:21px}.page-head .hint{font-size:12px}.upload-button{padding:9px 12px;font-size:14px}.management-layout{grid-template-columns:1fr;gap:14px}.category-sidebar{position:static;padding:10px}.sidebar-head{padding-bottom:4px}.sidebar-note{display:none}#categoryNav{display:flex;gap:4px;flex-wrap:wrap}.category-link{width:auto;max-width:100%;gap:8px;min-height:40px;padding:8px 10px;font-size:13px}.work-head{padding:18px 16px 14px}.toolbar{padding:0 16px 16px;gap:12px}.tabs{width:100%;justify-content:space-between}.tab{padding:8px 10px}.search-label{min-width:0;flex-basis:100%}.owner-table,.owner-table thead,.owner-table tbody{display:block;width:100%}.owner-table thead tr{display:block;background:#f8fafc;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.owner-table thead th{display:none}.owner-table thead .check-cell{display:flex;align-items:center;gap:8px;width:auto;border:0;padding:12px 16px}.owner-table thead .check-cell:after{content:"选择当前列表"}.owner-table tbody tr{display:grid;grid-template-columns:24px minmax(0,1fr) 56px;gap:8px 10px;padding:14px 16px;border-bottom:1px solid #edf0f5;align-items:center}.owner-table td{display:block;border:0;padding:0}.owner-table .check-cell{grid-column:1;grid-row:1 / 3;width:auto;padding:0}.owner-table td:nth-child(2){grid-column:2;grid-row:1}.owner-table td:nth-child(3){grid-column:2;grid-row:2}.owner-table td:nth-child(4){grid-column:3;grid-row:1}.owner-table td.action-cell{grid-column:3;grid-row:2;width:auto;padding:0}.owner-table .empty{grid-column:1 / -1!important}.owner-table .thumb{width:36px;height:44px}.owner-main strong{font-size:13px}.owner-table .badge{padding:3px 6px}.row-categories{padding-left:44px}.list-footer{padding:12px 16px}.list-footer span:last-child{display:none}.bulk-bar{padding:12px 16px}.editor-dialog{border-radius:0;width:100%}.drawer-head{padding:16px}.detail-pane{padding:18px}.detail-layout{grid-template-columns:1fr}.poster-box{max-width:170px;grid-row:1}.detail-actions .save-next{margin-left:0}.category-dialog{padding:0 14px 16px}.category-edit{gap:4px}.category-edit .button{padding:6px 8px;min-width:32px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

.supplier-table{width:100%;border-collapse:collapse;text-align:left;table-layout:fixed}.supplier-table th,.supplier-table td{padding:14px 18px;border-bottom:1px solid var(--line);font-size:13px;overflow-wrap:anywhere}.supplier-table th{background:var(--bg);color:var(--muted)}.supplier-table th:first-child{width:38%}.supplier-table th:last-child{width:90px}.supplier-table small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.supplier-table strong{font-size:14px}.supplier-raw{margin-top:24px;border-top:1px solid var(--line);padding-top:16px}.supplier-raw summary{cursor:pointer;color:var(--blue);min-height:44px}.supplier-raw pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--bg);padding:14px;border-radius:10px;font-size:12px}
@media(max-width:640px){.supplier-table th,.supplier-table td{padding:12px 10px}.supplier-table th:nth-child(3),.supplier-table td:nth-child(3),.supplier-table th:nth-child(4),.supplier-table td:nth-child(4){display:none}.supplier-table th:first-child{width:45%}.supplier-table th:last-child{width:76px}.topbar nav{flex-wrap:wrap;justify-content:flex-start}.page-head{flex-wrap:wrap}}

.category-delete{color:#b42318}.fixed-category{font-size:12px;color:var(--muted);white-space:nowrap}.category-edit input:disabled{background:var(--bg);color:var(--muted);opacity:1}

/* Keep the classification queue visible before the general directory. */
.category-link.category-pending{background:var(--orange-soft);color:var(--orange);border:1px solid #edc5a6;margin-bottom:10px;font-weight:700;min-height:58px}
.category-label{display:block;text-align:left}.pending-hint{display:block;font-size:11px;font-weight:500;margin-top:2px}
.category-link.category-pending:hover{background:#ffe7d1}
.category-link.category-pending.active{background:#ffead8;border-color:var(--orange);box-shadow:inset 3px 0 0 var(--orange)}
.category-link.category-pending .category-count{background:var(--orange);color:#fff;min-width:26px;text-align:center;font-size:13px}
.category-tag.pending-tag{background:var(--orange-soft);color:var(--orange);font-weight:650}
.category-edit.category-edit-pending{background:var(--orange-soft);border:1px solid #edc5a6;border-radius:9px;padding:9px;margin-bottom:8px}
.category-edit-pending input:disabled{color:var(--orange);background:transparent;border-color:transparent;font-weight:700}
.category-edit-pending .fixed-category{color:var(--orange)}
@media(max-width:700px){#categoryNav .category-pending{width:100%;margin-bottom:6px;min-height:58px}.category-pending .category-label{display:flex;align-items:center;gap:10px}.category-pending .pending-hint{margin-top:0}}

.category-edit-trigger{border:1px solid transparent;cursor:pointer;min-height:36px;text-align:left;font:inherit;font-size:12px}.category-edit-trigger:hover{border-color:var(--blue);color:var(--blue)}
.quick-category-dialog{width:440px;max-width:calc(100vw - 28px);max-height:85dvh;border-radius:14px;padding:24px;overflow:auto}
.quick-category-dialog h2{font-size:20px}.quick-category-dialog .hint{margin-top:6px;overflow-wrap:anywhere}.quick-category-dialog .chip-grid{margin:22px 0 14px}.quick-category-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}
.simple-category-field{margin-top:24px}.editable-poster{padding:16px;background:var(--bg);border:1px solid var(--line);border-radius:12px;display:grid;place-items:center;min-height:120px;margin-bottom:12px}.editable-poster img{display:block;max-width:100%;max-height:360px;object-fit:contain}.field .image-upload{display:inline-flex;cursor:pointer;margin-bottom:0}.image-upload:has(+input:focus-visible){outline:3px solid var(--ring);outline-offset:3px}.image-upload:has(+input:disabled){pointer-events:none;opacity:.5}

.page-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
@media(max-width:700px){.page-head{flex-wrap:wrap}.page-actions{width:100%}.page-actions>button{flex:1}}

.code-image-info{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin-top:6px;min-width:0}
.code-image-status{display:inline-block;border-radius:5px;font-size:11px;font-weight:650;padding:2px 6px;line-height:1.5}
.code-image-status.current{color:var(--green);background:var(--green-soft)}
.code-image-status.expired{color:#b42318;background:#fff0ee;border:1px solid #f2c0ba}
.code-image-status.unknown{color:var(--orange);background:var(--orange-soft)}
.code-image-time{display:block;width:100%;font-size:11px;color:var(--muted);font-weight:400;overflow-wrap:anywhere;line-height:1.6}
.detail-code-image{margin-bottom:10px}.detail-code-image .code-image-status{font-size:12px}.detail-code-image .code-image-time{font-size:12px}.editable-poster{margin-top:12px}

.account-status { display: flex; flex-direction: column; gap: 4px; margin-top: 8px; font-size: 13px; line-height: 1.5; color: var(--orange); overflow-wrap: anywhere; }
.account-status strong { font-size: 13px; }

.hot-badge { display:inline-block; flex-shrink:0; white-space:nowrap; padding:3px 8px; border-radius:6px; background:#fff1dc; color:#874000; font-size:12px; font-weight:600; line-height:1.5; }

#exportForm .field { display:grid; gap:8px; margin:16px 0; }
#exportForm select,#exportForm input { width:100%; min-height:44px; padding:8px 10px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--ink); }

#exportDialog { padding:0; overflow:hidden; }
#exportForm { display:flex; flex-direction:column; max-height:85dvh; }
#exportForm>.drawer-head { flex:none; margin:0; padding:16px 20px; border-bottom:1px solid var(--line); }
.export-fields { min-height:0; overflow-y:auto; padding:16px 20px; scroll-padding:8px; }
.export-actions { flex:none; padding:12px 20px 16px; border-top:1px solid var(--line); background:#fff; }
.export-actions .button { width:100%; }
.export-actions .status-line:not(:empty) { margin:0 0 10px; }

.group-settings-panel{margin:0 0 24px;padding:20px;border:1px solid #dfe6f0;border-radius:16px;background:#fff}.group-settings-panel summary{cursor:pointer;font-weight:600;min-height:44px;display:list-item}.group-settings-panel fieldset{border:0;padding:12px 0 0;margin:0;min-width:0}.group-toggle{display:flex;align-items:center;gap:10px;min-height:44px;margin-bottom:12px}.group-settings-panel input[type=url]{width:100%;min-height:44px;margin:8px 0;padding:10px;border:1px solid #718099;border-radius:8px}.group-settings-panel .field{display:block}

.group-settings-panel textarea{display:block;width:100%;min-height:88px;margin:8px 0;padding:10px;border:1px solid #718099;border-radius:8px;resize:vertical}
