:root{font-family:Inter,"Microsoft YaHei",Arial,sans-serif;color:#1f3441;background:#f4f7f6;font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:13px}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.46;cursor:not-allowed}.app{min-height:100vh}.topbar{height:67px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 26px;background:#fff;border-bottom:1px solid #dce7e3}.brand{display:flex;align-items:center;gap:11px}.brandicon{display:grid;place-items:center;background:#0b9d84;color:white;font-size:29px;width:41px;height:41px;border-radius:11px}.brand strong{display:block;font-size:18px;letter-spacing:.3px;color:#203643}.brand small{display:block;margin-top:2px;color:#90a09b;font-size:11px}.right-head{display:flex;align-items:center;gap:14px}.save-status{color:#4f8678}.save-status.error{color:#c35353}.server-tag{background:#edf7f4;color:#15947c;border-radius:30px;padding:7px 11px;font-weight:700;font-size:11px}.main{max-width:1800px;margin:auto;padding:20px 20px 36px}.intro{display:flex;align-items:center;justify-content:space-between;margin:2px 1px 16px;gap:20px}.intro h1{margin:0 0 5px;font-size:24px;letter-spacing:-.6px}.intro h1 span{vertical-align:middle;font-size:12px;color:#109779;background:#e2f5ee;padding:4px 7px;border-radius:6px;letter-spacing:1px}.intro p{margin:0;color:#758982;font-size:12px}.counter{display:flex;gap:10px;align-items:center;white-space:nowrap}.counter strong{font-size:14px;color:#07866c}.counter span{color:#7e9a91}.toolbar{background:#fff;border:1px solid #dce8e3;border-radius:11px;padding:10px 12px;box-shadow:0 3px 14px #1f473007;margin-bottom:14px}.tool-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.tool-row+.tool-row{padding-top:9px;margin-top:9px;border-top:1px solid #eff3f1}.tool-row label{display:flex;align-items:center;gap:7px;white-space:nowrap;color:#60776d}.tool-row input[type=number]{width:59px;padding:7px 5px;text-align:center;border-radius:6px;border:1px solid #d8e2de;background:#fff;color:#234a42}.tool-row input[type=checkbox]{accent-color:#009a7c}.toggle{cursor:pointer}.btn{border:1px solid #d7e3df;background:#fff;color:#29483e;border-radius:6px;padding:8px 11px;min-height:32px;font-size:12px;font-weight:650;white-space:nowrap;transition:background .12s}.btn:hover:not(:disabled){filter:brightness(.97)}.btn.small{padding:5px 9px}.btn.pale{background:#f7faf9;border-color:#e1eae6}.btn.primary{background:#0a9c7c;color:#fff;border-color:#0a9c7c}.btn.primary-outline{background:#e8f8f3;color:#078c72;border-color:#aae1d1}.btn.dark{background:#7544cd;color:#fff;border-color:#7544cd}.btn.fill{background:#118f80;color:white;border-color:#118f80}.btn.ghost{border-color:transparent;background:transparent;color:#6d847d}.btn.danger-text{background:#fff6f6;color:#b44e4e;border-color:#f0d3d2}.divider{height:24px;width:1px;background:#dfe8e3;margin:0 3px}.hint{color:#94a7a2;font-size:11px}.position-pill{min-width:88px;border:1px solid #b9dcd3;background:#eef9f5;border-radius:6px;padding:7px 9px;color:#087964;font-weight:750}.work-area{display:grid;grid-template-columns:minmax(0,1fr) 258px;gap:14px}.sheet-panel,.side-panel{background:#fff;border:1px solid #dbe7e2;border-radius:11px;overflow:hidden;min-width:0;box-shadow:0 3px 14px #1f473007}.sheet-top,.sheet-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;color:#527467}.sheet-top{font-weight:700;border-bottom:1px solid #e0ebe5}.sheet-top small{font-weight:400;color:#93a49f;margin-left:9px}.sheet-top>span:last-child{font-weight:500;color:#829c91}.sheet-bottom{border-top:1px solid #e0ebe5;color:#8b9c94;font-size:11px;flex-wrap:wrap}.sheet-scroll{height:min(67vh,730px);min-height:370px;overflow:auto;background:#fff;outline:none;position:relative}.sheet-grid{display:grid;min-width:max-content;align-content:start}.shead,.rhead,.sku-head,.sheet-cell{height:100px;border-right:1px solid #dfebe5;border-bottom:1px solid #dce6e0;position:relative;display:flex;align-items:center;justify-content:center;min-width:0}.shead,.sku-head,.corner{position:sticky;top:0;z-index:5;height:37px;background:#eaf5ee;color:#356456;font-weight:700}.corner,.rhead{position:sticky;left:0;z-index:7;width:42px;background:#e9f4ec;color:#5d8270}.corner{z-index:9;top:0}.sku-head{left:42px;z-index:8;background:#e8f4ee}.rhead{cursor:pointer;font-size:12px}.rhead:hover{background:#d9eee3}.sheet-cell{background:white;cursor:pointer;user-select:none;padding:7px;overflow:hidden}.sku-cell{position:sticky;left:42px;z-index:3;background:#fbfefc;border-right:2px solid #c7e3d5}.sheet-cell:hover{background:#f6fdfb}.sheet-cell.selected{box-shadow:inset 0 0 0 3px #04ab89;z-index:2;background:#f0fff8}.sku-cell.selected{z-index:4}.sheet-cell.in-range{background:#edf9f4;box-shadow:inset 0 0 0 1px #78cbb1}.sku-cell.in-range{z-index:4}.sheet-cell.drag-over{outline:3px solid #8a6be5;outline-offset:-3px}.sheet-cell.is-dragging{opacity:.4}.sheet-cell img{width:100%;height:100%;object-fit:contain;pointer-events:none;border-radius:4px}.sheet-cell .emptyhint{font-size:11px;color:#c0cac6;position:absolute}.sheet-cell .status-dot{position:absolute;right:5px;top:5px;width:7px;height:7px;border-radius:50%;background:#15b088;border:1px solid white}.sheet-cell .pending{background:#ffc05c}.sheet-cell .cell-coord{position:absolute;bottom:4px;right:5px;font-size:9px;color:#b1bdb8;pointer-events:none}.side-panel{padding:15px 14px;align-self:start}.side-title{font-size:14px;font-weight:800;color:#254c40;display:flex;justify-content:space-between;align-items:center;gap:4px}.side-title small{color:#9aaba5;font-size:11px;font-weight:400}.preview-frame{border:1px solid #dfebe6;background:linear-gradient(135deg,#f9fcfa,#ecf5f0);height:244px;border-radius:10px;margin:11px 0;display:grid;place-items:center;overflow:hidden}.preview-frame img{width:100%;height:100%;object-fit:contain}.preview-frame span{text-align:center;color:#9eaead;line-height:2}.preview-meta{display:flex;justify-content:space-between;gap:8px;align-items:start;min-height:28px}.preview-meta b{color:#355e51;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.preview-meta small{color:#869c94;white-space:nowrap}.url-label{display:block;color:#69877a;font-weight:650;margin:12px 0 6px}.url-input{display:block;width:100%;border:1px solid #dce9e1;background:#f7faf8;border-radius:6px;padding:10px 8px;font-size:11px;outline:none}.full{width:100%;margin-top:8px}.side-divider{height:1px;background:#e9f0ed;margin:17px 0}.row-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;min-height:63px}.row-preview .row-thumb{aspect-ratio:1;border-radius:5px;border:1px solid #ebf0ec;object-fit:contain;width:100%;background:#f9fbfa}.row-preview .row-empty{aspect-ratio:1;background:#f7faf8;border:1px dashed #dce8df;border-radius:5px}.last-action{font-size:12px;line-height:1.7;color:#82988e;min-height:24px}.history{margin-top:14px;background:white;border:1px solid #dce8e3;border-radius:11px;padding:15px}.history-head{display:flex;justify-content:space-between;align-items:center}.history h2{font-size:16px}.history-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px;margin-top:10px}.history-item{border:1px solid #dfebe4;border-radius:9px;padding:7px;min-width:0}.history-item img{width:100%;aspect-ratio:1;object-fit:contain}.history-item small{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:#789185}.history-item button{margin-top:5px;width:100%}footer{padding:18px;color:#9aaa9f;text-align:center;font-size:11px}.login-overlay{position:fixed;inset:0;background:#e5f1ebed;z-index:20;display:grid;place-items:center;padding:16px;backdrop-filter:blur(8px)}.login-overlay[hidden],.history[hidden],.preview-frame img[hidden]{display:none}.login-card{max-width:400px;width:100%;background:white;border:1px solid #d9e6dd;padding:28px;border-radius:17px;box-shadow:0 22px 80px #23463720}.login-emblem{background:#0b9d84;color:white;border-radius:12px;display:grid;place-items:center;width:49px;height:49px;font-size:31px}.login-card h2{font-size:21px;margin:20px 0 9px}.login-card p{color:#81948c;line-height:1.7}.login-card label{display:block;font-weight:bold;color:#45675b;margin-top:19px}.login-card input{display:block;margin-top:8px;width:100%;padding:12px;border:1px solid #ceddd4;border-radius:8px}.error{color:#cd3838;min-height:20px;margin-top:8px}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#174f41;color:white;border-radius:9px;padding:12px 18px;box-shadow:0 10px 32px #1116;z-index:50;opacity:0;pointer-events:none;transition:opacity .2s}.toast.show{opacity:1}@media(max-width:1050px){.work-area{grid-template-columns:minmax(0,1fr)}.side-panel{display:grid;grid-template-columns:240px minmax(0,1fr);gap:6px 16px}.side-panel>.preview-frame{grid-row:2/span 7;height:215px}.side-panel>.side-title:first-child{grid-column:1}.side-panel>.side-divider{display:none}.row-preview{grid-template-columns:repeat(8,minmax(0,1fr))}}@media(max-width:650px){.main{padding:12px}.topbar{padding:0 12px}.server-tag{display:none}.intro{align-items:start}.intro h1{font-size:20px}.intro p{line-height:1.6}.counter{display:none}.toolbar{padding:8px}.tool-row{gap:6px}.work-area{grid-template-columns:1fr}.side-panel{display:block}.sheet-top small{display:none}.sheet-scroll{height:58vh}.sheet-bottom{line-height:1.6}.preview-frame{height:190px!important}.row-preview{grid-template-columns:repeat(6,minmax(0,1fr))}}

/* V6: clean spreadsheet layout, paste-first interaction, no SKU column. */
:root{color:#243e46;background:#f3f6fb;font-family:Inter,"Microsoft YaHei",Arial,sans-serif}
body{background:radial-gradient(circle at 85% 0%,#e7f7f1 0,transparent 34%),#f3f6fb}
.topbar{height:74px;background:#fff;border-bottom:1px solid #e2e8ee;box-shadow:0 2px 10px #17294105}
.brandicon{background:linear-gradient(135deg,#11ad91,#0b8a77);box-shadow:0 5px 16px #0a9a7830}
.brand strong{font-size:19px;color:#142b37}
.brand small{font-size:10px;letter-spacing:.65px}
.main{padding:24px 25px 38px}
.intro{margin-bottom:20px;gap:18px}
.intro h1{font-size:27px;color:#17333c;letter-spacing:-.8px;margin-top:6px}
.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;color:#12a189}
.intro h1 span{background:#e4f5f1;border:1px solid #c5e9dd;border-radius:99px}
.intro p{font-size:12px;max-width:720px;line-height:1.8;color:#6c8589}
.counter{background:#fff;border:1px solid #e3eae9;border-radius:13px;padding:12px 16px;box-shadow:0 5px 15px #132f2f07;display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.counter strong{font-size:20px}
.toolbar,.sheet-panel,.side-panel{border:1px solid #e1e9eb;border-radius:14px;box-shadow:0 10px 30px #24404b0a}
.toolbar{padding:12px 16px}
.toolbar-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #eef1f4;padding:3px 0 11px;margin-bottom:12px}
.toolbar-title{font-weight:800;color:#1b4250;font-size:13px}
.shortcut-label{font-size:11px;color:#8d9eac}
kbd{font-size:10px;background:#f5f7f9;border:1px solid #dbe3e9;border-radius:4px;padding:3px 5px;font-family:inherit;color:#41606a;font-weight:700}
.btn{min-height:35px;border-radius:8px;padding:8px 12px}
.btn.primary{background:#0c957e;border-color:#0c957e}
.btn.paste{color:#fff;background:linear-gradient(135deg,#7055db,#5a42bc);border-color:#6450c7;box-shadow:0 4px 10px #6851cf2b}
.btn.paste:hover{filter:brightness(1.08)}
.btn.dark{background:#273e55;border-color:#273e55}
.btn.fill{background:#ebf6ef;border:1px solid #aedbc2;color:#167555}
.btn.pale{background:#f5f8fa;border:1px solid #dce5e9}
.tool-row input[type=number]{padding:9px 6px;border-radius:8px}
.position-pill{background:#e7f5f1;border:1px solid #c6e8dc;border-radius:8px}
.sheet-top{padding:15px 16px;font-size:14px;background:#fff;color:#243e47}
.sheet-top small{color:#91a0a3}
.sheet-scroll{background:#fff}
.sheet-grid .shead{color:#247f69;background:#edf8f4;border-bottom:2px solid #bcdccd}
.sheet-grid .rhead,.sheet-grid .corner{background:#f0f6f5;color:#497366}
.sheet-grid .rhead:hover{background:#e1f2e8}
.sheet-grid .sheet-cell{height:110px;background:#fff}
.sheet-grid .sheet-cell:hover{background:#f7fcfa}
.sheet-grid .sheet-cell.selected{background:#f0fcf6;box-shadow:inset 0 0 0 3px #13a58a}
.sheet-grid .sheet-cell.in-range{background:#e5f7f1}
.sheet-cell .emptyhint{color:#b9c9c6}
.paste-guide{display:flex;align-items:center;gap:11px;background:linear-gradient(100deg,#effcf7,#f5f6ff);padding:11px 14px;border-bottom:1px solid #e2ebe9;font-size:12px;color:#476477}
.paste-guide .guide-icon{display:grid;place-items:center;background:#fff;width:34px;height:34px;color:#7954ce;font-size:19px;border-radius:10px;border:1px solid #e0dbf7;flex-shrink:0}
.paste-guide>div{flex:1;line-height:1.5}
.paste-guide strong{color:#225953}
.paste-guide small{display:block;color:#8a9b99;margin-top:3px}
.btn.paste-guide-btn{background:#fff;color:#6644b0;border:1px solid #d9d1f2}
.side-panel{padding:17px}
.side-title{color:#264451}
.preview-frame{background:linear-gradient(125deg,#f9fafc,#ecf8f3);border-radius:12px}
.sheet-bottom{background:#fafcfb}
@media(max-width:700px){.toolbar-heading{align-items:flex-start;flex-direction:column}.main{padding:13px}.paste-guide{padding:10px;gap:8px}.paste-guide-btn{display:none}.intro h1{font-size:22px}.counter{display:none}.sheet-grid .sheet-cell{height:110px}}

/* V7: Windows / SMB path queue, local Windows helper */
.local-import-panel{background:#fff;border:1px solid #d9e7e4;border-radius:14px;box-shadow:0 6px 20px #24404b0b;margin-bottom:14px;overflow:hidden}
.local-import-panel>summary{display:flex;gap:15px;align-items:center;padding:13px 16px;cursor:pointer;background:linear-gradient(110deg,#ecfaf5,#f3f4ff);color:#234c50;font-weight:800;list-style:none}
.local-import-panel>summary::-webkit-details-marker{display:none}
.local-import-panel>summary small{margin-left:auto;color:#879ba0;font-weight:400}
.agent-status{font-size:11px;color:#af7132;background:#fff6e9;padding:5px 10px;border-radius:20px;font-weight:650}
.agent-status.online{color:#05886d;background:#def8ed}
.local-import-inside{display:grid;grid-template-columns:minmax(320px,1.2fr) minmax(300px,1fr);gap:15px;padding:15px}
.local-path-entry label,.agent-token label{display:block;font-weight:700;font-size:12px;margin-bottom:8px;color:#365b56}
#pathImportInput{width:100%;min-height:100px;resize:vertical;border:1px solid #bdded2;border-radius:9px;padding:11px;font:12px/1.7 Consolas,'Microsoft YaHei',monospace;background:#fafdff;color:#204350;outline-color:#0a9a7c}
.local-row{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:9px}
.local-row .hint{flex:1;min-width:180px;line-height:1.55}
.agent-setup{background:#f5f8fa;border:1px solid #e1e9ed;border-radius:10px;padding:12px}
.agent-setup strong{color:#274950}.agent-setup p{font-size:11px;line-height:1.7;color:#66808a;margin:7px 0}
.agent-setup a.btn{text-decoration:none;display:inline-flex;align-items:center}
.agent-token{border:1px solid #ddd2f7;border-radius:8px;padding:9px;margin-top:10px;background:#fbf9ff}
.agent-token input{width:100%;padding:8px;border:1px solid #ded8ed;border-radius:7px;color:#425470;font:11px Consolas,monospace;margin-bottom:7px}
.agent-token[hidden]{display:none}
.local-task-list-head{grid-column:1/-1;display:flex;gap:12px;align-items:center;justify-content:space-between;border-top:1px solid #e7eded;padding-top:12px;color:#305e53}
.local-task-list-head small{color:#8da09b;font-weight:500}
.local-task-list{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px;max-height:180px;overflow:auto}
.local-task{display:flex;align-items:center;gap:6px;min-width:0;padding:7px 9px;border:1px solid #e6eeee;border-radius:7px;color:#496566}
.local-task>span{min-width:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px}
.task-status{color:#a0783b;white-space:nowrap;font-size:10px}.task-status.done{color:#15946c}.task-status.error,.task-error{color:#bd4747}
.task-error{flex-basis:100%;font-size:10px}
@media(max-width:850px){.local-import-inside{grid-template-columns:1fr}.local-import-panel>summary{flex-wrap:wrap}.local-import-panel>summary small{display:none}}

.local-task{flex-wrap:wrap}
.local-task .task-error{flex-basis:100%;white-space:normal;overflow:visible}

/* V8 spreadsheet-path paste area */
.matrix-import-hint{background:#f0f9f5;border:1px solid #b9e0cf;border-radius:10px;padding:13px 14px;color:#315f57;font-size:12px;line-height:1.55}
.matrix-import-hint>b{display:inline-block;margin:0 8px}.matrix-import-hint small{display:block;color:#627f75;margin-top:7px;font-size:11px}
.matrix-pill{border-radius:5px;padding:4px 7px;background:#d3f3e6;color:#09694f;font-size:10px;font-weight:800;letter-spacing:.5px}
.blank-option{display:flex;align-items:center;gap:6px;font-size:11px;color:#56776b;cursor:pointer}
.blank-option input{accent-color:#119a80}
#pathImportInput{min-height:145px;font-size:12px}
@media(max-width:850px){.matrix-import-hint{grid-row:auto}}
