/* UI closeout: scoped to the Ozon collection, publish, and library surfaces. */
.ozon-execution-summary{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:8px;margin:14px 0;padding:10px;border:1px solid #d7e3f2;border-radius:10px;background:#f7faff}
.ozon-execution-metric{display:grid;gap:3px;padding:8px 10px;border-left:3px solid #93c5fd;background:#fff}
.ozon-execution-metric strong{font-size:20px;color:#19324d;line-height:1}
.ozon-execution-metric span{font-size:12px;color:#64748b}
.ozon-execution-card{margin-top:12px;border:1px solid #d7dfeb;border-radius:10px;background:#fff}
.ozon-execution-card>summary{background:#f8fafc}
.status-chip{display:inline-flex;align-items:center;padding:3px 7px;border:1px solid #cbd5e1;border-radius:999px;background:#f8fafc;color:#334155;font-size:11px}
.status-chip:last-child{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}
.ozon-operational-state{display:flex;flex-wrap:wrap;gap:6px}
.ozon-task-summary{background:#fff}
.ozon-task-actions{flex-wrap:wrap}
.ozon-task-actions .ozon-start-all{box-shadow:0 2px 6px #9a341233}
/* Keep the floating helper clear of the primary Ozon action without changing ERP pages. */
body:has(.ozon-page:not([hidden])) .erp-assistant-launcher{bottom:74px}
@media(max-width:1150px){.ozon-execution-summary{grid-template-columns:repeat(3,minmax(100px,1fr))}.ozon-task-table{overflow-x:auto}.ozon-task-header,.ozon-task-row{min-width:930px}}
@media(max-width:600px){.ozon-execution-summary{grid-template-columns:repeat(2,minmax(100px,1fr))}.ozon-execution-metric:last-child{grid-column:1/-1}body:has(.ozon-page:not([hidden])) .erp-assistant-launcher{bottom:62px}}


/* Ozon product library (ozon-library-page.js): metric strip, batch cards, product rows. */
.ozon-library-content{gap:12px}
#ozon-library-status.olib-updated{margin:0 0 10px;font-size:12px;text-align:right}
.olib-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.olib-metric{display:grid;gap:4px;padding:12px 14px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}
.olib-metric strong{color:#0f172a;font-size:22px;line-height:1.1;font-variant-numeric:tabular-nums}
.olib-metric span{color:#64748b;font-size:12px}
.olib-metric-info{border-top:3px solid #3b82f6}.olib-metric-ok{border-top:3px solid #16a34a}.olib-metric-done{border-top:3px solid #7c3aed}.olib-metric-plain{border-top:3px solid #94a3b8}
.ozon-library-content .ozon-library-filter{grid-template-columns:minmax(220px,2fr) repeat(4,minmax(110px,1fr)) auto;margin:0;padding:12px 14px;border:1px solid #e2e8f0;border-left:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}
.ozon-library-content .ozon-library-filter label{min-width:0}
.ozon-library-content .ozon-library-filter select,.ozon-library-content .ozon-library-filter input{width:100%;min-width:0}
.olib-filter-actions{display:flex;gap:8px;align-items:end}
.olib-filter-actions button{min-height:36px;padding:0 16px;white-space:nowrap}
.ozon-library-content .olib-filter-actions .secondary{border:1px solid #cbd5e1;background:#fff;color:#475569}
.ozon-library-content .ozon-collection-count{margin:0;color:#64748b;font-size:12px}
.olib-batches{display:grid;gap:10px}
.ozon-library-batch{overflow:hidden;border:1px solid #e2e8f0;border-radius:12px;background:#fff;box-shadow:0 1px 2px #0f172a0a}
.ozon-library-batch[open]{border-color:#cbd5e1;box-shadow:0 4px 14px #0f172a12}
.ozon-library-batch>summary{display:grid;grid-template-columns:16px minmax(0,1fr) auto 170px 104px;gap:14px;align-items:center;padding:14px 16px;cursor:pointer;list-style:none}
.ozon-library-batch>summary::-webkit-details-marker,.ozon-library-group>summary::-webkit-details-marker,.olib-product>summary::-webkit-details-marker{display:none}
.ozon-library-batch>summary:hover{background:#f8fafc}
.olib-batch-title{display:flex;align-items:center;gap:10px;min-width:0}
.olib-batch-title strong{overflow:hidden;color:#0f172a;font-size:15px;text-overflow:ellipsis;white-space:nowrap}
.olib-batch-counts{display:flex;gap:6px}
.olib-progress{display:grid;gap:4px}
.olib-progress small{color:#64748b;font-size:11px;font-variant-numeric:tabular-nums}
.olib-progress-bar{height:6px;overflow:hidden;border-radius:999px;background:#e2e8f0}
.olib-progress-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#22c55e,#16a34a)}
.olib-chevron{width:8px;height:8px;border-right:2px solid #94a3b8;border-bottom:2px solid #94a3b8;transform:rotate(-45deg);transition:transform .15s}
details[open]>summary>.olib-chevron,details[open]>summary .olib-group-title>.olib-chevron{transform:rotate(45deg)}
.olib-chip{display:inline-flex;align-items:center;padding:2px 8px;border:1px solid #e2e8f0;border-radius:999px;background:#f8fafc;color:#475569;font-size:11px;white-space:nowrap}
.olib-chip-store{border-color:#fed7aa;background:#fff7ed;color:#c2410c;font-weight:650}
.olib-badge{display:inline-flex;align-items:center;justify-self:start;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}
.olib-badge-done{background:#f3e8ff;color:#6d28d9}.olib-badge-ok{background:#dcfce7;color:#15803d}.olib-badge-info{background:#dbeafe;color:#1d4ed8}.olib-badge-warn{background:#fef3c7;color:#b45309}
.ozon-library-batch>summary>.olib-badge{justify-self:end}
.olib-batch-body{display:grid;gap:8px;padding:0 14px 14px;border-top:1px solid #f1f5f9;background:#fbfcfe}
.ozon-library-content .ozon-library-group{margin-top:8px;border:1px solid #e8edf3;border-radius:10px;background:#fff}
.ozon-library-content .ozon-library-group>summary{padding:10px 14px}
.olib-group-title{display:flex;align-items:center;gap:10px;min-width:0}
.olib-group-title strong{overflow:hidden;color:#334155;font-size:13px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;text-overflow:ellipsis;white-space:nowrap}
.ozon-library-content .ozon-library-cards{gap:0;padding:0 8px 8px}
.ozon-library-content .olib-product{margin:0;padding:0;border:0;border-top:1px solid #f1f5f9;border-radius:0;background:transparent}
.ozon-library-content .olib-product:first-child{border-top:0}
.ozon-library-content .olib-product[open]{padding:0;border-radius:8px;background:#f8fafc}
.olib-product-summary{display:grid;grid-template-columns:60px minmax(0,1fr) 96px 104px 150px 16px;gap:14px;align-items:center;padding:10px 8px;list-style:none;cursor:pointer;border-radius:8px}
.olib-product-summary:hover{background:#f8fafc}
.olib-cover{position:relative;display:grid;place-items:center;width:60px;height:60px;overflow:hidden;border:1px solid #e2e8f0;border-radius:8px;background:#f1f5f9}
.olib-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.olib-cover-empty{color:#94a3b8;font-size:11px}
.olib-product-info{display:grid;gap:5px;min-width:0}
.olib-product-title{display:-webkit-box;overflow:hidden;color:#0f172a;font-size:13px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.olib-product-ids{display:flex;flex-wrap:wrap;gap:5px}
.olib-product-media{color:#94a3b8;font-size:11px}
.olib-price{display:grid;gap:2px;text-align:right}
.olib-price small{color:#94a3b8;font-size:11px}
.olib-price strong{color:#334155;font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}
.olib-price-main strong{color:#c2410c;font-size:15px}
.olib-product-state{display:grid;gap:3px;justify-items:start}
.olib-product-state small{color:#94a3b8;font-size:11px}
.olib-product-state small.olib-stock-ok{color:#15803d}
.olib-product-body{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:4px 12px 12px 82px}
.olib-fields{display:grid;flex:1;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 18px;margin:0}
.olib-fields div{min-width:0}
.olib-fields dt{color:#94a3b8;font-size:11px}
.olib-fields dd{margin:2px 0 0;overflow:hidden;color:#334155;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.olib-pager{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:4px}
.olib-pager button{min-width:88px}
@media(max-width:1150px){.ozon-library-content .ozon-library-filter{grid-template-columns:repeat(4,minmax(0,1fr))}.olib-filter-search{grid-column:1/4}.olib-filter-actions{grid-column:4;grid-row:1;justify-content:flex-end}.ozon-library-batch>summary{grid-template-columns:16px minmax(0,1fr) 150px 104px}.olib-batch-counts{display:none}.olib-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){#ozon-library-status.olib-updated{text-align:left}.olib-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.olib-metric{padding:8px 10px}.olib-metric strong{font-size:17px}.olib-metric span{font-size:11px}.ozon-library-batch>summary>.olib-badge{grid-row:1;grid-column:3}.ozon-library-content .ozon-library-filter{grid-template-columns:1fr 1fr}.olib-filter-search,.olib-filter-actions{grid-column:1/-1;grid-row:auto}.olib-filter-actions button{flex:1}.ozon-library-batch>summary{grid-template-columns:16px minmax(0,1fr) auto;row-gap:8px}.olib-progress{grid-column:2/-1}.olib-batch-title{flex-wrap:wrap}.olib-product-summary{grid-template-columns:52px minmax(0,1fr);gap:6px 10px;align-items:start}.olib-price-main{grid-column:2;display:flex;gap:6px;align-items:baseline;text-align:left}.olib-cover{width:52px;height:52px}.olib-price:not(.olib-price-main),.olib-product-summary>.olib-chevron{display:none}.olib-product-state{grid-column:2;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.olib-product-body{flex-direction:column;align-items:stretch;padding:4px 10px 12px}.olib-fields{grid-template-columns:1fr 1fr}}

/* UI polish 2026-10-14: one-row run summary, four-stage bars, wrapping row actions. */
:is(#ozon-multi-queue,#ozon-history-section) .ozon-execution-summary{grid-template-columns:repeat(8,minmax(0,1fr))}
.ozon-execution-summary>p{grid-column:1/-1;margin:0}
.ozon-execution-metric:last-child{grid-column:auto}
@media(max-width:1100px){:is(#ozon-multi-queue,#ozon-history-section) .ozon-execution-summary{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){:is(#ozon-multi-queue,#ozon-history-section) .ozon-execution-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ozon-stage-bars{display:grid;gap:5px;margin:2px 0}
.ozon-stage-bar{display:grid;grid-template-columns:28px minmax(40px,1fr) auto;align-items:center;gap:6px;font-size:12px;color:#64748b}
.ozon-stage-track{height:6px;border-radius:3px;background:#e2e8f0;overflow:hidden}
.ozon-stage-fill{display:block;height:100%;border-radius:3px;background:#16a34a}
.ozon-stage-count{color:#19324d;font-variant-numeric:tabular-nums}
:is(#ozon-multi-queue,#ozon-history-section) .ozon-run-item-actions button{white-space:normal;line-height:1.3}
@media(min-width:1101px){:is(#ozon-multi-queue,#ozon-history-section) .ozon-run-item-progress{grid-template-columns:minmax(120px,.8fr) minmax(300px,2.4fr) minmax(170px,1.2fr) 112px}}
#ozon-status:empty{display:none}
.ozon-category-lookup:not([open]){display:inline-block;margin:6px 0 0;padding:0;border:0;background:none}
.ozon-category-lookup:not([open])>summary{padding:4px 0;color:#2563eb;font-size:13px;font-weight:500;cursor:pointer}

/* ===== 2026-11-05 采集上架改版：生产线（采集/上架两台引擎）、需要你处理、各店进度条 ===== */
.ozon-page{--line-bg:#121a2b;--line-bg2:#1b2742;--line-ink:#e7edf6;--line-muted:#8ea0bb;--line-rule:#2a3754;--run:#22c55e;--wait:#f59e0b;--stop:#ef4444;--idle:#7c8aa0;--seg-done:#16a34a;--seg-pub:#3b82f6;--seg-bad:#e5484d;--seg-todo:#e3e8ef;display:flex;flex-direction:column;gap:14px}
.ozon-page>*{margin-top:0;margin-bottom:0}
.ozon-page>.section-heading{order:0;align-items:center;flex-wrap:wrap}.ozon-page>.ozon-collector-update{order:1}.ozon-page>#ozon-status{order:4}.ozon-page>#ozon-multi-queue{order:5}
.ozon-page>#ozon-upload-form{order:2}.ozon-page>#ozon-category-lookup{order:3}.ozon-page>#ozon-history-section{order:6}.ozon-page>#ozon-workspace{order:7}
.ozon-page>#ozon-status:empty{display:none}
.ozon-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}
.ozon-toolbar .secondary{min-height:36px;padding:7px 12px;font-size:13px;font-weight:600}
.ozon-new-task{min-height:36px;padding:7px 14px;background:var(--accent);font-weight:800}.ozon-new-task:hover:not(:disabled){background:var(--accent-hover)}
#ozon-multi-queue{display:flex;flex-direction:column;gap:14px;margin:0;padding:0;border:0;background:none}
#ozon-multi-queue:empty{display:none}
#ozon-multi-queue>*{order:0;margin-top:0;margin-bottom:0}
#ozon-multi-queue>.ozon-run-progress-error,#ozon-multi-queue>.ozon-line{order:1}#ozon-multi-queue>.ozon-quota{order:2}#ozon-multi-queue>.ozon-todo{order:3}#ozon-multi-queue>.ozon-run-progress{order:4}#ozon-multi-queue>.ozon-issues{order:8}#ozon-multi-queue>.ozon-run-history{order:9}

/* 生产线 */
.ozon-line{display:grid;grid-template-columns:minmax(210px,1fr) minmax(0,2.3fr) minmax(210px,1fr);gap:18px;padding:20px;border-radius:16px;background:radial-gradient(120% 140% at 0% 0%,var(--line-bg2),var(--line-bg) 60%);color:var(--line-ink)}
.ozon-engine{display:grid;align-content:start;gap:9px;padding:16px;border:1px solid var(--line-rule);border-radius:12px;background:#ffffff08;min-width:0}
.ozon-engine-top{display:flex;align-items:center;gap:10px}
.ozon-engine-name{color:var(--line-muted);font-size:12px;letter-spacing:.08em}
.ozon-lamp{width:14px;height:14px;flex:none;border-radius:50%;background:var(--idle)}
.ozon-lamp.run{background:var(--run);animation:ozon-ping 1.6s infinite}.ozon-lamp.wait{background:var(--wait)}.ozon-lamp.stop{background:var(--stop);animation:ozon-blink 1s steps(2) infinite}
@keyframes ozon-ping{0%{box-shadow:0 0 0 0 #22c55eb3}80%,100%{box-shadow:0 0 0 12px #22c55e00}}
@keyframes ozon-ping-small{0%{box-shadow:0 0 0 0 #22c55eb3}80%,100%{box-shadow:0 0 0 5px #22c55e00}}
@keyframes ozon-blink{50%{opacity:.35}}
.ozon-engine-state{font-size:24px;font-weight:800;line-height:1.15}
.ozon-engine.run .ozon-engine-state{color:#4ade80}.ozon-engine.wait .ozon-engine-state{color:#fbbf24}.ozon-engine.stop .ozon-engine-state{color:#f87171}.ozon-engine.idle .ozon-engine-state{color:#b4c0d3}
.ozon-engine-rate{display:flex;align-items:baseline;gap:6px;cursor:help}
.ozon-engine-rate strong{font-size:30px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.ozon-engine-rate span{color:var(--line-muted);font-size:12px}
.ozon-engine-spark{display:block;width:100%;height:34px}
.ozon-engine-spark polygon{fill:currentColor;fill-opacity:.14}.ozon-engine-spark polyline{fill:none;stroke:currentColor;stroke-width:2}.ozon-engine-spark circle{fill:currentColor}
.ozon-engine.run .ozon-engine-spark{color:#4ade80}.ozon-engine.wait .ozon-engine-spark{color:#fbbf24}.ozon-engine.stop .ozon-engine-spark{color:#f87171}.ozon-engine.idle .ozon-engine-spark{color:#8ea0bb}
.ozon-engine-meta{display:grid;gap:3px;color:var(--line-muted);font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.ozon-engine-meta b{color:var(--line-ink);font-weight:600}
.ozon-engine-why{padding:8px 10px;border-radius:8px;background:#f59e0b1f;color:#fde68a;font-size:12px;line-height:1.55}
.ozon-engine.stop .ozon-engine-why{background:#ef444426;color:#fecaca}
.ozon-line-track{display:grid;grid-template-rows:auto 1fr auto;gap:12px;min-width:0}
.ozon-line-title{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;color:var(--line-muted);font-size:12px}
.ozon-line-title b{color:var(--line-ink);font-size:13px;overflow-wrap:anywhere}
.ozon-stages{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:start;align-self:center}
.ozon-stage{position:relative;z-index:1;display:grid;justify-items:center;gap:6px;text-align:center;cursor:default}
.ozon-stage-dot{display:grid;place-items:center;width:46px;height:46px;border:2px solid var(--line-rule);border-radius:50%;background:var(--line-bg);color:var(--line-muted);font-size:11px;font-weight:700}
.ozon-stage.active .ozon-stage-dot{border-color:#60a5fa;color:#bfdbfe;box-shadow:0 0 0 6px #3b82f622}
.ozon-stage.done .ozon-stage-dot{border-color:#22c55e;background:#14532d55;color:#bbf7d0}
.ozon-stage.halt .ozon-stage-dot{border-color:#f87171;color:#fecaca}.ozon-stage.hold .ozon-stage-dot{border-color:#fbbf24;color:#fde68a}
.ozon-stage-num{font-size:20px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.ozon-stage-label{color:var(--line-muted);font-size:11px}
.ozon-pipe{position:absolute;top:23px;right:8.33%;left:8.33%;height:2px;overflow:hidden;background:var(--line-rule)}
.ozon-pipe i{display:none;position:absolute;top:-2px;width:6px;height:6px;border-radius:50%;background:#7dd3fc;box-shadow:0 0 8px #7dd3fc;animation:ozon-flow 3.2s linear infinite}
.ozon-pipe.flowing i{display:block}
@keyframes ozon-flow{from{left:-2%}to{left:100%}}
.ozon-line-note{margin:0;color:var(--line-muted);font-size:11px}

/* 建卡额度 */
.ozon-quota{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--muted);font-size:12px}
.ozon-quota-store{display:inline-flex;align-items:center;gap:7px;cursor:default}
.ozon-quota-meter{width:64px;height:5px;overflow:hidden;border-radius:9px;background:var(--seg-todo)}
.ozon-quota-meter span{display:block;height:100%;background:var(--seg-done)}
.ozon-quota-store.low .ozon-quota-meter span{background:var(--wait)}.ozon-quota-store.out .ozon-quota-meter span{background:var(--stop)}.ozon-quota-store.out{color:var(--danger)}
.ozon-quota-store b{color:var(--ink)}.ozon-quota-store.out b{color:var(--danger)}

/* 需要你处理 */
.ozon-todo{display:grid;gap:8px}
.ozon-todo-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:800}
.ozon-todo-title .muted{font-weight:400}
.ozon-todo-count{display:inline-grid;place-items:center;min-width:22px;height:20px;padding:0 6px;border-radius:999px;background:var(--accent);color:#fff;font-size:11px}
.ozon-todo-count.zero{background:var(--seg-done)}
.ozon-todo-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid #f3d9a4;border-radius:12px;background:#fff8eb}
.ozon-todo-item.tone-bad{border-color:#f5c2c4;background:#fff2f2}
.ozon-todo-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--wait);color:#fff;font-weight:900}
.ozon-todo-item.tone-bad .ozon-todo-icon{background:var(--stop)}
.ozon-todo-item strong{display:block;font-size:13px;overflow-wrap:anywhere}
.ozon-todo-item small{display:block;margin-top:2px;color:var(--muted);font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.ozon-todo-item button{min-height:34px;padding:6px 12px;font-size:13px;white-space:nowrap}
.ozon-todo-item strong{color:var(--ink)}
.ozon-todo-auto{margin:0;padding:0 4px;color:var(--muted);font-size:12px}
.ozon-todo-auto b{color:var(--ink);font-weight:600}

/* 各店进度 */
.ozon-lanes{overflow:visible;border:1px solid var(--line);border-radius:14px;background:#fff}
.ozon-lanes>summary.ozon-lanes-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:12px 16px;border-radius:14px;cursor:pointer;list-style:none}
.ozon-lanes[open]>summary.ozon-lanes-head{border-bottom:1px solid var(--line);border-radius:14px 14px 0 0}
.ozon-lanes>summary::-webkit-details-marker{display:none}
.ozon-lanes-head strong{font-size:14px}.ozon-lanes-head span{color:var(--muted);font-size:12px}
.ozon-lanes-head::before{content:"▸";color:var(--muted);font-size:12px;transition:transform .15s}.ozon-lanes[open]>.ozon-lanes-head::before{transform:rotate(90deg)}
.ozon-lane{display:grid;grid-template-columns:190px minmax(0,1fr) 140px 230px;gap:16px;align-items:start;padding:14px 16px;border-bottom:1px solid var(--line)}
.ozon-lane-who{min-width:0}
.ozon-lane-who strong{display:flex;align-items:center;gap:7px;font-size:14px;overflow-wrap:anywhere}
.ozon-lane-who small{display:block;margin-top:3px;overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.ozon-lane-dot{width:8px;height:8px;flex:none;border-radius:50%;background:var(--idle)}
.ozon-lane-dot.run,.ozon-lane-dot.pub{background:var(--run);animation:ozon-ping-small 1.6s infinite}.ozon-lane-dot.wait{background:var(--wait)}.ozon-lane-dot.stop{background:var(--stop)}.ozon-lane-dot.done{background:var(--seg-done)}
.ozon-lane-progress{display:grid;gap:5px;min-width:0}
.ozon-lane-bar{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:8px}
.ozon-lane-bar-label{color:var(--muted);font-size:11px;font-weight:700}
.ozon-lane-track{display:flex;height:10px;overflow:hidden;border-radius:999px;background:var(--seg-todo)}
.ozon-lane-track span{height:100%;transition:width .6s ease}
.ozon-lane-track .seg-done{background:var(--seg-done)}.ozon-lane-track .seg-pub{background:var(--seg-pub)}.ozon-lane-track .seg-bad{background:var(--seg-bad)}.ozon-lane-track .seg-skip{background:#cbd5e1}
.ozon-lane-track .seg-todo{background:repeating-linear-gradient(-45deg,#e3e8ef 0 6px,#cfd7e2 6px 12px)}
.ozon-lane-track .seg-todo.moving{background-size:17px 17px;animation:ozon-stripe 1s linear infinite}
@keyframes ozon-stripe{to{background-position:17px 0}}
.ozon-lane-nums{display:flex;flex-wrap:wrap;gap:2px 14px;padding-left:40px;color:var(--muted);font-size:12px;margin-bottom:3px}
.ozon-lane-nums b{color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums}
.ozon-lane-nums .bad-num b{color:var(--seg-bad)}
.ozon-lane-progress .ozon-run-reason{margin:2px 0 0 40px}
.ozon-lane-detail{margin-left:40px}
.ozon-lane-detail>summary{width:max-content;color:#2563eb;font-size:12px;cursor:pointer}
.ozon-lane-detail[open]{display:grid;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#f8fafc}
.ozon-lane-detail .ozon-run-counts dd{font-size:15px}
.ozon-lane-state{display:grid;justify-items:start;gap:5px}
.ozon-lane-state small{color:var(--muted);font-size:11px}
.ozon-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}
.ozon-pill.run{background:#dcfce7;color:#166534}.ozon-pill.pub{background:#dbeafe;color:#1e40af}.ozon-pill.wait{background:#fef3c7;color:#92400e}.ozon-pill.stop{background:#fee2e2;color:#991b1b}.ozon-pill.done{background:#dcfce7;color:#15803d}
.ozon-lane-acts{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px}
.ozon-lane-acts button{min-height:32px;padding:6px 10px;font-size:12px;white-space:normal;line-height:1.3}
.ozon-lane-more>summary{display:grid;place-items:center;width:32px;height:32px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#475569;font-weight:800;cursor:pointer;list-style:none}
.ozon-lane-more>summary::-webkit-details-marker{display:none}
.ozon-lane-menu{position:absolute;z-index:5;top:38px;right:0;display:grid;gap:6px;min-width:180px;padding:8px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 10px 30px #0f172a26}
.ozon-lane-menu button{width:100%;text-align:left}
.ozon-lanes>.ozon-run-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--line);background:#f8fafc;border-radius:0 0 14px 14px}
.ozon-lanes>.ozon-run-collection-excluded,.ozon-lanes>.ozon-run-collection-results{margin:0;padding:8px 16px 12px}
.ozon-lanes .ozon-lane:last-of-type{border-bottom:0}

/* 导入 Excel：拖放框 */
.ozon-page>#ozon-upload-form{padding:16px 18px;border:2px dashed #f4b088;border-radius:14px;background:var(--accent-soft);align-items:center}
.ozon-page>#ozon-upload-form.dragging{border-color:var(--accent);background:#ffedd5}
#ozon-upload-form label{display:grid;gap:4px;font-weight:400}
.ozon-upload-title{font-size:15px;font-weight:800}.ozon-upload-hint{color:var(--muted);font-size:12px}
#ozon-upload-form button{background:var(--accent);font-weight:800}#ozon-upload-form button:hover:not(:disabled){background:var(--accent-hover)}
#ozon-upload-form input[type=file]{margin-top:4px;background:#fff}

@media(max-width:1100px){.ozon-line{grid-template-columns:1fr 1fr}.ozon-line-track{grid-column:1/-1;order:3}.ozon-lane{grid-template-columns:170px minmax(0,1fr) 130px}.ozon-lane-acts{grid-column:2/-1;justify-content:flex-start}}
@media(max-width:760px){
  .ozon-line{grid-template-columns:1fr;padding:14px}.ozon-stages{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:14px}.ozon-pipe{display:none}
  .ozon-lane{grid-template-columns:minmax(0,1fr) auto;gap:10px}.ozon-lane-progress{grid-column:1/-1;order:3}.ozon-lane-acts{grid-column:1/-1;order:4;justify-content:flex-start}
  .ozon-todo-item{grid-template-columns:auto minmax(0,1fr)}
  .ozon-toolbar{justify-content:flex-start}.ozon-lane-menu{right:auto;left:0}
}
@media(prefers-reduced-motion:reduce){.ozon-lamp,.ozon-lane-dot,.ozon-pipe i,.ozon-lane-track .seg-todo.moving{animation:none!important}}
/* 11-05 需要你处理：同类问题合成一行，逐店列表折叠 */
.ozon-todo-item{grid-template-columns:auto minmax(0,1fr) auto}
.ozon-todo-buttons{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.ozon-todo-fold{grid-column:2/-1}
.ozon-todo-fold>summary{width:max-content;color:#2563eb;font-size:12px;cursor:pointer}
.ozon-todo-list{display:grid;margin-top:8px;max-height:320px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff}
.ozon-todo-line{display:grid;grid-template-columns:minmax(90px,.8fr) minmax(0,1.2fr) minmax(0,2fr) 48px auto;gap:10px;align-items:center;padding:6px 10px;border-bottom:1px solid #eef2f6;font-size:12px}
.ozon-todo-line:last-child{border-bottom:0}
.ozon-todo-line>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ozon-todo-line>b{text-align:right;font-variant-numeric:tabular-nums}
.ozon-todo-line button{min-height:28px;padding:3px 9px;font-size:12px}
@media(max-width:760px){.ozon-todo-buttons{grid-column:1/-1;justify-content:flex-start}.ozon-todo-fold{grid-column:1/-1}.ozon-todo-line{grid-template-columns:minmax(0,1fr) auto auto}.ozon-todo-line>span{display:none}}
/* 11-05 没成功的商品：页面最下面，默认折叠，灰色 */
.ozon-issues{display:grid;gap:8px;padding:0;border:1px solid var(--line);border-radius:12px;background:#f8fafc}
.ozon-issues>summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:11px 14px;color:var(--muted);font-size:12px;cursor:pointer;list-style:none}
.ozon-issues>summary::-webkit-details-marker{display:none}
.ozon-issues>summary::before{content:"▸";transition:transform .15s}.ozon-issues[open]>summary::before{transform:rotate(90deg)}
.ozon-issues>summary strong{color:#475569;font-size:13px}
.ozon-issues[open]{padding-bottom:12px}.ozon-issues>.ozon-todo-item,.ozon-issues>.ozon-todo-auto{margin:0 12px}
.ozon-todo-item.tone-quiet{border-color:var(--line);background:#fff}
.ozon-todo-item.tone-quiet .ozon-todo-icon{background:#94a3b8}
.ozon-page>#ozon-upload-form{padding:12px 16px}
.ozon-lane-track .seg-bad{background:#efc3c5}
