.document-import-dialog { width:min(940px,calc(100vw - 40px)); max-height:calc(100dvh - 40px); margin:auto; padding:0; border:1px solid #494949; border-radius:0; overflow:auto; background:var(--appearance-panel,#111); color:var(--appearance-text,#f3f2f2); font:400 14px/1.5 var(--font-ui,'Minerva Söhne',Arial,sans-serif); color-scheme:dark; }
.document-import-dialog::backdrop { background:rgba(0,0,0,.82); }
.document-import-dialog * { box-sizing:border-box; }
.document-import-dialog :is(button,input,select,textarea) { font:inherit; border-radius:0; }
.document-import-dialog button { min-height:44px; padding:10px 16px; border:1px solid #555; background:transparent; color:inherit; cursor:pointer; }
.document-import-dialog button:hover { border-color:#aaa; background:rgba(255,255,255,.04); }
.document-import-dialog button:disabled { opacity:.45; cursor:default; }
.document-import-dialog :is(button,input,select,textarea,summary):focus-visible { outline:2px solid var(--appearance-accent,#f05b40); outline-offset:4px; }
.di-shell { padding:36px; }
.di-header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.di-eyebrow { margin:0 0 14px; color:#aaa; font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.di-header h2 { margin:0; font:800 clamp(26px,4vw,34px)/1.2 var(--font-display,'Minerva Söhne Breit',Arial,sans-serif); letter-spacing:-.04em; }
.document-import-dialog .di-close { width:40px; height:40px; min-height:40px; padding:0; flex:none; font:26px/1 Arial,sans-serif; }
.di-progress { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; margin:30px 0 0; padding:0; }
.di-progress li { display:flex; gap:9px; align-items:center; padding:13px 8px; border-bottom:2px solid #383838; color:#888; font-size:12px; }
.di-progress li span { font-size:10px; }
.di-progress .is-current { color:#eee; border-color:var(--appearance-accent,#dd2b0f); }
.di-progress .is-current span { color:var(--appearance-accent,#f05b40); }
.di-progress .is-complete { border-color:#777; color:#bbb; }
.di-body { padding:28px 0 8px; display:grid; gap:22px; }
.di-notice { padding:18px 20px; border:1px solid #494949; border-left:3px solid var(--appearance-accent,#dd2b0f); background:var(--appearance-panel,#111); }
.di-notice h3 { margin:0 0 8px; font-size:14px; line-height:1.4; font-weight:600; }
.di-notice p { margin:0; max-width:720px; color:var(--appearance-text,#f3f2f2); font-size:13px; line-height:1.6; }
.di-intro h3,.di-analysis h3 { margin:0 0 9px; font-size:20px; line-height:1.35; font-weight:500; letter-spacing:-.02em; }
.di-intro h3:focus,.di-analysis h3:focus { outline:none; }
.di-intro p,.di-analysis p { max-width:680px; margin:0; font-size:13px; color:#aaa; }
.di-dropzone { display:grid; place-items:center; gap:16px; padding:32px 24px; border:1px dashed #666; background:#0b0b0b; }
.di-dropzone > span { font-size:35px; color:#aaa; }
.di-dropzone p { margin:0; font-size:12px; text-align:center; color:#aaa; }
.di-file-list { list-style:none; padding:0; margin:0; }
.di-file-list li { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px 0; border-bottom:1px solid #333; }
.di-file-list strong { display:block; overflow-wrap:anywhere; font-size:13px; font-weight:400; }
.di-file-list small { display:block; margin-top:3px; color:#999; font-size:11px; }
.di-help { margin:0; font-size:11px; line-height:1.7; color:#999; }
.di-unavailable { margin:0; border:1px solid #555; padding:16px; color:#bbb; font-size:12px; }
.di-analysis { display:grid; justify-items:center; gap:16px; text-align:center; padding:55px 20px; }
.di-analysis .di-help { margin-top:8px; }
.di-analysis .di-loading-mark { width:80px; margin-bottom:16px; }
.di-review-tools { display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding-bottom:15px; border-bottom:1px solid #444; }
.di-review-tools > span { margin-right:auto; font-size:12px; color:#bbb; }
.document-import-dialog .di-review-tools button { min-height:32px; padding:5px 10px; font-size:11px; }
.di-draft { display:grid; gap:20px; padding:24px; border:1px solid #444; background:rgba(255,255,255,.01); }
.di-draft-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:15px; border-bottom:1px solid #333; }
.di-select { display:flex; align-items:center; gap:12px; font-size:13px; }
.di-select input,.di-confirm-check input { width:18px; height:18px; margin:0; flex:none; accent-color:var(--appearance-accent,#dd2b0f); }
.di-proposal-tag { padding:3px 7px; border:1px solid #555; color:#999; font-size:10px; }
.di-field { display:grid; gap:8px; min-width:0; }
.di-field > span { font-size:12px; }
.di-field :is(input,textarea,select) { width:100%; min-width:0; min-height:44px; padding:11px 12px; border:1px solid #535353; background:var(--appearance-input,#080808); color:inherit; }
.di-field textarea { resize:vertical; min-height:80px; max-height:320px; }
.di-owner-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.di-nextsteps { display:grid; gap:16px; }
.di-nextsteps h4,.di-dates h4 { margin:0; font-size:13px; font-weight:500; }
.di-step { display:grid; grid-template-columns:minmax(0,1fr) 160px; gap:16px; }
.di-milestone { display:grid; grid-template-columns:minmax(0,1fr) 160px auto; gap:12px; align-items:end; }
.di-dates { border-top:1px solid #333; padding-top:18px; }
.di-dates .di-help { margin-top:7px; }
.di-dates ul { margin:12px 0 0; padding:0; list-style:none; }
.di-dates li { display:grid; gap:5px; padding:10px 0; border-bottom:1px solid #333; overflow-wrap:anywhere; }
.di-dates strong { font-size:12px; font-weight:400; }
.di-dates span { font-size:13px; }
.di-dates small { color:#dcb994; font-size:10px; }
.di-warnings { margin:0; padding:16px 18px 16px 34px; border-left:2px solid #ba8a53; background:#211b14; color:#e1c19f; font-size:12px; line-height:1.6; }
.di-warnings li + li { margin-top:7px; }
p.di-warnings { padding-left:18px; }
.di-sources { border-top:1px solid #3a3a3a; padding-top:15px; }
.di-sources summary { cursor:pointer; font-size:12px; color:#bdbdbd; }
.di-sources figure { margin:18px 0 0; }
.di-sources figcaption { overflow-wrap:anywhere; font-size:11px; color:#aaa; }
.di-sources figcaption small { display:block; margin-top:4px; color:#888; font-size:10px; }
.di-sources blockquote { margin:9px 0 0; padding:12px 15px; border-left:1px solid #666; background:#0b0b0b; color:#ccc; white-space:pre-wrap; overflow-wrap:anywhere; font-size:12px; }
.di-empty { padding:28px; border:1px solid #444; }
.di-empty h4 { margin:0 0 8px; font-weight:400; }
.di-empty p { margin:0; color:#aaa; font-size:13px; }
.di-confirm-list { margin:0; padding:0; list-style:none; border:1px solid #444; }
.di-confirm-list li { display:grid; gap:7px; padding:20px; border-bottom:1px solid #333; }
.di-confirm-list li:last-child { border-bottom:0; }
.di-confirm-list strong { font-weight:400; overflow-wrap:anywhere; }
.di-confirm-list span { color:#aaa; font-size:12px; }
.di-confirm-list small { color:#dcb994; font-size:11px; }
.di-confirm-check { display:flex; align-items:flex-start; gap:14px; padding:18px; border:1px solid #555; font-size:13px; }
.di-confirm-check input { margin-top:2px; }
.di-error { color:#ffab91; margin:16px 0; font-size:12px; }
.di-error:empty { margin:0; }
.di-footer { display:grid; gap:16px; margin-top:20px; padding-top:20px; border-top:1px solid #444; }
.di-footer > p { margin:0; font-size:11px; color:#999; }
.di-footer > div { display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-end; gap:12px; }
.di-footer > div > button:first-child { margin-right:auto; }
.document-import-dialog .di-primary { background:var(--appearance-accent,#dd2b0f); border-color:transparent; color:var(--appearance-on-accent,#fff); }
.document-import-dialog .di-primary:hover { filter:brightness(1.1); }
@media (max-width:600px) {
  .document-import-dialog { width:calc(100vw - 20px); max-height:calc(100dvh - 20px); }
  .di-shell { padding:22px; }
  .di-progress li { flex-direction:column; align-items:flex-start; gap:4px; padding:10px 3px; font-size:10px; }
  .di-draft { padding:16px; }
  .di-owner-grid,.di-step,.di-milestone { grid-template-columns:1fr; gap:14px; }
  .di-footer > div { align-items:stretch; }
  .di-footer > div > button { font-size:12px; padding:11px 13px; }
  .di-footer > div > .di-primary { flex:1; }
}

.document-import-status { color:var(--muted,#aaa); font-size:12px; line-height:1.6; margin:18px 0 0; }
