/* 환자 가져오기(#/import) */
.imp-body { display: grid; gap: var(--s-4); }
.imp-steps { display: flex; flex-wrap: wrap; gap: var(--s-2); margin: 0; padding: 0; list-style: none; }
.imp-steps li { padding: 0 var(--s-3); min-height: 2rem; display: inline-flex; align-items: center; border-radius: 999px; border: 1px solid var(--border); color: var(--text-2); font-size: var(--fs-13); }
.imp-steps li[data-state="cur"] { border-color: var(--brand); background: var(--brand-soft); color: var(--brand-soft-fg); font-weight: 700; }
.imp-steps li[data-state="done"] { background: var(--st-done-bg); border-color: transparent; color: var(--st-done-fg); }
.imp-sources { display: grid; gap: var(--s-4); grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); }
.imp-card { display: grid; gap: var(--s-3); align-content: start; padding: var(--s-4); border: 1px solid var(--border); border-radius: var(--r-card); background: var(--surface); }
.imp-drop { display: grid; gap: var(--s-2); justify-items: center; text-align: center; padding: var(--s-6) var(--s-4); border: 2px dashed var(--border-strong, var(--border)); border-radius: var(--r-card); cursor: pointer; color: var(--text-2);
  transition: border-color var(--d-fast) var(--ease), background-color var(--d-fast) var(--ease), transform var(--d-fast) var(--ease); }
.imp-drop:hover, .imp-drop[data-over="1"] { border-color: var(--brand); background: var(--brand-soft); color: var(--brand-soft-fg); }
.imp-drop svg { width: 2rem; height: 2rem; color: var(--brand); }
.imp-drop b { color: var(--text); font-size: var(--fs-16, 1rem); }
.imp-map { display: grid; gap: var(--s-3); }
.imp-maprows { display: grid; gap: var(--s-2); }
.imp-maprow { display: grid; grid-template-columns: 11rem minmax(0, 18rem) minmax(0, 1fr); gap: var(--s-3); align-items: center; padding: var(--s-2) var(--s-3); border-radius: var(--r-ctl); background: var(--surface-2); }
.imp-lab { display: flex; align-items: center; gap: var(--s-2); }
.imp-sample { color: var(--text-2); font-size: var(--fs-12); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.imp-scroll { overflow-x: auto; border: 1px solid var(--border); border-radius: var(--r-ctl); }
.imp-sheet-h { margin: var(--s-3) 0 var(--s-2); font-weight: 650; font-size: var(--fs-13); }
.imp-bar { display: flex; flex-wrap: wrap; gap: var(--s-2); align-items: center; justify-content: flex-end; }
.imp-bar .input { flex: 1 1 14rem; max-width: 22rem; margin-right: auto; }
.imp-prev { display: grid; gap: var(--s-3); }
.imp-counts { display: flex; flex-wrap: wrap; gap: var(--s-2); }
.imp-msg { color: var(--text-2); font-size: var(--fs-12); min-width: 12rem; }
tr[data-st="error"] .imp-msg { color: var(--st-critical-fg); }
.imp-done { display: grid; gap: var(--s-3); }
.imp-bigok { display: flex; gap: var(--s-3); align-items: center; padding: var(--s-4); border-radius: var(--r-card); background: var(--st-done-bg); color: var(--st-done-fg); }
.imp-bigok svg { width: 2.25rem; height: 2.25rem; flex: none; }
.imp-bigok div { display: grid; }
.imp-bigok b { font-size: 1.25rem; }
.imp-fails { margin: 0; padding-left: 1.25rem; color: var(--st-critical-fg); font-size: var(--fs-13); }
.imp-hist h2 { font-size: var(--fs-16, 1rem); margin: var(--s-4) 0 var(--s-2); }
@media (max-width: 720px) { .imp-maprow { grid-template-columns: 1fr; } .imp-sample { white-space: normal; } }
