.import-dialog { width:min(1040px,calc(100% - 48px)); max-height:90dvh; margin:auto; padding:0; border:1px solid var(--control-border); border-radius:4px; background:var(--panel); color:var(--ink); box-shadow:0 24px 96px #0009; }
.import-dialog::backdrop { background:#080906ba; backdrop-filter:blur(4px); }
.import-dialog[open] { display:flex; flex-direction:column; }
.import-head { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:24px; border-bottom:1px solid var(--line); flex-shrink:0; }
.import-head h2 { margin:0; font-size:24px; font-weight:500; line-height:1.4; letter-spacing:-.025em; }
.import-head button { flex-shrink:0; }
.import-body { min-height:0; overflow:auto; overscroll-behavior:contain; padding:24px; }
.import-intro { margin:0 0 24px; font-size:14px; line-height:1.8; }
.import-muted { color:var(--muted); font-size:12px; line-height:1.8; }
.import-choose { display:flex; flex-wrap:wrap; align-items:center; gap:24px; padding:24px; border:1px dashed var(--control-border); border-radius:4px; background:#211e16; }
.import-choose p { margin:0; }
.import-primary { min-height:44px; background:var(--green); color:#211b0e; border-color:var(--green); font-size:13px; font-weight:500; }
.import-primary:hover { background:#ffdc8e; color:#211b0e; border-color:#ffdc8e; }
.import-progress { width:100%; height:6px; accent-color:var(--green); }
.import-status { margin:16px 0; color:var(--green); font-size:12px; }
.import-error { padding:16px; border:1px solid #765147; border-radius:4px; background:#30221c; color:#e7aa9c; font-size:12px; }
.import-tools { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.import-preview { width:100%; max-height:360px; margin:16px 0; object-fit:contain; background:#0e0f0c; }
.import-dialog details { margin:24px 0; font-size:14px; }
.import-dialog summary { color:var(--ink); font-size:13px; }
.import-dialog textarea { min-height:150px; margin:16px 0; font-size:14px; }
.import-plans { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:16px 0; }
.import-plans label { display:grid; gap:8px; font-size:13px; }
.import-plans select, .import-plans input { width:100%; font-size:14px; }
.import-row { padding:24px 0; border-top:1px solid var(--line); }
.import-source { margin-bottom:16px; padding:8px 16px; border-radius:4px; background:#242117; color:var(--muted); font-size:12px; overflow-wrap:anywhere; }
.import-fields { display:grid; grid-template-columns:72px minmax(0,1fr) 184px; align-items:end; gap:16px; }
.import-fields label { display:grid; min-width:0; gap:8px; font-size:13px; }
.import-fields .import-check { display:flex; align-items:center; align-self:center; gap:8px; }
.import-fields select, .import-fields input[type="date"] { width:100%; font-size:14px; }
.import-warning { margin:8px 0 0; color:#dfbb77; font-size:12px; }
.import-row.has-conflict { padding:16px; border-radius:4px; background:#2c2118; border-color:#785b37; }
.import-bottom { flex-shrink:0; margin:0; padding:24px; border-top:1px solid var(--line); background:var(--panel); }
.import-consent { display:flex; align-items:flex-start; gap:8px; margin-bottom:16px; font-size:13px; line-height:1.8; }
.import-total { margin-right:auto; color:var(--muted); font-size:12px; }
.import-row-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.import-row-heading h3 { margin:8px 0; font-size:16px; font-weight:500; }
.import-empty { padding:24px; border-radius:4px; background:#211f17; font-size:14px; }
.import-dialog input[type="checkbox"] { width:18px; height:18px; }
.import-files { margin:16px 0; padding:0; list-style:none; }
.import-files li { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px 0; border-bottom:1px solid var(--line); font-size:12px; }
.import-files li > div:first-child { min-width:0; }
.import-filename { margin-left:8px; color:var(--muted); overflow-wrap:anywhere; }
.import-file-status { display:block; margin-top:8px; color:var(--green); }
.import-file-actions { display:flex; flex-shrink:0; gap:8px; }
.import-file-actions button { min-height:36px; padding:8px 12px; font-size:13px; }
.import-preview-picker { display:grid; gap:8px; margin-top:16px; font-size:13px; }
.import-preview-picker select { width:100%; font-size:14px; }
.import-dedup { padding:16px; border:1px solid #5b4d2e; border-radius:4px; background:#282214; color:#dfc58b; font-size:12px; }
.import-origins { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:8px; color:var(--muted); font-size:12px; }
.import-origins button { min-height:36px; padding:8px 12px; font-size:13px; }
.import-text-label { display:block; margin-top:16px; color:var(--muted); font-size:13px; }
.import-selection { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:16px 0; }
.import-selection button { padding:8px 16px; font-size:13px; }
.import-selection button:first-child { background:#302b20; border-color:#6b5a36; color:var(--ink); }
.import-selection span { flex-basis:100%; }
.import-selection button:disabled { opacity:.45; }
.import-undo { display:flex; justify-content:space-between; align-items:center; gap:24px; margin:16px 0; padding:24px; border:1px solid var(--line); border-radius:4px; background:var(--panel); }
.import-undo strong { color:var(--ink); font-size:14px; font-weight:500; }
.import-undo p { margin:8px 0 0; color:var(--muted); font-size:12px; line-height:1.8; }
.import-undo button { flex-shrink:0; font-size:13px; }
@media (max-width:760px) {
  .import-dialog { width:calc(100% - 40px); max-height:95dvh; }
  .import-head, .import-body, .import-bottom { padding:20px; }
  .import-head h2 { font-size:20px; }
  .import-intro { font-size:13px; }
  .import-choose { padding:20px; gap:16px; }
  .import-fields { grid-template-columns:1fr; gap:16px; }
  .import-fields .import-check, .import-fields label { grid-column:1; }
  .import-plans { grid-template-columns:1fr; gap:16px; }
  .import-plans select, .import-plans input, .import-fields select, .import-fields input[type="date"], .import-preview-picker select, .import-dialog textarea { font-size:16px; }
  .import-total { flex-basis:100%; }
  .import-row-heading { flex-wrap:wrap; gap:8px; }
  .import-files li { align-items:flex-start; flex-wrap:wrap; gap:8px; }
  .import-filename { display:block; margin-left:0; }
  .import-file-actions { flex-wrap:wrap; }
  .import-selection button { padding-inline:12px; }
  .import-undo { align-items:flex-start; flex-direction:column; gap:16px; padding:20px; }
}
@media print { .import-dialog, .import-undo { display:none!important; } }
