.batch-page{padding-top:26px;padding-bottom:50px}.batch-hero-head{margin-bottom:28px;border:0;border-radius:0;padding:0;background:transparent;box-shadow:none}.batch-workspace{max-width:760px;margin:0 auto;border:0;border-radius:0;background:transparent;box-shadow:none;padding:0}.batch-stepper{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:12px;padding:8px;border:1px solid var(--color-border);border-radius:14px;background:linear-gradient(150deg,#ffffffe6,#eff6ffb8),repeating-linear-gradient(135deg,rgba(147,197,253,.12) 0 8px,transparent 8px 16px)}.batch-step-pill{border:1px solid var(--color-border);border-radius:11px;background:linear-gradient(160deg,#fffffff2,#f1f5f9e6);color:var(--color-text-secondary);padding:8px 10px;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:58px;font:inherit;cursor:pointer;text-align:center;transition:all .2s ease}.batch-step-pill span{width:22px;height:22px;border-radius:999px;display:grid;place-items:center;background:#e2e8f0;color:#334155;font-size:.78rem;font-weight:700}.batch-step-pill strong{font-size:.82rem;font-weight:700;line-height:1.15}.batch-step-pill.done{border-color:#bfdbfe;color:var(--color-primary)}.batch-step-pill.done span{background:#60a5fa;color:#fff}.batch-step-pill.active{border-color:#60a5fa;color:#1d4ed8;background:linear-gradient(145deg,#eff6ff,#dbeafe);box-shadow:0 10px 22px #2563eb2e;transform:translateY(-1px)}.batch-step-pill.active span{background:#1d4ed8;color:#fff}.batch-step-pill:disabled{opacity:.62;cursor:not-allowed}.batch-flow-card{max-width:1040px;margin:0 auto;border:1px solid var(--color-border);border-radius:14px;background:linear-gradient(155deg,var(--surface-1),var(--surface-2));box-shadow:var(--shadow-soft);padding:16px}.batch-flow-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;min-height:32px}.batch-flow-head h2{margin:0;font-size:1.06rem;font-weight:800}.batch-flow-actions{display:inline-flex;gap:8px}.step-panel{display:grid;gap:12px}.batch-next-row{display:flex;justify-content:flex-end;margin-top:0}.step1-top{display:flex;align-items:center;gap:12px}.step1-title{margin:0;font-size:1.04rem;font-weight:800;white-space:nowrap}.tab-row{flex:1;display:inline-flex;gap:8px;padding:4px;border:1px solid #bfdbfe;border-radius:12px;background:#dbeafe73}.tab-row button{flex:1;border:0;background:transparent;color:var(--color-text-secondary);border-radius:9px;padding:9px 10px;font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.tab-row button.active{background:linear-gradient(135deg,#fff,#eff6ff);color:#1d4ed8;font-weight:800;box-shadow:0 7px 16px #1d4ed82e}.mode-panel[hidden]{display:none!important}.step1-meta-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.privacy-tip{color:#0f766e;font-size:.84rem;margin:0;font-weight:700}.upload-privacy-tip{text-align:right}.dropzone{border:1.5px dashed var(--color-border-hover);border-radius:14px;display:grid;place-items:center;text-align:center;gap:8px;min-height:228px;padding:13px 14px;cursor:pointer;background:linear-gradient(135deg,#ffffffc7,#eff6ffb8);transition:all .2s ease}.dropzone.dragging{border-color:var(--color-primary);background:#dbeafea6}.dropzone input{display:none}.drop-file-glyph{width:46px;height:46px;border-radius:12px;border:1px solid #bfdbfe;background:#dbeafee6;color:#2563eb;display:grid;place-items:center}.drop-file-glyph svg{width:24px;height:24px}.drop-icon{font-size:.9rem;letter-spacing:.04em;color:var(--color-primary);background:#dbeafedb;border:1px solid #bfdbfe;border-radius:999px;padding:4px 10px;text-transform:uppercase}.paste-panel textarea{width:100%;min-height:232px;border:1px solid var(--color-border);border-radius:12px;padding:12px;font-family:var(--font-mono);font-size:.84rem;margin-bottom:8px;background:var(--surface-1)}.paste-guide{border:1px solid var(--color-border);border-radius:12px;background:linear-gradient(145deg,#fffffff2,#eff6ffd9);padding:10px 12px;display:grid;gap:6px}.paste-guide p{margin:0;font-size:.82rem;color:var(--color-text-secondary);line-height:1.5}.paste-guide code{font-size:.78rem}.mapping-id-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;border:1px solid var(--color-border);border-radius:12px;padding:10px;background:#eff6ff66}.mapping-id-row label{display:grid;gap:6px}.mapping-id-row label span{font-size:.78rem;color:var(--color-text-secondary)}.step-preview-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px}.step-preview-head h3{margin:0;font-size:.9rem}.sample-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sample-card{border:1px solid var(--color-border);border-radius:12px;background:var(--surface-1);padding:10px;display:grid;gap:8px}.sample-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.sample-card-head strong{font-size:.84rem;color:var(--color-text)}.sample-card pre{margin:0;border:1px solid var(--color-border);border-radius:10px;background:linear-gradient(160deg,#fffffff2,#eff6ffb3);padding:10px;font-family:var(--font-mono);font-size:.76rem;line-height:1.45;color:var(--color-text-secondary);max-height:128px;overflow:auto;white-space:pre}.sample-card .ghost-btn{min-height:34px;padding:6px 10px;border:1px solid var(--color-border);background:var(--surface-1)}.inline-check{display:inline-flex;align-items:center;gap:8px;margin-top:0;font-size:.85rem;color:var(--color-text-secondary)}.error-text{color:#ef4444;margin:0;font-size:.86rem}.muted{color:var(--color-text-tertiary);margin:0;font-size:.88rem}.mapping-list{display:grid;gap:8px}.mapping-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(140px,1fr) auto;align-items:center;gap:8px;animation:fadeUp .35s ease both}.mapping-row code{padding:6px 8px;border-radius:9px;border:1px solid var(--color-border);background:var(--surface-1);font-size:.78rem}.mapping-row select,.config-grid select,.config-grid input,.result-actions input{border:1px solid var(--color-border);border-radius:9px;padding:7px 9px;font:inherit;background:var(--surface-1)}.tag{border-radius:999px;font-size:.74rem;padding:4px 8px;font-weight:700}.tag.ok{background:#dcfce7;color:#166534}.tag.warn{background:#fef3c7;color:#92400e}.mapping-summary{margin-top:6px;display:flex;flex-wrap:wrap;gap:8px}.mapping-summary span{font-size:.75rem;border:1px solid var(--color-border);border-radius:999px;padding:5px 8px;color:var(--color-text-secondary)}.config-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.config-grid label{display:grid;gap:8px}.config-grid label span{font-size:.8rem;color:var(--color-text-secondary)}.output-grid{margin:10px 0;display:flex;flex-wrap:wrap;gap:8px}.chip-check{border:1px solid var(--color-border);border-radius:999px;padding:6px 10px;display:inline-flex;gap:8px;align-items:center;background:var(--surface-1);font-size:.84rem}.chip-check input{margin:0}.advanced{margin-top:8px}.action-row{display:flex;gap:8px;flex-wrap:wrap}.progress-block{margin-top:6px}.progress-track{width:100%;height:10px;border-radius:999px;background:#dbeafe;overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,var(--color-primary),#2563eb);transition:width .2s ease}.progress-meta{margin-top:8px;display:flex;flex-wrap:wrap;gap:10px;font-size:.82rem;color:var(--color-text-secondary)}.result-actions{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px;flex-wrap:wrap}.download-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.virtual-wrap{border:1px solid var(--color-border);border-radius:10px;overflow:auto;background:var(--surface-1)}.virtual-head,.virtual-row{display:grid;min-width:max-content}.virtual-head{position:sticky;top:0;z-index:3;background:var(--surface-2);border-bottom:1px solid var(--color-border)}.virtual-head-cell{position:relative;min-width:0;border-right:1px solid var(--color-border)}.sort-btn{width:100%;border:0;background:transparent;color:var(--color-text-secondary);display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px;font:inherit;font-size:.78rem;cursor:pointer}.sort-btn strong{color:var(--color-primary);min-width:10px;text-align:right}.resize-handle{position:absolute;right:-3px;top:0;width:8px;height:100%;cursor:col-resize}.virtual-body{height:380px;overflow:auto}.virtual-spacer{position:relative}.virtual-row{min-height:36px;border-bottom:1px solid var(--color-border);align-items:center}.virtual-cell{padding:7px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.78rem}.row-error{background:#fee2e294}.virtual-error-detail{padding:8px;font-size:.79rem;color:#991b1b;background:#fee2e280;border-top:1px dashed rgba(239,68,68,.4)}.map-collapse{height:0;overflow:hidden;transition:height .24s ease}.map-collapse.open{height:clamp(260px,45vh,420px)}.batch-map{width:100%;height:100%;border-radius:10px}.preview-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center}.preview-backdrop{position:absolute;inset:0;background:#0f172a73}.preview-content{position:relative;z-index:1;width:min(1100px,calc(100% - 30px));max-height:min(78vh,760px);background:var(--surface-1);border:1px solid var(--color-border);border-radius:16px;box-shadow:0 24px 50px #0f172a40;padding:14px;display:grid;gap:10px}.preview-head{display:flex;justify-content:space-between;align-items:center}.preview-head h3{margin:0}.table-wrap{overflow:auto;max-height:65vh;border:1px solid var(--color-border);border-radius:10px}table{width:100%;border-collapse:collapse;font-size:.78rem}th,td{border-bottom:1px solid var(--color-border);padding:7px 8px;text-align:center;white-space:nowrap}th{position:sticky;top:0;background:var(--surface-2);z-index:1}.batch-seo-block{margin-top:58px;display:grid;gap:28px}.batch-seo-screen{position:relative;min-height:auto;border:0;border-radius:0;background:transparent;box-shadow:none;padding:clamp(18px,3vw,32px) 0;display:flex;flex-direction:column;justify-content:center;overflow:visible}.batch-seo-screen:before{content:"";position:absolute;top:-18%;right:-6%;width:clamp(220px,28vw,360px);aspect-ratio:1;border-radius:999px;background:radial-gradient(circle,rgba(147,197,253,.18),transparent 70%);pointer-events:none}.batch-seo-head{text-align:center;max-width:930px;margin:0 auto 28px;position:relative;z-index:1}.batch-seo-head h2{margin:0 0 10px;font-size:clamp(2rem,3.5vw,3.2rem);line-height:1.1;letter-spacing:-.03em;font-family:var(--font-display)}.batch-seo-head p{margin:0;color:var(--color-text-secondary);font-size:clamp(.98rem,1.6vw,1.1rem);line-height:1.55}.batch-seo-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;position:relative;z-index:1}.batch-seo-card{border:1px solid var(--color-border);border-radius:20px;background:#ffffffe0;padding:clamp(20px,2.8vw,34px);box-shadow:0 10px 28px #0f172a0f}.batch-seo-card h3{margin:0 0 12px;font-size:clamp(1.16rem,1.8vw,1.48rem);line-height:1.3}.batch-seo-card p{margin:0;color:var(--color-text-secondary);font-size:clamp(.94rem,1.4vw,1.02rem);line-height:1.65}.batch-seo-card p+p{margin-top:12px}.batch-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;position:relative;z-index:1}.batch-feature-card{border:1px solid var(--color-border);border-radius:18px;background:#ffffffeb;padding:18px;box-shadow:0 8px 20px #0f172a0d;transition:transform .2s ease,box-shadow .2s ease}.batch-feature-card:hover{transform:translateY(-4px);box-shadow:0 16px 28px #2563eb1f}.batch-feature-icon{width:44px;height:44px;border-radius:12px;border:1px solid var(--color-blue-200);background:var(--color-blue-100);color:var(--color-primary);display:grid;place-items:center;font-size:.72rem;font-family:var(--font-mono);font-weight:700;margin-bottom:12px}.batch-feature-card h3{margin:0 0 8px;font-size:1.02rem;line-height:1.35}.batch-feature-card p{margin:0;color:var(--color-text-secondary);font-size:.9rem;line-height:1.55}.batch-step-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;position:relative;z-index:1}.batch-step-card{border:1px solid var(--color-border);border-radius:18px;background:#fffffff0;padding:18px 14px;text-align:center;box-shadow:0 8px 20px #0f172a0a}.batch-step-card span{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--color-blue-100);border:1px solid var(--color-blue-200);color:var(--color-primary);font-weight:800;margin-bottom:10px}.batch-step-card h3{margin:0 0 7px;font-size:.98rem}.batch-step-card p{margin:0;color:var(--color-text-secondary);font-size:.86rem;line-height:1.48}.batch-usecase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;position:relative;z-index:1}.batch-usecase-card{border:1px solid var(--color-border);border-radius:18px;background:#ffffffed;padding:20px;box-shadow:0 8px 20px #0f172a0d}.batch-usecase-card h3{margin:0 0 8px;font-size:1.08rem}.batch-usecase-card p{margin:0;color:var(--color-text-secondary);line-height:1.58;font-size:.92rem}.batch-faq-screen{padding-top:clamp(30px,5vw,60px)}.batch-faq-shell{max-width:860px;width:100%;margin:24px auto 0;position:relative;z-index:1}.batch-faq-list{display:grid;gap:12px}.batch-faq-list details{border:1px solid var(--color-border);border-radius:16px;background:#fffffff2;padding:16px 20px;box-shadow:0 8px 18px #0f172a0d}.batch-faq-list summary{cursor:pointer;list-style:none;font-weight:600;color:var(--color-text);position:relative;padding-right:26px}.batch-faq-list summary::-webkit-details-marker{display:none}.batch-faq-list summary:after{content:"+";position:absolute;right:0;top:0;color:var(--color-text-tertiary);font-size:1.1rem;line-height:1}.batch-faq-list details[open] summary:after{content:"-"}.batch-faq-list p{margin:10px 0 0;color:var(--color-text-secondary);font-size:.94rem;line-height:1.62}@media(max-width:1200px){.batch-stepper{grid-template-columns:repeat(5,minmax(100px,1fr))}.batch-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.batch-step-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.batch-stepper{overflow-x:auto;display:flex}.batch-step-pill{min-width:130px}.config-grid{grid-template-columns:1fr 1fr}.batch-seo-screen{min-height:auto}.batch-seo-grid-2,.batch-usecase-grid{grid-template-columns:1fr}}@media(max-width:700px){.batch-hero-head{text-align:center;margin-bottom:20px}.batch-step-pill strong{display:none}.step1-top{flex-direction:column;align-items:stretch}.step1-title{white-space:normal}.step1-meta-row{flex-direction:column;align-items:flex-start}.privacy-tip{text-align:center}.config-grid,.sample-grid,.download-grid,.batch-feature-grid,.batch-step-grid{grid-template-columns:1fr}.virtual-body{height:320px}.batch-seo-screen{padding:18px 0}}[data-theme=dark] .batch-flow-card{background:linear-gradient(155deg,var(--surface-1),var(--surface-2));border-color:var(--color-border)}[data-theme=dark] .batch-seo-card,[data-theme=dark] .batch-feature-card,[data-theme=dark] .batch-step-card,[data-theme=dark] .batch-usecase-card,[data-theme=dark] .batch-faq-list details{background:#0f1728eb;border-color:var(--color-border)}[data-theme=dark] .batch-feature-icon,[data-theme=dark] .batch-step-card span{background:#1d2f4f;border-color:var(--color-border);color:#bfdbfe}[data-theme=dark] .batch-faq-list summary:after{color:#a9bdd8}.flow-progress-head{display:flex;justify-content:center;margin-bottom:14px;text-align:center}.flow-progress-head h2{margin:0;font-size:clamp(1.15rem,2vw,1.4rem);line-height:1.3}.guided-card{padding-top:18px}.step1-guided{gap:12px}.paste-stage{display:grid;gap:10px}.paste-stage-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.sample-open-btn{position:static;z-index:1;flex-shrink:0}.paste-stage textarea{width:100%;min-height:214px;border:1px solid var(--color-border);border-radius:14px;padding:14px;font-family:var(--font-mono);font-size:.84rem;line-height:1.7;background:var(--surface-1)}.paste-stage textarea::placeholder{color:var(--color-text-tertiary);white-space:normal}.flow-nav-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:8px}.flow-nav-row.center{justify-content:center}.flow-nav-row.center .main-btn{width:min(100%,560px)}.mapped-table-wrap{border:1px solid var(--color-border);border-radius:12px;overflow:auto;background:var(--surface-1)}.mapped-table{width:100%;border-collapse:collapse}.mapped-table th,.mapped-table td{border-bottom:1px solid var(--color-border);padding:9px 10px;text-align:left;white-space:nowrap}.format-detected{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--color-border);border-radius:999px;padding:6px 12px;font-size:.84rem;background:#dbeafe66}.format-detected em{font-style:normal;text-transform:uppercase;color:var(--color-primary)}.sample-modal{width:min(980px,calc(100% - 30px));height:min(74vh,760px);z-index:2}.sample-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;overflow:auto}.sample-item{border:1px solid var(--color-border);border-radius:12px;background:var(--surface-1);padding:10px;display:grid;gap:8px}.sample-item-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.sample-item pre{margin:0;border:1px solid var(--color-border);border-radius:10px;background:linear-gradient(160deg,#fffffff2,#eff6ffb3);padding:10px;font-family:var(--font-mono);font-size:.76rem;line-height:1.45;max-height:180px;overflow:auto}.limit-modal{width:min(520px,calc(100% - 30px))}.limit-modal p{margin:0;color:var(--color-text-secondary);line-height:1.6}@media(max-width:900px){.batch-hero-head{margin-bottom:10px}.flow-progress-head h2{font-size:1rem}.paste-stage-head{flex-direction:column;align-items:stretch}.sample-open-btn{width:100%}.upload-privacy-tip,.privacy-tip{text-align:center}.paste-stage textarea{min-height:260px}.sample-list{grid-template-columns:1fr}.flow-nav-row{flex-wrap:wrap}.flow-nav-row .main-btn,.flow-nav-row .ghost-btn{width:100%}}
