/* Scoped collection controls inside existing upload and report panels. */
.batch-carousel{--batch-ink:var(--wb-ink,#f3eaf9);--batch-muted:var(--wb-secondary,#c4b0d5);--batch-line:var(--wb-line,#614778);--batch-soft:var(--wb-soft,#251d33);--batch-accent:var(--wb-accent,#d9acef);--batch-tint:var(--wb-tint,#382548);--batch-surface:var(--wb-surface,#21192d);--batch-pink:var(--wb-purple,#f2a1cd);color:var(--batch-ink);direction:rtl;min-width:0;border:1px solid var(--batch-line);border-radius:16px;margin:16px 0 20px;padding:16px;background:var(--batch-soft);overflow:hidden}
.batch-carousel[hidden],.batch-carousel [hidden]{display:none!important}
.batch-heading{display:flex;align-items:center;gap:10px;margin-bottom:14px;min-width:0}
.batch-collection-icon{width:36px;height:36px;object-fit:contain;flex:none}
.batch-heading-copy{display:grid;gap:3px;min-width:0}.batch-heading-copy>span{font-size:8px;color:var(--batch-muted)}.batch-heading-copy>strong{font-size:12px;font-weight:600}
.batch-total{margin-inline-start:auto;flex:none;border:1px solid var(--batch-line);border-radius:7px;background:var(--batch-surface);padding:5px 8px;font-size:9px;color:var(--batch-accent)}
.batch-slide{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:16px;min-width:0;margin-bottom:14px;touch-action:pan-y}
.batch-photo{position:relative;min-width:0;width:100%;height:138px;border:1px solid var(--batch-line);padding:8px;background:var(--batch-surface);border-radius:11px;overflow:hidden;cursor:zoom-in}
.batch-photo>img{width:100%;height:100%;display:block;object-fit:contain;border-radius:5px}
.batch-zoom-hint{position:absolute;left:7px;bottom:7px;display:flex;align-items:center;gap:6px;background:#281733e6;color:#fff;border:1px solid #ffffff40;border-radius:6px;padding:5px 7px;font-size:8px;line-height:1.4}
.batch-zoom-hint i{width:9px;height:9px;border:1px solid currentColor;border-radius:50%;position:relative}.batch-zoom-hint i::after{content:"";position:absolute;width:4px;height:1px;background:currentColor;right:-3px;bottom:-2px;transform:rotate(45deg)}
.batch-copy{min-width:0;display:grid;gap:9px;align-content:center}.batch-position{font-size:9px;color:var(--batch-muted)}
.batch-name{font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:start;line-height:1.7}
.batch-state{justify-self:start;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--batch-line);border-radius:6px;background:var(--batch-surface);padding:5px 7px;font-size:9px;line-height:1.6;color:var(--batch-accent)}
.batch-state>i{width:5px;height:5px;border-radius:50%;background:currentColor;flex:none}.batch-context{font-size:9px;line-height:1.9;color:var(--batch-muted)}
.batch-carousel[data-status=error] .batch-state,.batch-carousel[data-status=invalid] .batch-state{color:var(--batch-pink)}
.batch-carousel[data-status=processing] .batch-state>i{background:transparent;border:1px solid currentColor;border-right-color:transparent;width:8px;height:8px;animation:batch-spin 1s linear infinite}
.batch-filmstrip{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-inline:contain;padding:4px 3px 9px;scrollbar-width:thin;scrollbar-color:var(--batch-line) transparent;min-width:0;touch-action:pan-x pan-y}
.batch-thumb{position:relative;flex:0 0 64px;height:52px;border:1px solid var(--batch-line);border-radius:8px;background:var(--batch-surface);padding:3px;cursor:pointer;overflow:hidden;transition:border-color .15s,box-shadow .15s}
.batch-thumb>img{width:100%;height:100%;display:block;object-fit:cover;border-radius:4px}.batch-thumb[data-status=invalid]>img{object-fit:contain;padding:4px}
.batch-thumb[aria-current=true]{border-color:var(--batch-accent);box-shadow:0 0 0 2px var(--batch-tint)}.batch-thumb[aria-current=true]::after{content:"";position:absolute;inset:2px;border:1px solid var(--batch-accent);border-radius:5px;pointer-events:none}
.batch-thumb-number{position:absolute;left:5px;bottom:5px;min-width:15px;border-radius:4px;background:#281733d9;color:white;font-size:9px;line-height:1.6;text-align:center;padding:0 2px;z-index:1}
.batch-thumb-status{position:absolute;right:5px;top:5px;width:8px;height:8px;border:2px solid white;border-radius:50%;background:#9a869f;box-shadow:0 1px 4px #29123750;z-index:1}
.batch-thumb[data-status=completed] .batch-thumb-status{background:#8439b3}.batch-thumb[data-status=error] .batch-thumb-status,.batch-thumb[data-status=invalid] .batch-thumb-status{background:#c23e83}.batch-thumb[data-status=processing] .batch-thumb-status{background:#8439b3;animation:batch-pulse 1s ease-in-out infinite}
.batch-thumb:hover:not(:disabled){border-color:var(--batch-accent)}.batch-thumb:disabled{cursor:default}.batch-thumb:disabled:not([aria-current=true]){opacity:.6}
.batch-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid var(--batch-line);padding-top:12px;margin-top:2px}
.batch-navigation{display:flex;align-items:center;gap:10px}.batch-navigation button{display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--batch-line);border-radius:8px;background:var(--batch-surface);color:var(--batch-ink);font:inherit;font-size:10px;min-height:38px;min-width:60px;padding:7px 10px;cursor:pointer}
.batch-navigation button:hover:not(:disabled){background:var(--batch-tint);border-color:var(--batch-accent)}.batch-navigation button:disabled{opacity:.35;cursor:default}
.batch-chevron{width:6px;height:6px;display:block;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg)}.batch-next .batch-chevron{transform:rotate(-135deg)}
.batch-counter{font-size:11px;direction:ltr;min-width:38px;text-align:center;color:var(--batch-muted);font-variant-numeric:tabular-nums}.batch-summary{font-size:9px;line-height:1.8;color:var(--batch-muted)}
.batch-completion{height:2px;background:var(--batch-line);margin-top:12px;border-radius:5px;overflow:hidden}.batch-completion>span{display:block;height:100%;background:linear-gradient(90deg,var(--batch-pink),var(--batch-accent));transition:width .25s}
.batch-carousel button:focus-visible{outline:2px solid var(--batch-accent);outline-offset:2px}.batch-upload .batch-slide{display:none}.batch-upload{margin:12px 0;padding:14px}.batch-upload .batch-heading{margin-bottom:9px}
.dashboard-world .batch-carousel{--batch-ink:#f3eaf9;--batch-muted:#c4b0d5;--batch-line:#614778;--batch-soft:#251d33;--batch-accent:#d9acef;--batch-tint:#382548;--batch-surface:#21192d;--batch-pink:#f2a1cd;margin:10px 0 14px;padding:12px}.dashboard-world .batch-photo{height:105px}.dashboard-world .batch-heading-copy>strong{font-size:11px}.dashboard-world .batch-name{font-size:10px}.dashboard-world .batch-context{font-size:8px}.dashboard-world .batch-slide{gap:10px}.dashboard-world .batch-thumb{flex-basis:54px;height:44px}.dashboard-world .batch-summary{font-size:8px}
@media(max-width:480px){.batch-carousel{padding:12px;border-radius:12px}.batch-heading{gap:8px}.batch-collection-icon{width:30px;height:30px}.batch-heading-copy>strong{font-size:11px}.batch-slide{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.batch-photo{height:120px;padding:5px}.batch-copy{gap:7px}.batch-name{font-size:10px}.batch-context{font-size:8px}.batch-state{font-size:8px;padding:4px 6px}.batch-zoom-hint{font-size:7px;padding:4px 5px}.batch-navigation{gap:8px}.batch-navigation button{min-height:40px;font-size:9px;padding:6px 8px;min-width:52px}.batch-summary{font-size:8px}.batch-thumb{flex-basis:60px;height:50px}}
@media(max-width:350px){.batch-slide{grid-template-columns:1fr}.batch-photo{height:140px}.batch-copy{gap:5px}.batch-footer{justify-content:center}.batch-summary{width:100%;text-align:center}}
@keyframes batch-spin{to{transform:rotate(360deg)}}@keyframes batch-pulse{50%{opacity:.45}}
@media(prefers-reduced-motion:reduce){.batch-carousel *{animation:none!important;transition:none!important}}
@media print{.batch-upload,.batch-heading,.batch-filmstrip,.batch-footer,.batch-completion,.batch-zoom-hint{display:none!important}.batch-report{background:white!important;border-color:#ddd!important;--batch-ink:#222;--batch-muted:#555;--batch-accent:#555;break-inside:avoid}.batch-report .batch-photo{height:110px;border:0;background:white}.batch-report .batch-position{font-size:10px}.batch-report .batch-name{white-space:normal;overflow-wrap:anywhere}.batch-report .batch-state,.batch-report .batch-context{display:none}.batch-report .batch-slide{margin:0}}
