:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17202f;background:#f5f7fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}header{height:66px;padding:0 max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e9f1;background:#fff;position:sticky;top:0;z-index:10}.brand,.user,.heading-actions,.job-actions,.alert,.button-link,.back{display:flex;align-items:center;gap:9px}.heading-actions{flex-wrap:wrap;justify-content:flex-end}.brand{font-weight:750}.user{color:#667085;font-size:14px}.brand-icon{width:44px;height:44px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#3662e3,#7947d8);border-radius:13px;margin-bottom:14px}.brand-icon.small{width:34px;height:34px;margin:0;border-radius:9px}.container{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:46px 0 80px}.container.narrow{width:min(820px,calc(100% - 40px))}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.page-heading h1,.login-card h1{margin:3px 0 8px;font-size:clamp(28px,4vw,40px);letter-spacing:-.035em}.eyebrow{color:#4e66c5;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:800;margin:0}.muted{color:#687386;margin:0;line-height:1.5}.card{background:#fff;border:1px solid #e3e8f0;border-radius:16px;box-shadow:0 4px 18px #1c2a4d0b}.primary,.secondary,.danger{border:0;border-radius:10px;padding:11px 16px;font-weight:700;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;gap:8px}.primary{color:#fff;background:#3d5dde}.primary:hover{background:#304fcf}.secondary{background:#eef1fb;color:#314dbb}.danger{background:#feecec;color:#ba2b2b}.primary:disabled,button:disabled{opacity:.55;cursor:not-allowed}.icon-button,.text-button{border:0;background:transparent;cursor:pointer;padding:7px;border-radius:8px;color:#667085}.icon-button:hover{background:#f0f2f7}.danger-text{color:#d03a3a}.login-page,.center{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(420px,100%);padding:34px}.login-card label,.form-card label:not(.dropzone){display:grid;gap:7px;font-size:13px;font-weight:700;margin-top:20px}.login-card .primary{width:100%;margin-top:22px}input,textarea,select{width:100%;border:1px solid #d8dee9;border-radius:9px;padding:11px 12px;background:#fff;outline:none}input:focus,textarea:focus,select:focus{border-color:#6680e7;box-shadow:0 0 0 3px #edf0ff}textarea{resize:vertical;line-height:1.45}.alert{padding:12px 14px;border-radius:10px;background:#eef3ff;margin-top:16px;font-size:14px}.alert.error{background:#fff0f0;color:#a72929}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.batch-list{display:grid;gap:10px}.batch-row{padding:18px 20px;display:grid;grid-template-columns:1fr auto 120px;align-items:center;gap:24px;transition:transform .15s,border-color .15s}.batch-row:hover{transform:translateY(-1px);border-color:#bfc9e6}.batch-row div{display:grid;gap:4px}.batch-row span,.counts span{color:#7a8494;font-size:12px}.counts{text-align:right}.empty{padding:70px 20px;text-align:center;color:#73809a}.empty h2{color:#263248;margin-bottom:6px}.status{display:inline-flex;width:fit-content;padding:5px 9px;border-radius:999px;text-transform:capitalize;font-size:11px;font-weight:800;background:#eff1f5;color:#5f6878;white-space:nowrap}.status-processing,.status-queued,.status-import_pending,.status-importing{background:#eef2ff;color:#405ccd}.status-completed{background:#e8f8ef;color:#218650}.status-completed_with_errors,.status-failed{background:#fff0e6;color:#b65720}.status-cancelled,.status-output_deleted,.status-source_deleted{background:#f1f1f3;color:#687080}.back{width:fit-content;color:#687386;font-size:14px;margin-bottom:22px}.form-card{padding:26px}.dropzone{min-height:160px;border:1.5px dashed #aeb9d2;border-radius:13px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;color:#4f6080;cursor:pointer;background:#fafbff}.dropzone span{font-size:12px;color:#8490a4}.selection-summary{display:flex;justify-content:space-between;margin:18px 0 10px}.preview-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.preview-grid img,.more{aspect-ratio:1;width:100%;object-fit:cover;border-radius:8px;background:#eef1f6}.more{display:grid;place-items:center;font-weight:700;color:#56627a}.form-card>.primary{width:100%;margin-top:22px}.progress-card{padding:20px;margin-bottom:16px}.progress-card>div:first-child{display:flex;justify-content:space-between}.progress{height:9px;background:#edf0f5;border-radius:999px;margin:16px 0 20px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,#4667df,#7657df);transition:width .4s}.stat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.stat-grid div{display:grid;gap:3px}.stat-grid b{font-size:20px}.stat-grid span{color:#7a8495;font-size:12px}.jobs{display:grid;gap:9px}.job{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:14px 16px}.job-icon{width:42px;height:42px;border-radius:9px;display:grid;place-items:center;background:#f0f3fb;color:#546bc3}.job-main{display:grid;min-width:0;gap:3px}.job-main strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-main span{color:#8790a0;font-size:12px}.error-text{color:#b23c32}.job-actions{gap:2px}.optional{color:#8a94a5;font-size:11px;font-weight:500}.form-card .dropzone{margin-top:20px}.reprocess-button{color:#405ccd;font-size:11px;font-weight:750;white-space:nowrap}.import-divider{display:flex;align-items:center;gap:12px;margin:16px 0;color:#98a1b1;font-size:12px}.import-divider:before,.import-divider:after{content:"";height:1px;background:#e3e8f0;flex:1}.drive-import-button{width:100%}@media(max-width:700px){.container{width:min(100% - 24px,1180px);padding-top:28px}.page-heading{align-items:flex-start;flex-direction:column}.batch-row{grid-template-columns:1fr auto}.batch-row .counts{display:none}.preview-grid{grid-template-columns:repeat(4,1fr)}.stat-grid{grid-template-columns:repeat(3,1fr)}.job{grid-template-columns:36px 1fr auto}.job>.status{grid-column:2}.job-actions{grid-column:3;grid-row:1 / span 2;flex-direction:column}header .user span{display:none}}
