.file-picker{display:flex;align-items:center;justify-content:center;min-height:74px;border:2px dashed var(--line);border-radius:14px;background:#fff;cursor:pointer;font-weight:800}
.file-picker input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}
.toggle-row{display:flex;align-items:center;gap:10px;margin-top:14px;font-weight:700}
.toggle-row input{inline-size:1.2rem;block-size:1.2rem}
.hint{margin:7px 0 0;color:var(--muted);font-size:.78rem;overflow-wrap:anywhere}
.primary{background:var(--accent);color:#fff;border:0;border-radius:12px;padding:13px 15px;font-weight:800}
button:not(.primary){background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 15px;color:var(--ink)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);padding:11px}
.stats div{text-align:center;border-right:1px solid var(--line)}
.stats div:last-child{border-right:0}
.stats strong,.stats span{display:block}.stats strong{font-size:1.35rem}.stats span{font-size:.72rem;color:var(--muted)}
.progress-panel progress{width:100%;height:10px}.progress-panel p{margin:0 0 9px;font-size:.88rem}
.badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:var(--accent-soft);font-size:.72rem;font-weight:800}
.job-list{display:grid;gap:10px}
.job-card{display:grid;grid-template-columns:76px 1fr auto;gap:11px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:9px;background:#fff}
.thumb{width:76px;height:76px;border-radius:10px;object-fit:cover;background:#f0ece6}
.job-meta{min-width:0}.job-name{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-detail{font-size:.75rem;color:var(--muted);margin-top:5px}.job-error{font-size:.76rem;color:var(--danger);margin-top:5px;overflow-wrap:anywhere}.status{font-size:.72rem;font-weight:800}.status-success{color:var(--success)}.status-error{color:var(--danger)}.status-processing{color:var(--accent)}
.job-actions{display:grid;gap:6px}.job-actions button,.job-actions a{font-size:.75rem;padding:7px 9px;text-decoration:none;border-radius:9px;text-align:center}.job-actions a{background:var(--accent);color:#fff;font-weight:800}
.empty{padding:28px 8px;text-align:center;color:var(--muted)}
@media(max-width:520px){.job-card{grid-template-columns:64px 1fr}.thumb{width:64px;height:64px}.job-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}.stats{grid-template-columns:repeat(2,1fr);row-gap:8px}.stats div:nth-child(2){border-right:0}}
