/* Upload zone */
.upload{border:2px dashed var(--upload-border);border-radius:16px;padding:4rem 2rem;text-align:center;cursor:pointer;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);background:var(--upload-bg);position:relative;overflow:hidden;min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.upload::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(99,102,241,0.08) 0%,transparent 70%);opacity:0;transition:opacity 0.3s}
.upload:hover{border-color:rgba(99,102,241,0.5);background:rgba(99,102,241,0.06)}
.upload:hover::before{opacity:1}
.upload.drag-over{border-color:#6366f1;background:rgba(99,102,241,0.1)}
.upload-ico{font-size:4rem;margin-bottom:1.25rem;filter:drop-shadow(0 4px 16px rgba(99,102,241,0.4));animation:float-icon 3s ease-in-out infinite}
.upload:hover .upload-ico{transform:scale(1.1) translateY(-4px)}
.upload h2{font-size:20px;font-weight:700;color:var(--text);margin-bottom:8px;letter-spacing:-0.02em}
.upload p{font-size:14px;color:var(--text3);line-height:1.6}
.upload .upload-format-note{font-size:12px;color:var(--text4);margin-top:8px}
.excel-template-btn{position:relative;z-index:1;margin-top:14px;padding:8px 14px;border:1px solid rgba(34,197,94,0.28);border-radius:9px;background:rgba(34,197,94,0.1);color:#86efac;font-size:12px;font-weight:800;font-family:'Geist',sans-serif;cursor:pointer;transition:all 0.2s}
.excel-template-btn:hover{border-color:rgba(34,197,94,0.5);background:rgba(34,197,94,0.16);transform:translateY(-1px)}
.upload .excel-template-note{position:relative;z-index:1;max-width:440px;margin-top:8px;color:var(--text3);font-size:11px;line-height:1.45}
.upload-select-visual{margin-top:1.5rem;display:inline-flex;align-items:center;gap:8px;padding:10px 24px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:10px;color:#fff;font-size:14px;font-weight:600;box-shadow:0 4px 16px rgba(99,102,241,0.3)}
.excel-import-flow-summary{margin-top:14px;padding:14px;border:1px solid rgba(148,163,184,0.16);border-radius:12px;background:rgba(255,255,255,0.035)}
.excel-import-flow-summary strong{display:block;color:var(--text);font-size:13px;margin-bottom:8px}
.excel-import-flow-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
.excel-import-flow-item{padding:9px 10px;border:1px solid rgba(148,163,184,0.12);border-radius:9px;background:rgba(15,23,42,0.14)}
.excel-import-flow-item span{display:block;color:var(--text3);font-size:10px;font-weight:800;text-transform:uppercase}
.excel-import-flow-item b{display:block;margin-top:3px;color:var(--text);font-size:16px}
.excel-import-flow-summary p{margin:9px 0 0;color:var(--text3);font-size:12px;line-height:1.45}
.excel-import-flow-summary[data-state="ready"]{border-color:rgba(34,197,94,0.22);background:rgba(34,197,94,0.06)}
.excel-import-flow-summary[data-state="review"]{border-color:rgba(251,191,36,0.24);background:rgba(251,191,36,0.06)}

.upload-loading {
  position: absolute; inset: 0;
  background: rgba(0,0,0,0.5);
  backdrop-filter: blur(4px);
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  z-index: 10;
  animation: fadeIn 0.2s ease;
}
.upload-loading .big-spin {
  width: 40px; height: 40px;
  border: 3px solid rgba(99,102,241,0.3);
  border-top-color: #6366f1;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}
.upload-loading p {
  font-size: 13px; font-weight: 500; color: #a5b4fc;
}
