.employee-migration-modal .employee-migration-box {
  width: min(960px, calc(100vw - 36px));
  height: min(900px, calc(100dvh - 36px));
  max-height: calc(100dvh - 36px);
  padding: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.employee-migration-box > .close { z-index: 3; }
.employee-migration-header { padding: 26px 64px 18px 28px; border-bottom: 1px solid var(--line, #dce4e2); flex: none; }
.employee-migration-header h2 { margin: 0 0 8px; font-size: 24px; }
.employee-migration-header > p { margin: 0; color: var(--muted, #52655e); font-size: 13px; line-height: 1.6; }
.employee-migration-progress { display: flex; flex-wrap: wrap; gap: 8px 24px; padding: 0; margin: 16px 0 0; list-style: none; }
.employee-migration-progress li { display: flex; align-items: center; gap: 7px; font-size:var(--ui-meta,13px); color: var(--muted, #52655e); }
.employee-migration-progress li > span { display: inline-flex; width: 23px; height: 23px; align-items: center; justify-content: center; border-radius: 50%; background: #edf2ef; font-weight: 700; }
.employee-migration-progress li[aria-current] { color: #285c45; font-weight: 700; }
.employee-migration-progress li[aria-current] > span { color: #fff; background: #386b52; }
.employee-migration-box > form { display: flex; flex-direction: column; min-height: 0; flex: 1; margin: 0; }
.employee-migration-body { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 18px 28px 28px; scroll-padding-block: 20px; }
.employee-migration-body:focus-visible { outline: 2px solid #6a957b; outline-offset: -3px; }
.employee-migration-required-hint { margin: 0 0 18px; font-size:var(--ui-meta,13px); color: var(--muted, #52655e); }
.employee-migration-required { color: #986032; }
.employee-migration-section + .employee-migration-section { border-top: 1px solid var(--line, #dce4e2); padding-top: 22px; margin-top: 24px; }
.employee-migration-section h3 { font-size: 15px; margin: 0 0 14px; color: var(--text, #243b30); }
.employee-migration-section > p { margin: -4px 0 14px; font-size:var(--ui-meta,13px); color: var(--muted, #52655e); line-height: 1.6; }
.employee-migration-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 20px; align-items: start; }
.employee-migration-grid > .field { min-width: 0; font-size: 13px; gap: 7px; }
.employee-migration-grid > .employee-migration-full { grid-column: 1 / -1; }
.employee-migration-grid .field small { font-size:var(--ui-meta,13px); line-height: 1.5; font-weight: 400; color: var(--muted, #52655e); }
.employee-migration-grid .field input, .employee-migration-grid .field select, .employee-migration-grid .field textarea { width: 100%; min-width: 0; box-sizing: border-box; }
.employee-migration-grid .field textarea { min-height: 90px; }
.employee-migration-footer { flex: none; border-top: 1px solid var(--line, #dce4e2); padding: 15px 28px; background: #f7faf8; border-radius: 0 0 16px 16px; }
.employee-migration-footer > div { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.employee-migration-footer > div > p { font-size:var(--ui-meta,13px); color: var(--muted, #52655e); margin: 0; line-height: 1.5; }
.employee-migration-footer button { flex-shrink: 0; min-width: 150px; }
.employee-migration-feedback { margin: 0 0 12px; color: #9b2632; font-size: 13px; line-height: 1.5; }
.employee-migration-existing { display: inline-block; margin: 0 0 12px; font-size: 13px; }
.employee-migration-feedback[hidden], .employee-migration-existing[hidden], .employee-migration-grid [hidden] { display: none; }
.registration-next > h2 { padding-right: 40px; }
.registration-next p { line-height: 1.7; }
.registration-summary { display: grid; gap: 12px; padding: 16px; background: #f6f8fa; border: 1px solid #dce3e9; border-radius: 12px; }
.registration-summary > div { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 12px; }
.registration-summary dt { color: var(--muted); font-size:var(--ui-meta,13px); }
.registration-summary dd { margin: 0; overflow-wrap: anywhere; user-select: text; }
.registration-next [data-registration-error] { color: #9b2632; }

@media (max-width: 620px) {
  .employee-migration-modal { padding: 0; }
  .employee-migration-modal .employee-migration-box { width: 100vw; height: 100dvh; max-height: 100dvh; border-radius: 0; padding: 0; }
  .employee-migration-box > .close { position: absolute; top: 16px; right: 14px; float: none; }
  .employee-migration-header { padding: 20px 58px 14px 18px; }
  .employee-migration-header h2 { font-size: 21px; }
  .employee-migration-header > p { font-size:var(--ui-meta,13px); }
  .employee-migration-progress { gap: 6px 12px; margin-top: 12px; }
  .employee-migration-progress li { font-size:var(--ui-meta,13px); }
  .employee-migration-body { padding: 16px 18px 24px; }
  .employee-migration-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .employee-migration-footer { padding: 12px 18px max(14px, env(safe-area-inset-bottom)); border-radius: 0; }
  .employee-migration-footer > div { align-items: stretch; flex-direction: column; gap: 8px; }
  .employee-migration-footer button { width: 100%; }
}
