.migration-plan-page { max-width: 960px; }
.migration-plan-form { display: grid; gap: 1rem; }
.migration-role-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr)); gap: .75rem; }
.migration-role { display: grid; grid-template-columns: minmax(0, 1fr) 6rem 6.5rem; align-items: center; gap: .7rem; padding: 1rem; border: 1px solid #d6e0e8; border-radius: .8rem; background: #fff; }
.migration-role label:first-child { display: flex; align-items: flex-start; gap: .6rem; }
.migration-role label:nth-child(2) { font-size: .85rem; }
.migration-role input[type="number"] { width: 100%; }
.migration-plan-note { padding: 1rem; border-left: 4px solid #0b817b; background: #eef8f7; }
.migration-plan-output ol { display: grid; gap: 1rem; padding-left: 1.5rem; }
.migration-plan-output ol > li { padding: 1rem 1rem 1rem 1.25rem; border: 1px solid #d6e0e8; border-radius: .8rem; background: #fff; }
.migration-plan-output h3 { margin-top: 0; }
.migration-plan-output ul { padding-left: 1.25rem; }
.migration-plan-output a { overflow-wrap: anywhere; }
@media (max-width: 480px) {
  .migration-role { grid-template-columns: minmax(0, 1fr) 6.5rem; }
  .migration-role label:first-child { grid-column: 1 / -1; }
  .migration-role label:nth-child(2) { grid-column: 1; }
  .migration-role input[type="number"] { grid-column: 2; }
}
