/* Import MPP XML Plan wizard on Project Center. Colours come from the theme variables, so both themes pass. */
.im-overlay { position: fixed; inset: 0; background: rgba(0, 0, 0, .4); z-index: 500; align-items: center; justify-content: center; }
.im-dialog { background: var(--ms-surface); color: var(--ms-text); border-radius: 4px; width: 720px; max-width: 96vw; max-height: 90vh; display: flex; flex-direction: column; box-shadow: 0 8px 32px rgba(0, 0, 0, .22); }
.im-title { margin: 0; padding: 15px 20px 10px; font-size: 15px; font-weight: 700; }
.im-steps { list-style: none; margin: 0; padding: 0 20px 10px; display: flex; gap: 4px; border-bottom: 1px solid var(--ms-border); counter-reset: im-step; font-size: 12px; }
.im-steps li { counter-increment: im-step; flex: 1; padding: 6px 4px; border-bottom: 3px solid transparent; color: var(--ms-text-sec); }
.im-steps li::before { content: counter(im-step) ". "; }
.im-steps li[aria-current="step"] { color: var(--ms-text); font-weight: 700; border-bottom-color: currentColor; }
.im-steps li.im-done { color: var(--ms-text); }
.im-body { padding: 16px 20px; overflow: auto; display: flex; flex-direction: column; gap: 12px; font-size: 12.5px; }
.im-body h3 { margin: 0 0 8px; font-size: 13.5px; }
.im-body h3:focus { outline: none; }
.im-body section { display: flex; flex-direction: column; gap: 8px; }
/* The display rules above would otherwise beat the hidden attribute. */
.im-body section[hidden], .im-footer [hidden] { display: none; }
.im-hint { margin: 0; color: var(--ms-text-sec); }
.im-notice { margin: 0; padding: 8px 12px; border: 1px solid var(--ms-border); border-left: 4px solid currentColor; border-radius: 2px; color: var(--ms-text); }
.im-label { font-weight: 600; }
.im-input { width: 100%; box-sizing: border-box; height: 32px; border: 1px solid var(--ms-border); border-radius: 2px; font-size: 13px; padding: 0 10px; background: var(--ms-surface); color: var(--ms-text); }
.im-status:empty, .im-error:empty { display: none; }
.im-error { color: var(--ms-error, #c4262e); font-weight: 600; }
.im-facts { display: flex; flex-direction: column; gap: 10px; }
.im-facts p, .im-facts ul, .im-facts dl { margin: 0; }
.im-facts ul { padding-left: 18px; }
.im-facts dl { display: grid; grid-template-columns: max-content 1fr; gap: 4px 14px; }
.im-facts dt { font-weight: 600; }
.im-facts dd { margin: 0; }
.im-facts h4 { margin: 0 0 4px; font-size: 12.5px; }
.im-note { color: var(--ms-text-sec); }
.im-check { display: flex; align-items: center; gap: 8px; }
.im-facts .data-grid { width: 100%; }
.im-footer { padding: 12px 20px; border-top: 1px solid var(--ms-border); display: flex; gap: 8px; justify-content: flex-end; }
